From 0eac4ebf7cc84f9cf4e4d372aaec68e96d702e80 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 21 Aug 2015 08:32:45 +0200 Subject: [PATCH 01/33] Merge origin/master Conflicts: LICENSE --- bibleget-openoffice | 1 + build.xml | 92 + description/desc_de.txt | 1 + description/desc_en.txt | 1 + description/desc_es.txt | 1 + description/desc_fr.txt | 1 + description/desc_it.txt | 1 + images/Screenshot.jpg | Bin 0 -> 82519 bytes images/Screenshot2.jpg | Bin 0 -> 28713 bytes images/Screenshot3.jpg | Bin 0 -> 89268 bytes images/Screenshot4.jpg | Bin 0 -> 126294 bytes images/Screenshot5.jpg | Bin 0 -> 137358 bytes images/email-large.bmp | Bin 0 -> 2136 bytes images/email-small.bmp | Bin 0 -> 824 bytes images/email.png | Bin 0 -> 3896 bytes images/help-small.bmp | Bin 0 -> 824 bytes images/holy-bible-x256.png | Bin 0 -> 39038 bytes images/holy-bible-x32.png | Bin 0 -> 5017 bytes images/info-small.bmp | Bin 0 -> 824 bytes images/info.png | Bin 0 -> 2685 bytes images/paypal-large.bmp | Bin 0 -> 1784 bytes images/paypal-small.bmp | Bin 0 -> 824 bytes images/paypal.png | Bin 0 -> 2455 bytes images/preferences-small.bmp | Bin 0 -> 824 bytes images/quotefrominput-small.bmp | Bin 0 -> 824 bytes images/quotefromselection-small.bmp | Bin 0 -> 824 bytes licenses/license.TXT | 7 + nbproject/build-impl.xml | 1448 ++++++++++++ nbproject/build-uno-impl.xml | 462 ++++ nbproject/genfiles.properties | 8 + nbproject/project-uno.properties | 18 + nbproject/project.properties | 94 + nbproject/project.xml | 17 + .../data/org/openoffice/Office/Addons.xcu | 460 ++++ .../org/openoffice/Office/ProtocolHandler.xcu | 11 + src/description.xml | 40 + src/io/bibleget/BibleGetAbout.form | 225 ++ src/io/bibleget/BibleGetAbout.java | 377 +++ src/io/bibleget/BibleGetDB.java | 913 ++++++++ src/io/bibleget/BibleGetFrame.form | 161 ++ src/io/bibleget/BibleGetFrame.java | 515 +++++ src/io/bibleget/BibleGetHelp.form | 113 + src/io/bibleget/BibleGetHelp.java | 575 +++++ src/io/bibleget/BibleGetI18N.java | 196 ++ src/io/bibleget/BibleGetIO.java | 480 ++++ src/io/bibleget/BibleGetJSON.java | 706 ++++++ src/io/bibleget/BibleGetSelection.java | 130 ++ src/io/bibleget/BibleVersion.java | 62 + src/io/bibleget/CentralRegistrationClass.java | 145 ++ .../bibleget/FontFamilyListCellRenderer.java | 64 + src/io/bibleget/FontListCellRenderer.java | 87 + src/io/bibleget/FontModel.java | 520 +++++ src/io/bibleget/HTTPCaller.java | 542 +++++ src/io/bibleget/Indexes.java | 155 ++ src/io/bibleget/OptionsFrame.form | 1284 +++++++++++ src/io/bibleget/OptionsFrame.java | 2018 +++++++++++++++++ src/io/bibleget/TextAttributeComboBox.java | 105 + src/io/bibleget/TextAttributeConstants.java | 284 +++ src/io/bibleget/VersionsSelect.java | 179 ++ .../bibleget/images/background_color_x16.png | Bin 0 -> 931 bytes .../bibleget/images/background_color_x24.png | Bin 0 -> 4171 bytes src/io/bibleget/images/help_x16.png | Bin 0 -> 3512 bytes src/io/bibleget/images/help_x24.png | Bin 0 -> 4252 bytes src/io/bibleget/images/info_16x16.png | Bin 0 -> 975 bytes src/io/bibleget/images/info_24x24.png | Bin 0 -> 1779 bytes src/io/bibleget/images/info_32x32.png | Bin 0 -> 2685 bytes src/io/bibleget/images/info_48x48.png | Bin 0 -> 4840 bytes src/io/bibleget/images/info_64x64.png | Bin 0 -> 7581 bytes .../preferences-tweak-tool-icon_16x16.png | Bin 0 -> 639 bytes .../preferences-tweak-tool-icon_24x24.png | Bin 0 -> 1147 bytes .../preferences-tweak-tool-icon_32x32.png | Bin 0 -> 1535 bytes .../preferences-tweak-tool-icon_48x48.png | Bin 0 -> 2719 bytes src/io/bibleget/images/text_color_x16.png | Bin 0 -> 905 bytes src/io/bibleget/images/text_color_x24.png | Bin 0 -> 4320 bytes .../images/wysiwyg/24x24/align_center.png | Bin 0 -> 837 bytes .../images/wysiwyg/24x24/align_justify.png | Bin 0 -> 360 bytes .../images/wysiwyg/24x24/align_left.png | Bin 0 -> 685 bytes .../images/wysiwyg/24x24/align_right.png | Bin 0 -> 648 bytes .../bibleget/images/wysiwyg/24x24/anchor.png | Bin 0 -> 1508 bytes .../images/wysiwyg/24x24/background_color.png | Bin 0 -> 1521 bytes .../images/wysiwyg/24x24/blockquote.png | Bin 0 -> 1794 bytes src/io/bibleget/images/wysiwyg/24x24/bold.png | Bin 0 -> 1295 bytes .../images/wysiwyg/24x24/bulleted_list.png | Bin 0 -> 775 bytes .../images/wysiwyg/24x24/check_spelling.png | Bin 0 -> 1957 bytes src/io/bibleget/images/wysiwyg/24x24/copy.png | Bin 0 -> 1490 bytes src/io/bibleget/images/wysiwyg/24x24/cut.png | Bin 0 -> 1641 bytes .../images/wysiwyg/24x24/decrease_indent.png | Bin 0 -> 1397 bytes src/io/bibleget/images/wysiwyg/24x24/find.png | Bin 0 -> 1844 bytes src/io/bibleget/images/wysiwyg/24x24/form.png | Bin 0 -> 1275 bytes src/io/bibleget/images/wysiwyg/24x24/help.png | Bin 0 -> 1925 bytes .../bibleget/images/wysiwyg/24x24/image.png | Bin 0 -> 944 bytes .../images/wysiwyg/24x24/increase_indent.png | Bin 0 -> 1401 bytes .../images/wysiwyg/24x24/insert_image.png | Bin 0 -> 1270 bytes .../images/wysiwyg/24x24/insert_link.png | Bin 0 -> 844 bytes .../bibleget/images/wysiwyg/24x24/italic.png | Bin 0 -> 1002 bytes .../images/wysiwyg/24x24/move_backward.png | Bin 0 -> 1070 bytes .../images/wysiwyg/24x24/move_forward.png | Bin 0 -> 1032 bytes .../images/wysiwyg/24x24/new_page.png | Bin 0 -> 860 bytes .../images/wysiwyg/24x24/numbered_list.png | Bin 0 -> 991 bytes .../bibleget/images/wysiwyg/24x24/paste.png | Bin 0 -> 1102 bytes .../wysiwyg/24x24/paste_as_plain_text.png | Bin 0 -> 826 bytes .../images/wysiwyg/24x24/paste_from_word.png | Bin 0 -> 1016 bytes .../images/wysiwyg/24x24/permission.png | Bin 0 -> 1227 bytes .../bibleget/images/wysiwyg/24x24/preview.png | Bin 0 -> 1475 bytes .../bibleget/images/wysiwyg/24x24/print.png | Bin 0 -> 1555 bytes src/io/bibleget/images/wysiwyg/24x24/redo.png | Bin 0 -> 1048 bytes .../images/wysiwyg/24x24/remove_format.png | Bin 0 -> 1466 bytes .../images/wysiwyg/24x24/remove_link.png | Bin 0 -> 1125 bytes .../bibleget/images/wysiwyg/24x24/replace.png | Bin 0 -> 2033 bytes src/io/bibleget/images/wysiwyg/24x24/save.png | Bin 0 -> 1054 bytes .../images/wysiwyg/24x24/select_all.png | Bin 0 -> 1478 bytes .../wysiwyg/24x24/select_background_color.png | Bin 0 -> 1432 bytes .../wysiwyg/24x24/select_color_text.png | Bin 0 -> 1337 bytes .../bibleget/images/wysiwyg/24x24/source.png | Bin 0 -> 1083 bytes .../images/wysiwyg/24x24/strike_trough.png | Bin 0 -> 1112 bytes .../images/wysiwyg/24x24/subscript.png | Bin 0 -> 1318 bytes .../images/wysiwyg/24x24/superscript.png | Bin 0 -> 1207 bytes .../bibleget/images/wysiwyg/24x24/table.png | Bin 0 -> 1002 bytes .../images/wysiwyg/24x24/text_color.png | Bin 0 -> 1397 bytes .../images/wysiwyg/24x24/underline.png | Bin 0 -> 1583 bytes src/io/bibleget/images/wysiwyg/24x24/undo.png | Bin 0 -> 1051 bytes .../bibleget/resources/messages_en.properties | 450 ++++ .../bibleget/resources/messages_es.properties | 450 ++++ .../bibleget/resources/messages_fr.properties | 450 ++++ .../bibleget/resources/messages_it.properties | 450 ++++ src/uno-extension-manifest.xml | 9 + 126 files changed, 14308 insertions(+) create mode 160000 bibleget-openoffice create mode 100644 build.xml create mode 100644 description/desc_de.txt create mode 100644 description/desc_en.txt create mode 100644 description/desc_es.txt create mode 100644 description/desc_fr.txt create mode 100644 description/desc_it.txt create mode 100644 images/Screenshot.jpg create mode 100644 images/Screenshot2.jpg create mode 100644 images/Screenshot3.jpg create mode 100644 images/Screenshot4.jpg create mode 100644 images/Screenshot5.jpg create mode 100644 images/email-large.bmp create mode 100644 images/email-small.bmp create mode 100644 images/email.png create mode 100644 images/help-small.bmp create mode 100644 images/holy-bible-x256.png create mode 100644 images/holy-bible-x32.png create mode 100644 images/info-small.bmp create mode 100644 images/info.png create mode 100644 images/paypal-large.bmp create mode 100644 images/paypal-small.bmp create mode 100644 images/paypal.png create mode 100644 images/preferences-small.bmp create mode 100644 images/quotefrominput-small.bmp create mode 100644 images/quotefromselection-small.bmp create mode 100644 licenses/license.TXT create mode 100644 nbproject/build-impl.xml create mode 100644 nbproject/build-uno-impl.xml create mode 100644 nbproject/genfiles.properties create mode 100644 nbproject/project-uno.properties create mode 100644 nbproject/project.properties create mode 100644 nbproject/project.xml create mode 100644 registry/data/org/openoffice/Office/Addons.xcu create mode 100644 registry/data/org/openoffice/Office/ProtocolHandler.xcu create mode 100644 src/description.xml create mode 100644 src/io/bibleget/BibleGetAbout.form create mode 100644 src/io/bibleget/BibleGetAbout.java create mode 100644 src/io/bibleget/BibleGetDB.java create mode 100644 src/io/bibleget/BibleGetFrame.form create mode 100644 src/io/bibleget/BibleGetFrame.java create mode 100644 src/io/bibleget/BibleGetHelp.form create mode 100644 src/io/bibleget/BibleGetHelp.java create mode 100644 src/io/bibleget/BibleGetI18N.java create mode 100644 src/io/bibleget/BibleGetIO.java create mode 100644 src/io/bibleget/BibleGetJSON.java create mode 100644 src/io/bibleget/BibleGetSelection.java create mode 100644 src/io/bibleget/BibleVersion.java create mode 100644 src/io/bibleget/CentralRegistrationClass.java create mode 100644 src/io/bibleget/FontFamilyListCellRenderer.java create mode 100644 src/io/bibleget/FontListCellRenderer.java create mode 100644 src/io/bibleget/FontModel.java create mode 100644 src/io/bibleget/HTTPCaller.java create mode 100644 src/io/bibleget/Indexes.java create mode 100644 src/io/bibleget/OptionsFrame.form create mode 100644 src/io/bibleget/OptionsFrame.java create mode 100644 src/io/bibleget/TextAttributeComboBox.java create mode 100644 src/io/bibleget/TextAttributeConstants.java create mode 100644 src/io/bibleget/VersionsSelect.java create mode 100644 src/io/bibleget/images/background_color_x16.png create mode 100644 src/io/bibleget/images/background_color_x24.png create mode 100644 src/io/bibleget/images/help_x16.png create mode 100644 src/io/bibleget/images/help_x24.png create mode 100644 src/io/bibleget/images/info_16x16.png create mode 100644 src/io/bibleget/images/info_24x24.png create mode 100644 src/io/bibleget/images/info_32x32.png create mode 100644 src/io/bibleget/images/info_48x48.png create mode 100644 src/io/bibleget/images/info_64x64.png create mode 100644 src/io/bibleget/images/preferences-tweak-tool-icon_16x16.png create mode 100644 src/io/bibleget/images/preferences-tweak-tool-icon_24x24.png create mode 100644 src/io/bibleget/images/preferences-tweak-tool-icon_32x32.png create mode 100644 src/io/bibleget/images/preferences-tweak-tool-icon_48x48.png create mode 100644 src/io/bibleget/images/text_color_x16.png create mode 100644 src/io/bibleget/images/text_color_x24.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/align_center.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/align_justify.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/align_left.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/align_right.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/anchor.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/background_color.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/blockquote.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/bold.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/bulleted_list.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/check_spelling.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/copy.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/cut.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/decrease_indent.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/find.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/form.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/help.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/image.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/increase_indent.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/insert_image.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/insert_link.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/italic.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/move_backward.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/move_forward.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/new_page.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/numbered_list.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/paste.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/paste_as_plain_text.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/paste_from_word.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/permission.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/preview.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/print.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/redo.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/remove_format.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/remove_link.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/replace.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/save.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/select_all.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/select_background_color.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/select_color_text.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/source.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/strike_trough.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/subscript.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/superscript.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/table.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/text_color.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/underline.png create mode 100644 src/io/bibleget/images/wysiwyg/24x24/undo.png create mode 100644 src/io/bibleget/resources/messages_en.properties create mode 100644 src/io/bibleget/resources/messages_es.properties create mode 100644 src/io/bibleget/resources/messages_fr.properties create mode 100644 src/io/bibleget/resources/messages_it.properties create mode 100644 src/uno-extension-manifest.xml diff --git a/bibleget-openoffice b/bibleget-openoffice new file mode 160000 index 0000000..5e7fe23 --- /dev/null +++ b/bibleget-openoffice @@ -0,0 +1 @@ +Subproject commit 5e7fe23136c091e0e6a233289b169d615d113a84 diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..f890a98 --- /dev/null +++ b/build.xml @@ -0,0 +1,92 @@ + + + + + + + Builds, tests, and runs the project extension project. + + + + diff --git a/description/desc_de.txt b/description/desc_de.txt new file mode 100644 index 0000000..b7c107e --- /dev/null +++ b/description/desc_de.txt @@ -0,0 +1 @@ +Legen biblische zitate in einem Dokument. Nutzt den Dienst www.bibleget.io. \ No newline at end of file diff --git a/description/desc_en.txt b/description/desc_en.txt new file mode 100644 index 0000000..27e6ca3 --- /dev/null +++ b/description/desc_en.txt @@ -0,0 +1 @@ +Insert biblical quotes in a document. Uses the service www.bibleget.io. \ No newline at end of file diff --git a/description/desc_es.txt b/description/desc_es.txt new file mode 100644 index 0000000..5024599 --- /dev/null +++ b/description/desc_es.txt @@ -0,0 +1 @@ +Insertar citas biblicas en un documento. Se utiliza el servicio de www.bibleget.io. \ No newline at end of file diff --git a/description/desc_fr.txt b/description/desc_fr.txt new file mode 100644 index 0000000..60323dd --- /dev/null +++ b/description/desc_fr.txt @@ -0,0 +1 @@ +Insérer citations bibliques dans un document. Se utilise le service de www.bibleget.io. \ No newline at end of file diff --git a/description/desc_it.txt b/description/desc_it.txt new file mode 100644 index 0000000..5827d93 --- /dev/null +++ b/description/desc_it.txt @@ -0,0 +1 @@ +Inserisci citazioni bibliche in un documento. Utilizza il servizio di www.bibleget.io. \ No newline at end of file diff --git a/images/Screenshot.jpg b/images/Screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..21c956b8961a92d391b6f1779eb68b041fdd6c5e GIT binary patch literal 82519 zcmeFYc|4SV_dhzJ&Qb;_EA zvSuAK_I<{BVT|v^`@Zjbf4<-Q{oDTiO*|g+nC5z2=R9BMoaghL>t*ZL))3_IH7y-2 z$gW+xAa}rjkgYz524wfHUE4qZdNJ)~+J5cZvxjLf^FC(g?OzsFHdYpv{VdGP`w#Bl z&vpQOF|!_GKX~BK_WSKcwlCkl3j8_1!pyS$jsIt_tByAXrTxhRi02xaO7KzRW`Z8n#l<`~9_;nP`BKnQ)XT zx8sPByPfnm7U7Ea75q>4i@Kkm$j%k=M$S6?EWTaYwoKaR#5q+)2y}g6@V;NH;#9wC z(8R*!=@qY3ne&|D)u!l5TB{i_O?!mdHvnKQXr!8p(i=5gI(NOuSSD14ajXZ2w=`R5 z`Nd=Fd@lCh`X5{3x+mTCpS9Ggd2|jVEH@u3Gwqt_jqCGS`sq|wJlDH&9+~Z{L| zR>`S!aZ(G0{kS_+Za)K)j({_nMrx|FNpfHLQ*L53*UpSkS%XxVwo$sFPw~6)IML?h8nnAvJVdYh%L1&w+ zO1maan=Ubnd^g#Mj%v-WUnpz7*e

8d8%JK9{0xqG(q_B+WsUE&r*gcad!<~^x2 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 BvXKA) literal 0 HcmV?d00001 diff --git a/images/Screenshot2.jpg b/images/Screenshot2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8df5b9e2527279e9a6e50e3ad4f2f364fee8d67d GIT binary patch literal 28713 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 literal 0 HcmV?d00001 diff --git a/images/Screenshot3.jpg b/images/Screenshot3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3c89c2c48c3a14dada10345603c37cbe380d2740 GIT binary patch literal 89268 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%0D^e(iu7IhB**2TuFP!d-Km0@PFXnJLU<2LyJ;y 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�tTm}&6tF`Lg(sk>mZmtL*SS=LWPKJkPd_U9QI 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 M)Br~c`9Apn0rZZv+yDRo literal 0 HcmV?d00001 diff --git a/images/Screenshot4.jpg b/images/Screenshot4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2c008ff4b5765b45090f8ea34ce1d0e9a18c7fd7 GIT binary patch literal 126294 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 literal 0 HcmV?d00001 diff --git a/images/Screenshot5.jpg b/images/Screenshot5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a06f30295eade1881f6dcf0c5c4043ebdd74e30 GIT binary patch literal 137358 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%0D^|{nfE@Jt1t;8}g@z0)9sB#?Qx= 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%0D@%gVBb?Sffy=Py=zF~TB z3h`$rcURcDNb&xO>F3gQcUL=PO+V{5bz{}hUGJvuHa(rO<1sFM8>e($I^L@-E+vhQ zKaSs;b@h&qW5+W3yLR8GOmb&FC4D`okP>hMAMbf=ueX}RT`4*Ey{XGJTFp)kwdGo8 z`S*2OE<43nPWw?eH|9jhPsLlqEp(YdQbV62hq9pyx1^5+81@X!D3r~VT|r){8$YQS zw4N*90(F@jhi+@>fQ$g-oyit?k%ds(VMP|!!?L}J49zD?zkZIsF^RFCFCbS23l(#G z?F;Of3RrsW@0pq$@33`Z-IEvU*d$9RxcqddG1=$f?(?ulbLP<)2;w&2#lHlm?pnNb zrD3I&05TK1X9tN9Y&nz~Zt2$MLf)H*2SMW#h%?4hn$=2*E1);peOM!m}9vTLrg}hOo$*(4uTsxg6bO>Y$WfB&a@iYj^-*#sc2d6 zrbhoHn;uewfAG=fv-S{AjJ(4dg|OeC%*5ZOc%kAg>rHb<;{_2Y$YQuniTG4-V(TH& zYFn}Le&<7-d|+zC9V-4Uns!j8L_3CJJJS)u&F!{EB^>iUq8SE}>(vESsUQ=O|oQa<~OjHIBQLBwVendr!r4yUpUcY>KgIE0*YTMhW;v^bD~b|wgJn( ztJC;Atupf3^{c0@w!Zbc%5D%u2LXTkei-ltRHCs{oy+T-RjDWI|q#9L@tBs7Hm zmuHIJpYsx0eo^RQY*nsx#E_Sgc~xblr?lydy|!!g*G0Q4lx*>x6A`bQn;*t(j?pen zO|ZELnUM$55W%7g1OpDS<^p0(d;cXz&(!u#|0ZdSw& z_RFZ%>6+T}UZq^EnR*1ZXU@eurN8E`ocNb2rr61oooeR?cW>uKrNlb%tBTDRJ(|2- zYqB{$Uh(bnX}e4F83tp;+t@GZVecUR{(rrhij+@6%zu&!ii5Frgo!a0m=J|JMXs>nW#=9C9tX+>h`=6+^<-o|EGaCT20c9##!p@$B@*P!rNZRyzWF#dN(RDLjv}_yp0`^WRz{amvk>A(X zd~e;cf?+3K%$88h1|Clc6?^3i3D?pQiVxpY$&QX44hcf3W5L8Ye()F^Jl+f&@-dE6uL)cNM zXzWJA6F3oEfm5&W3I+*}ElObmw_AsE+g^d|=}kkQw81_msa$x}kNSWDe06b^Kg(+8cMz==c!j<~#Y2h)d+{6=r* zKC_0J!auRwmNCqs{&|`nVavO1rtcj|ld#QZkul{D-NBJ}2W_A`0HQ~g-+E4g)l`av z%^c|4L~}8ce|3=Z(B=WZBNPqz-6Q9B?#CYLmK3>N7|1g_;PWfG z@{v+VajRd?0KEEADDOL%J!-P`Cke&d;@B~oUkUanjCw&fnZR@+rOdq?*8f0YhWviSz zwELskCDoT=c6`8(n}hI!B1*{~O^-XY@lE1IU{-B)Dt%@Z$)9ezHin>nq*mhfH;FUW zD{Proh`#cXr%&`MEtqje5LoSLVV$C^tJi8_=^MlZWS0y!Dl5#6JB;K$$g{=0#a1#h zWirx|)vG6bj21N?eCNkELQ292tAgIC7zGC`C@f;WB0)tz*cqMq#7vvgX2Jj}v)jQ= zD!|E!Qp^^xCCM~3RK)EAWIMJp3Ig>2C5PH6A3(3&U3MkYmW-d|f1r;odO~Oeebpa0 z_5%9cVSfhT6d%{?kb@GT6bIQ8V0Zl==<$Tin7oU6jH*voB2 z7@&8(hFtNmk3a}@wqn)rZlV|FV+0umSHJ}gLYqFA*92Qw4P79uqclPfB*LmV6GD?K z1OKyOR6W8Kef-)hQOj);2wxnUbk?!v%Qi2+N!@CoIEP5|WrZT?z5CDpIa=!ho6 zwu88iRWJg!Zv+k{*WO19_6)dU+QJpJn%7_+5(MZt|N<-Z;wb#vE1Tnp+ zV|8m}e+%bS^g22@`VVWOHy|Ui6x3(*Fs2b-*aBfp2P_=+hA|FiIjz@k@N|O~Y@R)9VKc9~5SeV|+3j%|ZH?rbaJRCmXu{H>7Qegx=}C;e7;nFq zXOhK^>)A_rnz_mPx2HSYe>)3*`@ASP+h87ih$rR%Qk2l(a$XP&mrKtRu1MetqS}pu$8t__p$F_Gp>Ty2RI~eDvpaCfWYI`sovZ zosSuZ552#9V}gvUexT{Gvb=+F(Ul@zoUO#G8nkA#Cu#<`IkF3-LygC6Z#=wQT@TkP zN80#MRnk)g8C-OVq@{;+(ipSQf7&4tAQ|y!M8_qq@;I=)DO`=fHvYRlhDd9@3H1o>+h2_MLO@4uJ5( zVDMRr;(NHcknEL=Hgbuje8I-X%6O^a>OWb7J`D&p!H|V_0o`i2&PAyqWyfXmZYbFN zMR;7C?yFxW`IMeCo4O)p+zZu9FL`ga?T9&3x$Vt7h58q0=ayS{BUqIc>`uBC^PwHT z?H#wP#COZWunELB5*zepN)PEa_Z*24(?j|y283t!sE5QT8~mq&$A4blL#m-YWWA%K z@Ac}JQ^3UY=7AJT{{WaXKtEm^b{y<9nscP zlojCdL}3O|N7#;OW#NlMIk;3$)<*qsMYBg;oZw(%R2%tB=4WYs)=hc&!U1FYY(oDd zAQdSie`MXn0urg6`z8C{8cDPNc!BzX(;kFk?FTN!jf>d#u|v_dOQ(tSP8L4zHrg17CpFSARsbyC_=FLyFRDjUlFOMB4J1>))gOH&NFjSs9?aKbjjHKzOqrvM_51#Y(@C*x!M< zYWYoT8Jp5YtzWJ&1ES}J6iFQdr+Tf->miv^>o+y_-K2Ih&=-_*ByZP#n&KhEQz7GG z%DKbrzI&9BTdTPsAMJ5*Imi4yXWYKKizmCi~)tdegDS-bQ>_`HS7;ztU#MG{AmC$88Wd4c zK6f1cy*NCkcH-QpY8(G@xp|wX&dqT7#^IN)@aUI~C9Os^sXzRI6lcrp)OL(2chAHti5TEEljf4=1{XBUevPt zGe!7tYr^50qI%;K$hJwYo#3I5on}5&Wgd^iR#;}2;cIH85I+9GS-6e0QIx;OslWs} zY{7wd4)q&?jCOykF!7R1(E-BBi3kVki}FugPs=i)io1^3FRw^*Dlm-!h6-dFD@LMoFm0_L;_x z5ho7((qmI$f#IQaX$AL)pUgEZCw!W~#a|7nJL^On%cWaB^3**ll~l zv6fnI@x$uXZ8jw~-xe=ea{7^b;hAeH(ZRINwqrrQ$ro)TKBlm zJyz8xT-f#UuxZJX;>R1Wzc}jC`G`^}y&vg(vAi>TqUcgqR>7<8kee&7Iz?M}eLv3q z`PiH@KPEbtJ}y{gQQ-3XGmhzkgxbaj)@=sO`<3g*U616&ugq=UZ{;*+)3|+C0z<^s a4acl4cfE))d2=iC)wONihUG;)mH!8ZlNZ=E&5Ci2dPsn)2O{%;g4@jTJmH+>NJi!JD9SGi0b|#ugKH`AoQPKC$?QQGV z7oMNE&-;Da-n;&R{_mA{7x1`m_a}ehntq@9mrajf=F3|(yP8i4f^Mq|E!q-t=81$t zu#~`38&s; z{sBNz6gvj#L+)y5GPOe66CfmYh;&C*eMQ-Kmm}qOQRe=g2@rco7{e+3iid%dMMnTu z7!}D(-6H?y`EIXx*3To3cVW|;zs`pvSij|USckc8eorfhzF87wEae|k+Z)mPmOF9( zw#+_##^iaopT(ovlKXgzIoHv}QoLT{A&U|e^(0kGF9bsY-QG1q_0%3+*5a`{^MFkK zB_pEpwjxAN@LZabem6vDA_<0Wa6RM)&%v_x-~kUZ2PHU->%;^*=E*293$SsiTZ^{a E14D$)$N&HU literal 0 HcmV?d00001 diff --git a/images/email-small.bmp b/images/email-small.bmp new file mode 100644 index 0000000000000000000000000000000000000000..4b48ba963c93d778988959846285a323f9306348 GIT binary patch literal 824 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 literal 0 HcmV?d00001 diff --git a/images/holy-bible-x256.png b/images/holy-bible-x256.png new file mode 100644 index 0000000000000000000000000000000000000000..4270da2ad48b38add5dbbd3db574921353fafcc9 GIT binary patch literal 39038 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 literal 0 HcmV?d00001 diff --git a/images/holy-bible-x32.png b/images/holy-bible-x32.png new file mode 100644 index 0000000000000000000000000000000000000000..62d7c63b73b69ddba381fead4fd4dab1b0085003 GIT binary patch literal 5017 zcmV;K6K3p*P)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000QYNkl_ zZS2I(v~{#oEhEup?6l)!S{Z!XI<=FEwlFB_sKj7|;1Gz3d2Eu6WXWbXkKO(DyZ7{u zO+tW(THTr5nZ5Jf@BGgBopXNYkm5>wt1^tB*od4S$vU;+wk<*TI7aOXEXB8;|{=x~l%Z2X?bk>!GXjp{wPW zU8eI;-~>2nwkQz1v=Y8u{n2C?#^4j;;#Tcg{X>u zT>uh5>B-({zuo&JgLp{PRu}JBycRrE5u7!46xS759A{; zGK{~xP>bT*wwV33udI1{>$YbG+dFOnFblfc2>>DziR73LXXcNSHnOs^aAiw7<~p4q zI&bd6;|2^tVCD%_q$6P^1S7h{aq;CIm>(nXzPoRw*=o@D6&|KPd0M z^Tj5ucJ(zkADve6gk{8HF{>xk8!5>TsB4A9FawPq7deF#DvcjX3uI?U@#g!Vp}${( z6#>$~z5^EA?iTobHa1*Vh~Q^=Fi4L_Ko9}Y7)cBuvtnImROan$ZEbzyz<~pu``=n* z1Aq|`iWn58R2 zX@-^t+kz~nf&RG{#XsKp2o3Cfr1Bg!j3yF^Xd;mqKiqP2iRb9YGD!qY1P~EvB}6co z=}6jAmKdj$VQ?xDH*`n)6iOzwa7cn61= z2pB@ZwkK5E#6n?KWE#)}TWe*5$2-&497uGv5sf`P4KVx~hD&K8LrSE(EJK4JrH0p| zrPE152niuU0I5-7U?~hqLO=)sDI|o*_JY@bAG|1Q)XE@$P5_^u0pR$t+kLkENm*}v z!7q3un8P444LRQA(!OYf`*OvNH@cn7PMqo^5S{5qiY1bYkbM+LJ%Oa{f+Z)N9$))Kp+u*5%LE4c^z6vZilanoUxqjblQ%r6ff9{Q&&L zV36QZa6BP_B=o3Mv5-homTc+n^)^TH;Fz%(Bb|qFRmxrjz+*HVy1`7P>MrVxncJU! z@8oq3f3EL_wHHIAK1{!q&&o^&Na!;T`Lr~Tt2Ap32BmwF)rY0(2qJY2=yKEmB;YiK z1Aq`acI?P|>7C}EY=7azEi;RYeH+&-LqY*soi@%BjPqGwCQC7;Y`9%Mux7Bb;Zofg z9E_r(q5_HLx5ly-0NALnKa}C}Wm-2cyrOsi;iiJ5mSXALnP3vonjr+htYKM6Xw9H6 z$!lBL$jS;}*(EmVvFOBNG5ex<+Z|~n*H?Oxlb3^(1@`e^Jc|9C<%=%#| zAiZes2q9-`0Oc#MfXCwn^BCJaiDEKbE-w}?UJcXf!SK)!NJuazQCvJ9p`Kx+2MvPK zT91`sxVyXiy@7#&a4;C`C@(Kxd_`*HmE-!L>hgu3?+V8+auNMx*WL7LXp(pmSQW;z|u*P*P2ES6A1- z>#y(aX>adpU$Ls<(tg93|4L)bTWl6Y9p=Uchx6U0FI&BGa$NYZ{>HB_Mv5y_l4?S+ zSZt`Fp`o|0udi#}y72e5mQ~DB+G+(5`xf@f^KZwBE48GWm}ObVT3cHO;_-N6c_czt jUww5DK=|7L@V@~7&uBSPm?&_|00000NkvXXu0mjf)%R%a literal 0 HcmV?d00001 diff --git a/images/info-small.bmp b/images/info-small.bmp new file mode 100644 index 0000000000000000000000000000000000000000..5545c9c480b62bb168d3740e8340fd532beaeb15 GIT binary patch literal 824 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 literal 0 HcmV?d00001 diff --git a/images/paypal-large.bmp b/images/paypal-large.bmp new file mode 100644 index 0000000000000000000000000000000000000000..e2b13f85b060fadbf855aa977188ed1bcc5facb3 GIT binary patch literal 1784 zcmZ?r{lUfn24+A~1BfM{m=VlkU^oPn7vhFsutFg5pW#12^zq^sf@<(6c=z$k*Pp*X zef#zC+s`jQ{=EJ8oCkOvTf*fEyULAu=Q7Eby08+*Y1{_|)5 zmes+!+^H^ViFS%W^~ug^+1>_OUV3OK-Ca9KmuJqqx)N1ID#c<7|N zY4w*UPO47N@-awpR?YP_!bCY<2B8N0rw;FX_2xZ_2mk-?E{aQbP$~#AO|)0~4+bCJ zzKSprDGIhI2sFb)nI783VK#5ye}bFy`t`f3=TF94%anv#m4sO**vQ|ybQ)q*l({6( zoYFAs@(A0qa9fZ91hPr6kvX<|+p`z1AVz)v{(aq?zBCuriYWW?DEkao^))j)Am&uY zx&-SB#9GOQn~20(NtcFMRYp6ON7{jreU7*8)Vl01KVgaL|Np6VSp@+`RWZ(0F;2xH zmW?Ui5Od(<`?oJw&*~006-#&3s7rJMDg&bOaGUZ-+t-K6wb#{`1H87)zMG(^--nkxOEZmyu*OcnjnCwv&Zu#*3{a3Hvf`aJ( z|7o>pwQ-KE8NMKt=~o(JdT`THh{j|m)#hZk95>Z72e&~)>Jr?m!YyiI>}sOzfVy74 ze)I0_2cS8B{`}dpXktx_ZD&qUXHFmxH72=EuSqgqQ;)fBpFW_wWDr zpFTf+0tC-qzkC1j>(BRJe!lzs{qohDARoce|Nqmg;(K!ZCY6K((ZrJQ_B6N0cdq{b z|L@oLFYn*Id-m+*vuDqrJ$?G{;iLQaA3S()|NQw22<Ekb7 zzrTMU=!%D@PM*f11)FK0V)Ot1o97PBt`47+=d!rJ=JkiKPaZ!$dFm9ACLk;O3yhop e|4;2%ef7$vix)2=OOe5T^X?-Vx+vGezyJUkN-gF9 literal 0 HcmV?d00001 diff --git a/images/paypal-small.bmp b/images/paypal-small.bmp new file mode 100644 index 0000000000000000000000000000000000000000..1b889ddf135dc012a4a963329b6301f951d313d5 GIT binary patch literal 824 zcmZ?rwP0od12Z700mK4O%*Y@C7H0y=3voj*SO7@;XZTMc+P-GtysoO*?G>As&Bkxk z>Nyi4Oho)NID+(eL-hCqv^awGc<1-lV%61A6z#3T7_85iXs?*Q zlIQ>b|F54r7NEtM?W129Y+f2>T^wRr6l4)+Epz4kS%{WH+t;KzE0;&wWqN4-{`2eq z|9>r6!HpRKX)fwXc8ZnJ4i(W3nQrQMRJ~x_PuN8fb901kn<vS5>0 z%}_5K-La-3%)B!vup!Z9PIC@W&CXSGe3TgWZ&(OqZ&);?IWw?5FKo-Q84&Z|yn5ac zYtvg8+>;mBlN$h30|Y<5|M>Lf+w&JMU%r0#<;QP`N;tWGc56qv+tiAvzJkD|-G!^C zH9Wk3|JjR|PoF+}_~0R28G`Zu|ALnE{#>s)b#WbOPN$FVfA{Ij1FR}x>FpoT*^9gS dGVL}mne^qyKZH>*1z1Jy-#Cv|oNPe`1^^+l$#DPx literal 0 HcmV?d00001 diff --git a/images/paypal.png b/images/paypal.png new file mode 100644 index 0000000000000000000000000000000000000000..3dfbd94b205088701b389dfea334e09472724549 GIT binary patch literal 2455 zcmV;I3263-P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ_9Z5t%RCwB~mw9j%RTjp7-LGH2m$xJ@yo4+y5CcSG5JQpy!zwd^1_u>J3W^z5 zW@=n&9JG)rpwK~aLrX^-0UZ}mab;6LQNp4Y%!Cla5(r5k5RyO=vWJ(qbl>jzBO&A& znL@`?_5E{h-+R7$?mg$bEm^o?le%H>3z`DZ84O;EB1vHp?W!sP?yX;abxTW2v-c0P zfB!kqxc|U`P)SJ%nVFev*}R#&ygUjE3rR~$qoJXJsOV^li;Bq3$ssm2mh!SPhNcar zxcDGr#*8LEe+Peg_~9-BmovMnI==(FZ>LWE_O<29mu3zh zegJ6A%gZx<5dsmaDowrZw$#pGV2`TW;tp5TuyW&foNa7Jk|e&~SI)?cRIa`zZNiF` zD<>Q|a%96}k3PCIJ1eUaXy3VOm-$l&$Uk&s=j0@0!AH4vi{CeU<=g%hKu-T$_?%MU8MX|b8 zZP?AbUwluD+ksuNAasGQX+%Xv@%Gk28rwSXMn_>90$mr3%Dv&wrR8NMFTe82f>|?X zCg)9_Z2w6F95$PJtgP%sr^}VHamRi>+g3n)v>QwlA@nZjI;sT>*~&9-ZAF$PVmwh; z6$N3M$g;&TZTj>@M~)sXc;d+?A6U3xLBh?GCaG6M;IVo0($mt?=2V?+WaYY@#Clwq zrh(9P3|(Ldfe<=PO>G4I0S=s~=bpuHaIUcxx6_GgwPLj>XhNXcYzgeC;+Yrh!E^5xNNbxcx#Ww~W1>@!8iP$udnX z?X-0GiE>9^wW=73j;tH#LZF92cs!nK=gytGcFL3~d){2NYDxBpto=Y+Y1#3fijge9 zz<~o3Dyyo_9y?jh15dp}d`wh#8@gn=F3^O|=6}xbvkOBHa_(FMk}RVrN>{cF17Qes zO-GhxWQ)w3A5*Oxp*RCF{#3vsmk z6!$NDjjUlqiLfb{rb%P#1^j^!iyxeR-}d}`&*?ZoYNU;)7BkR?g7`TPMi&A2&bzR37(6GoB6_6CbG)+TSEV60{ z9U(;6{g)*0b#yW=J3TDG{WEUnu4y-6Rr;3qqf6i5*ohh@+%SSrFcdZ>bb-|(VVI_V z@e=BxK(NIV>2yd)2u&c#y$Q(p0s*pz4ek@@hry4Ooo2zZci6t?Ah|gi=(>(!T-v>1 z&~+>>2Z2DS1<(~hYiVsenGhE}!0oi**Miur)}BeGDUf7|5$UPD7BX19E+0(@0>J>s zDyk_esi5>k4W1|$V{(Qe$udD*3lp25rsIfEiHq^j-rjx^&=eq4T~qt*r~ygiho&U5 z?{GO@j|;O~RD(ecug677Qe4kM&%g00ix$65|I{QfB~+V&$L%6}cp6r#g3t^Mp>?Ia z*Xyd|f{*NsRAM}CN=r+>1wt}leDcvppMlAg2_tB4_o3?sLKql^LA$S$t5cG~QvF@Q z5z;c#8J3nx`jCO7CMV*Fav_94AP_(1k%qho8x#hhqX8*028zFl2z`ufAH@ zP+wOvbz(M&abDUxd_5)T^Z6NPlKqFDOu@_(VO zp_vC~Pa@J4!LFUV7XzI=VsyT#iCC}KdE(Tm9Vsb;M$MkPj2(Lqk(3aFrs+tsgrRo{ zOjFwhJT510mjlDNf@h#CarRs@6LT~8;KfI%sH`p+mY)8bs+t<#proWO0`*OeUA=wm zxa6Xu!ZW%qxapq1Q(0S2V*h9~O>_~Fz-m>x6z>Xx%RpUYD=A6+*}Q527DZxA?zn;9 z{ix(@bRtXWo5NtI@3D?0CC43*9P_$A14&jaYootRRu+nyZgIAD5T>H zgix(AxtZ56Z_aH@8ht%=jZMvOzxD34Cl@c?d#d`3F7;~kmnC58CJFKVC7@ry{{1gq ze_i^$ilT6!NBQEmn2^i0VER>NQ{e9@0dPq(ERy-d+h48!FNV^+%X972ZIFsAxz1{u3B-} zRY0P-wY{AU~{002ovPDHLkV1l-hq!R!D literal 0 HcmV?d00001 diff --git a/images/preferences-small.bmp b/images/preferences-small.bmp new file mode 100644 index 0000000000000000000000000000000000000000..4bb081fd19d1f49c891f75f635b1f892cfdfa05f GIT binary patch literal 824 zcmbV}y-LGS6vw0P;^-sz1mf&2=o{$bqFX_o9G!dsKR{7%kko*Kba5!nWQWoZ+oXv} z!G@%tT3c#uJJg@KHrQf8{B!Q%-gAEU+;fuUm8BWU*CKv_HTS)yqpJ_|sH)W}K`_C?5HU@&TrTHz{rcimxjGN*{_d6+0l?s?RIk_Zyx43u zJ=fV?U)|eS3+y1YX&45Kz--%o@l_}ka=Bb0k$4zYJRT<{7+~(cPL`+{= zd7z{!u1vj|dehxA{kms9e)@0{I*wDU?=j#0nXf|cj`r8^7v2Q(XuxuI_L-t6f~2Sn zon_cuE}t(H3&m3Lh(e)=JW~7Vv(* zZ<=O2o`~NhbX`v*Qqk)ecp{ks45MpwyUA1;N&>TQkZ>kXkHh?D7bI-6kw4oi*WLB``T%E3X`^U9Sf zjBp8(B*{&QG#7^b-N1DAzdd$Kzw5bGO@p$V~-Nzcw3mll}X14xgt~ z2Jn%FzK^D%O#BK>Q_X%KkF?ot=ZggZVJLHjv0ewjwf7x$KA$^|JsOSnp*`+LCP;$o ukn+FbxNfJT;=vINqzFenlJaqiPmJ>Ud9o)9^?7=O_3NBo{gv@>W_8l@8lYQ*?37~)B;=qtR zd>GwExGaQm`pnrMKYqXkU%i5Q2QGrixN-9qTyV$E-LGH2fpZ~@MKe0rE}IQxuV1xr z*`(4Po7W&KSif--G8f3ceeK-bzOu_#t}bj(T$arI{Ml1v1;9W9h7z&}kiBeb#iaI< z1xbwiR(7IE0lAZ=OuKmL^2}Lt;8G9o- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set platform.home + Must set platform.bootcp + Must set platform.java + Must set platform.javac + + The J2SE Platform is not correctly set up. + Your active platform is: ${platform.active}, but the corresponding property "platforms.${platform.active}.home" is not found in the project's properties files. + Either open the project in the IDE and setup the Platform with the same name or add it manually. + For example like this: + ant -Duser.properties.file=<path_to_property_file> jar (where you put the property "platforms.${platform.active}.home" in a .properties file) + or ant -Dplatforms.${platform.active}.home=<path_to_JDK_home> jar (where no properties file is used) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + ${platform.java} -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nbproject/build-uno-impl.xml b/nbproject/build-uno-impl.xml new file mode 100644 index 0000000..b942a6b --- /dev/null +++ b/nbproject/build-uno-impl.xml @@ -0,0 +1,462 @@ + + + + Builds, tests, and runs an UNO project. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This target can only run inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties new file mode 100644 index 0000000..d870733 --- /dev/null +++ b/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=2b754fcd +build.xml.script.CRC32=0a20deac +build.xml.stylesheet.CRC32=d5b6853a +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=5c20474f +nbproject/build-impl.xml.script.CRC32=62697837 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/nbproject/project-uno.properties b/nbproject/project-uno.properties new file mode 100644 index 0000000..123f8f2 --- /dev/null +++ b/nbproject/project-uno.properties @@ -0,0 +1,18 @@ +uno.project.type=office.addon.project +project.name=BibleGetIO +registration.classname=io.bibleget.BibleGetIO +external.jar.dir=lib +idl_types.jar=BibleGetIO_IDL_types.jar +central.registration.class=io.bibleget.CentralRegistrationClass +# extensions for files that go into the .oxt package; some are also referenced in the manifest +manifest.package.extensions=**/*.xcu,**/*.xcs,**/*.xdl,**/*.xlb,**/*.xba,**/*.properties,**/*.default +image.extensions=**/*.png,**/*.jpg,**/*.jpeg,**/*.gif +help.content.extensions=**/*.xhp,**/*.tree,${image.extensions} +dialog.content.extensions=**/*.xdl,**/*.properties,**/*.default,${image.extensions} +office.startup.options= +images.dir=images +registry.dir=registry +help.dir=help +dialogs.dir=dialogs +licenses.dir=licenses +description.dir=description diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 0000000..e3ae7ef --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,94 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +application.args= +application.title=BibleGetIO +application.vendor=JohnRDOrazio +auxiliary.org-netbeans-modules-html-editor-lib.default-html-public-id=HTML5 +auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form,**/*.xcu,**/*.xcs,**/*.idl,**/*manifest.xml +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/BibleGetIO.jar +dist.javadoc.dir=${dist.dir}/javadoc +endorsed.classpath= +excludes= +file.reference.commons-lang3-3.3.2.jar=C:\\Users\\Lwangaman\\Downloads\\commons-lang3-3.3.2-bin\\commons-lang3-3.3.2\\commons-lang3-3.3.2.jar +file.reference.glazedlists_java15-1.9.1.jar=C:\\Users\\Lwangaman\\Downloads\\glazedlists_java15-1.9.1.jar +includes=** +jar.archive.disabled=${jnlp.enabled} +jar.compress=false +jar.index=${jnlp.enabled} +javac.classpath=\ + ${libs.OpenOffice 4.1.1.classpath}:\ + ${libs.Java-EE-GlassFish-v3-Prelude.classpath}:\ + ${file.reference.commons-lang3-3.3.2.jar}:\ + ${libs.JAVADB_DRIVER_LABEL.classpath}:\ + ${libs.beans-binding.classpath}:\ + ${file.reference.glazedlists_java15-1.9.1.jar} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=true +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir}:\ + ${libs.junit.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding= +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +jnlp.codebase.type=no.codebase +jnlp.descriptor=application +jnlp.enabled=false +jnlp.mixed.code=default +jnlp.offline-allowed=false +jnlp.signed=false +jnlp.signing= +jnlp.signing.alias= +jnlp.signing.keystore= +# Optional override of default Codebase manifest attribute, use to prevent RIAs from being repurposed +manifest.custom.codebase= +# Optional override of default Permissions manifest attribute (supported values: sandbox, all-permissions) +manifest.custom.permissions= +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=JDK_1.8 +project.license=mit +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project +# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value +# or test-sys-prop.name=value to set system properties for unit tests): +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 0000000..8ca2cd8 --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,17 @@ + + + org.netbeans.modules.java.j2seproject + + + BibleGetIO + 1.6.5 + + + + + + + + + + diff --git a/registry/data/org/openoffice/Office/Addons.xcu b/registry/data/org/openoffice/Office/Addons.xcu new file mode 100644 index 0000000..8be934d --- /dev/null +++ b/registry/data/org/openoffice/Office/Addons.xcu @@ -0,0 +1,460 @@ + + + + + + + + + BibleGet I/O + BibleGet I/O + BibleGet I/O + BibleGet I/O + BibleGet I/O + + + _self + + + + + + + + io.bibleget.biblegetio:QuoteFromInputPrompt + + + + + + _self + + + com.sun.star.text.TextDocument + + + + Insert quote from input window + Insertar cita de ventana de input + Inserisci citazione da finestra di input + Insérer citation de fenêtre de input + Legen Zitat aus Eingabefenster + + + + + io.bibleget.biblegetio:QuoteFromSelection + + + + + + _self + + + com.sun.star.text.TextDocument + + + + Insert quote from text selection + Insertar cita de selección de testo + Inserisci citazione da selezione di testo + Insérer citation de sélection de texte + Legen Zitat aus Textauswahl + + + + + private:separator + + + + + io.bibleget.biblegetio:Options + + + + + + _self + + + com.sun.star.text.TextDocument + + + + Preferences + Preferencias + Preferenze + Préfèrences + Einstellungen + + + + + io.bibleget.biblegetio:Help + + + + + + _self + + + com.sun.star.text.TextDocument + + + + Help + Ayuda + Aiuto + Aide + Hilfe + + + + + private:separator + + + + + io.bibleget.biblegetio:SendFeedback + + + + + + _self + + + com.sun.star.text.TextDocument + + + + Send feedback + Enviar feedback + Inviare feedback + Envoyer feedback + Feedback schicken + + + + + io.bibleget.biblegetio:Contribute + + + + + + _self + + + com.sun.star.text.TextDocument + + + + Make a contribution + Donar una contribución + Effettua un contributo + Donner une contribution + Beitrag leisten + + + + + io.bibleget.biblegetio:About + + + + + + _self + + + com.sun.star.text.TextDocument + + + + About this Plugin + Acerca de esta Extensión + A proposito di questa Estensione + A propos de cette Extension + Über diese Plugin + + + + + + + + + BibleGet I/O + BibleGet I/O + BibleGet I/O + BibleGet I/O + BibleGet I/O + + + + + io.bibleget.biblegetio:QuoteFromInputPrompt + + + + + + _self + + + com.sun.star.text.TextDocument + + + + Insert quote from input window + Insertar cita de ventana de input + Inserisci citazione da finestra di input + Insérer citation de fenêtre de input + Legen Zitat aus Eingabefenster + + + + + io.bibleget.biblegetio:QuoteFromSelection + + + + + + _self + + + com.sun.star.text.TextDocument + + + + Insert quote from text selection + Insertar cita de selección de testo + Inserisci citazione da selezione di testo + Insérer citation de sélection de texte + Legen Zitat aus Textauswahl + + + + + private:separator + + + + + io.bibleget.biblegetio:Options + + + + + + _self + + + com.sun.star.text.TextDocument + + + + Preferences + Preferencias + Preferenze + Préfèrences + Einstellungen + + + + + io.bibleget.biblegetio:Help + + + + + + _self + + + com.sun.star.text.TextDocument + + + + Help + Ayuda + Aiuto + Aide + Hilfe + + + + + private:separator + + + + + io.bibleget.biblegetio:SendFeedback + + + + + + _self + + + com.sun.star.text.TextDocument + + + + Send feedback + Enviar feedback + Invia feedback + Envoyer feedback + Feedback schicken + + + + + io.bibleget.biblegetio:Contribute + + + + + + _self + + + com.sun.star.text.TextDocument + + + + Make a contribution + Dona una contribución + Effettua un contributo + Donner una contribution + Beitrag leisten + + + + + io.bibleget.biblegetio:About + + + + + + _self + + + com.sun.star.text.TextDocument + + + + About this Plugin + Acerca de esta Extensión + A proposito di questa Estensione + A propos de cette Extension + Über diese Plugin + + + + + + + + + io.bibleget.biblegetio:QuoteFromSelection + + + + %origin%/../../../../../images/quotefromselection-small.bmp + + + %origin%/../../../../../images/quotefromselection-large.bmp + + + + + + io.bibleget.biblegetio:Options + + + + %origin%/../../../../../images/preferences-small.bmp + + + %origin%/../../../../../images/preferences-large.bmp + + + + + + io.bibleget.biblegetio:About + + + + %origin%/../../../../../images/info-small.bmp + + + %origin%/../../../../../images/info-large.bmp + + + + + + io.bibleget.biblegetio:QuoteFromInputPrompt + + + + %origin%/../../../../../images/quotefrominput-small.bmp + + + %origin%/../../../../../images/quotefrominput-large.bmp + + + + + + io.bibleget.biblegetio:SendFeedback + + + + %origin%/../../../../../images/email-small.bmp + + + %origin%/../../../../../images/email-large.bmp + + + + + + io.bibleget.biblegetio:Help + + + + %origin%/../../../../../images/help-small.bmp + + + %origin%/../../../../../images/help-large.bmp + + + + + + io.bibleget.biblegetio:Contribute + + + + %origin%/../../../../../images/paypal-small.bmp + + + %origin%/../../../../../images/paypal-large.bmp + + + + + + diff --git a/registry/data/org/openoffice/Office/ProtocolHandler.xcu b/registry/data/org/openoffice/Office/ProtocolHandler.xcu new file mode 100644 index 0000000..2998aa4 --- /dev/null +++ b/registry/data/org/openoffice/Office/ProtocolHandler.xcu @@ -0,0 +1,11 @@ + + + + + + + io.bibleget.biblegetio:* + + + + diff --git a/src/description.xml b/src/description.xml new file mode 100644 index 0000000..34a00bf --- /dev/null +++ b/src/description.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + BibleGet I/O + BibleGet I/O + BibleGet I/O + BibleGet I/O + BibleGet I/O + + + John R. D'Orazio, Giovanni Gregori, Simone Urbinati + John R. D'Orazio, Giovanni Gregori, Simone Urbinati + John R. D'Orazio, Giovanni Gregori, Simone Urbinati + John R. D'Orazio, Giovanni Gregori, Simone Urbinati + John R. D'Orazio, Giovanni Gregori, Simone Urbinati + + + + + + + + + + + + + + + + + + diff --git a/src/io/bibleget/BibleGetAbout.form b/src/io/bibleget/BibleGetAbout.form new file mode 100644 index 0000000..393a2cb --- /dev/null +++ b/src/io/bibleget/BibleGetAbout.form @@ -0,0 +1,225 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/io/bibleget/BibleGetAbout.java b/src/io/bibleget/BibleGetAbout.java new file mode 100644 index 0000000..1db7f36 --- /dev/null +++ b/src/io/bibleget/BibleGetAbout.java @@ -0,0 +1,377 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package io.bibleget; + +import static io.bibleget.BibleGetI18N.__; +import java.awt.Image; +import java.awt.Toolkit; +import java.io.StringReader; +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.json.Json; +import javax.json.JsonArray; +import javax.json.JsonReader; +import javax.json.JsonValue; +import javax.swing.JFrame; +import javax.swing.text.Document; +import javax.swing.text.html.HTMLEditorKit; +import javax.swing.text.html.StyleSheet; +import org.apache.commons.lang3.StringUtils; + +/** + * + * @author Lwangaman + */ +public class BibleGetAbout extends javax.swing.JFrame { + + private final int screenWidth; + private final int screenHeight; + private final int frameWidth; + private final int frameHeight; + private final int frameLeft; + private final int frameTop; + private final HTMLEditorKit kit; + private final Document doc; + private final String HTMLStr; + private final StyleSheet styles; + + private VersionsSelect jList1; + private BibleGetDB bibleGetDB; + private int versionLangs; + private int versionCount; + private int booksLangs; + private String booksStr; + + private static BibleGetAbout instance; + + /** + * Creates new form BibleGetAbout + */ + private BibleGetAbout() throws ClassNotFoundException { + //jTextPane does not initialize correctly, it causes a Null Exception Pointer + //Following line keeps this from crashing the program + Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); + + screenWidth = (int)java.awt.Toolkit.getDefaultToolkit().getScreenSize().getWidth(); + screenHeight = (int)java.awt.Toolkit.getDefaultToolkit().getScreenSize().getHeight(); + frameWidth = screenWidth - 200; + frameHeight = screenHeight - 100; + frameLeft = (screenWidth / 2) - (frameWidth / 2); + frameTop = (screenHeight / 2) - (frameHeight / 2); + + kit = new HTMLEditorKit(); + doc = kit.createDefaultDocument(); + styles = kit.getStyleSheet(); + styles.addRule("body { padding:6px; }"); + + HTMLStr = "" + + "

" + + __("BibleGet I/O plugin for Open Office Writer") + + "

" + + __("Version") + " 2.0" + + "

" + + __("This plugin was developed by John R. D'Orazio, a priest in the diocese of Rome, chaplain at Roma Tre University.") + + " " + + MessageFormat.format(__("It is a part of the BibleGet Project at {0}."),"http://www.bibleget.io") + + " " + + __("The author would like to thank Giovanni Gregori and Simone Urbinati for their code contributions.") + + " " + + __("The BibleGet Project is an independent project born from the personal initiative of John R. D'Orazio, and is not funded by any kind of corporation.") + + " " + + __("All of the expenses of the project server and domain, which amount to €200 a year, are accounted for personally by the author. All code contributions and development are entirely volunteered.") + + " " + + __("If you like the plugin and find it useful, please consider contributing even a small amount to help keep this project running. Even just €1 can make a difference. You can contribute using the appropriate menu item in this plugin's menu.") + + "

© Copyright BibleGet I/O 2014 | E-Mail bibleget.io@gmail.com" + + "

" + + ""; + + prepareDynamicInformation(); + initComponents(); + } + + public static BibleGetAbout getInstance() throws ClassNotFoundException{ + if(instance == null){ + instance = new BibleGetAbout(); + } + return instance; + } + + private void prepareDynamicInformation() throws ClassNotFoundException { + bibleGetDB = BibleGetDB.getInstance(); + jList1 = new VersionsSelect(); + versionLangs = jList1.getVersionLangs(); + versionCount = jList1.getVersionCount(); + + String langsSupported; + List langsLocalized = new ArrayList<>(); + booksLangs = 0; + booksStr = ""; + if(bibleGetDB != null){ + //System.out.println("oh good, biblegetDB is not null!"); + langsSupported = bibleGetDB.getMetaData("LANGUAGES"); + //System.out.println(langsSupported); + JsonReader jsonReader = Json.createReader(new StringReader(langsSupported)); + JsonArray bibleVersionsObj = jsonReader.readArray(); + booksLangs = bibleVersionsObj.size(); + for (JsonValue jsonValue : bibleVersionsObj) { + //System.out.println(jsonValue.toString()); + langsLocalized.add(BibleGetI18N.localizeLanguage(jsonValue.toString())); + } + booksStr = StringUtils.join(langsLocalized,", "); + } + else{ + //System.out.println("Looks like biblegetDB is null :/"); + } + + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + jLabel3 = new javax.swing.JLabel(); + jScrollPane1 = new javax.swing.JScrollPane(); + jTextPane1 = new javax.swing.JTextPane(); + jLabel1 = new javax.swing.JLabel(); + jLabel2 = new javax.swing.JLabel(); + jScrollPane2 = new javax.swing.JScrollPane(); + jLabel4 = new javax.swing.JLabel(); + jScrollPane3 = new javax.swing.JScrollPane(); + jTextArea1 = new javax.swing.JTextArea(); + jButton1 = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle(__("About this plugin")); + setBounds(frameLeft,frameTop,frameWidth,frameHeight); + setIconImages(setIconImages()); + setResizable(false); + + jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/info_64x64.png"))); // NOI18N + jLabel3.setText("jLabel3"); + + jScrollPane1.setPreferredSize(new java.awt.Dimension(370, 300)); + + jTextPane1.setEditable(false); + jTextPane1.setBorder(javax.swing.BorderFactory.createEtchedBorder()); + jTextPane1.setContentType("text/html;charset=UTF-8"); // NOI18N + jTextPane1.setDocument(doc); + jTextPane1.setEditorKit(kit); + jTextPane1.setText(HTMLStr); + jTextPane1.setMaximumSize(new java.awt.Dimension(450, 325)); + jTextPane1.setPreferredSize(new java.awt.Dimension(400, 300)); + jScrollPane1.setViewportView(jTextPane1); + + jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N + jLabel1.setText(__("Current information from the BibleGet Server:")); + + jLabel2.setText(MessageFormat.format(__("The BibleGet database currently supports {0} versions of the Bible in {1} different languages:"),versionCount,versionLangs)); + + jScrollPane2.setViewportView(jList1); + jScrollPane2.setPreferredSize(new java.awt.Dimension(400, 100)); + + jLabel4.setText(MessageFormat.format(__("The BibleGet engine currently understands the names of the books of the Bible in {0} different languages:"),booksLangs)); + + jScrollPane3.setPreferredSize(new java.awt.Dimension(400, 48)); + + jTextArea1.setEditable(false); + jTextArea1.setBackground(new java.awt.Color(204, 204, 204)); + jTextArea1.setLineWrap(true); + jTextArea1.setRows(3); + jTextArea1.setText(booksStr); + jTextArea1.setWrapStyleWord(true); + jScrollPane3.setViewportView(jTextArea1); + + jButton1.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N + jButton1.setText(__("RENEW SERVER DATA")); + jButton1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton1ActionPerformed(evt); + } + }); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGroup(layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(layout.createSequentialGroup() + .addGap(10, 10, 10) + .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) + .addGap(612, 612, 612)) + .addGroup(layout.createSequentialGroup() + .addGap(10, 10, 10) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(layout.createSequentialGroup() + .addGap(10, 10, 10) + .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))))) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 262, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(jLabel1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel2) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel4) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jButton1) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + pack(); + }// //GEN-END:initComponents + + private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed + // TODO add your handling code here: + if(bibleGetDB.renewMetaData()){ + try { + prepareDynamicInformation(); + } catch (ClassNotFoundException ex) { + Logger.getLogger(BibleGetAbout.class.getName()).log(Level.SEVERE, null, ex); + } + //initComponents(); + jLabel2.setText(MessageFormat.format(__("The BibleGet database currently supports {0} versions of the Bible in {1} different languages:"),versionCount,versionLangs)); + jLabel2.revalidate(); + jLabel4.setText(MessageFormat.format(__("The BibleGet engine currently understands the names of the books of the Bible in {0} different languages:"),booksLangs)); + jLabel4.revalidate(); + jScrollPane2.setViewportView(jList1); + jScrollPane2.revalidate(); + try { + BibleGetFrame bbGetFrameInstance; + bbGetFrameInstance = BibleGetFrame.getInstance(BibleGetIO.getXController()); + bbGetFrameInstance.updateDynamicInformation(); + } catch (ClassNotFoundException ex) { + Logger.getLogger(BibleGetAbout.class.getName()).log(Level.SEVERE, null, ex); + } + + } + }//GEN-LAST:event_jButton1ActionPerformed + + + private List setIconImages() + { + List images = new ArrayList<>(4); + images.add(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/io/bibleget/images/info_16x16.png"))); + images.add(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/io/bibleget/images/info_24x24.png"))); + images.add(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/io/bibleget/images/info_32x32.png"))); + images.add(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/io/bibleget/images/info_48x48.png"))); + return images; + } + + @Override + public void setVisible(final boolean visible) { + // make sure that frame is marked as not disposed if it is asked to be visible + if (visible) { + //setDisposed(false); + } + // let's handle visibility... + if (!visible || !isVisible()) { // have to check this condition simply because super.setVisible(true) invokes toFront if frame was already visible + super.setVisible(visible); + } + // ...and bring frame to the front.. in a strange and weird way + if (visible) { + int state = super.getExtendedState(); + state &= ~JFrame.ICONIFIED; + super.setExtendedState(state); + super.setAlwaysOnTop(true); + super.toFront(); + super.requestFocus(); + super.setAlwaysOnTop(false); + } + } + + @Override + public void toFront() { + super.setVisible(true); + int state = super.getExtendedState(); + state &= ~JFrame.ICONIFIED; + super.setExtendedState(state); + super.setAlwaysOnTop(true); + super.toFront(); + super.requestFocus(); + super.setAlwaysOnTop(false); + } + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(BibleGetAbout.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + @Override + public void run() { + try { + new BibleGetAbout().setVisible(true); + } catch (ClassNotFoundException ex) { + Logger.getLogger(BibleGetAbout.class.getName()).log(Level.SEVERE, null, ex); + } + } + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton jButton1; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel2; + private javax.swing.JLabel jLabel3; + private javax.swing.JLabel jLabel4; + private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JScrollPane jScrollPane2; + private javax.swing.JScrollPane jScrollPane3; + private javax.swing.JTextArea jTextArea1; + private javax.swing.JTextPane jTextPane1; + // End of variables declaration//GEN-END:variables +} diff --git a/src/io/bibleget/BibleGetDB.java b/src/io/bibleget/BibleGetDB.java new file mode 100644 index 0000000..4dd5768 --- /dev/null +++ b/src/io/bibleget/BibleGetDB.java @@ -0,0 +1,913 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package io.bibleget; + +import java.io.StringReader; +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.sql.Types; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.ListIterator; +import java.util.Set; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.json.Json; +import javax.json.JsonArray; +import javax.json.JsonArrayBuilder; +import javax.json.JsonObject; +import javax.json.JsonObjectBuilder; +import javax.json.JsonReader; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.SystemUtils; + + +/** + * + * @author Lwangaman + */ +public class BibleGetDB { + + //private final String dbPath; + private static BibleGetDB instance = null; + private Connection conn = null; + //private DatabaseMetaData dbMeta = null; + //private ResultSet rs = null; + + private final List colNames = new ArrayList<>(); + private final List colDataTypes = new ArrayList<>(); + + + private BibleGetDB() throws ClassNotFoundException { + try { + setDBSystemDir(); + Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); + } catch (Exception ex) { + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + } + } + + public static BibleGetDB getInstance() throws ClassNotFoundException { + if(instance == null) + { + instance = new BibleGetDB(); + boolean dbInitialized = instance.initialize(); + if(dbInitialized){ + //System.out.println("Database is initialized too!"); + } + else{ + //System.out.println("Sorry but database has not been initialized."); + } + } + return instance; + } + + public boolean initialize() { + + try { + conn = DriverManager.getConnection( + "jdbc:derby:BIBLEGET;create=true", + "bibleget", + "bibleget"); + + DatabaseMetaData dbMeta; + dbMeta = conn.getMetaData(); + try (ResultSet rs1 = dbMeta.getTables(null, null, "OPTIONS", null)) { + if(rs1.next()) + { + //System.out.println("Table "+rs1.getString("TABLE_NAME")+" already exists !!"); + listColNamesTypes(dbMeta,rs1); + } + else + { + //System.out.println("Table OPTIONS does not yet exist, now attempting to create..."); + try ( Statement stmt = conn.createStatement()) { + + String defaultFont = ""; + if(SystemUtils.IS_OS_WINDOWS){ + defaultFont = "Times New Roman"; + } + else if(SystemUtils.IS_OS_MAC_OSX){ + defaultFont = "Helvetica"; + } + else if(SystemUtils.IS_OS_LINUX){ + defaultFont = "Arial"; + } + + String tableCreate = "CREATE TABLE OPTIONS (" + + "PARAGRAPHALIGNMENT VARCHAR(15), " + + "PARAGRAPHLINESPACING INT, " + + "PARAGRAPHFONTFAMILY VARCHAR(50), " + + "PARAGRAPHLEFTINDENT INT, " + + "TEXTCOLORBOOKCHAPTER VARCHAR(15), " + + "BGCOLORBOOKCHAPTER VARCHAR(15), " + + "BOLDBOOKCHAPTER BOOLEAN, " + + "ITALICSBOOKCHAPTER BOOLEAN, " + + "UNDERSCOREBOOKCHAPTER BOOLEAN, " + + "FONTSIZEBOOKCHAPTER INT, " + + "VALIGNBOOKCHAPTER VARCHAR(15), " + + "TEXTCOLORVERSENUMBER VARCHAR(15), " + + "BGCOLORVERSENUMBER VARCHAR(15), " + + "BOLDVERSENUMBER BOOLEAN, " + + "ITALICSVERSENUMBER BOOLEAN, " + + "UNDERSCOREVERSENUMBER BOOLEAN, " + + "FONTSIZEVERSENUMBER INT, " + + "VALIGNVERSENUMBER VARCHAR(15), " + + "TEXTCOLORVERSETEXT VARCHAR(15), " + + "BGCOLORVERSETEXT VARCHAR(15), " + + "BOLDVERSETEXT BOOLEAN, " + + "ITALICSVERSETEXT BOOLEAN, " + + "UNDERSCOREVERSETEXT BOOLEAN, " + + "FONTSIZEVERSETEXT INT, " + + "VALIGNVERSETEXT VARCHAR(15), " + + "PREFERREDVERSIONS VARCHAR(50), " + + "NOVERSIONFORMATTING BOOLEAN" + + ")"; + + + String tableInsert; + tableInsert = "INSERT INTO OPTIONS (" + + "PARAGRAPHALIGNMENT," + + "PARAGRAPHLINESPACING," + + "PARAGRAPHFONTFAMILY," + + "PARAGRAPHLEFTINDENT," + + "TEXTCOLORBOOKCHAPTER," + + "BGCOLORBOOKCHAPTER," + + "BOLDBOOKCHAPTER," + + "ITALICSBOOKCHAPTER," + + "UNDERSCOREBOOKCHAPTER," + + "FONTSIZEBOOKCHAPTER," + + "VALIGNBOOKCHAPTER," + + "TEXTCOLORVERSENUMBER," + + "BGCOLORVERSENUMBER," + + "BOLDVERSENUMBER," + + "ITALICSVERSENUMBER," + + "UNDERSCOREVERSENUMBER," + + "FONTSIZEVERSENUMBER," + + "VALIGNVERSENUMBER," + + "TEXTCOLORVERSETEXT," + + "BGCOLORVERSETEXT," + + "BOLDVERSETEXT," + + "ITALICSVERSETEXT," + + "UNDERSCOREVERSETEXT," + + "FONTSIZEVERSETEXT," + + "VALIGNVERSETEXT," + + "PREFERREDVERSIONS, " + + "NOVERSIONFORMATTING" + + ") VALUES (" + + "'justify',100,'"+defaultFont+"',0," + + "'#0000FF','#FFFFFF',true,false,false,14,'initial'," + + "'#AA0000','#FFFFFF',false,false,false,10,'super'," + + "'#696969','#FFFFFF',false,false,false,12,'initial'," + + "'NVBSE'," + + "false" + + ")"; + boolean tableCreated = stmt.execute(tableCreate); + boolean rowsInserted; + int count; + if(tableCreated==false){ + //is false when it's an update count! + count = stmt.getUpdateCount(); + if(count==-1){ + //System.out.println("The result is a ResultSet object or there are no more results."); + } + else{ + //this is our expected behaviour: 0 rows affected + //System.out.println("The Table Creation statement produced results: "+count+" rows affected."); + try (Statement stmt2 = conn.createStatement()) { + rowsInserted = stmt2.execute(tableInsert); + if(rowsInserted==false){ + count = stmt2.getUpdateCount(); + if(count==-1){ + //System.out.println("The result is a ResultSet object or there are no more results."); + } + else{ + //this is our expected behaviour: n rows affected + //System.out.println("The Row Insertion statement produced results: "+count+" rows affected."); + dbMeta = conn.getMetaData(); + try (ResultSet rs2 = dbMeta.getTables(null, null, "OPTIONS", null)) { + if(rs2.next()) + { + listColNamesTypes(dbMeta,rs2); + } + rs2.close(); + } + } + } + else{ + //is true when it returns a resultset, which shouldn't be the case here + try ( ResultSet rx = stmt2.getResultSet()) { + while(rx.next()){ + //System.out.println("This isn't going to happen anyways, so..."); + } + rx.close(); + } + } + stmt2.close(); + } + } + + } + else{ + //is true when it returns a resultset, which shouldn't be the case here + try (ResultSet rx = stmt.getResultSet()) { + while(rx.next()){ + //System.out.println("This isn't going to happen anyways, so..."); + } + rx.close(); + } + } + stmt.close(); + } + } + rs1.close(); + } + //System.out.println("Finished with first ResultSet resource, now going on to next..."); + try (ResultSet rs3 = dbMeta.getTables(null, null, "METADATA", null)) { + if(rs3.next()) + { + //System.out.println("Table "+rs3.getString("TABLE_NAME")+" already exists !!"); + } + else{ + //System.out.println("Table METADATA does not exist, now attempting to create..."); + try (Statement stmt = conn.createStatement()) { + String tableCreate = "CREATE TABLE METADATA ("; + tableCreate += "ID INT, "; + for(int i=0;i<73;i++){ + tableCreate += "BIBLEBOOKS"+Integer.toString(i)+" VARCHAR(2000), "; + } + tableCreate += "LANGUAGES VARCHAR(500), "; + tableCreate += "VERSIONS VARCHAR(2000)"; + tableCreate += ")"; + boolean tableCreated = stmt.execute(tableCreate); + boolean rowsInserted; + int count; + if(tableCreated==false){ + //this is the expected result, is false when it's an update count! + count = stmt.getUpdateCount(); + if(count==-1){ + //System.out.println("The result is a ResultSet object or there are no more results."); + } + else{ + //this is our expected behaviour: 0 rows affected + //System.out.println("The Table Creation statement produced results: "+count+" rows affected."); + //Insert a dummy row, because you cannot update what has not been inserted! + try ( Statement stmtX = conn.createStatement()) { + stmtX.execute("INSERT INTO METADATA (ID) VALUES (0)"); + stmtX.close(); + } + + HTTPCaller myHTTPCaller = new HTTPCaller(); + String myResponse; + myResponse = myHTTPCaller.getMetaData("biblebooks"); + if(myResponse != null){ + JsonReader jsonReader = Json.createReader(new StringReader(myResponse)); + JsonObject json = jsonReader.readObject(); + JsonArray arrayJson = json.getJsonArray("results"); + if(arrayJson != null){ + + ListIterator pIterator = arrayJson.listIterator(); + while (pIterator.hasNext()) + { + try(Statement stmt2 = conn.createStatement()) { + int index = pIterator.nextIndex(); + JsonArray currentJson = (JsonArray) pIterator.next(); + String biblebooks_str = currentJson.toString(); //.replaceAll("\"", "\\\\\""); + //System.out.println("BibleGetDB line 267: BIBLEBOOKS"+Integer.toString(index)+"='"+biblebooks_str+"'"); + String stmt_str = "UPDATE METADATA SET BIBLEBOOKS"+Integer.toString(index)+"='"+biblebooks_str+"' WHERE ID=0"; + try{ + //System.out.println("executing update: "+stmt_str); + int update = stmt2.executeUpdate(stmt_str); + //System.out.println("executeUpdate resulted in: "+Integer.toString(update)); + } catch (SQLException ex){ + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + } + stmt2.close(); + } + } + } + + arrayJson = json.getJsonArray("languages"); + if(arrayJson != null){ + try(Statement stmt2 = conn.createStatement()) { + + String languages_str = arrayJson.toString(); //.replaceAll("\"", "\\\\\""); + String stmt_str = "UPDATE METADATA SET LANGUAGES='"+languages_str+"' WHERE ID=0"; + try{ + int update = stmt2.executeUpdate(stmt_str); + } catch (SQLException ex){ + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + } + stmt2.close(); + } + } + } + + myResponse = myHTTPCaller.getMetaData("bibleversions"); + if(myResponse != null){ + JsonReader jsonReader = Json.createReader(new StringReader(myResponse)); + JsonObject json = jsonReader.readObject(); + JsonObject objJson = json.getJsonObject("validversions_fullname"); + if(objJson != null){ + String bibleversions_str = objJson.toString(); //.replaceAll("\"", "\\\\\""); + try(Statement stmt2 = conn.createStatement()){ + String stmt_str = "UPDATE METADATA SET VERSIONS='"+bibleversions_str+"' WHERE ID=0"; + try{ + int update = stmt2.executeUpdate(stmt_str); + } catch (SQLException ex){ + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + } + stmt2.close(); + } + + Set versionsabbrev = objJson.keySet(); + if(!versionsabbrev.isEmpty()){ + String versionsabbrev_str = ""; + for(String s:versionsabbrev) { + versionsabbrev_str += ("".equals(versionsabbrev_str)?"":",")+s; + } + + myResponse = myHTTPCaller.getMetaData("versionindex&versions="+versionsabbrev_str); + if(myResponse != null){ + jsonReader = Json.createReader(new StringReader(myResponse)); + json = jsonReader.readObject(); + objJson = json.getJsonObject("indexes"); + if(objJson != null){ + + for (String name : objJson.keySet()){ + JsonObjectBuilder tempBld = Json.createObjectBuilder(); + JsonObject book_num = objJson.getJsonObject(name); + tempBld.add("book_num", book_num.getJsonArray("book_num")); + tempBld.add("chapter_limit", book_num.getJsonArray("chapter_limit")); + tempBld.add("verse_limit", book_num.getJsonArray("verse_limit")); + JsonObject temp = tempBld.build(); + String versionindex_str = temp.toString(); //.replaceAll("\"", "\\\\\""); + //add new column to METADATA table name+"IDX" VARCHAR(5000) + //update METADATA table SET name+"IDX" = versionindex_str + try(Statement stmt3 = conn.createStatement()){ + String sql = "ALTER TABLE METADATA ADD COLUMN "+name+"IDX VARCHAR(5000)"; + boolean colAdded = stmt3.execute(sql); + if(colAdded==false) { + count = stmt3.getUpdateCount(); + if(count==-1){ + //System.out.println("The result is a ResultSet object or there are no more results."); + } + else if(count==0){ + //0 rows affected + stmt3.close(); + + try(Statement stmt4 = conn.createStatement()){ + String sql1 = "UPDATE METADATA SET "+name+"IDX='"+versionindex_str+"' WHERE ID=0"; + boolean rowsUpdated = stmt4.execute(sql1); + if(rowsUpdated==false) { + count = stmt4.getUpdateCount(); + if(count==-1){ + //System.out.println("The result is a ResultSet object or there are no more results."); + } + else{ + //should have affected only one row + if(count==1){ + //System.out.println(sql1+" seems to have returned true"); + stmt4.close(); + } + } + } + else{ + //returns true only when returning a resultset; should not be the case here + } + + } + + } + } + else{ + //returns true only when returning a resultset; should not be the case here + } + + stmt3.close(); + } + } + + } + } + + } + + + + } + } + + } + } + else{ + //is true when it returns a resultset, which shouldn't be the case here + ResultSet rx = stmt.getResultSet(); + while(rx.next()){ + //System.out.println("This isn't going to happen anyways, so..."); + } + } + stmt.close(); + } + } + rs3.close(); + } + conn.close(); + return true; + } catch (SQLException ex) { + if( ex.getSQLState().equals("X0Y32") ) { + Logger.getLogger(BibleGetDB.class.getName()).log(Level.INFO, null, "Table OPTIONS or Table METADATA already exists. No need to recreate"); + return true; + } else if (ex.getNextException().getErrorCode() == 45000) { + //this means we already have a connection, so this is good too + return true; + } else { + //Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex.getMessage() + " : " + Arrays.toString(ex.getStackTrace())); + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + return false; + } + } + } + + public boolean connect() { + try { + conn = DriverManager.getConnection( + "jdbc:derby:BIBLEGET", + "bibleget", + "bibleget"); + } catch (SQLException ex) { + if( ex.getSQLState().equals("X0Y32") ) { + Logger.getLogger(BibleGetDB.class.getName()).log(Level.INFO, null, "Table OPTIONS or Table METADATA already exists. No need to recreate"); + return true; + } else if (ex.getNextException().getErrorCode() == 45000) { + //this means we already have a connection, so this is good too + return true; + } else { + //Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex.getMessage() + " : " + Arrays.toString(ex.getStackTrace())); + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + return false; + } + } + return true; + } + + public void disconnect() { + if(conn != null){ + try { + conn.close(); + } catch (SQLException ex) { + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + private static void setDBSystemDir() { + String derbyhome = ""; + if(SystemUtils.IS_OS_WINDOWS){ + derbyhome = "/AppData/Roaming/BibleGetOpenOfficePlugin"; + } + else if(SystemUtils.IS_OS_MAC_OSX){ + derbyhome = "/Library/Application Support/BibleGetOpenOfficePlugin"; + } + else if(SystemUtils.IS_OS_LINUX){ + derbyhome = "/.BibleGetOpenOfficePlugin"; + } + System.setProperty("derby.system.home", System.getProperty("user.home") + derbyhome); + } + + + private void listColNamesTypes(DatabaseMetaData dbMeta, ResultSet rs) { + //System.out.println("After Table Creation: Table "+rs.getString("TABLE_NAME")+" exists !!"); + ResultSet cols; + try { + cols = dbMeta.getColumns(null, null, rs.getString("TABLE_NAME"), null); + while(cols.next()){ + //System.out.println(cols.getString("COLUMN_NAME")); + colNames.add(cols.getString("COLUMN_NAME")); + int dType = cols.getInt("DATA_TYPE"); + switch(dType){ + case Types.VARCHAR: + colDataTypes.add(String.class); break; + case Types.INTEGER: + colDataTypes.add(Integer.class); break; + case Types.FLOAT: + colDataTypes.add(Float.class); break; + case Types.DOUBLE: + case Types.REAL: + colDataTypes.add(Double.class); break; + case Types.DATE: + case Types.TIME: + case Types.TIMESTAMP: + colDataTypes.add(java.sql.Date.class); break; + case Types.BOOLEAN: + colDataTypes.add(Boolean.class); break; + default: + colDataTypes.add(String.class); break; + } + } + } catch (SQLException ex) { + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + } + } + + public JsonObject getOptions() { + if(instance.connect()){ + try { + JsonObjectBuilder myOptionsTable; + JsonArrayBuilder myRows; + try (Statement stmt = conn.createStatement(); ResultSet rsOps = stmt.executeQuery("SELECT * FROM OPTIONS")) { + Iterator itColNames = colNames.iterator(); + Iterator itDataTypes = colDataTypes.iterator(); + myOptionsTable = Json.createObjectBuilder(); + myRows = Json.createArrayBuilder(); + while (rsOps.next()) { + //System.out.println("Getting a row from the table."); + JsonObjectBuilder thisRow = Json.createObjectBuilder(); + while(itColNames.hasNext() && itDataTypes.hasNext()){ + String colName = (String) itColNames.next(); + Class dataType = (Class) itDataTypes.next(); + if(dataType==String.class){ thisRow.add(colName, rsOps.getString(colName)); } + if(dataType==Integer.class){ thisRow.add(colName, rsOps.getInt(colName)); } + if(dataType==Boolean.class){ thisRow.add(colName, rsOps.getBoolean(colName)); } + //System.out.println(colName + " <" + dataType + ">"); + } + thisRow.build(); + myRows.add(thisRow); + } + rsOps.close(); + stmt.close(); + instance.disconnect(); + myRows.build(); + return myOptionsTable.add("rows", myRows).build(); + } + } catch (SQLException ex) { + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + return null; + } + } + return null; + } + + public Object getOption(String option){ + option = option.toUpperCase(); + Object returnObj = null; + if(instance.connect()){ + try{ + if(colNames.contains(option)){ + int idx = colNames.indexOf(option); + Class dataType = colDataTypes.get(idx); + //System.out.println(BibleGetDB.class.getName()+" [299]: dataType="+dataType.getName() ); + try (Statement stmt = conn.createStatement()) { + String sqlexec = "SELECT "+option+" FROM OPTIONS"; + try (ResultSet rsOps = stmt.executeQuery(sqlexec)) { + while (rsOps.next()) { + //System.out.println(BibleGetDB.class.getName()+" [304]: retrieved a value from DB, about to return it to calling function" ); + if(dataType==String.class){ returnObj = rsOps.getString(option); } + if(dataType==Integer.class){ returnObj = rsOps.getInt(option); } + if(dataType==Boolean.class){ returnObj = rsOps.getBoolean(option); } + } + rsOps.close(); + } + stmt.close(); + } + instance.disconnect(); + return returnObj; + } + + } catch (SQLException ex) { + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + return null; + } + } + return null; + } + + public String getMetaData(String dataOption){ + dataOption = StringUtils.upperCase(dataOption); + String metaDataStr = ""; + if(dataOption.startsWith("BIBLEBOOKS") || dataOption.equals("LANGUAGES") || dataOption.equals("VERSIONS") || dataOption.endsWith("IDX")){ + //System.out.println("getMetaData received a valid request for "+dataOption); + if(instance.connect()){ + //System.out.println("getMetaData has connected to the database..."); + String sqlexec = "SELECT "+dataOption+" FROM METADATA WHERE ID=0"; + try(Statement stmt = conn.createStatement()){ + try (ResultSet rsOps = stmt.executeQuery(sqlexec)) { + //System.out.println("query seems to have been successful..."); + //ResultSetMetaData rsMD = rsOps.getMetaData(); + //int cols = rsMD.getColumnCount(); + //String colnm = rsMD.getColumnName(cols); + //System.out.println("there are "+Integer.toString(cols)+" columns in this resultset and name is: "+colnm+"(requested "+dataOption+")"); + while(rsOps.next()){ + metaDataStr = rsOps.getString(dataOption); + } + rsOps.close(); + } + stmt.close(); + } catch (SQLException ex) { + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + } + instance.disconnect(); + } + } + return metaDataStr; + } + + public boolean setIntOption(String colname, int value) { + int count; + colname = colname.toUpperCase(); + if(instance.connect()){ + if(!colNames.contains(colname)){ + boolean result = addColumn(colname,"INT"); + if(result==false){ return false; } + //System.out.println("Added "+colname+" column of type INT to OPTIONS table"); + colNames.add(colname); + colDataTypes.add(Integer.class); + } + try { + Statement stmt = conn.createStatement(); + String sqlexec = "UPDATE OPTIONS SET "+colname+" = "+value+""; + boolean rowsUpdated = stmt.execute(sqlexec); + if(rowsUpdated==false) { + count = stmt.getUpdateCount(); + if(count==-1){ + //System.out.println("The result is a ResultSet object or there are no more results."); + } + else{ + //should have affected only one row + if(count==1){ + stmt.close(); + instance.disconnect(); + return true; + } + } + } + else{ + //returns true only when returning a resultset; should not be the case here + } + + } catch (SQLException ex) { + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + } + } + return false; + } + + public boolean setStringOption(String colname, String value) { + int count; + colname = colname.toUpperCase(); + if(instance.connect()){ + if(!colNames.contains(colname)){ + boolean result = addColumn(colname,"VARCHAR(50)"); + if(result==false){ return false; } + //System.out.println("Added "+colname+" column of type VARCHAR(50) to OPTIONS table"); + colNames.add(colname); + colDataTypes.add(String.class); + } + try { + Statement stmt = conn.createStatement(); + String sqlexec = "UPDATE OPTIONS SET "+colname+" = '"+value+"'"; + boolean rowsUpdated = stmt.execute(sqlexec); + if(rowsUpdated==false) { + count = stmt.getUpdateCount(); + if(count==-1){ + //System.out.println("The result is a ResultSet object or there are no more results."); + } + else{ + //should have affected only one row + if(count==1){ + //System.out.println(sqlexec+" seems to have returned true"); + stmt.close(); + instance.disconnect(); + return true; + } + } + } + else{ + //returns true only when returning a resultset; should not be the case here + } + + } catch (SQLException ex) { + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + } + } + return false; + } + + public boolean setBooleanOption(String colname, boolean value) { + int count; + colname = colname.toUpperCase(); + if(instance.connect()){ + if(!colNames.contains(colname)){ + boolean result = addColumn(colname,"BOOLEAN"); + if(result==false){ return false; } + //System.out.println("Added "+colname+" column of type BOOLEAN to OPTIONS table"); + colNames.add(colname); + colDataTypes.add(Boolean.class); + } + try { + Statement stmt = conn.createStatement(); + String sqlexec = "UPDATE OPTIONS SET "+colname+" = "+value+""; + boolean rowsUpdated = stmt.execute(sqlexec); + if(rowsUpdated==false) { + count = stmt.getUpdateCount(); + if(count==-1){ + //System.out.println("The result is a ResultSet object or there are no more results."); + } + else{ + //should have affected only one row + if(count==1){ + stmt.close(); + instance.disconnect(); + return true; + } + } + } + else{ + //returns true only when returning a resultset; should not be the case here + } + + } catch (SQLException ex) { + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + } + } + return false; + } + + public boolean addColumn(String colName,String type){ + int count; + try { + colName = colName.toUpperCase(); + Statement stmt = conn.createStatement(); + String sqlexec = "ALTER TABLE OPTIONS ADD COLUMN "+colName+" "+type; + boolean colAdded = stmt.execute(sqlexec); + + if(colAdded==false) { + count = stmt.getUpdateCount(); + if(count==-1){ + //System.out.println("The result is a ResultSet object or there are no more results."); + } + else if(count==0){ + //0 rows affected + stmt.close(); + return true; + } + } + else{ + //returns true only when returning a resultset; should not be the case here + } + + } catch (SQLException ex) { + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + } + return false; + } + + public boolean renewMetaData(){ + if(instance.connect()){ + try { + DatabaseMetaData dbMeta; + dbMeta = conn.getMetaData(); + try (ResultSet rs3 = dbMeta.getTables(null, null, "METADATA", null)) { + if(rs3.next()) + { + //System.out.println("Table METADATA exists..."); + try (Statement stmt = conn.createStatement()) { + HTTPCaller myHTTPCaller = new HTTPCaller(); + String myResponse; + myResponse = myHTTPCaller.getMetaData("biblebooks"); + if(myResponse != null){ + JsonReader jsonReader = Json.createReader(new StringReader(myResponse)); + JsonObject json = jsonReader.readObject(); + JsonArray arrayJson = json.getJsonArray("results"); + if(arrayJson != null){ + ListIterator pIterator = arrayJson.listIterator(); + while (pIterator.hasNext()) + { + try(Statement stmt1 = conn.createStatement()) { + int index = pIterator.nextIndex(); + JsonArray currentJson = (JsonArray) pIterator.next(); + String biblebooks_str = currentJson.toString(); //.replaceAll("\"", "\\\\\""); + //System.out.println("BibleGetDB line 267: BIBLEBOOKS"+Integer.toString(index)+"='"+biblebooks_str+"'"); + String stmt_str = "UPDATE METADATA SET BIBLEBOOKS"+Integer.toString(index)+"='"+biblebooks_str+"' WHERE ID=0"; + //System.out.println("executing update: "+stmt_str); + int update = stmt1.executeUpdate(stmt_str); + //System.out.println("executeUpdate resulted in: "+Integer.toString(update)); + stmt1.close(); + } + } + } + + arrayJson = json.getJsonArray("languages"); + if(arrayJson != null){ + try(Statement stmt2 = conn.createStatement()) { + String languages_str = arrayJson.toString(); //.replaceAll("\"", "\\\\\""); + String stmt_str = "UPDATE METADATA SET LANGUAGES='"+languages_str+"' WHERE ID=0"; + int update = stmt2.executeUpdate(stmt_str); + stmt2.close(); + } + } + } + + myResponse = myHTTPCaller.getMetaData("bibleversions"); + if(myResponse != null){ + JsonReader jsonReader = Json.createReader(new StringReader(myResponse)); + JsonObject json = jsonReader.readObject(); + JsonObject objJson = json.getJsonObject("validversions_fullname"); + if(objJson != null){ + String bibleversions_str = objJson.toString(); //.replaceAll("\"", "\\\\\""); + try(Statement stmt3 = conn.createStatement()){ + String stmt_str = "UPDATE METADATA SET VERSIONS='"+bibleversions_str+"' WHERE ID=0"; + int update = stmt3.executeUpdate(stmt_str); + stmt3.close(); + } + + Set versionsabbrev = objJson.keySet(); + if(!versionsabbrev.isEmpty()){ + String versionsabbrev_str = ""; + for(String s:versionsabbrev) { + versionsabbrev_str += ("".equals(versionsabbrev_str)?"":",")+s; + } + + myResponse = myHTTPCaller.getMetaData("versionindex&versions="+versionsabbrev_str); + if(myResponse != null){ + jsonReader = Json.createReader(new StringReader(myResponse)); + json = jsonReader.readObject(); + objJson = json.getJsonObject("indexes"); + if(objJson != null){ + for (String name : objJson.keySet()){ + JsonObjectBuilder tempBld = Json.createObjectBuilder(); + JsonObject book_num = objJson.getJsonObject(name); + tempBld.add("book_num", book_num.getJsonArray("book_num")); + tempBld.add("chapter_limit", book_num.getJsonArray("chapter_limit")); + tempBld.add("verse_limit", book_num.getJsonArray("verse_limit")); + JsonObject temp = tempBld.build(); + String versionindex_str = temp.toString(); //.replaceAll("\"", "\\\\\""); + //add new column to METADATA table name+"IDX" VARCHAR(5000) + //update METADATA table SET name+"IDX" = versionindex_str + try(ResultSet rs1 = dbMeta.getColumns(null, null, "METADATA", name+"IDX")){ + boolean updateFlag = false; + if(rs1.next()){ + //column already exists + updateFlag=true; + } + else{ + try(Statement stmt4 = conn.createStatement()){ + String sql = "ALTER TABLE METADATA ADD COLUMN "+name+"IDX VARCHAR(5000)"; + boolean colAdded = stmt4.execute(sql); + if(colAdded==false) { + int count = stmt4.getUpdateCount(); + if(count==-1){ + //System.out.println("The result is a ResultSet object or there are no more results."); + } + else if(count==0){ + //0 rows affected + updateFlag=true; + } + } + stmt4.close(); + } + } + if(updateFlag){ + try(Statement stmt5 = conn.createStatement()){ + String sql1 = "UPDATE METADATA SET "+name+"IDX='"+versionindex_str+"' WHERE ID=0"; + boolean rowsUpdated = stmt5.execute(sql1); + stmt5.close(); + } + } + } + } + + } + } + + } + + + + } + } + + stmt.close(); + } + } + rs3.close(); + } + instance.disconnect(); + } catch (SQLException ex) { + Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); + return false; + } + return true; + } + return false; + } + +} diff --git a/src/io/bibleget/BibleGetFrame.form b/src/io/bibleget/BibleGetFrame.form new file mode 100644 index 0000000..11b3f15 --- /dev/null +++ b/src/io/bibleget/BibleGetFrame.form @@ -0,0 +1,161 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/io/bibleget/BibleGetFrame.java b/src/io/bibleget/BibleGetFrame.java new file mode 100644 index 0000000..e6f73c0 --- /dev/null +++ b/src/io/bibleget/BibleGetFrame.java @@ -0,0 +1,515 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package io.bibleget; + +import ca.odell.glazedlists.BasicEventList; +import ca.odell.glazedlists.EventList; +import ca.odell.glazedlists.SeparatorList; +import ca.odell.glazedlists.swing.DefaultEventListModel; +import com.sun.star.beans.PropertyVetoException; +import com.sun.star.beans.UnknownPropertyException; +import com.sun.star.frame.XController; +import com.sun.star.lang.IllegalArgumentException; +import com.sun.star.lang.WrappedTargetException; +import static io.bibleget.BibleGetI18N.__; +import java.awt.Color; +import java.awt.Component; +import java.awt.Font; +import java.awt.HeadlessException; +import java.io.StringReader; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.List; +import java.util.ListIterator; +import java.util.Locale; +import java.util.Set; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.json.Json; +import javax.json.JsonObject; +import javax.json.JsonReader; +import javax.swing.BorderFactory; +import javax.swing.DefaultListCellRenderer; +import javax.swing.DefaultListSelectionModel; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.JOptionPane; +import javax.swing.ListSelectionModel; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; + +/** + * + * @author Lwangaman + */ +public final class BibleGetFrame extends javax.swing.JFrame { + + private final XController m_xController; + private final int screenWidth; + private final int screenHeight; + private final int frameWidth; + private final int frameHeight; + private final int frameLeft; + private final int frameTop; + + private static BibleGetDB biblegetDB; + private SeparatorList versionsByLang; + private EventList bibleVersions; + private boolean[] enabledFlags; + private int[] indices; + + + private static BibleGetFrame instance; + + /** + * Creates new form BibleGetFrame + * @param xController + */ + private BibleGetFrame(XController xController) throws ClassNotFoundException { + m_xController = xController; + screenWidth = (int)java.awt.Toolkit.getDefaultToolkit().getScreenSize().getWidth(); + screenHeight = (int)java.awt.Toolkit.getDefaultToolkit().getScreenSize().getHeight(); + frameWidth = 500; + frameHeight = 500; + frameLeft = (screenWidth / 2) - (frameWidth / 2); + frameTop = (screenHeight / 2) - (frameHeight / 2); + + prepareDynamicInformation(); + initComponents(); + } + + private BibleGetFrame() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public static BibleGetFrame getInstance(XController xController) throws ClassNotFoundException + { + if(instance == null) + { + instance = new BibleGetFrame(xController); + } + return instance; + } + + /** + * + * @throws ClassNotFoundException + */ + private void prepareDynamicInformation() throws ClassNotFoundException{ + biblegetDB = BibleGetDB.getInstance(); + String bibleVersionsStr = biblegetDB.getMetaData("VERSIONS"); + JsonReader jsonReader = Json.createReader(new StringReader(bibleVersionsStr)); + JsonObject bibleVersionsObj = jsonReader.readObject(); + Set versionsabbrev = bibleVersionsObj.keySet(); + bibleVersions = new BasicEventList<>(); + if(!versionsabbrev.isEmpty()){ + for(String s:versionsabbrev) { + String versionStr = bibleVersionsObj.getString(s); //store these in an array + String[] array; + array = versionStr.split("\\|"); + bibleVersions.add(new BibleVersion(s,array[0],array[1],StringUtils.capitalize(new Locale(array[2]).getDisplayLanguage()))); + } + } + + List preferredVersions = new ArrayList<>(); + String retVal = (String)biblegetDB.getOption("PREFERREDVERSIONS"); + if(null==retVal){ + //System.out.println("Attempt to retrieve PREFERREDVERSIONS from the Database resulted in null value"); + } + else{ + //System.out.println("Retrieved PREFERREDVERSIONS from the Database. Value is:"+retVal); + String[] favoriteVersions = StringUtils.split(retVal,','); + preferredVersions = Arrays.asList(favoriteVersions); + } + if(preferredVersions.isEmpty()){ + preferredVersions.add("NVBSE"); + } + List preferredVersionsIndices = new ArrayList<>(); + + versionsByLang = new SeparatorList<>(bibleVersions, new VersionComparator(),1, 1000); + int listLength = versionsByLang.size(); + enabledFlags = new boolean[listLength]; + ListIterator itr = versionsByLang.listIterator(); + while(itr.hasNext()){ + int idx = itr.nextIndex(); + Object next = itr.next(); + enabledFlags[idx] = !(next.getClass().getSimpleName().equals("GroupSeparator")); + if(next.getClass().getSimpleName().equals("BibleVersion")){ + BibleVersion thisBibleVersion = (BibleVersion)next; + if(preferredVersions.contains(thisBibleVersion.getAbbrev())){ + preferredVersionsIndices.add(idx); + } + } + } + indices = ArrayUtils.toPrimitive(preferredVersionsIndices.toArray(new Integer[preferredVersionsIndices.size()])); + //System.out.println("value of indices array: "+Arrays.toString(indices)); + + } + + public void updateDynamicInformation() throws ClassNotFoundException{ + prepareDynamicInformation(); + jList1.setModel(new DefaultEventListModel<>(versionsByLang)); + jList1.setCellRenderer(new VersionCellRenderer()); + jList1.setSelectionModel(new DisabledItemSelectionModel()); + ListSelectionModel listSelectionModel = jList1.getSelectionModel(); + listSelectionModel.addListSelectionListener(new SharedListSelectionHandler()); + jList1.setSelectedIndices(indices); + jScrollPane2.setViewportView(jList1); + jScrollPane2.revalidate(); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + jLabel1 = new javax.swing.JLabel(); + jTextField1 = new javax.swing.JTextField(); + jLabel2 = new javax.swing.JLabel(); + jLabel4 = new javax.swing.JLabel(); + jScrollPane2 = new javax.swing.JScrollPane(); + jList1 = new javax.swing.JList(); + jButton1 = new javax.swing.JButton(); + jButton2 = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle(__("Insert quote from input window")); + setBounds(frameLeft,frameTop,frameWidth,frameHeight); + setType(java.awt.Window.Type.UTILITY); + + jLabel1.setLabelFor(jTextField1); + jLabel1.setText(__("Type the desired Bible Quote using standard notation:")); + + jTextField1.setToolTipText("e.g. Mt1,1-10"); + + jLabel2.setBackground(new java.awt.Color(204, 255, 204)); + jLabel2.setFont(new java.awt.Font("Times New Roman", 2, 11)); // NOI18N + jLabel2.setForeground(new java.awt.Color(51, 51, 51)); + jLabel2.setText(__("(e.g. Mt 1,1-10.12-15;5,3-4;Jn 3,16)")); + + jLabel4.setText(__("Choose version (or versions)")); + + jList1.setModel(new DefaultEventListModel<>(versionsByLang)); + jList1.setCellRenderer(new VersionCellRenderer()); + jList1.setSelectionModel(new DisabledItemSelectionModel()); + ListSelectionModel listSelectionModel = jList1.getSelectionModel(); + listSelectionModel.addListSelectionListener(new SharedListSelectionHandler()); + jList1.setSelectedIndices(indices); + jScrollPane2.setViewportView(jList1); + + jButton1.setText(__("Send query")); + jButton1.setToolTipText(__("Sends the request to the server and returns the results to the document.")); + jButton1.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jButton1MouseClicked(evt); + } + }); + + jButton2.setText(__("Cancel")); + jButton2.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jButton2MouseClicked(evt); + } + }); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGap(57, 57, 57) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jScrollPane2) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() + .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 28, Short.MAX_VALUE) + .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jTextField1, javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGap(57, 57, 57)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(40, 40, 40) + .addComponent(jLabel1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(1, 1, 1) + .addComponent(jLabel2) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel4) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 144, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jButton1) + .addComponent(jButton2)) + .addGap(39, 39, 39)) + ); + + pack(); + }// //GEN-END:initComponents + + private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton1MouseClicked + List selectedVersions = new ArrayList<>(); + if (jList1.isSelectionEmpty()) { + JOptionPane.showMessageDialog(null, __("You must select at least one version in order to make a request."), "ERROR >> NO VERSIONS SELECTED", JOptionPane.ERROR_MESSAGE); + return; + // + } else { + // Find out which indexes are selected. + int minIndex = jList1.getMinSelectionIndex(); + int maxIndex = jList1.getMaxSelectionIndex(); + for (int i = minIndex; i <= maxIndex; i++) { + if (jList1.isSelectedIndex(i)) { + String abbrev = versionsByLang.get(i).getAbbrev(); + selectedVersions.add(abbrev); + } + } + } + String versionsSelcd = StringUtils.join(selectedVersions.toArray(), ','); + + + String myInputContent = jTextField1.getText(); + myInputContent = StringUtils.deleteWhitespace(myInputContent); + //System.out.println("You typed : "+myInputContent); + + HTTPCaller myHTTPCaller = new HTTPCaller(); + String myResponse; + try { + Boolean querycheck = myHTTPCaller.integrityCheck(myInputContent,selectedVersions); + if(querycheck){ + //JOptionPane.showMessageDialog(null, "All is proceeding nicely", "progress info", JOptionPane.INFORMATION_MESSAGE); + myResponse = myHTTPCaller.sendGet(myInputContent,versionsSelcd); + if(myResponse != null){ + BibleGetJSON myJSON = new BibleGetJSON(m_xController); + myJSON.JSONParse(myResponse); + this.setVisible(false); + } + else{ + JOptionPane.showMessageDialog(null,__("There was a problem communicating with the BibleGet server. Please try again."),"ERROR >> SERVER CONNECTIVITY ISSUE",JOptionPane.ERROR_MESSAGE); + } + } + else{ + String[] errorMessages = myHTTPCaller.getErrorMessages(); + String errorDialog = StringUtils.join(errorMessages,"\n\n"); + JOptionPane.showMessageDialog(null, errorDialog, "ERROR >> MALFORMED QUERYSTRING", JOptionPane.ERROR_MESSAGE); + } + } catch (HeadlessException | ClassNotFoundException | UnknownPropertyException | PropertyVetoException | IllegalArgumentException | WrappedTargetException ex) { + Logger.getLogger(BibleGetFrame.class.getName()).log(Level.SEVERE, null, ex); + } + + }//GEN-LAST:event_jButton1MouseClicked + + private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton2MouseClicked + // TODO add your handling code here: + setVisible(false); + }//GEN-LAST:event_jButton2MouseClicked + + + private static class VersionComparator implements Comparator { + + @Override + public int compare(BibleVersion o1, BibleVersion o2) { + return o1.getLang().compareTo(o2.getLang()); + } + + } + + private static class VersionCellRenderer extends DefaultListCellRenderer{ + + @Override + public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { + JLabel label = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); + + if (value instanceof SeparatorList.Separator) { + SeparatorList.Separator separator = (SeparatorList.Separator) value; + BibleVersion bibleversion = (BibleVersion)separator.getGroup().get(0); + String lbl = "-- " + bibleversion.getLang() + " --"; + label.setText(lbl); + label.setFont(label.getFont().deriveFont(Font.BOLD)); + label.setBackground(Color.decode("#999999")); + //label.setForeground(Color.BLACK); + label.setBorder(BorderFactory.createEmptyBorder(0,5,0,0)); + //label.setEnabled(false); + } else { + label.setFont(label.getFont().deriveFont(Font.PLAIN)); + label.setBorder(BorderFactory.createEmptyBorder(0,15,0,0)); + + } + + return label; + } + } + + private class DisabledItemSelectionModel extends DefaultListSelectionModel { + + private static final long serialVersionUID = 1L; + + @Override + public void setSelectionInterval(int index0, int index1) { + if(index0 < index1){ + for (int i = index0; i <= index1; i++){ + if(enabledFlags[i]){ + super.addSelectionInterval(i, i); + } + } + } + else if(index1 < index0){ + for (int i = index1; i <= index0; i++){ + if(enabledFlags[i]){ + super.addSelectionInterval(i, i); + } + } + } + else if(index0 == index1){ + if(enabledFlags[index0]){ super.setSelectionInterval(index0,index0); } + } + } + + @Override + public void addSelectionInterval(int index0, int index1) { + if(index0 < index1){ + for (int i = index0; i <= index1; i++){ + if(enabledFlags[i]){ + super.addSelectionInterval(i, i); + } + } + } + else if(index1 < index0){ + for (int i = index1; i <= index0; i++){ + if(enabledFlags[i]){ + super.addSelectionInterval(i, i); + } + } + } + else if(index0 == index1){ + if(enabledFlags[index0]){ super.addSelectionInterval(index0,index0); } + } + } + + } + + private class SharedListSelectionHandler implements ListSelectionListener { + @Override + public void valueChanged(ListSelectionEvent e) { + ListSelectionModel lsm = (ListSelectionModel)e.getSource(); + int firstIndex = e.getFirstIndex(); + int lastIndex = e.getLastIndex(); + boolean isAdjusting = e.getValueIsAdjusting(); + + List selectedVersions = new ArrayList<>(); + if (lsm.isSelectionEmpty()) { + } else { + // Find out which indexes are selected. + int minIndex = lsm.getMinSelectionIndex(); + int maxIndex = lsm.getMaxSelectionIndex(); + for (int i = minIndex; i <= maxIndex; i++) { + if (lsm.isSelectedIndex(i)) { + String abbrev = versionsByLang.get(i).getAbbrev(); + selectedVersions.add(abbrev); + } + } + } + String versionsSelcd = StringUtils.join(selectedVersions.toArray(), ','); + if(biblegetDB.setStringOption("PREFERREDVERSIONS", versionsSelcd)){ + //System.out.println("Database was updated with preferred versions: "+versionsSelcd); + } + else{ + //System.out.println("Database was not updated with preferred versions."); + } + } + } + + @Override + public void setVisible(final boolean visible) { + // make sure that frame is marked as not disposed if it is asked to be visible + if (visible) { + //setDisposed(false); + } + // let's handle visibility... + if (!visible || !isVisible()) { // have to check this condition simply because super.setVisible(true) invokes toFront if frame was already visible + super.setVisible(visible); + } + // ...and bring frame to the front.. in a strange and weird way + if (visible) { + int state = super.getExtendedState(); + state &= ~JFrame.ICONIFIED; + super.setExtendedState(state); + super.setAlwaysOnTop(true); + super.toFront(); + super.requestFocus(); + super.setAlwaysOnTop(false); + } + } + + @Override + public void toFront() { + super.setVisible(true); + int state = super.getExtendedState(); + state &= ~JFrame.ICONIFIED; + super.setExtendedState(state); + super.setAlwaysOnTop(true); + super.toFront(); + super.requestFocus(); + super.setAlwaysOnTop(false); + } + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(BibleGetFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + // + + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + @Override + public void run() { + new BibleGetFrame().setVisible(true); + } + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton jButton1; + private javax.swing.JButton jButton2; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel2; + private javax.swing.JLabel jLabel4; + private javax.swing.JList jList1; + private javax.swing.JScrollPane jScrollPane2; + private javax.swing.JTextField jTextField1; + // End of variables declaration//GEN-END:variables +} diff --git a/src/io/bibleget/BibleGetHelp.form b/src/io/bibleget/BibleGetHelp.form new file mode 100644 index 0000000..a238d86 --- /dev/null +++ b/src/io/bibleget/BibleGetHelp.form @@ -0,0 +1,113 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/io/bibleget/BibleGetHelp.java b/src/io/bibleget/BibleGetHelp.java new file mode 100644 index 0000000..40b4a9e --- /dev/null +++ b/src/io/bibleget/BibleGetHelp.java @@ -0,0 +1,575 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package io.bibleget; + +import static io.bibleget.BibleGetI18N.__; +import java.awt.Color; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.Image; +import java.awt.Toolkit; +import java.awt.event.MouseEvent; +import java.awt.event.MouseMotionListener; +import java.io.StringReader; +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.json.Json; +import javax.json.JsonArray; +import javax.json.JsonReader; +import javax.json.JsonValue; +import javax.swing.BorderFactory; +import javax.swing.JComponent; +import javax.swing.JFrame; +import javax.swing.JTextPane; +import javax.swing.JTree; +import javax.swing.text.Document; +import javax.swing.text.html.HTMLEditorKit; +import javax.swing.text.html.StyleSheet; +import javax.swing.tree.DefaultTreeCellRenderer; +import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.TreeNode; +import javax.swing.tree.TreePath; +import org.apache.commons.lang3.StringUtils; + +/** + * + * @author Lwangaman + */ +public class BibleGetHelp extends javax.swing.JFrame { + + private static BibleGetHelp instance; + private LocalCellRenderer renderer; + + private final HTMLEditorKit kit; + private final Document doc; + private final String HTMLStr0; + private final String HTMLStr1; + private final String HTMLStr2; + private final String HTMLStr3; + private final StyleSheet styles; + + private final int screenWidth; + private final int screenHeight; + private final int frameWidth; + private final int frameHeight; + private final int frameLeft; + private final int frameTop; + + private final BibleGetDB bibleGetDB; + private JsonArray bibleVersionsObj; + private final int booksLangs; + private final String booksStr; + //private Map> bibleBooks; + + private Map booksAndAbbreviations; + + /** + * Creates new form BibleGetHelp + */ + private BibleGetHelp() throws ClassNotFoundException { + //jTextPane does not initialize correctly, it causes a Null Exception Pointer + //Following line keeps this from crashing the program + Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); + + String packagePath = BibleGetIO.getPackagePath(); + //String locale = BibleGetIO.getLocale(); + + String langsSupported; + List langsLocalized = new ArrayList<>(); + String bbBooks; + + bibleGetDB = BibleGetDB.getInstance(); + if(bibleGetDB != null){ + //System.out.println("oh good, biblegetDB is not null!"); + JsonReader jsonReader; + langsSupported = bibleGetDB.getMetaData("LANGUAGES"); + //System.out.println(langsSupported); + jsonReader = Json.createReader(new StringReader(langsSupported)); + bibleVersionsObj = jsonReader.readArray(); + booksLangs = bibleVersionsObj.size(); + for (JsonValue jsonValue : bibleVersionsObj) { + //System.out.println(jsonValue.toString()); + langsLocalized.add(BibleGetI18N.localizeLanguage(jsonValue.toString())); + } + booksStr = StringUtils.join(langsLocalized,", "); + + List bibleBooksTemp = new ArrayList<>(); + for(int i=0;i<73;i++) { + bbBooks = bibleGetDB.getMetaData("BIBLEBOOKS"+Integer.toString(i)); + jsonReader = Json.createReader(new StringReader(bbBooks)); + JsonArray bibleBooksObj = jsonReader.readArray(); + bibleBooksTemp.add(bibleBooksObj); + } + + String curLang; + List booksForCurLang; + //bibleBooks = new HashMap<>(); + booksAndAbbreviations = new HashMap<>(); + String buildStr; + for(int q=0;q"+str1+""+str2+""; + } + booksAndAbbreviations.put(curLang,buildStr); + } + + } + else{ + booksLangs = 0; + booksStr = ""; + } + kit = new HTMLEditorKit(); + doc = kit.createDefaultDocument(); + styles = kit.getStyleSheet(); + styles.addRule("body { background-color: #FFFFDD; border: 2px inset #CC9900; }"); + styles.addRule("h1 { color: #0000AA; }"); + styles.addRule("h2 { color: #0000AA; }"); + styles.addRule("h3 { color: #0000AA; }"); + styles.addRule("p { text-align: justify; }"); + styles.addRule("table { border-collapse: collapse; width: 600px; margin-left: auto; }"); + styles.addRule("th { text-align: center; border: 4px ridge #DEB887; background-color: #F5F5DC; padding: 3px; }"); + styles.addRule("td { text-align: justify; border: 3px ridge #DEB887; background-color: #F5F5DC; padding: 3px; }"); + + //System.out.println("We have package path in BibleGetHelp! It is: "+packagePath); + + HTMLStr0 = "" + + "

"+__("Help for BibleGet (Open Office Writer)")+"

" + + "

"+__("This Help dialog window introduces the user to the usage of the BibleGet I/O plugin for Open Office Writer.")+"

" + + "

"+__("The Help is divided into three sections:")+"

" + + "
    " + + "
  • "+__("Usage of the Plugin")+"
  • " + + "
  • "+__("Formulation of the Queries")+"
  • " + + "
  • "+__("Biblical Books and Abbreviations")+"
  • " + + "
" + + "

"+__("AUTHOR")+": "+__("John R. D'Orazio (chaplain at Roma Tre University)")+"

" + + "

"+__("COLLABORATORS")+": "+__("Giovanni Gregori (computing) and Simone Urbinati (MUG Roma Tre)")+"

" + + "

"+__("Version").toUpperCase()+": 2.0

" + + "

© Copyright 2014 BibleGet I/O by John R. D'Orazio john.dorazio@cappellaniauniroma3.org

" + + "

"+__("PROJECT WEBSITE")+": http://www.bibleget.io | "+__("EMAIL ADDRESS FOR INFORMATION OR FEEDBACK ON THE PROJECT")+": bibleget.io@gmail.com

" + + "

Cappellania Università degli Studi Roma Tre - Piazzale San Paolo 1/d - 00120 Città del Vaticano - +39 06.69.88.08.09 - cappellania.uniroma3@gmail.com

"; + + String strfmt1 = __("Insert quote from input window"); + String strfmt2 = __("About this plugin"); + String strfmt3 = __("RENEW SERVER DATA"); + String strfmt4 = strfmt1; + String strfmt5 = __("Insert quote from text selection"); + String strfmt6 = strfmt1; + + HTMLStr1 = "" + + "

" + __("How to use the plugin") + "

" + + "

" + __("Description of the menu icons and their functionality.") + "

" + + "

" + __("Once the extension is installed, a new menu 'BibleGet I/O' will appear on the menu bar. Also a new floating toolbar will appear. The buttons on the floating toolbar correspond to the menu items in the new menu, as can be seen in this image:") + "



" + + "

" + + "

" + __("The floating toolbar can be dragged and placed anywhere on the screen. It can also be docked to certain areas of the workspace, for example on the toolbar below the menu bar, like in this image:") + "



" + + "

" + + "

" + __("There are two ways of inserting a bible quote into a document.") + + " " + + __("The first way is by using the input window.") + + " " + + MessageFormat.format(__("If you click on the menu item ''{0}'', an input window will open where you can input your query and choose the version or versions you would like to take the quote from."),strfmt1) + + " " + + __("This list of versions is updated from the available versions on the BibleGet server, but since the information is stored locally it may be necessary to renew the server information when new versions are added to the BibleGet server database.") + + " " + + MessageFormat.format(__("In order to renew the information from the BibleGet server, click on the ''{0}'' menu item, and then click on the button ''{1}''."),strfmt2,strfmt3) + + " " + + MessageFormat.format(__("When you choose a version or multiple versions to quote from, this choice is automatically saved as a preference, and will be pre-selected the next time you open the ''{0}'' menu item."),strfmt4) + + "

" + + "

" + + MessageFormat.format(__("The second way is by writing your desired quote directly in the document, and then selecting it and choosing the menu item ''{0}''. The selected text will be substituted by the Bible Quote retrieved from the BibleGet server."),strfmt5) + + " " + + MessageFormat.format(__("The versions previously selected in the ''{0}'' window will be used, so you must have selected your preferred versions at least once from the ''{0}'' window."),strfmt6) + + "



" + + "

" + + "

" + + __("Formatting preferences can be set using the 'Preferences' window. You can choose the desired font for the Bible quotes as well as the desired line-spacing, and you can choose separate formatting (font size, font color, font style) for the book / chapter, for the verse numbers, and for the verse text. Preferences are saved automatically.") + + "



" + + "

" + + "

" + + __("After the 'Help' menu item that opens up this same help window, the last three menu items are:") + + "

" + + "
    " + + "
  • " + + " '" + + __("Send feedback") + + "': " + + __("This will open up your system's default email application with the bibleget.io@gmail.com feedback address already filled in.") + + "
  • " + + "
  • " + + " '" + + __("Contribute") + + "': " + + __("This will open a Paypal page in the system's default browser where you can make a donation to contribute to the project. Even just €1 can help to cover the expenses of this project. Just the server costs €120 a year.") + + "
  • " + + "
  • " + + " '" + + __("Information on the BibleGet I/O Project") + + "': " + + __("This opens a dialog window with some information on the project and it's plugins, on the author and contributors, and on the current locally stored information about the versions and languages that the BibleGet server supports.") + + "
  • " + + "
" + + ""; + + String strfmt7 = __("Biblical Books and Abbreviations"); + + HTMLStr2 = "" + + "" + + "" + + "

" + __("How to formulate a bible query") + "

" + + "

" + + __("The queries for bible quotes must be formulated using standard notation for bible citation.") + + " " + + __("This can be either the english notation (as explained here: https://en.wikipedia.org/wiki/Bible_citation), or the european notation as explained here below. ") + + "

" + + "

" + + __("A basic query consists of at least two elements: the bible book and the chapter.") + + " " + + __("The bible book can be written out in full, or in an abbreviated form.") + + " " + + MessageFormat.format(__("The BibleGet engine recognizes the names of the books of the bible in {0} different languages: {1}"),Integer.toString(booksLangs),booksStr) + + " " + + MessageFormat.format(__("See the list of valid books and abbreviations in the section {0}."),"" + strfmt7 + "") + + " " + + __("For example, the query \"Matthew 1\" means the book of Matthew (or better the gospel according to Matthew) at chapter 1.") + + " " + + __("This can also be written as \"Mt 1\".") + + "

" + + "

" + __("Different combinations of books, chapters, and verses can be formed using the comma delimiter and the dot delimiter (in european notation, in english notation instead a colon is used instead of a comma and a comma is used instead of a dot):") + "

" + + "
    " + + "
  • " + __("\",\": the comma is the chapter-verse delimiter. \"Matthew 1,5\" means the book (gospel) of Matthew, chapter 1, verse 5. (In English notation: \"Matthew 1:5\".)") + "
  • " + + "
  • " + __("\".\": the dot is a delimiter between verses. \"Matthew 1,5.7\" means the book (gospel) of Matthew, chapter 1, verses 5 and 7. (In English notation: \"Matthew 1:5,7\".)") + "
  • " + + "
  • " + __("\"-\": the dash is a range delimiter, which can be used in a variety of ways:") + + "
      " + + "
    1. " + __("For a range of chapters: \"Matthew 1-2\" means the gospel according to Matthew, from chapter 1 to chapter 2.") + "
    2. " + + "
    3. " + __("For a range of verses within the same chapter: \"Matthew 1,1-5\" means the gospel according to Matthew, chapter 1, from verse 1 to verse 5. (In English notation: \"Matthew 1:1-5\".)") + "
    4. " + + "
    5. " + __("For a range of verses that span over different chapters: \"Matthew 1,5-2,13\" means the gospel according to Matthew, from chapter 1, verse 5 to chapter 2, verse 13. (In English notation: \"Matthew 1:5-2:13\".)") + "
    6. " + + "
    " + + "
" + + "

" + __("Different combinations of these delimiters can form fairly complex queries, for example \"Mt1,1-3.5.7-9\" means the gospel according to Matthew, chapter 1, verses 1 to 3, verse 5, and verses 7 to 9. (In English notation: \"Mt1:1-3,5,7-9\".)") +"

" + + "

" + __("Multiple queries can be combined together using a semi-colon \";\".") + + " " + + __("If the query following the semi-colon refers to the same book as the preceding query, it is not necessary to indicate the book a second time.") + + " " + + __("For example, \"Matthew 1,1;2,13\" means the gospel according to Matthew, chapter 1 verse 1 and chapter 2 verse 13. (In English notation: \"Matthew 1:1;2:13\".)") + + " " + + __("Here is an example of multiple complex queries combined into a single querystring: \"Genesis 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse 3,10.12-14\". (In English notation: \"Genesis 1:3-5,7,9-11,13;2:4-9,11-13;Apocalypse 3:10,12-14\").") + "

" + + "

" + __("It doesn't matter whether or not you use a space between the book and the chapter, the querystring will be interpreted just the same.") + + __("It is also indifferent whether you use uppercase or lowercase letters, the querystring will be interpreted just the same.") + + "

" + + "" + + ""; + + + HTMLStr3 = "" + + "" + + "" + + "

" + __("Biblical Books and Abbreviations") + "

" + + "

" + __("Here is a list of valid books and their corresponding abbreviations, either of which can be used in the querystrings.") + + " " + + __("The abbreviations do not always correspond with those proposed by the various editions of the Bible, because they would conflict with those proposed by other editions.") + + " " + + __("For example some english editions propose \"Gn\" as an abbreviation for \"Genesis\", while some italian editions propose \"Gn\" as an abbreviation for \"Giona\" (= \"Jonah\").") + + " " + + __("Therefore you will not always be able to use the abbreviations proposed by any single edition of the Bible, you must use the abbreviations that are recognized by the BibleGet engine as listed in the following table:") + + "



" + + "" + + "" + + "" + + "{0}" + + "
{1}
" + __("BOOK") + "" + __("ABBREVIATION") + "
" + + "" + + ""; + + Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); + screenWidth = (int)screenSize.getWidth(); + screenHeight = (int)screenSize.getHeight(); + frameWidth = 1250; + frameHeight = 700; + frameLeft = (screenWidth / 2) - (frameWidth / 2); + frameTop = (screenHeight / 2) - (frameHeight / 2); + initComponents(); + } + + public static BibleGetHelp getInstance() throws ClassNotFoundException + { + if(instance == null) + { + instance = new BibleGetHelp(); + } + return instance; + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + jSplitPane1 = new javax.swing.JSplitPane(); + jScrollPane2 = new javax.swing.JScrollPane(); + jTree1 = new javax.swing.JTree(); + jScrollPane3 = new javax.swing.JScrollPane(); + jTextPane2 = new javax.swing.JTextPane(); + jTextPane2.putClientProperty(JTextPane.HONOR_DISPLAY_PROPERTIES, true); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle(__("Instructions")); + setBounds(frameLeft,frameTop,frameWidth,frameHeight); + setIconImages(setIconImages()); + + renderer = new LocalCellRenderer(jTree1); + javax.swing.tree.DefaultMutableTreeNode treeNode1 = new javax.swing.tree.DefaultMutableTreeNode(__("Help")); + javax.swing.tree.DefaultMutableTreeNode treeNode2 = new javax.swing.tree.DefaultMutableTreeNode(__("Usage of the Plugin")); + javax.swing.tree.DefaultMutableTreeNode treeNode3; + treeNode1.add(treeNode2); + treeNode2 = new javax.swing.tree.DefaultMutableTreeNode(__("Formulation of the Queries")); + treeNode1.add(treeNode2); + treeNode2 = new javax.swing.tree.DefaultMutableTreeNode(__("Biblical Books and Abbreviations")); + treeNode1.add(treeNode2); + + for (JsonValue jsonValue : bibleVersionsObj) { + treeNode3 = new javax.swing.tree.DefaultMutableTreeNode(BibleGetI18N.localizeLanguage(jsonValue.toString())); + treeNode2.add(treeNode3); + } + jTree1.setModel(new javax.swing.tree.DefaultTreeModel(treeNode1)); + jTree1.setCellRenderer(renderer); + jTree1.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jTree1MouseClicked(evt); + } + }); + jScrollPane2.setViewportView(jTree1); + + jSplitPane1.setLeftComponent(jScrollPane2); + + jTextPane2.setContentType("text/html;charset=UTF-8"); // NOI18N + jTextPane2.setDocument(doc); + jTextPane2.setEditorKit(kit); + jTextPane2.setText(HTMLStr0); + jScrollPane3.setViewportView(jTextPane2); + + jSplitPane1.setRightComponent(jScrollPane3); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 1250, Short.MAX_VALUE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 600, Short.MAX_VALUE) + ); + + pack(); + }// //GEN-END:initComponents + + private void jTree1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTree1MouseClicked + // TODO add your handling code here: + int tp = jTree1.getRowForLocation(evt.getX(), evt.getY()); + System.out.println(tp); + if (tp != -1 && tp < 4){ + switch(tp){ + case 0: jTextPane2.setDocument(doc); jTextPane2.setText(HTMLStr0); jTextPane2.setCaretPosition(0); break; + case 1: jTextPane2.setDocument(doc); jTextPane2.setText(HTMLStr1); jTextPane2.setCaretPosition(0); break; + case 2: jTextPane2.setDocument(doc); jTextPane2.setText(HTMLStr2); jTextPane2.setCaretPosition(0); break; + case 3: + String curLang = Locale.getDefault().getDisplayLanguage().toUpperCase(); + System.out.println(curLang); + jTextPane2.setDocument(doc); + jTextPane2.setText(MessageFormat.format(HTMLStr3,booksAndAbbreviations.get(curLang),curLang)); + jTextPane2.setCaretPosition(0); + break; + default: jTextPane2.setDocument(doc); jTextPane2.setText(HTMLStr0); jTextPane2.setCaretPosition(0); + } + } + else if(tp > 3){ + TreePath treePath = jTree1.getPathForLocation(evt.getX(), evt.getY()); + String curPath = treePath.getLastPathComponent().toString().toUpperCase(Locale.ENGLISH); + System.out.println(curPath); + if(booksAndAbbreviations.get(curPath) != null) { + jTextPane2.setDocument(doc); + jTextPane2.setText(MessageFormat.format(HTMLStr3,booksAndAbbreviations.get(curPath),curPath)); + jTextPane2.setCaretPosition(0); + } + } + //jTextPane2.setText(""+tp+""); + //else + //jtf.setText(""); + }//GEN-LAST:event_jTree1MouseClicked + + /** + * Cell renderer that knows the currently highlighted cell + */ + static private class LocalCellRenderer extends DefaultTreeCellRenderer + { + private TreePath oldSelectedPath = null; + + private LocalCellRenderer(final JTree tree) + { + tree.addMouseMotionListener(new MouseMotionListener() + { + @Override + public void mouseDragged(MouseEvent mouseEvent) + { + // Nothing to do + } + + @Override + public void mouseMoved(MouseEvent mouseEvent) + { + DefaultTreeModel treeModel = (DefaultTreeModel) tree.getModel(); + int selRow = tree.getRowForLocation(mouseEvent.getX(), mouseEvent.getY()); + //System.out.println(selRow); + if (selRow < 0) + { + TreePath currentSelected = oldSelectedPath; + oldSelectedPath = null; + if (currentSelected != null) + treeModel.nodeChanged((TreeNode) currentSelected.getLastPathComponent()); + } else + { + TreePath selectedPath = tree.getPathForLocation(mouseEvent.getX(), mouseEvent.getY()); + if ((oldSelectedPath == null) || !selectedPath.equals(oldSelectedPath)) + { + oldSelectedPath = selectedPath; + treeModel.nodeChanged((TreeNode) oldSelectedPath.getLastPathComponent()); + } + } + tree.repaint(); + } + }); + } + + @Override + public Component getTreeCellRendererComponent( + JTree tree, + Object value, + boolean selected, + boolean expanded, + boolean leaf, + int row, + boolean hasFocus) + { + Color transp = new Color((float)1.0,(float)1.0,(float)1.0,(float)0.0); + Color lightBlue = new Color((float)0.8,(float)0.8,(float)1.0,(float)0.7); + JComponent comp = (JComponent) super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus); + comp.setOpaque(true); + boolean highlight = (oldSelectedPath != null) && (value == oldSelectedPath.getLastPathComponent()); + //comp.setBackground(leaf ? tree.getBackground() : Color.white); + //comp.setBackground(selected ? transp : (leaf ? tree.getBackground() : Color.white)); + comp.setBorder(selected ? BorderFactory.createMatteBorder(1,0,1,0,lightBlue) : tree.getBorder()); + comp.setBackground(highlight ? Color.yellow : (selected ? transp : (leaf ? tree.getBackground() : Color.white))); + comp.setForeground(highlight ? Color.blue : (selected ? Color.white : tree.getForeground())); + return comp; + } + + } + + private List setIconImages() + { + List images = new ArrayList<>(4); + images.add(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/io/bibleget/images/help_x16.png"))); + images.add(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/io/bibleget/images/help_x24.png"))); + return images; + } + + @Override + public void setVisible(final boolean visible) { + // make sure that frame is marked as not disposed if it is asked to be visible + if (visible) { + //setDisposed(false); + } + // let's handle visibility... + if (!visible || !isVisible()) { // have to check this condition simply because super.setVisible(true) invokes toFront if frame was already visible + super.setVisible(visible); + } + // ...and bring frame to the front.. in a strange and weird way + if (visible) { + int state = super.getExtendedState(); + state &= ~JFrame.ICONIFIED; + super.setExtendedState(state); + super.setAlwaysOnTop(true); + super.toFront(); + super.requestFocus(); + super.setAlwaysOnTop(false); + } + } + + @Override + public void toFront() { + super.setVisible(true); + int state = super.getExtendedState(); + state &= ~JFrame.ICONIFIED; + super.setExtendedState(state); + super.setAlwaysOnTop(true); + super.toFront(); + super.requestFocus(); + super.setAlwaysOnTop(false); + } + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(BibleGetHelp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + @Override + public void run() { + try { + new BibleGetHelp().setVisible(true); + } catch (ClassNotFoundException ex) { + Logger.getLogger(BibleGetHelp.class.getName()).log(Level.SEVERE, null, ex); + } + } + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JScrollPane jScrollPane2; + private javax.swing.JScrollPane jScrollPane3; + private javax.swing.JSplitPane jSplitPane1; + private javax.swing.JTextPane jTextPane2; + private javax.swing.JTree jTree1; + // End of variables declaration//GEN-END:variables +} diff --git a/src/io/bibleget/BibleGetI18N.java b/src/io/bibleget/BibleGetI18N.java new file mode 100644 index 0000000..0cb05da --- /dev/null +++ b/src/io/bibleget/BibleGetI18N.java @@ -0,0 +1,196 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package io.bibleget; + +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; +import java.util.MissingResourceException; +import java.util.ResourceBundle; +import org.apache.commons.lang3.text.WordUtils; + +/** + * + * @author Lwangaman + */ +public class BibleGetI18N { + + /* + static final ResourceBundle myResources = + ResourceBundle.getBundle("io.bibleget.resources.messages"); + */ + private static String lcl; + private static ResourceBundle myResource; + private static String iso; + + + /** + * + * @param s + * @return + */ + public static String __(String s) { + lcl = BibleGetIO.getLocale(); + Locale myLocale; + myLocale = new Locale(lcl); + try{ + myResource = ResourceBundle.getBundle("io.bibleget.resources.messages",myLocale); + } catch(MissingResourceException ex){ + myResource = ResourceBundle.getBundle("io.bibleget.resources.messages"); + } + + if(myResource.containsKey(s)){ + return myResource.getString(s); + } + else{ return s; } + } + + public static ResourceBundle getMessages() { + lcl = BibleGetIO.getLocale(); + Locale myLocale; + myLocale = new Locale(lcl); + try{ + myResource = ResourceBundle.getBundle("io.bibleget.resources.messages",myLocale); + } catch (MissingResourceException ex){ + myResource = ResourceBundle.getBundle("io.bibleget.resources.messages"); + } + return myResource; + } + + public static String localizeLanguage(String language) { + Map langcodes = new HashMap<>(); + langcodes.put("AFRIKAANS","af"); + langcodes.put("AKAN","ak"); + langcodes.put("ALBANIAN","sq"); + langcodes.put("AMHARIC","am"); + langcodes.put("ARABIC","ar"); + langcodes.put("ARMENIAN","hy"); + langcodes.put("AZERBAIJANI","az"); + langcodes.put("BASQUE","eu"); + langcodes.put("BELARUSIAN","be"); + langcodes.put("BENGALI","bn"); + langcodes.put("BIHARI","bh"); + langcodes.put("BOSNIAN","bs"); + langcodes.put("BRETON","br"); + langcodes.put("BULGARIAN","bg"); + langcodes.put("CAMBODIAN","km"); + langcodes.put("CATALAN","ca"); + langcodes.put("CHICHEWA","ny"); + langcodes.put("CHINESE","zh"); + langcodes.put("CORSICAN","co"); + langcodes.put("CROATIAN","hr"); + langcodes.put("CZECH","cs"); + langcodes.put("DANISH","da"); + langcodes.put("DUTCH","nl"); + langcodes.put("ENGLISH","en"); + langcodes.put("ESPERANTO","eo"); + langcodes.put("ESTONIAN","et"); + langcodes.put("FAROESE","fo"); + langcodes.put("FILIPINO","tl"); + langcodes.put("FINNISH","fi"); + langcodes.put("FRENCH","fr"); + langcodes.put("FRISIAN","fy"); + langcodes.put("GALICIAN","gl"); + langcodes.put("GEORGIAN","ka"); + langcodes.put("GERMAN","de"); + langcodes.put("GREEK","el"); + langcodes.put("GUARANI","gn"); + langcodes.put("GUJARATI","gu"); + langcodes.put("HAITIAN","ht"); + langcodes.put("CREOLE","ht"); + langcodes.put("HAUSA","ha"); + langcodes.put("HEBREW","iw"); + langcodes.put("HINDI","hi"); + langcodes.put("HUNGARIAN","hu"); + langcodes.put("ICELANDIC","is"); + langcodes.put("IGBO","ig"); + langcodes.put("INDONESIAN","id"); + langcodes.put("INTERLINGUA","ia"); + langcodes.put("IRISH","ga"); + langcodes.put("ITALIAN","it"); + langcodes.put("JAPANESE","ja"); + langcodes.put("JAVANESE","jw"); + langcodes.put("KANNADA","kn"); + langcodes.put("KAZAKH","kk"); + langcodes.put("KINYARWANDA","rw"); + langcodes.put("KIRUNDI","rn"); + langcodes.put("KONGO","kg"); + langcodes.put("KOREAN","ko"); + langcodes.put("KURDISH","ku"); + langcodes.put("KYRGYZ","ky"); + langcodes.put("LAOTHIAN","lo"); + langcodes.put("LATIN","la"); + langcodes.put("LATVIAN","lv"); + langcodes.put("LINGALA","ln"); + langcodes.put("LITHUANIAN","lt"); + langcodes.put("LUGANDA","lg"); + langcodes.put("MACEDONIAN","mk"); + langcodes.put("MALAGASY","mg"); + langcodes.put("MALAY","ms"); + langcodes.put("MALAYALAM","ml"); + langcodes.put("MALTESE","mt"); + langcodes.put("MAORI","mi"); + langcodes.put("MARATHI","mr"); + langcodes.put("MOLDAVIAN","mo"); + langcodes.put("MONGOLIAN","mn"); + langcodes.put("NEPALI","ne"); + langcodes.put("NORWEGIAN","no"); + langcodes.put("OCCITAN","oc"); + langcodes.put("ORIYA","or"); + langcodes.put("OROMO","om"); + langcodes.put("PASHTO","ps"); + langcodes.put("PERSIAN","fa"); + langcodes.put("POLISH","pl"); + langcodes.put("PORTUGUESE","pt"); + langcodes.put("PUNJABI","pa"); + langcodes.put("QUECHUA","qu"); + langcodes.put("ROMANIAN","ro"); + langcodes.put("ROMANSH","rm"); + langcodes.put("RUSSIAN","ru"); + langcodes.put("GAELIC","gd"); + langcodes.put("SERBIAN","sr"); + langcodes.put("SERBO-CROATIAN","sh"); + langcodes.put("SESOTHO","st"); + langcodes.put("SETSWANA","tn"); + langcodes.put("SHONA","sn"); + langcodes.put("SINDHI","sd"); + langcodes.put("SINHALESE","si"); + langcodes.put("SLOVAK","sk"); + langcodes.put("SLOVENIAN","sl"); + langcodes.put("SOMALI","so"); + langcodes.put("SPANISH","es"); + langcodes.put("SUNDANESE","su"); + langcodes.put("SWAHILI","sw"); + langcodes.put("SWEDISH","sv"); + langcodes.put("TAJIK","tg"); + langcodes.put("TAMIL","ta"); + langcodes.put("TATAR","tt"); + langcodes.put("TELUGU","te"); + langcodes.put("THAI","th"); + langcodes.put("TIGRINYA","ti"); + langcodes.put("TONGA","to"); + langcodes.put("TURKISH","tr"); + langcodes.put("TURKMEN","tk"); + langcodes.put("TWI","tw"); + langcodes.put("UIGHUR","ug"); + langcodes.put("UKRAINIAN","uk"); + langcodes.put("URDU","ur"); + langcodes.put("UZBEK","uz"); + langcodes.put("VIETNAMESE","vi"); + langcodes.put("WELSH","cy"); + langcodes.put("WOLOF","wo"); + langcodes.put("XHOSA","xh"); + langcodes.put("YIDDISH","yi"); + langcodes.put("YORUBA","yo"); + langcodes.put("ZULU","zu"); + if(langcodes.containsKey(language)){ + return WordUtils.capitalizeFully(new Locale(langcodes.get(language)).getDisplayLanguage()); + } + else{ + return WordUtils.capitalizeFully(language); + } + } +} diff --git a/src/io/bibleget/BibleGetIO.java b/src/io/bibleget/BibleGetIO.java new file mode 100644 index 0000000..655814d --- /dev/null +++ b/src/io/bibleget/BibleGetIO.java @@ -0,0 +1,480 @@ +package io.bibleget; + +import com.sun.star.beans.PropertyValue; +import com.sun.star.container.XNameAccess; +import com.sun.star.deployment.PackageInformationProvider; +import com.sun.star.deployment.XPackageInformationProvider; +import com.sun.star.lang.XMultiComponentFactory; +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.lang.XSingleComponentFactory; +import com.sun.star.lib.uno.helper.Factory; +import com.sun.star.lib.uno.helper.WeakBase; +import com.sun.star.registry.XRegistryKey; +import com.sun.star.uno.Exception; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XComponentContext; +import java.awt.Desktop; +import java.awt.GraphicsEnvironment; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.util.Locale; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.swing.DefaultComboBoxModel; + +public final class BibleGetIO extends WeakBase + implements com.sun.star.frame.XDispatchProvider, + com.sun.star.frame.XDispatch, + com.sun.star.lang.XServiceInfo, + com.sun.star.lang.XInitialization +{ + private final XComponentContext m_xContext; + private com.sun.star.frame.XFrame m_xFrame; + private static final String m_implementationName = BibleGetIO.class.getName(); + private static final String[] m_serviceNames = { + "com.sun.star.frame.ProtocolHandler" }; + + private com.sun.star.frame.XController m_xController; + private com.sun.star.frame.XModel m_xModel; + private com.sun.star.text.XTextDocument m_xTextDocument; + + private static String packagePath; + private static BibleGetFrame myFrame; + private static OptionsFrame myOptionFrame; + private static DefaultComboBoxModel fontFamilies; + private static BibleGetHelp myHelpFrame; + private static BibleGetSelection quoteFromSelection; + private static BibleGetDB biblegetDB; + private static BibleGetAbout bibleGetAbout; + + private static String myLocale; + //public ResourceBundle myMessages; + + private static BibleGetIO instance; + + public BibleGetIO( XComponentContext context ) + { + m_xContext = context; + XPackageInformationProvider xPackageInformationProvider = + PackageInformationProvider.get(m_xContext); + packagePath = xPackageInformationProvider.getPackageLocation(m_implementationName); + //System.out.println(packagePath); + + //myOptionFrame = OptionsFrame.getInstance(packagePath); + + fontFamilies = getFonts(); + + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + //System.out.println(info.getName()); + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(BibleGetFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + } + + public static XSingleComponentFactory __getComponentFactory( String sImplementationName ) { + XSingleComponentFactory xFactory = null; + + if ( sImplementationName.equals( m_implementationName ) ) + xFactory = Factory.createComponentFactory(BibleGetIO.class, m_serviceNames); + return xFactory; + } + + public static boolean __writeRegistryServiceInfo( XRegistryKey xRegistryKey ) { + return Factory.writeRegistryServiceInfo(m_implementationName, + m_serviceNames, + xRegistryKey); + } + + // com.sun.star.frame.XDispatchProvider: + + /** + * + * @param aURL + * @param sTargetFrameName + * @param iSearchFlags + * @return + */ + @Override + public com.sun.star.frame.XDispatch queryDispatch( com.sun.star.util.URL aURL, + String sTargetFrameName, + int iSearchFlags ) + { + if ( aURL.Protocol.compareTo("io.bibleget.biblegetio:") == 0 ) + { + if ( aURL.Path.compareTo("QuoteFromSelection") == 0 ) + return this; + if ( aURL.Path.compareTo("Options") == 0 ) + return this; + if ( aURL.Path.compareTo("About") == 0 ) + return this; + if ( aURL.Path.compareTo("QuoteFromInputPrompt") == 0 ) + return this; + if ( aURL.Path.compareTo("SendFeedback") == 0 ) + return this; + if ( aURL.Path.compareTo("Help") == 0 ) + return this; + if ( aURL.Path.compareTo("Contribute") == 0 ) + return this; + } + return null; + } + + // com.sun.star.frame.XDispatchProvider: + + /** + * + * @param seqDescriptors + * @return + */ + @Override + public com.sun.star.frame.XDispatch[] queryDispatches( + com.sun.star.frame.DispatchDescriptor[] seqDescriptors ) + { + int nCount = seqDescriptors.length; + com.sun.star.frame.XDispatch[] seqDispatcher = + new com.sun.star.frame.XDispatch[seqDescriptors.length]; + + for( int i=0; i < nCount; ++i ) + { + seqDispatcher[i] = queryDispatch(seqDescriptors[i].FeatureURL, + seqDescriptors[i].FrameName, + seqDescriptors[i].SearchFlags ); + } + return seqDispatcher; + } + + // com.sun.star.frame.XDispatch: + + /** + * + * @param aURL + * @param aArguments + */ + @Override + public void dispatch( com.sun.star.util.URL aURL, + com.sun.star.beans.PropertyValue[] aArguments ) + { + if ( aURL.Protocol.compareTo("io.bibleget.biblegetio:") == 0 ) + { + if ( aURL.Path.compareTo("QuoteFromSelection") == 0 ) + { + // add your own code here + //JOptionPane.showMessageDialog(null, "QuoteFromSelection was pressed", "InfoBox: which button?", JOptionPane.INFORMATION_MESSAGE); + try { + if(BibleGetIO.quoteFromSelection != null){ + BibleGetIO.quoteFromSelection.getQuoteFromSelection(); + } + else{ + BibleGetIO.quoteFromSelection = BibleGetSelection.getInstance(instance.m_xController); + BibleGetIO.quoteFromSelection.getQuoteFromSelection(); + } + } catch (ClassNotFoundException ex) { + Logger.getLogger(BibleGetIO.class.getName()).log(Level.SEVERE, null, ex); + } + return; + } + if ( aURL.Path.compareTo("QuoteFromInputPrompt") == 0 ) + { + try { + // add your own code here + if(BibleGetIO.myFrame != null ){ + BibleGetIO.myFrame.setVisible(true); + } + else{ + BibleGetIO.myFrame = BibleGetFrame.getInstance(instance.m_xController); + BibleGetIO.myFrame.setVisible(true); + } + } catch (ClassNotFoundException ex) { + Logger.getLogger(BibleGetIO.class.getName()).log(Level.SEVERE, null, ex); + } + return; + } + if ( aURL.Path.compareTo("Options") == 0 ) + { + try { + // add your own code here + if(BibleGetIO.myOptionFrame != null ){ + //System.out.println("We already have an options windows, now making it visible"); + BibleGetIO.myOptionFrame.setVisible(true); + } + else{ + BibleGetIO.myOptionFrame = OptionsFrame.getInstance(); + BibleGetIO.myOptionFrame.setVisible(true); + } + } catch (ClassNotFoundException ex) { + Logger.getLogger(BibleGetIO.class.getName()).log(Level.SEVERE, null, ex); + } + return; + } + if ( aURL.Path.compareTo("About") == 0 ) + { + try { + // add your own code here + if(BibleGetIO.bibleGetAbout != null ){ + //System.out.println("We already have an options windows, now making it visible"); + BibleGetIO.bibleGetAbout.setVisible(true); + } + else{ + BibleGetIO.bibleGetAbout = BibleGetAbout.getInstance(); + BibleGetIO.bibleGetAbout.setVisible(true); + } + } catch (ClassNotFoundException ex) { + Logger.getLogger(BibleGetIO.class.getName()).log(Level.SEVERE, null, ex); + } + return; + //JOptionPane.showMessageDialog(null, msg, __("About this plugin"), JOptionPane.INFORMATION_MESSAGE); + } + if ( aURL.Path.compareTo("SendFeedback") == 0 ) + { + + try { + // add your own code here + sendMail(); + } catch (IOException ex) { + Logger.getLogger(BibleGetIO.class.getName()).log(Level.SEVERE, null, ex); + } + return; + } + if ( aURL.Path.compareTo("Help") == 0 ) + { + if(BibleGetIO.myHelpFrame != null ){ + //System.out.println("We already have an options windows, now making it visible"); + BibleGetIO.myHelpFrame.setVisible(true); + } + else{ + try { + BibleGetIO.myHelpFrame = BibleGetHelp.getInstance(); + BibleGetIO.myHelpFrame.setVisible(true); + } catch (ClassNotFoundException ex) { + Logger.getLogger(BibleGetIO.class.getName()).log(Level.SEVERE, null, ex); + } + } + return; + } + if ( aURL.Path.compareTo("Contribute") == 0 ) + { + try { + // add your own code here + //JOptionPane.showMessageDialog(null, "Contribute was pressed", "InfoBox: which button?", JOptionPane.INFORMATION_MESSAGE); + URL contributeURL = new URL("https://paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=HDS7XQKGFHJ58"); + openWebpage(contributeURL); + } catch (MalformedURLException ex) { + Logger.getLogger(BibleGetIO.class.getName()).log(Level.SEVERE, null, ex); + } catch (IOException | URISyntaxException ex) { + Logger.getLogger(BibleGetIO.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + } + + /** + * + * @param xControl + * @param aURL + */ + @Override + public void addStatusListener( com.sun.star.frame.XStatusListener xControl, + com.sun.star.util.URL aURL ) + { + // add your own code here + } + + /** + * + * @param xControl + * @param aURL + */ + @Override + public void removeStatusListener( com.sun.star.frame.XStatusListener xControl, + com.sun.star.util.URL aURL ) + { + // add your own code here + } + + // com.sun.star.lang.XServiceInfo: + + /** + * + * @return + */ + @Override + public String getImplementationName() { + return m_implementationName; + } + + /** + * + * @param sService + * @return + */ + @Override + public boolean supportsService( String sService ) { + int len = m_serviceNames.length; + + for( int i=0; i < len; i++) { + if (sService.equals(m_serviceNames[i])) + return true; + } + return false; + } + + /** + * + * @return + */ + @Override + public String[] getSupportedServiceNames() { + return m_serviceNames; + } + + /** + * + * @return + */ + private DefaultComboBoxModel getFonts(){ + //System.out.println("Getting system fonts..."); + GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment(); + //Font[] fonts = e.getAllFonts(); // Get the fonts as Font objects + String[] fontfamilies = e.getAvailableFontFamilyNames(); +// for(String font : fonts){ +// System.out.println(font); +// } + return new DefaultComboBoxModel(fontfamilies); + } + + public static void openWebpage(URI uri) throws IOException { + Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null; + if (desktop != null && desktop.isSupported(Desktop.Action.BROWSE)) { + desktop.browse(uri); + } + } + + + public static void openWebpage(URL url) throws IOException, URISyntaxException { + openWebpage(url.toURI()); + } + + private static void sendMail() throws IOException { + Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null; + if (desktop != null && desktop.isSupported(Desktop.Action.MAIL)) { + String message = "mailto:bibleget.io@gmail.com?subject=feedback%20openoffice%20plugin"; + URI uri = URI.create(message); + desktop.mail(uri); + } + } + + public static String getPackagePath() + { + return BibleGetIO.packagePath; + } + + public static String getLocale() + { + return BibleGetIO.myLocale; + } + + public static DefaultComboBoxModel getFontFamilies() + { + return BibleGetIO.fontFamilies; + } + + public static com.sun.star.frame.XController getXController() + { + return instance.m_xController; + } +// com.sun.star.lang.XInitialization: + + /** + * + * @param object + * @throws Exception + */ + @Override + public void initialize( Object[] object ) + throws com.sun.star.uno.Exception + { + if ( object.length > 0 ) + { + + if(instance==null){ + instance = this; + instance.m_xFrame = (com.sun.star.frame.XFrame)UnoRuntime.queryInterface( + com.sun.star.frame.XFrame.class, object[0]); + instance.m_xController = instance.m_xFrame.getController(); + try { + XMultiComponentFactory xMultiComponentFactory = instance.m_xContext.getServiceManager(); + Object oProvider = + xMultiComponentFactory.createInstanceWithContext("com.sun.star.configuration.ConfigurationProvider", instance.m_xContext); + XMultiServiceFactory xConfigurationServiceFactory = + (XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, oProvider); + + PropertyValue[] lArgs = new PropertyValue[1]; + lArgs[0] = new PropertyValue(); + lArgs[0].Name = "nodepath"; + lArgs[0].Value = "/org.openoffice.Office.Linguistic/General"; + + Object configAccess = xConfigurationServiceFactory.createInstanceWithArguments( + "com.sun.star.configuration.ConfigurationAccess",lArgs); + + XNameAccess xNameAccess = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, configAccess); + + String mylcl; + mylcl = xNameAccess.getByName("UILocale").toString(); + if(mylcl.isEmpty()){ + //System.out.println("locale not set in options->languages,UILocale=empty"); + lArgs[0].Value = "/org.openoffice.Setup/L10N"; + configAccess = xConfigurationServiceFactory.createInstanceWithArguments( + "com.sun.star.configuration.ConfigurationAccess",lArgs); + + xNameAccess = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, configAccess); + + mylcl = xNameAccess.getByName("ooLocale").toString(); + } + mylcl = mylcl.toLowerCase(); + mylcl = mylcl.trim(); + BibleGetIO.myLocale = mylcl.substring(0,2); + //System.out.println(mylcl); + Locale uiLocale = new Locale(BibleGetIO.myLocale); + Locale.setDefault(uiLocale); + //instance.myMessages = BibleGetI18N.getMessages(); + BibleGetIO.biblegetDB = BibleGetDB.getInstance(); + if(BibleGetIO.biblegetDB != null){ + //System.out.println("We have an instance of database!"); + } + else{ + //System.out.println("Sorry, no database instance here."); + } + BibleGetIO.myOptionFrame = OptionsFrame.getInstance(); + BibleGetIO.myFrame = BibleGetFrame.getInstance(instance.m_xController); + BibleGetIO.quoteFromSelection = BibleGetSelection.getInstance(instance.m_xController); + BibleGetIO.myHelpFrame = BibleGetHelp.getInstance(); + BibleGetIO.bibleGetAbout = BibleGetAbout.getInstance(); + //System.out.println("Assigning myFrame and myOptionFrame while we create instance"); + } catch (ClassNotFoundException ex) { + Logger.getLogger(BibleGetIO.class.getName()).log(Level.SEVERE, null, ex); + } + } + else{ + //System.out.println("instance already initialized..."); + //System.out.println("myOptionFrame is initialized: " + (myOptionFrame != null) ); + //System.out.println("myFrame is initialized: " + (myFrame != null) ); + } + } + } + + /* + public com.sun.star.frame.XController getController() + { + return m_xFrame.getController(); + }*/ + +} \ No newline at end of file diff --git a/src/io/bibleget/BibleGetJSON.java b/src/io/bibleget/BibleGetJSON.java new file mode 100644 index 0000000..a5e9c05 --- /dev/null +++ b/src/io/bibleget/BibleGetJSON.java @@ -0,0 +1,706 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +package io.bibleget; + +import com.sun.star.beans.PropertyVetoException; +import com.sun.star.beans.UnknownPropertyException; +import com.sun.star.frame.XController; +import com.sun.star.frame.XModel; +import com.sun.star.lang.IllegalArgumentException; +import com.sun.star.lang.WrappedTargetException; +import com.sun.star.text.XText; +import com.sun.star.text.XTextDocument; +import com.sun.star.text.XTextViewCursor; +import com.sun.star.text.XTextViewCursorSupplier; +import com.sun.star.uno.UnoRuntime; +import java.awt.Color; +import java.io.StringReader; +import java.util.Iterator; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import javax.json.Json; +import javax.json.JsonArray; +import javax.json.JsonNumber; +import javax.json.JsonObject; +import javax.json.JsonReader; +import javax.json.JsonString; +import javax.json.JsonValue; + +/** + * + * @author Lwangaman + */ +public class BibleGetJSON { + + private final XController m_xController; + private XModel m_xModel; + private XTextDocument m_xTextDocument; + + private String paragraphAlignment; + private short paragraphLineSpacing; + private String paragraphFontFamily; + private int paragraphLeftIndent; + + private Color textColorBookChapter; + private Color bgColorBookChapter; + private boolean boldBookChapter; + private boolean italicsBookChapter; + private boolean underscoreBookChapter; + private float fontSizeBookChapter; + private String vAlignBookChapter; + + private Color textColorVerseNumber; + private Color bgColorVerseNumber; + private boolean boldVerseNumber; + private boolean italicsVerseNumber; + private boolean underscoreVerseNumber; + private float fontSizeVerseNumber; + private String vAlignVerseNumber; + + private Color textColorVerseText; + private Color bgColorVerseText; + private boolean boldVerseText; + private boolean italicsVerseText; + private boolean underscoreVerseText; + private float fontSizeVerseText; + private String vAlignVerseText; + + private boolean noVersionFormatting; + + private XTextViewCursor m_xViewCursor; + + private final BibleGetDB biblegetDB; + + /** + * + * @param xController + * @throws java.lang.ClassNotFoundException + */ + public BibleGetJSON(XController xController) throws ClassNotFoundException{ + m_xController = xController; + if (xController != null) { + m_xModel = (XModel) xController.getModel(); + m_xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class,m_xModel); + XTextViewCursorSupplier xViewCursorSupplier = (XTextViewCursorSupplier) UnoRuntime.queryInterface(XTextViewCursorSupplier.class,m_xController); + m_xViewCursor = xViewCursorSupplier.getViewCursor(); + } + + // Get preferences from database + biblegetDB = BibleGetDB.getInstance(); + JsonObject myOptions = biblegetDB.getOptions(); + //System.out.println(myOptions.toString()); + JsonValue myResults = myOptions.get("rows"); + navigateTree(myResults, null); + + } + + public void JSONParse(String jsonString) throws UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException + { + XText m_xText = m_xTextDocument.getText(); + + //com.sun.star.view.XViewCursor xViewCursor; + //Object viewData = m_xController.getViewData(); + //System.out.print("viewData = "); + //System.out.println(viewData.toString()); + + //System.out.print("current view cursor = "); + //System.out.println(m_xViewCursor); + + com.sun.star.text.XTextRange xTextRange = m_xViewCursor.getText().createTextCursorByRange(m_xViewCursor); + //com.sun.star.text.XTextRange xTextRange = m_xText.createTextCursor(); + com.sun.star.beans.XPropertySet xPropertySet = + (com.sun.star.beans.XPropertySet)UnoRuntime.queryInterface( + com.sun.star.beans.XPropertySet.class, xTextRange); + +// com.sun.star.beans.Property xProperties[] = xPropertySet.getPropertySetInfo().getProperties(); +// for (Property xPropertie : xProperties) { +// System.out.println(xPropertie.Name); +// } + //System.out.println( xPropertySet.getPropertyValue("CharFontName") ); + //System.out.println( xPropertySet.getPropertyValue("CharFontFamily") ); + //System.out.println( "Wanting to set CharFontName to value: "+paragraphFontFamily ); + + JsonReader jsonReader = Json.createReader(new StringReader(jsonString)); + JsonObject json = jsonReader.readObject(); + JsonArray arrayJson = json.getJsonArray("results"); + + String prevversion = ""; + boolean newversion; + String prevbook = ""; + boolean newbook; + int prevchapter = -1; + boolean newchapter; + String prevverse = ""; + boolean newverse; + + String currentversion; + String currentbook; + int currentchapter; + String currentverse; + + boolean firstversion = true; + boolean firstchapter = true; + + Iterator pIterator = arrayJson.iterator(); + while (pIterator.hasNext()) + { + JsonObject currentJson = (JsonObject) pIterator.next(); + currentbook = currentJson.getString("book"); + currentchapter = currentJson.getInt("chapter"); + currentverse = currentJson.getString("verse"); + currentversion = currentJson.getString("version"); + //System.out.println("Current Book = " + currentbook); + //System.out.println("Current Chapter = " + currentchapter); + //System.out.println("Current Verse = " + currentverse); + + if(!currentverse.equals(prevverse)){ + newverse = true; + prevverse = currentverse; + } + else{ + newverse = false; + } + + if(currentchapter != prevchapter){ + newchapter = true; + newverse = true; + prevchapter = currentchapter; + } + else{ + newchapter = false; + } + + if(!currentbook.equals(prevbook)){ + newbook = true; + newchapter = true; + newverse = true; + prevbook = currentbook; + } + else{ + newbook = false; + } + + if(!currentversion.equals(prevversion)){ + newversion = true; + newbook = true; + newchapter = true; + newverse = true; + prevversion = currentversion; + } + else{ + newversion = false; + } + + //xPropertySet.setPropertyValue("ParaStyleName", "Text body"); + try { + xPropertySet.setPropertyValue("CharFontName", paragraphFontFamily); + xPropertySet.setPropertyValue("ParaLeftMargin", paragraphLeftIndent*200 ); + //set paragraph line spacing + com.sun.star.style.LineSpacing lineSpacing = new com.sun.star.style.LineSpacing(); + lineSpacing.Mode = com.sun.star.style.LineSpacingMode.PROP; + lineSpacing.Height = paragraphLineSpacing; + xPropertySet.setPropertyValue("ParaLineSpacing",lineSpacing); +// System.out.print("paragraphFontFamily: "); +// System.out.println(paragraphFontFamily); +// System.out.print("paragraphLeftIndent: "); +// System.out.println(paragraphLeftIndent); +// System.out.print("paragraphLineSpacing: "); +// System.out.println(paragraphLineSpacing); + } catch (UnknownPropertyException | PropertyVetoException | IllegalArgumentException | WrappedTargetException ex){ + Logger.getLogger(BibleGetJSON.class.getName()).log(Level.SEVERE, null, ex); + } + + if(newversion){ + firstchapter = true; + if(firstversion==true){ + firstversion=false; + } + else{ + try { + m_xText.insertControlCharacter(xTextRange, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false); + } catch (IllegalArgumentException ex) { + Logger.getLogger(BibleGetJSON.class.getName()).log(Level.SEVERE, null, ex); + } + } + + try{ + xPropertySet.setPropertyValue("ParaAdjust", com.sun.star.style.ParagraphAdjust.LEFT); + + // set properties of text change based on user preferences + if (boldBookChapter){ + xPropertySet.setPropertyValue("CharWeight", com.sun.star.awt.FontWeight.BOLD); + } + else{ + xPropertySet.setPropertyValue("CharWeight", com.sun.star.awt.FontWeight.NORMAL); + } + if(italicsBookChapter){ + xPropertySet.setPropertyValue("CharPosture", com.sun.star.awt.FontSlant.ITALIC); + } + else{ + xPropertySet.setPropertyValue("CharPosture", com.sun.star.awt.FontSlant.NONE); + } + if(underscoreBookChapter){ + xPropertySet.setPropertyValue("CharUnderline", com.sun.star.awt.FontUnderline.SINGLE); + } + else{ + xPropertySet.setPropertyValue("CharUnderline", com.sun.star.awt.FontUnderline.NONE); + } + xPropertySet.setPropertyValue("CharColor", textColorBookChapter.getRGB()); + xPropertySet.setPropertyValue("CharBackColor", bgColorBookChapter.getRGB()); +// System.out.print("textColorBookChapter: "); +// System.out.println(textColorBookChapter); +// System.out.print("bgColorBookChapter: "); +// System.out.println(bgColorBookChapter); + + switch (vAlignBookChapter) { + case "sub": + xPropertySet.setPropertyValue("CharEscapement", (short)-101); + xPropertySet.setPropertyValue("CharEscapementHeight", (byte)58); + //xPropertySet.setPropertyValue("CharEscapementAuto", true); + break; + case "super": + xPropertySet.setPropertyValue("CharEscapement", (short)101); + xPropertySet.setPropertyValue("CharEscapementHeight", (byte)58); + //xPropertySet.setPropertyValue("CharEscapementAuto", true); + break; + default: + xPropertySet.setPropertyValue("CharEscapement", (short)0); + xPropertySet.setPropertyValue("CharEscapementHeight", (byte)100); + //xPropertySet.setPropertyValue("CharEscapementAuto", false); + break; + } + xPropertySet.setPropertyValue("CharHeight", (float) fontSizeBookChapter); + } catch (UnknownPropertyException | PropertyVetoException | IllegalArgumentException | WrappedTargetException ex){ + Logger.getLogger(BibleGetJSON.class.getName()).log(Level.SEVERE, null, ex); + } + m_xText.insertString(xTextRange, currentversion, false); + + try { + m_xText.insertControlCharacter(xTextRange, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false); + } catch (IllegalArgumentException ex) { + Logger.getLogger(BibleGetJSON.class.getName()).log(Level.SEVERE, null, ex); + } + } + + if(newbook || newchapter){ + //System.out.println(currentbook+" "+currentchapter); + if(firstchapter==true) + { + firstchapter=false; + } + else{ + try { + m_xText.insertControlCharacter(xTextRange, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false); + } catch (IllegalArgumentException ex) { + Logger.getLogger(BibleGetJSON.class.getName()).log(Level.SEVERE, null, ex); + } + } + + xPropertySet.setPropertyValue("ParaAdjust", com.sun.star.style.ParagraphAdjust.LEFT ); + + // set properties of text change based on user preferences + if (boldBookChapter){ + xPropertySet.setPropertyValue("CharWeight", com.sun.star.awt.FontWeight.BOLD); + } + else{ + xPropertySet.setPropertyValue("CharWeight", com.sun.star.awt.FontWeight.NORMAL); + } + if(italicsBookChapter){ + xPropertySet.setPropertyValue("CharPosture", com.sun.star.awt.FontSlant.ITALIC); + } + else{ + xPropertySet.setPropertyValue("CharPosture", com.sun.star.awt.FontSlant.NONE); + } + if(underscoreBookChapter){ + xPropertySet.setPropertyValue("CharUnderline", com.sun.star.awt.FontUnderline.SINGLE); + } + else{ + xPropertySet.setPropertyValue("CharUnderline", com.sun.star.awt.FontUnderline.NONE); + } + xPropertySet.setPropertyValue("CharColor", textColorBookChapter.getRGB()); + xPropertySet.setPropertyValue("CharBackColor", bgColorBookChapter.getRGB()); + switch (vAlignBookChapter) { + case "sub": + xPropertySet.setPropertyValue("CharEscapement", (short)-101); + xPropertySet.setPropertyValue("CharEscapementHeight", (byte)58); + //xPropertySet.setPropertyValue("CharEscapementAuto", true); + break; + case "super": + xPropertySet.setPropertyValue("CharEscapement", (short)101); + xPropertySet.setPropertyValue("CharEscapementHeight", (byte)58); + //xPropertySet.setPropertyValue("CharEscapementAuto", true); + break; + default: + xPropertySet.setPropertyValue("CharEscapement", (short)0); + xPropertySet.setPropertyValue("CharEscapementHeight", (byte)100); + //xPropertySet.setPropertyValue("CharEscapementAuto", false); + break; + } + xPropertySet.setPropertyValue("CharHeight", (float) fontSizeBookChapter); + + m_xText.insertString(xTextRange, currentbook+" "+currentchapter, false); + + try { + m_xText.insertControlCharacter(xTextRange, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false); + } catch (IllegalArgumentException ex) { + Logger.getLogger(BibleGetJSON.class.getName()).log(Level.SEVERE, null, ex); + } + + switch(paragraphAlignment){ + case "left": + xPropertySet.setPropertyValue("ParaAdjust", com.sun.star.style.ParagraphAdjust.LEFT ); + break; + case "right": + xPropertySet.setPropertyValue("ParaAdjust", com.sun.star.style.ParagraphAdjust.RIGHT ); + break; + case "center": + xPropertySet.setPropertyValue("ParaAdjust", com.sun.star.style.ParagraphAdjust.CENTER ); + break; + case "justify": + xPropertySet.setPropertyValue("ParaAdjust", com.sun.star.style.ParagraphAdjust.BLOCK ); + break; + default: + xPropertySet.setPropertyValue("ParaAdjust", com.sun.star.style.ParagraphAdjust.BLOCK ); + } + + } + + if(newverse){ + //System.out.print("\n"+currentverse); + // set properties of text change based on user preferences + if (boldVerseNumber){ + xPropertySet.setPropertyValue("CharWeight", com.sun.star.awt.FontWeight.BOLD); + } + else{ + xPropertySet.setPropertyValue("CharWeight", com.sun.star.awt.FontWeight.NORMAL); + } + if(italicsVerseNumber){ + xPropertySet.setPropertyValue("CharPosture", com.sun.star.awt.FontSlant.ITALIC); + } + else{ + xPropertySet.setPropertyValue("CharPosture", com.sun.star.awt.FontSlant.NONE); + } + if(underscoreVerseNumber){ + xPropertySet.setPropertyValue("CharUnderline", com.sun.star.awt.FontUnderline.SINGLE); + } + else{ + xPropertySet.setPropertyValue("CharUnderline", com.sun.star.awt.FontUnderline.NONE); + } + xPropertySet.setPropertyValue("CharColor", textColorVerseNumber.getRGB()); + xPropertySet.setPropertyValue("CharBackColor", bgColorVerseNumber.getRGB()); + //System.out.println(vAlignVerseNumber); + xPropertySet.setPropertyValue("CharHeight", (float)fontSizeVerseNumber); + + switch (vAlignVerseNumber) { + case "sub": + xPropertySet.setPropertyValue("CharEscapement", (short)-101); + xPropertySet.setPropertyValue("CharEscapementHeight", (byte)58); + //xPropertySet.setPropertyValue("CharEscapementAuto", true); + break; + case "super": + //System.out.println("We are in business! This is going to be superscript"); + xPropertySet.setPropertyValue("CharEscapement", (short)101); + xPropertySet.setPropertyValue("CharEscapementHeight", (byte)58); + //xPropertySet.setPropertyValue("CharEscapementAuto", true); + break; + default: + xPropertySet.setPropertyValue("CharEscapement", (short)0); + xPropertySet.setPropertyValue("CharEscapementHeight", (byte)100); + //xPropertySet.setPropertyValue("CharEscapementAuto", false); + break; + } + + m_xText.insertString(xTextRange, " "+currentverse, false); + } + + + setVerseTextStyles(xPropertySet); + String currentText = currentJson.getString("text").replace("\n","").replace("\r",""); + String remainingText = currentText; + //if(currentText.contains("<")) + if(currentText.matches("(?su).*<[/]{0,1}(?:sm|po)[f|l|s|i|3]{0,1}[f|l]{0,1}>.*")) //[/]{0,1}(?:sm|po)[f|l|s|i|3]{0,1}[f|l]{0,1}> + { + Pattern pattern1 = Pattern.compile("(.*?)<((sm|po)[f|l|s|i|3]{0,1}[f|l]{0,1})>(.*?)",Pattern.UNICODE_CHARACTER_CLASS); + Matcher matcher1 = pattern1.matcher(currentText); + int iteration = 0; + + while(matcher1.find()){ +// System.out.print("Iteration "); +// System.out.println(++iteration); +// System.out.println("group1:"+matcher1.group(1)); +// System.out.println("group2:"+matcher1.group(2)); +// System.out.println("group3:"+matcher1.group(3)); +// System.out.println("group4:"+matcher1.group(4)); + if(matcher1.group(1) != null && matcher1.group(1).isEmpty() == false) + { + m_xText.insertString(xTextRange, matcher1.group(1), false); + remainingText = remainingText.replaceFirst(matcher1.group(1), ""); + } + if(matcher1.group(4) != null && matcher1.group(4).isEmpty() == false) + { + String formattingTagContents = matcher1.group(4); + if(noVersionFormatting){ formattingTagContents = " "+formattingTagContents+" "; } + switch (matcher1.group(2)) { + case "pof": + if(noVersionFormatting==false){ + insertParagraphBreak(m_xText,xTextRange); + xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)+400); + } + m_xText.insertString(xTextRange, formattingTagContents, false); + if(noVersionFormatting==false){ + insertParagraphBreak(m_xText,xTextRange); + } + break; + case "pos": + if(noVersionFormatting==false){ + insertParagraphBreak(m_xText,xTextRange); + xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)+400); + } + m_xText.insertString(xTextRange, formattingTagContents, false); + if(noVersionFormatting==false){ + insertParagraphBreak(m_xText,xTextRange); + } + break; + case "poif": + if(noVersionFormatting==false){ + insertParagraphBreak(m_xText,xTextRange); + xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)+600); + } + m_xText.insertString(xTextRange, formattingTagContents, false); + if(noVersionFormatting==false){ + insertParagraphBreak(m_xText,xTextRange); + } + break; + case "po": + if(noVersionFormatting==false){ + xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)+400); + } + m_xText.insertString(xTextRange, formattingTagContents, false); + if(noVersionFormatting==false){ + insertParagraphBreak(m_xText,xTextRange); + } + break; + case "poi": + if(noVersionFormatting==false){ + xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)+600); + } + m_xText.insertString(xTextRange, formattingTagContents, false); + if(noVersionFormatting==false){ + insertParagraphBreak(m_xText,xTextRange); + } + break; + case "pol": + if(noVersionFormatting==false){ + xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)+400); + } + m_xText.insertString(xTextRange, formattingTagContents, false); + if(noVersionFormatting==false){ + insertParagraphBreak(m_xText,xTextRange); + xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)); + } + break; + case "poil": + if(noVersionFormatting==false){ + xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)+600); + } + m_xText.insertString(xTextRange, formattingTagContents, false); + if(noVersionFormatting==false){ + insertParagraphBreak(m_xText,xTextRange); + xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)); + } + break; + case "sm": + String smallCaps = matcher1.group(4).toLowerCase(); + //System.out.println("SMALLCAPSIZE THIS TEXT: "+smallCaps); + xPropertySet.setPropertyValue("CharCaseMap", com.sun.star.style.CaseMap.SMALLCAPS); + m_xText.insertString(xTextRange, smallCaps, false); + xPropertySet.setPropertyValue("CharCaseMap", com.sun.star.style.CaseMap.NONE); + break; + } + remainingText = remainingText.replaceFirst("<"+matcher1.group(2)+">"+matcher1.group(4)+"", ""); + } + } +// System.out.println("We have a match for special formatting: "+currentText); +// System.out.println("And after elaborating our matches, this is what we have left: "+remainingText); +// System.out.println(); + if(!"".equals(remainingText)) + { + m_xText.insertString(xTextRange, remainingText, false); + } + /* + Pattern pattern2 = Pattern.compile("([.^>]+)$",Pattern.UNICODE_CHARACTER_CLASS | Pattern.DOTALL); + Matcher matcher2 = pattern2.matcher(currentText); + //String lastPiece = currentText. + if(matcher2.find()) + { + if(matcher2.group(1) != null && !"".equals(matcher2.group(1))) + { + m_xText.insertString(xTextRange, matcher2.group(1), false); + } + } + */ + } + else + { + //System.out.println("No match for special case formatting here: "+currentText); + // set properties of text change based on user preferences + //setVerseTextStyles(xPropertySet); + m_xText.insertString(xTextRange, currentText, false); + } + } + + try { + m_xText.insertControlCharacter(xTextRange, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false); + } catch (IllegalArgumentException ex) { + Logger.getLogger(BibleGetJSON.class.getName()).log(Level.SEVERE, null, ex); + } + + } + + private void navigateTree(JsonValue tree, String key) { + if (key != null){ + //System.out.print("Key " + key + ": "); + } + switch(tree.getValueType()) { + case OBJECT: + //System.out.println("OBJECT"); + JsonObject object = (JsonObject) tree; + for (String name : object.keySet()) + navigateTree(object.get(name), name); + break; + case ARRAY: + //System.out.println("ARRAY"); + JsonArray array = (JsonArray) tree; + for (JsonValue val : array) + navigateTree(val, null); + break; + case STRING: + JsonString st = (JsonString) tree; + //System.out.println("STRING " + st.getString()); + getStringOption(key,st.getString()); + break; + case NUMBER: + JsonNumber num = (JsonNumber) tree; + //System.out.println("NUMBER " + num.toString()); + getNumberOption(key,num.intValue()); + break; + case TRUE: + getBooleanOption(key,true); + //System.out.println("BOOLEAN " + tree.getValueType().toString()); + break; + case FALSE: + getBooleanOption(key,false); + //System.out.println("BOOLEAN " + tree.getValueType().toString()); + break; + case NULL: + //System.out.println("NULL " + tree.getValueType().toString()); + break; + } + } + + private void getStringOption(String key,String value){ + switch(key){ + case "PARAGRAPHALIGNMENT": paragraphAlignment = value; break; + case "PARAGRAPHFONTFAMILY": paragraphFontFamily = value; break; + case "TEXTCOLORBOOKCHAPTER": textColorBookChapter = Color.decode(value); break; //decode string representation of hex value + case "BGCOLORBOOKCHAPTER": bgColorBookChapter = Color.decode(value); break; //decode string representation of hex value + case "VALIGNBOOKCHAPTER": vAlignBookChapter = value; break; + case "TEXTCOLORVERSENUMBER": textColorVerseNumber = Color.decode(value); break; //decode string representation of hex value + case "BGCOLORVERSENUMBER": bgColorVerseNumber = Color.decode(value); break; //decode string representation of hex value + case "VALIGNVERSENUMBER": vAlignVerseNumber = value; break; + case "TEXTCOLORVERSETEXT": textColorVerseText = Color.decode(value); break; //decode string representation of hex value + case "BGCOLORVERSETEXT": bgColorVerseText = Color.decode(value); break; //decode string representation of hex value + case "VALIGNVERSETEXT": vAlignVerseText = value; break; + } + } + + private void getNumberOption(String key,int value){ + switch(key){ + case "PARAGRAPHLINESPACING": paragraphLineSpacing = (short)value; break; //think of it as percent + case "PARAGRAPHLEFTINDENT": paragraphLeftIndent = value; break; + case "FONTSIZEBOOKCHAPTER": fontSizeBookChapter = (float)value; break; + case "FONTSIZEVERSENUMBER": fontSizeVerseNumber = (float)value; break; + case "FONTSIZEVERSETEXT": fontSizeVerseText = (float)value; break; + } + } + private void getBooleanOption(String key,boolean value){ + switch(key){ + case "BOLDBOOKCHAPTER": boldBookChapter = value; break; + case "ITALICSBOOKCHAPTER": italicsBookChapter = value; break; + case "UNDERSCOREBOOKCHAPTER": underscoreBookChapter = value; break; + case "BOLDVERSENUMBER": boldVerseNumber = value; break; + case "ITALICSVERSENUMBER": italicsVerseNumber = value; break; + case "UNDERSCOREVERSENUMBER": underscoreVerseNumber = value; break; + case "BOLDVERSETEXT": boldVerseText = value; break; + case "ITALICSVERSETEXT": italicsVerseText = value; break; + case "UNDERSCOREVERSETEXT": underscoreVerseText = value; break; + case "NOVERSIONFORMATTING": noVersionFormatting = value; break; + } + } + + public double pointsToMillimeters(int points) + { + double ratio = 0.352777778; + double converted = points * ratio; + double rounded = Math.round(converted*10)/10; + return rounded; + } + + private void setVerseTextStyles(com.sun.star.beans.XPropertySet xPropertySet) throws UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException + { + if (boldVerseText){ + xPropertySet.setPropertyValue("CharWeight", com.sun.star.awt.FontWeight.BOLD); + } + else{ + xPropertySet.setPropertyValue("CharWeight", com.sun.star.awt.FontWeight.NORMAL); + } + if(italicsVerseText){ + xPropertySet.setPropertyValue("CharPosture", com.sun.star.awt.FontSlant.ITALIC); + } + else{ + xPropertySet.setPropertyValue("CharPosture", com.sun.star.awt.FontSlant.NONE); + } + if(underscoreVerseText){ + xPropertySet.setPropertyValue("CharUnderline", com.sun.star.awt.FontUnderline.SINGLE); + } + else{ + xPropertySet.setPropertyValue("CharUnderline", com.sun.star.awt.FontUnderline.NONE); + } + xPropertySet.setPropertyValue("CharColor", textColorVerseText.getRGB()); + xPropertySet.setPropertyValue("CharBackColor", bgColorVerseText.getRGB()); + xPropertySet.setPropertyValue("CharHeight", (float)fontSizeVerseText); + + switch (vAlignVerseText) { + case "sub": + xPropertySet.setPropertyValue("CharEscapement", (short)-101); + xPropertySet.setPropertyValue("CharEscapementHeight", (byte)58); + //xPropertySet.setPropertyValue("CharEscapementAuto", true); + break; + case "super": + xPropertySet.setPropertyValue("CharEscapement", (short)101); + xPropertySet.setPropertyValue("CharEscapementHeight", (byte)58); + //xPropertySet.setPropertyValue("CharEscapementAuto", true); + break; + default: + xPropertySet.setPropertyValue("CharEscapement", (short)0); + xPropertySet.setPropertyValue("CharEscapementHeight", (byte)100); + //xPropertySet.setPropertyValue("CharEscapementAuto", false); + break; + } + } + + private void insertParagraphBreak(XText m_xText,com.sun.star.text.XTextRange xTextRange) + { + try { + m_xText.insertControlCharacter(xTextRange, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false); + } catch (IllegalArgumentException ex) { + Logger.getLogger(BibleGetJSON.class.getName()).log(Level.SEVERE, null, ex); + } + } +} diff --git a/src/io/bibleget/BibleGetSelection.java b/src/io/bibleget/BibleGetSelection.java new file mode 100644 index 0000000..c915b32 --- /dev/null +++ b/src/io/bibleget/BibleGetSelection.java @@ -0,0 +1,130 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package io.bibleget; + +import com.sun.star.beans.PropertyVetoException; +import com.sun.star.beans.UnknownPropertyException; +import com.sun.star.container.XIndexAccess; +import com.sun.star.frame.XController; +import com.sun.star.frame.XModel; +import com.sun.star.lang.IndexOutOfBoundsException; +import com.sun.star.lang.WrappedTargetException; +import com.sun.star.text.XTextDocument; +import com.sun.star.text.XTextRange; +import com.sun.star.uno.UnoRuntime; +import static io.bibleget.BibleGetI18N.__; +import java.awt.HeadlessException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.swing.JOptionPane; +import org.apache.commons.lang3.StringUtils; + +/** + * + * @author Lwangaman + */ +public class BibleGetSelection { + private static BibleGetSelection instance; + private final XController m_xController; + private final XModel m_xModel; + private final XTextDocument m_xTextDocument; + private static BibleGetDB biblegetDB; + + private BibleGetSelection(XController xController) throws ClassNotFoundException + { + m_xController = xController; + m_xModel = (XModel) m_xController.getModel(); + m_xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class,m_xModel); + + biblegetDB = BibleGetDB.getInstance(); +} + + private BibleGetSelection() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public static BibleGetSelection getInstance(XController xController) throws ClassNotFoundException + { + if(instance == null) + { + instance = new BibleGetSelection(xController); + } + return instance; + } + + public void getQuoteFromSelection() + { + List preferredVersions = new ArrayList<>(); + Object retVal = biblegetDB.getOption("PREFERREDVERSIONS"); + if(null==retVal){ + } + else{ + String[] favoriteVersions = StringUtils.split((String)retVal,','); + preferredVersions = Arrays.asList(favoriteVersions); + } + + if(preferredVersions.isEmpty()){ + preferredVersions.add("NVBSE"); + } + + String versions = StringUtils.join(preferredVersions.toArray(), ','); + + Object m_xCurSel; + try{ + m_xCurSel = m_xTextDocument.getCurrentSelection(); + if(m_xCurSel != null){ + //there is a selection, we can do something with it + XIndexAccess xIndex = (XIndexAccess) UnoRuntime.queryInterface(XIndexAccess.class,m_xCurSel); + Object Sel0; + try { + Sel0 = xIndex.getByIndex(0); + XTextRange xTextRange = (XTextRange) UnoRuntime.queryInterface(XTextRange.class,Sel0); + String myInputContent = xTextRange.getString(); + myInputContent = StringUtils.deleteWhitespace(myInputContent); + //System.out.println("You typed : "+myInputContent); + if(myInputContent.isEmpty()==false){ + + HTTPCaller myHTTPCaller = new HTTPCaller(); + String myResponse; + try { + Boolean querycheck = myHTTPCaller.integrityCheck(myInputContent,preferredVersions); + if(querycheck){ + //JOptionPane.showMessageDialog(null, "All is proceeding nicely", "progress info", JOptionPane.INFORMATION_MESSAGE); + myResponse = myHTTPCaller.sendGet(myInputContent,versions); + if(myResponse != null){ + xTextRange.setString(""); + BibleGetJSON myJSON = new BibleGetJSON(m_xController); + myJSON.JSONParse(myResponse); + } + else{ + JOptionPane.showMessageDialog(null,__("There was a problem communicating with the BibleGet server. Please try again."),"ERROR >> SERVER CONNECTIVITY ISSUE",JOptionPane.ERROR_MESSAGE); + } + } + else{ + String[] errorMessages = myHTTPCaller.getErrorMessages(); + String errorDialog = StringUtils.join(errorMessages,"\n\n"); + JOptionPane.showMessageDialog(null, errorDialog, "ERROR >> MALFORMED QUERYSTRING", JOptionPane.ERROR_MESSAGE); + } + } catch (HeadlessException | ClassNotFoundException | UnknownPropertyException | PropertyVetoException | com.sun.star.lang.IllegalArgumentException | WrappedTargetException ex) { + Logger.getLogger(BibleGetFrame.class.getName()).log(Level.SEVERE, null, ex); + } + } else { + JOptionPane.showMessageDialog(null,__("You cannot send an empty query."),"ERROR >> EMPTY SELECTION",JOptionPane.ERROR_MESSAGE); + } + + } catch (IndexOutOfBoundsException | WrappedTargetException ex) { + Logger.getLogger(BibleGetSelection.class.getName()).log(Level.SEVERE, null, ex); + } + } + } catch (Exception ex) { + Logger.getLogger(BibleGetSelection.class.getName()).log(Level.SEVERE, null, ex); + } + } + +} diff --git a/src/io/bibleget/BibleVersion.java b/src/io/bibleget/BibleVersion.java new file mode 100644 index 0000000..701bdcd --- /dev/null +++ b/src/io/bibleget/BibleVersion.java @@ -0,0 +1,62 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package io.bibleget; + +/** + * + * @author Lwangaman + */ +public class BibleVersion { + private String abbrev; + private String fullname; + private String year; + private String lang; + + public BibleVersion(String abbrev, String fullname, String year, String lang) { + this.abbrev = abbrev; + this.fullname = fullname; + this.year = year; + this.lang = lang; + } + + public String getAbbrev() { + return abbrev; + } + + public void setAbbrev(String abbrev) { + this.abbrev = abbrev; + } + + public String getFullname() { + return fullname; + } + + public void setFullname(String fullname) { + this.fullname = fullname; + } + + public String getYear() { + return year; + } + + public void setYear(String year) { + this.year = year; + } + + public String getLang() { + return lang; + } + + public void setLang(String lang) { + this.lang = lang; + } + + @Override + public String toString() { + return this.getAbbrev() + " — " + this.getFullname() + " (" + this.getYear() + ")"; //To change body of generated methods, choose Tools | Templates. + } + +} diff --git a/src/io/bibleget/CentralRegistrationClass.java b/src/io/bibleget/CentralRegistrationClass.java new file mode 100644 index 0000000..302aee5 --- /dev/null +++ b/src/io/bibleget/CentralRegistrationClass.java @@ -0,0 +1,145 @@ +/************************************************************** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + *************************************************************/ +/* + * CentralRegistrationClass.java + * + * Created on 2014.11.06 - 01:24:06 + * + */ +package io.bibleget; + +import com.sun.star.lang.XSingleComponentFactory; +import com.sun.star.registry.XRegistryKey; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.net.JarURLConnection; +import java.net.URL; +import java.util.Enumeration; +import java.util.StringTokenizer; +import java.util.jar.Attributes; +import java.util.jar.Manifest; + +/** + * + * @author Lwangaman + */ +public class CentralRegistrationClass { + + public static XSingleComponentFactory __getComponentFactory( String sImplementationName ) { + String regClassesList = getRegistrationClasses(); + StringTokenizer t = new StringTokenizer(regClassesList, " "); + while (t.hasMoreTokens()) { + String className = t.nextToken(); + if (className != null && className.length() != 0) { + try { + Class regClass = Class.forName(className); + Method writeRegInfo = regClass.getDeclaredMethod("__getComponentFactory", new Class[]{String.class}); + Object result = writeRegInfo.invoke(regClass, sImplementationName); + if (result != null) { + return (XSingleComponentFactory)result; + } + } + catch (ClassNotFoundException ex) { + ex.printStackTrace(); + } catch (ClassCastException ex) { + ex.printStackTrace(); + } catch (SecurityException ex) { + ex.printStackTrace(); + } catch (NoSuchMethodException ex) { + ex.printStackTrace(); + } catch (IllegalArgumentException ex) { + ex.printStackTrace(); + } catch (InvocationTargetException ex) { + ex.printStackTrace(); + } catch (IllegalAccessException ex) { + ex.printStackTrace(); + } + } + } + return null; + } + + public static boolean __writeRegistryServiceInfo( XRegistryKey xRegistryKey ) { + boolean bResult = true; + String regClassesList = getRegistrationClasses(); + StringTokenizer t = new StringTokenizer(regClassesList, " "); + while (t.hasMoreTokens()) { + String className = t.nextToken(); + if (className != null && className.length() != 0) { + try { + Class regClass = Class.forName(className); + Method writeRegInfo = regClass.getDeclaredMethod("__writeRegistryServiceInfo", new Class[]{XRegistryKey.class}); + Object result = writeRegInfo.invoke(regClass, xRegistryKey); + bResult &= ((Boolean)result).booleanValue(); + } + catch (ClassNotFoundException ex) { + ex.printStackTrace(); + } catch (ClassCastException ex) { + ex.printStackTrace(); + } catch (SecurityException ex) { + ex.printStackTrace(); + } catch (NoSuchMethodException ex) { + ex.printStackTrace(); + } catch (IllegalArgumentException ex) { + ex.printStackTrace(); + } catch (InvocationTargetException ex) { + ex.printStackTrace(); + } catch (IllegalAccessException ex) { + ex.printStackTrace(); + } + } + } + return bResult; + } + + private static String getRegistrationClasses() { + CentralRegistrationClass c = new CentralRegistrationClass(); + String name = c.getClass().getCanonicalName().replace('.', '/').concat(".class"); + try { + Enumeration urlEnum = c.getClass().getClassLoader().getResources("META-INF/MANIFEST.MF"); + while (urlEnum.hasMoreElements()) { + URL url = urlEnum.nextElement(); + String file = url.getFile(); + JarURLConnection jarConnection = + (JarURLConnection) url.openConnection(); + Manifest mf = jarConnection.getManifest(); + + Attributes attrs = (Attributes) mf.getAttributes(name); + if ( attrs != null ) { + String classes = attrs.getValue( "RegistrationClasses" ); + return classes; + } + } + } catch (IOException ex) { + ex.printStackTrace(); + } + + return ""; + } + + /** Creates a new instance of CentralRegistrationClass */ + private CentralRegistrationClass() { + } +} diff --git a/src/io/bibleget/FontFamilyListCellRenderer.java b/src/io/bibleget/FontFamilyListCellRenderer.java new file mode 100644 index 0000000..5b2cfe8 --- /dev/null +++ b/src/io/bibleget/FontFamilyListCellRenderer.java @@ -0,0 +1,64 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package io.bibleget; + +import java.awt.Component; +import javax.swing.DefaultListCellRenderer; +import javax.swing.JList; +import javax.swing.UIManager; + +/** + * + * @author Lwangaman + */ +public class FontFamilyListCellRenderer extends DefaultListCellRenderer{ + + //protected static Border noFocusBorder = new EmptyBorder(1, 1, 1, 1); + + /** + * + */ + public FontFamilyListCellRenderer() + { + // Set opaque for the background to be visible + setOpaque(true); + } + + @Override + public Component getListCellRendererComponent(JList list,Object val,int idx,boolean isSelected,boolean cellHasFocus) + { + // Set text (mandatory) + setText(val.toString()); + + // Set the font according to the selected index + + //setFont(new Font(val.toString(),Font.PLAIN,18)); -> deactivated because slowing down too much! + + // Set your custom selection background, background + // Or you can get them as parameters as you got the table + /* + if(isSelected){ + setBackground(list.getSelectionBackground()); + setForeground(list.getSelectionForeground()); + } + else{ + setBackground(list.getBackground()); + setForeground(list.getForeground()); + } + */ + if(cellHasFocus){ + setBorder(UIManager.getBorder("List.focusCellHighlightBorder")); + } + else{ + setBorder(noFocusBorder); + } + + return this; + } + +} + + diff --git a/src/io/bibleget/FontListCellRenderer.java b/src/io/bibleget/FontListCellRenderer.java new file mode 100644 index 0000000..8613a97 --- /dev/null +++ b/src/io/bibleget/FontListCellRenderer.java @@ -0,0 +1,87 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package io.bibleget; + +import java.awt.Color; +import java.awt.Component; +import java.awt.Font; +import javax.swing.DefaultListCellRenderer; +import javax.swing.JList; +import javax.swing.ListCellRenderer; + + /** + * A ListCellRenderer that displays font names in their own font if possible. The list's + * model must contain objects of type Font, or a ClassCastException will be thrown. + *

+ * A font that lacks the glyphs to display its own name is rendered with the default font, + * in red or a specified color. + */ + public class FontListCellRenderer extends DefaultListCellRenderer { + + private final Font defaultFont = super.getFont(); + private final Color symbolColor; + + /** + * Constructs a FontListCellRenderer. Any font that lacks the glyphs to display + * its own name is rendered in red with the default Font of a {@link DefaultListCellRenderer}. + */ + public FontListCellRenderer() { + this(Color.RED); + } + + /** + * Constructs a FontListCellRenderer with a custom color for symbolic fonts. + * Any font that lacks the glyphs to display its own name is rendered in the passed in color + * with the default Font of a {@link DefaultListCellRenderer}. + * + * @param symbolColor the color is which to render a font which is unable to display its name + */ + public FontListCellRenderer(Color symbolColor) { + if (symbolColor == null) { + this.symbolColor = Color.RED; + } else { + this.symbolColor = symbolColor; + } + } + + /** + * Return a component that has been configured to display a font name. Any font that + * lacks the glyphs to display its own name is rendered with the default Font of a + * DefaultListCellRenderer in red or a custom color passed to the constructor. + * + * @param list the JList to which to render + * @param value the value returned by list.getModel().getElementAt(index) + * @param index the cell's index + * @param isSelected true if the specified cell was selected + * @param cellHasFocus true if the specified cell has the focus. + * + * @return a component whose paint() method will render the specified value. + * + * @see ListCellRenderer#getListCellRendererComponent(javax.swing.JList, + * java.lang.Object, int, boolean, boolean) + */ + @Override + public Component getListCellRendererComponent(JList list, + Object value, int index, + boolean isSelected, boolean cellHasFocus) { + Font font = (Font) value; + setText(font.getName()); + if (isSelected) { + setForeground(list.getSelectionForeground()); + setBackground(list.getSelectionBackground()); + } else { + setForeground(list.getForeground()); + setBackground(list.getBackground()); + } + if (font.canDisplayUpTo(font.getFontName()) == -1 || font.canDisplayUpTo(font.getFontName()) >= font.getFontName().length()) { + setFont(font); + } else { + setForeground(symbolColor); + setFont(defaultFont); + } + return this; + } + } \ No newline at end of file diff --git a/src/io/bibleget/FontModel.java b/src/io/bibleget/FontModel.java new file mode 100644 index 0000000..4cc83f3 --- /dev/null +++ b/src/io/bibleget/FontModel.java @@ -0,0 +1,520 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package io.bibleget; + +import java.awt.Color; +import java.awt.Font; +import java.awt.Paint; +import java.awt.font.TextAttribute; +import static java.awt.font.TextAttribute.BACKGROUND; +import static java.awt.font.TextAttribute.FAMILY; +import static java.awt.font.TextAttribute.FOREGROUND; +import static java.awt.font.TextAttribute.KERNING; +import static java.awt.font.TextAttribute.KERNING_ON; +import static java.awt.font.TextAttribute.POSTURE; +import static java.awt.font.TextAttribute.POSTURE_OBLIQUE; +import static java.awt.font.TextAttribute.POSTURE_REGULAR; +import static java.awt.font.TextAttribute.SIZE; +import static java.awt.font.TextAttribute.STRIKETHROUGH; +import static java.awt.font.TextAttribute.STRIKETHROUGH_ON; +import static java.awt.font.TextAttribute.SWAP_COLORS; +import static java.awt.font.TextAttribute.SWAP_COLORS_ON; +import static java.awt.font.TextAttribute.UNDERLINE; +import static java.awt.font.TextAttribute.UNDERLINE_ON; +import static java.awt.font.TextAttribute.WEIGHT; +import static java.awt.font.TextAttribute.WEIGHT_BOLD; +import static java.awt.font.TextAttribute.WEIGHT_REGULAR; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; +import java.util.HashMap; +import java.util.Map; +import javax.swing.event.SwingPropertyChangeSupport; + +/** + * A class that encapsulates a Font and provides convenient methods to query or change + * various attributes. + *

+ * The default model for {@link VisualFontDesigner}. + * + * @author Darryl + */ +public class FontModel { + + public static final String FONT_PROPERTY = "font"; + private Font font; + private Map attributes = new HashMap<>(); + private final SwingPropertyChangeSupport propertyChangeSupport = new SwingPropertyChangeSupport(this); + + /** + * Constructs a new FontModel with the specified font. + * + * @param font the font + */ + public FontModel(Font font) { + setFont(font); + } + + /** + * Constructs a new FontModel with a font derived from the specified attriburte map. + * This is equivalent to + *

+   Font font = Font.getFont(attributes).deriveFont(attributes);
+   new FontModel(font);
+   * 
+ * + * @param attributes a Map of TextAttribute keys and their values. + * + * @see Font#getFont(java.util.Map) + * @see Font#deriveFont(java.util.Map) + */ + public FontModel(Map attributes) { + setAttributes(attributes); + } + + /** + * Returns the font currently held by this model. + * + * @return the font + */ + public Font getFont() { + return font; + } + + /** + * Sets the font of this model to the specified font. + * + * @param newFont the new font to be set + */ + @SuppressWarnings(value = "unchecked") + public final void setFont(Font newFont) { + if (!newFont.equals(font)) { + Font oldFont = font; + font = newFont; + attributes = (Map) font.getAttributes(); + firePropertyChange(FONT_PROPERTY, oldFont, newFont); + } + } + + /** + * Sets the font held by this model to a font derived from the specified map. This is + * equivalent to + *
+   Font font = Font.getFont(attributes).deriveFont(attributes);
+   setFont(font);
+   * 
+ * + * @param attributes a Map of TextAttribute keys and their values. + * @see Font#getFont(java.util.Map) + * @see Font#deriveFont(java.util.Map) + */ + @SuppressWarnings(value = "unchecked") + protected final void setAttributes(Map attributes) { + Font newFont = Font.getFont(attributes).deriveFont(attributes); + setFont(newFont); + } + + /** + * Generates and returns code that will programatically recreate this model's Font. Meant for + * use by code generrators. + * + * @return the code needed to programatically recreate the designed Font. + */ + public String getCode() { + final StringBuilder sb = new StringBuilder("Map" + + " attributes\n = new HashMap();\n\n"); + for (TextAttribute key : TextAttributeConstants.keys()) { + Object value = attributes.get(key); + if (value != null) { + String keyName = String.valueOf(key); + keyName = keyName.replaceAll("^[^(]*\\(([^)]*)\\).*$", "$1"). + toUpperCase(); + sb.append("attributes.put(TextAttribute.").append(keyName).append(", "); + if (value instanceof String) { + sb.append("\""); + } + String valueName = TextAttributeConstants.lookup(key, value); + if (valueName == null) { + if (value instanceof Color) { + Color color = (Color) value; + sb.append("new Color(").append(color.getRed()).append(", ").append(color.getGreen()).append(", ").append(color.getBlue()).append(")"); + } else { + sb.append(String.valueOf(value)); + } + } else { + sb.append("TextAttribute.").append(valueName); + } + if (value instanceof String) { + sb.append("\""); + } + sb.append(");\n"); + } + } + sb.append("\nFont font = Font.getFont(attributes);\n"); + sb.append("font = font.deriveFont(attributes);\n"); + return sb.toString(); + } + + /** + * Returns the value associated with a TextAttribute key for this model's font. + * Returns null if the attribute is not supported by this class, or if no value is presently + * associated with the attribute. + * + * @param attribute the attribute + * @return the value + */ + public Object getAttributeValue(TextAttribute attribute) { + return attributes.get(attribute); + } + + /** + * Sets the value to be associated with a TextAttribute key and updates the font. + * The effect of setting a value that is not legal for the attribute is undefined. + * + * @param attribute the attribute + * @param value the value + */ + @SuppressWarnings(value = "unchecked") + public void setAttributeValue(TextAttribute attribute, Object value) { + Font oldFont = font; + attributes.put(attribute, value); + font = font.deriveFont(attributes); + // remove default values form mapping + attributes = (Map) font.getAttributes(); + firePropertyChange(FONT_PROPERTY, oldFont, font); + } + + /** + * Returns the family name of this model's font. + * + * @return the familt name + * @see #setFamily(java.lang.String) + * @see Font#getFamily() + */ + public String getFamily() { + return (String) attributes.get(FAMILY); + } + + /** + * Sets the family of this model's font. + * + * @param family the family name + * @see #getFamily() + */ + public void setFamily(String family) { + setAttributeValue(FAMILY, family); + } + + /** + * Returns the size of this model's font in float precision + * + * @return the size + * @see #setSize(float) + * @see Font#getSize() + */ + public float getSize() { + Float size = (Float) attributes.get(SIZE); + return size != null ? size : font.getSize(); + } + + /** + * Sets the size of this model's font + * + * @param size the size + * @see #getSize() + * @see Font#deriveFont(float) + */ + public void setSize(float size) { + setAttributeValue(SIZE, size); + } + + /** + * Returns true if this model's font is bold, false otherwise + * + * @return true if the font is bold, false otherwise + * @see #setBold(boolean) + * @see Font#isBold() + */ + public boolean isBold() { + return getAttributeValue(WEIGHT) == WEIGHT_BOLD || font.isBold(); + } + + /** + * Sets this model's font bold if the parameter is true or not bold otherwise. + * + * @param bold true to set a bold font, false otherwise. + * @see #isBold() + * @see Font#deriveFont(int) + */ + public void setBold(boolean bold) { + setAttributeValue(WEIGHT, bold ? WEIGHT_BOLD : WEIGHT_REGULAR); + } + + /** + * Returns true if this model's font is italic, false otherwise + * + * @return true if the font is italic, false otherwise + * @see #setItalic(boolean) + * @see Font#isItalic() + */ + public boolean isItalic() { + return getAttributeValue(POSTURE) == POSTURE_OBLIQUE || font.isItalic(); + } + + /** + * Sets this model's font italic if the parameter is true or not italic otherwise. + * + * @param italic true to set an italic font, false otherwise. + * @see #isItalic() + * @see Font#deriveFont(int) + */ + public void setItalic(boolean italic) { + setAttributeValue(POSTURE, italic ? POSTURE_OBLIQUE : POSTURE_REGULAR); + } + + /** + * Returns true if this model's font is underlined, false otherwise + *

+ * Note that this method returns true if any kind of underline is applied. + * + * @return true if the font is underlined, false otherwise + * @see #setUnderline(boolean) + * @see #getUnderline() + * @see #setUnderline(int) + */ + public boolean isUnderline() { + Integer underline = (Integer) getAttributeValue(UNDERLINE); + return underline != null && underline != -1; + } + + /** + * Sets this model's font to a single underline if the parameter is true or + * not underlined otherwise. + * + * @param underline true to set a single underline, false otherwise. + * @see #isUnderline() + * @see #getUnderline() + * @see #setUnderline(int) + */ + public void setUnderline(boolean underline) { + setAttributeValue(UNDERLINE, underline ? UNDERLINE_ON : -1); + } + + /** + * Returns an int corresponding to the type of underline of this model's font. The value will + * be one of those listed as valid values for {@link #setUnderline(int)}, or -1 for no underline. + *

+ * The descriptuve name for the value can be obtained from + * TextAttributeConstants#getFriendlyName(TextAttribute.UNDERLINE, value) where value is the + * int value returned by this method. + * + * @return the value of the underline attribute. + * @see #isUnderline() + * @see #setUnderline(boolean) + * @see #setUnderline(int) + */ + public int getUnderline() { + Integer underline = (Integer) getAttributeValue(UNDERLINE); + if (underline == null) { + return -1; + } else { + return underline; + } + } + + /** + * Sets the type of underline for this model's font. Must be one of + *

    + *
  • TextAttribute.UNDERLINE_ON
  • + *
  • TextAttribute.UNDERLINE_LOW_DASHED
  • + *
  • TextAttribute.UNDERLINE_LOW_DOTTED
  • + *
  • TextAttribute.UNDERLINE_LOW_GRAY
  • + *
  • TextAttribute.UNDERLINE_LOW_ONE_PIXEL
  • + *
  • TextAttribute.UNDERLINE_LOW_TWO_PIXEL
  • + *
  • -1 (no underline)
  • + *
+ * + * @param underline a legal value for TextAttribure.UNDERLINE. + * @see #isUnderline() + * @see #setUnderline(boolean) + * @see #getUnderline() + */ + public void setUnderline(int underline) { + setAttributeValue(UNDERLINE, underline); + } + + /** + * Returns true if this model's font is strikethrough, false otherwise + * + * @return true if the font is strikethrough, false otherwise + * @see #setStrikethrough(boolean) + */ + public boolean isStrikethrough() { + return getAttributeValue(STRIKETHROUGH) == STRIKETHROUGH_ON; + } + + /** + * Sets this model's font strikethrough if the parameter is true or + * not strikethrough otherwise. + * + * @param strikethrough true to set the font as strikethrough, false otherwise. + * @see #isStrikethrough() + */ + public void setStrikethrough(boolean strikethrough) { + setAttributeValue(STRIKETHROUGH, strikethrough); + } + + /** + * Returns true if this model's font attempts kerning, false otherwise + *

+ * Note that not all fonts support kerning. + * + * @return true if the font attempts kerning, false otherwise + * @see #setKerning(boolean) + */ + public boolean isKerning() { + return getAttributeValue(KERNING) == KERNING_ON; + } + + /** + * Sets this model's font to attempt kerning if the parameter is true or not + * attempt kerning otherwise. + *

+ * Note that not all fonts support kerning. + * + * @param kerning true to set the font to attempt kerning, false otherwise. + * @see #isKerning() + */ + public void setKerning(boolean kerning) { + setAttributeValue(KERNING, kerning ? KERNING_ON : 0); + } + + /** + * Returns the foreground of this model's font. + * + * @return the foreground value + * @see #setForeground(java.awt.Paint) + */ + public Paint getForeground() { + return (Paint) getAttributeValue(FOREGROUND); + } + + /** + * Sets the foreground of this model's font. This will most commonly be an instance of Color, + * but some interesting effects can be obtained by setting a gradient or texture paint. + * + * @param paint the foreground to set + * @see #getForeground() + */ + public void setForeground(Paint paint) { + setAttributeValue(FOREGROUND, paint); + } + + /** + * Returns the background of this model's font. + * + * @return the background value + * @see #setBackground(java.awt.Paint) + */ + public Paint getBackground() { + return (Paint) getAttributeValue(BACKGROUND); + } + + /** + * Sets the background of this model's font. This will most commonly be an instance of Color, + * but some interesting effects can be obtained by setting a gradient or texture paint. + * + * @param paint the background to set + * @see #getBackground() + */ + public void setBackground(Paint paint) { + setAttributeValue(BACKGROUND, paint); + } + + /** + * Returns true if this model's font swaps the foreground and background, false otherwise. + * + * @return true if the foreground and background are swapped, false otherwise + * @see #setSwapColors(boolean) + */ + public boolean isSwapColors() { + return getAttributeValue(SWAP_COLORS) == SWAP_COLORS_ON; + } + + /** + * Sets whether this model's font's foreground and background should be swapped. + * + * @param swapColors true to swap the foreground and background, false otherwise. + * @see #isSwapColors() + */ + public void setSwapColors(boolean swapColors) { + setAttributeValue(SWAP_COLORS, swapColors); + } + + /** + * Adds a PropertyChangeListener to the listener list. The listener + * is registered for all bound properties of this class, including + * the following: + *

    + *
  • this FontModel's font ("font")
  • + *
+ *

+ * If listener is null, + * no exception is thrown and no action is performed. + * + * @param listener the property change listener to be added + * + * @see #removePropertyChangeListener + * @see #getPropertyChangeListeners + */ + public synchronized void addPropertyChangeListener(PropertyChangeListener listener) { + propertyChangeSupport.addPropertyChangeListener(listener); + } + + /** + * Removes a PropertyChangeListener from the listener list. This method + * should be used to remove PropertyChangeListeners that were registered for + * all bound properties of this class. + *

+ * If listener is null, no exception is thrown and no action is performed. + * + * @param listener the PropertyChangeListener to be removed + * + * @see #addPropertyChangeListener + * @see #getPropertyChangeListeners + */ + public synchronized void removePropertyChangeListener( + PropertyChangeListener listener) { + propertyChangeSupport.removePropertyChangeListener(listener); + } + + /** + * Returns an array of all the property change listeners registered on this model. + * + * @return all of this model's PropertyChangeListeners or an empty array if + * no property change listeners are currently registered + * + * @see #addPropertyChangeListener + * @see #removePropertyChangeListener + */ + public PropertyChangeListener[] getPropertyChangeListeners() { + return propertyChangeSupport.getPropertyChangeListeners(); + } + + /** + * Support for reporting bound property changes for Object properties. This + * method can be called when a bound property has changed and it will send + * the appropriate PropertyChangeEvent to any registered + * PropertyChangeListeners. + * + * @param propertyName the property whose value has changed + * @param oldValue the property's previous value + * @param newValue the property's new value + */ + protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) { + propertyChangeSupport.firePropertyChange(new PropertyChangeEvent(this, propertyName, + oldValue, newValue)); + } +} diff --git a/src/io/bibleget/HTTPCaller.java b/src/io/bibleget/HTTPCaller.java new file mode 100644 index 0000000..5003b36 --- /dev/null +++ b/src/io/bibleget/HTTPCaller.java @@ -0,0 +1,542 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +package io.bibleget; + +import static io.bibleget.BibleGetI18N.__; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.StringReader; +import java.io.UnsupportedEncodingException; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLEncoder; +import java.text.MessageFormat; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Deque; +import java.util.Iterator; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import javax.json.Json; +import javax.json.JsonArray; +import javax.json.JsonArrayBuilder; +import javax.json.JsonReader; +import javax.json.JsonValue; +import static javax.json.JsonValue.ValueType.ARRAY; +import org.apache.commons.lang3.StringUtils; + +/** + * + * @author Lwangaman + */ +public class HTTPCaller { + + private static Indexes indexes = null; + private final List errorMessages = new ArrayList<>(); + + /** + * + * @param myQuery + * @param versions + * @return + */ + public String sendGet(String myQuery,String versions) { + try { + versions = URLEncoder.encode(versions,"utf-8"); + myQuery = URLEncoder.encode(myQuery,"utf-8"); + } catch (UnsupportedEncodingException ex) { + Logger.getLogger(HTTPCaller.class.getName()).log(Level.SEVERE, null, ex); + } + String url = "http://query.bibleget.io/index2.php?query="+myQuery+"&version="+versions+"&return=json&appid=openoffice"; + + return getResponse(url); + } + + public String getMetaData(String query){ + String url; + String response; + url = "http://query.bibleget.io/metadata.php?query="+query; + response = getResponse(url); + //if(response != null){ + return response; + //} + //return null; + } + + public String getResponse(String url){ + URL obj; + try { + obj = new URL(url); + HttpURLConnection con; + con = (HttpURLConnection) obj.openConnection(); + + // optional default is GET + con.setRequestMethod("GET"); + con.setRequestProperty("Accept-Charset", "UTF-8"); + + //System.out.println("Sending 'GET' request to URL : " + url); + //System.out.println("Response Code : " + con.getResponseCode()); + if(HttpURLConnection.HTTP_OK == con.getResponseCode()) { + StringBuilder response; + try (BufferedReader in = new BufferedReader( + new InputStreamReader(con.getInputStream(),"UTF-8"))) + { + String inputLine; + response = new StringBuilder(); + while ((inputLine = in.readLine()) != null) { + response.append(inputLine); + } + con.disconnect(); + return response.toString(); + } + } + } catch (IOException ex) { + Logger.getLogger(HTTPCaller.class.getName()).log(Level.SEVERE, null, ex); + } + return null; + } + + /* + * FUNCTION idxOf + * @var needle + * @var haystack + */ + public int idxOf(String needle,JsonArray haystack) { + int count = 0; + for(JsonValue i:haystack){ + JsonArray m = (JsonArray)i; + if(m.get(0).getValueType()==ARRAY){ + for(JsonValue x:m){ + //System.out.println("looking for '"+needle+"' in "+x.toString()); + if(x.toString().contains("\""+needle+"\"")){ return count; } + } + } + else{ + if(m.toString().contains("\""+needle+"\"")){ return count; } + } + count++; + } + return -1; + } + + /* + * FUNCTION isValidBook + * @var book + */ + public int isValidBook(String book){ + try { + JsonArrayBuilder biblebooksBldr = Json.createArrayBuilder(); + BibleGetDB bibleGetDB; + bibleGetDB = BibleGetDB.getInstance(); + for(int i=0;i<73;i++){ + String usrprop = bibleGetDB.getMetaData("BIBLEBOOKS"+Integer.toString(i)); + //System.out.println("value of BIBLEBOOKS"+Integer.toString(i)+": "+usrprop); + JsonReader jsonReader = Json.createReader(new StringReader(usrprop)); + JsonArray jsbooks = jsonReader.readArray(); + biblebooksBldr.add(jsbooks); + } + JsonArray biblebooks = biblebooksBldr.build(); + if(!biblebooks.isEmpty()){ + return idxOf(book,biblebooks); + } + } catch (ClassNotFoundException ex) { + Logger.getLogger(HTTPCaller.class.getName()).log(Level.SEVERE, null, ex); + } + return -1; + } + + /** + * + * @param myQuery + * @param selectedVersions + * @return + * @throws java.lang.ClassNotFoundException + */ + public boolean integrityCheck(String myQuery,List selectedVersions) throws ClassNotFoundException + { + String versionsStr = StringUtils.join(selectedVersions.toArray(), ','); + //System.out.println("Starting integrity check on query "+myQuery+" for versions: "+versionsStr); + if(indexes==null) { + indexes = Indexes.getInstance(); + } + //build indexes based on versions + + //final result is true until proved false + //set finFlag to false for non-breaking errors, or simply return false for breaking errors + boolean finFlag = true; + + errorMessages.removeAll(errorMessages); + List queries = new ArrayList<>(); + + //if english notation is found, translate to european notation + if(myQuery.contains(":") && myQuery.contains(".")) { + errorMessages.add(__("Mixed notations have been detected. Please use either english notation or european notation.")); + return false; + } + else if(myQuery.contains(":")) { + if(myQuery.contains(",")) { + myQuery = myQuery.replace(",","."); + } + myQuery = myQuery.replace(":",","); + } + + if(myQuery.isEmpty()==false){ + if(myQuery.contains(";")){ + //System.out.println("We have a semicolon"); + queries.addAll(Arrays.asList(myQuery.split(";"))); + for (Iterator it = queries.iterator(); it.hasNext();) { + if (it.next().isEmpty()){ + it.remove(); // NOTE: Iterator's remove method, not ArrayList's, is used. + } + } + } + else{ + //System.out.println("There is no semicolon"); + queries.add(myQuery); + } + } + + boolean first = true; + String currBook = ""; + + if(queries.isEmpty()){ + errorMessages.add(__("You cannot send an empty query.")); + return false; + } + for (String querie : queries) { + //System.out.println(querie); + querie = toProperCase(querie); + //System.out.println(querie); + + //RULE 1: at least the first query must have a book indicator + if(first){ + if(querie.matches("^[1-3]{0,1}((\\p{L}\\p{M}*)+)(.*)") == false){ + errorMessages.add(MessageFormat.format(__("The first query <{0}> in the querystring <{1}> must start with a valid book indicator!"),querie,myQuery)); + finFlag = false; + } + first = false; + } + + //RULE 2: for every query that starts with a book indicator, + // the book indicator must be followed by valid chapter indicator; + // else query must start with valid chapter indicator + int bBooksContains; + int myidx = -1; + String tempBook = ""; + if(querie.matches("^[1-3]{0,1}((\\p{L}\\p{M}*)+)(.*)") == true){ + //while we're at it, let's capture the book value from the query + Pattern pattern = Pattern.compile("^[1-3]{0,1}((\\p{L}\\p{M}*)+)",Pattern.UNICODE_CHARACTER_CLASS); + Matcher matcher = pattern.matcher(querie); + if(matcher.find()){ + tempBook = matcher.group(); + bBooksContains = isValidBook(tempBook); + myidx = bBooksContains+1; + //if(bBooksContains == false && bBooksAbbrevsContains == false){ + if(bBooksContains == -1){ + errorMessages.add(MessageFormat.format(__("The book indicator <{0}> in the query <{1}> is not valid. Please check the documentation for a list of valid book indicators."),tempBook,querie)); + finFlag = false; + } + else{ + //if(bBooksContains) + currBook = tempBook; + //querie = querie.replace(tempBook,""); + } + } + + Pattern pattern1 = Pattern.compile("^[1-3]{0,1}((\\p{L}\\p{M}*)+)",Pattern.UNICODE_CHARACTER_CLASS); + Pattern pattern2 = Pattern.compile("^[1-3]{0,1}((\\p{L}\\p{M}*)+)[1-9][0-9]{0,2}",Pattern.UNICODE_CHARACTER_CLASS); + Matcher matcher1 = pattern1.matcher(querie); + Matcher matcher2 = pattern2.matcher(querie); + int count1 = 0; + while(matcher1.find()){ + count1++; + } + int count2 = 0; + while(matcher2.find()){ + count2++; + } + if(querie.matches("^[1-3]{0,1}((\\p{L}\\p{M}*)+)[1-9][0-9]{0,2}(.*)") == false || count1 != count2){ + errorMessages.add(__("You must have a valid chapter following the book indicator!")); + finFlag = false; + } + querie = querie.replace(tempBook,""); + } + else{ + if(querie.matches("^[1-9][0-9]{0,2}(.*)") == false){ + errorMessages.add(__("A query that doesn't start with a book indicator must however start with a valid chapter indicator!")); + finFlag = false; + } + } + + //RULE 3: Queries with a dot operator must first have a comma operator; and cannot have more commas than dots + if(querie.contains(".")){ + Pattern pattern11 = Pattern.compile("[,|\\-|\\.][1-9][0-9]{0,2}\\."); + Matcher matcher11 = pattern11.matcher(querie); + if(querie.contains(",") == false || matcher11.find() == false){ + errorMessages.add(__("You cannot use a dot without first using a comma or a dash. A dot is a liason between verses, which are separated from the chapter by a comma.")); + finFlag = false; + } + Pattern pattern3 = Pattern.compile("(?= Integer.parseInt(matcher3.group(3))){ + errorMessages.add(MessageFormat.format(__("Verses concatenated by a dot must be consecutive, instead <{0}> is greater than or equal to <{1}> in the expression <{2}> in the query <{3}>"),matcher3.group(2),matcher3.group(3),matcher3.group(1),querie)); + finFlag = false; + } + count++; + } + //RULE 5: Dot operators must be preceded and followed by a number from one to three digits, of which the first digit cannot be a 0 + if(count == 0 || count != StringUtils.countMatches(querie,".") ){ + errorMessages.add(__("A dot must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero.")+" <"+querie+">"); + finFlag = false; + } + } + + //RULE 6: Comma operators must be preceded and followed by a number from one to three digits, of which the first digit cannot be 0 + if(querie.contains(",")){ + + Pattern pattern4 = Pattern.compile("([1-9][0-9]{0,2})\\,[1-9][0-9]{0,2}"); + Matcher matcher4 = pattern4.matcher(querie); + int count = 0; + List chapters = new ArrayList<>(); + while(matcher4.find()){ + //System.out.println("group0="+matcher4.group(0)+", group1="+matcher4.group(1)); + chapters.add(Integer.parseInt(matcher4.group(1))); + count++; + } + if(count == 0 || count != StringUtils.countMatches(querie,",") ){ + errorMessages.add(__("A comma must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero.")+" <"+querie+">"+"(count="+Integer.toString(count)+",comma count="+StringUtils.countMatches(querie,",")+"); chapters="+chapters.toString()); + finFlag = false; + } + else{ + // let's check the validity of the chapter numbers against the version indexes + //for each chapter captured in the querystring + for(int chapter:chapters){ + if(indexes.isValidChapter(chapter, myidx, selectedVersions)==false) { + int[] chapterLimit = indexes.getChapterLimit(myidx, selectedVersions); + errorMessages.add(MessageFormat.format(__("A chapter in the query is out of bounds: there is no chapter <{0}> in the book <{1}> in the requested version <{2}>, the last possible chapter is <{3}>"),Integer.toString(chapter),currBook,StringUtils.join(selectedVersions,","),StringUtils.join(chapterLimit,','))); + finFlag = false; + } + } + } + } + + if(StringUtils.countMatches(querie,",") > 1) { + if(!querie.contains("-")) { + errorMessages.add(__("You cannot have more than one comma and not have a dash!")); + finFlag = false; + } + String[] parts = StringUtils.split(querie, "-"); + if(parts.length != 2) { + errorMessages.add(__("You seem to have a malformed querystring, there should be only one dash.")); + finFlag = false; + } + for(String p:parts) { + Integer[] pp = new Integer[2]; + String[] tt = StringUtils.split(p,","); + int x=0; + for(String t:tt){ + pp[x++] = Integer.parseInt(t); + } + if(indexes.isValidChapter(pp[0], myidx, selectedVersions)==false) { + int[] chapterLimit; + chapterLimit = indexes.getChapterLimit(myidx, selectedVersions); +// System.out.print("chapterLimit = "); +// System.out.println(Arrays.toString(chapterLimit)); + errorMessages.add(MessageFormat.format(__("A chapter in the query is out of bounds: there is no chapter <{0}> in the book <{1}> in the requested version <{2}>, the last possible chapter is <{3}>"),Integer.toString(pp[0]),currBook,StringUtils.join(selectedVersions,","),StringUtils.join(chapterLimit,','))); + finFlag = false; + } + else { + if(indexes.isValidVerse(pp[1], pp[0], myidx, selectedVersions)==false) { + int[] verseLimit = indexes.getVerseLimit(pp[0], myidx, selectedVersions); +// System.out.print("verseLimit = "); +// System.out.println(Arrays.toString(verseLimit)); + errorMessages.add(MessageFormat.format(__("A verse in the query is out of bounds: there is no verse <{0}> in the book <{1}> at chapter <{2}> in the requested version <{3}>, the last possible verse is <{4}>"),Integer.toString(pp[1]),currBook,Integer.toString(pp[0]),StringUtils.join(selectedVersions,","),StringUtils.join(verseLimit,','))); + finFlag = false; + } + } + } + } + else if(StringUtils.countMatches(querie,",") == 1) { + String[] parts = StringUtils.split(querie, ","); + //System.out.println(Arrays.toString(parts)); + if(indexes.isValidChapter(Integer.parseInt(parts[0]), myidx, selectedVersions)==false) { + int[] chapterLimit = indexes.getChapterLimit(myidx, selectedVersions); + errorMessages.add(MessageFormat.format(__("A chapter in the query is out of bounds: there is no chapter <{0}> in the book <{1}> in the requested version <{2}>, the last possible chapter is <{3}>"),parts[0],currBook,StringUtils.join(selectedVersions,","),StringUtils.join(chapterLimit,','))); + finFlag = false; + } + else { + if(parts[1].contains("-")) { + Deque highverses = new ArrayDeque<>(); + Pattern pattern11 = Pattern.compile("[,\\.][1-9][0-9]{0,2}\\-([1-9][0-9]{0,2})"); + Matcher matcher11 = pattern11.matcher(querie); + while(matcher11.find()) { + highverses.push(Integer.parseInt(matcher11.group(1))); + } + int highverse = highverses.pop(); + if(indexes.isValidVerse(highverse, Integer.parseInt(parts[0]), myidx, selectedVersions)==false) { + int[] verseLimit = indexes.getVerseLimit(Integer.parseInt(parts[0]), myidx, selectedVersions); + errorMessages.add(MessageFormat.format(__("A verse in the query is out of bounds: there is no verse <{0}> in the book <{1}> at chapter <{2}> in the requested version <{3}>, the last possible verse is <{4}>"),highverse,currBook,parts[0],StringUtils.join(selectedVersions,","),StringUtils.join(verseLimit,','))); + finFlag = false; + } + } + else { + Pattern pattern12 = Pattern.compile(",([1-9][0-9]{0,2})"); + Matcher matcher12 = pattern12.matcher(querie); + int highverse = -1; + while(matcher12.find()) { + highverse = Integer.parseInt(matcher12.group(1)); + //System.out.println("[line 376]:highverse="+Integer.toString(highverse)); + } + if(highverse!=-1) { + //System.out.println("Checking verse validity for book "+myidx+" chapter "+parts[0]+"..."); + if(indexes.isValidVerse(highverse, Integer.parseInt(parts[0]), myidx, selectedVersions)==false) { + int[] verseLimit = indexes.getVerseLimit(Integer.parseInt(parts[0]), myidx, selectedVersions); + errorMessages.add(MessageFormat.format(__("A verse in the query is out of bounds: there is no verse <{0}> in the book <{1}> at chapter <{2}> in the requested version <{3}>, the last possible verse is <{4}>"),highverse,currBook,parts[0],StringUtils.join(selectedVersions,","),StringUtils.join(verseLimit,','))); + finFlag = false; + } + } + } + Pattern pattern13 = Pattern.compile("\\.([1-9][0-9]{0,2})$"); + Matcher matcher13 = pattern13.matcher(querie); + int highverse = -1; + while(matcher13.find()) { + highverse = Integer.parseInt(matcher13.group(1)); + } + if(highverse != -1){ + if(indexes.isValidVerse(highverse, Integer.parseInt(parts[0]), myidx, selectedVersions)==false) { + int[] verseLimit = indexes.getVerseLimit(Integer.parseInt(parts[0]), myidx, selectedVersions); + errorMessages.add(MessageFormat.format(__("A verse in the query is out of bounds: there is no verse <{0}> in the book <{1}> at chapter <{2}> in the requested version <{3}>, the last possible verse is <{4}>"),highverse,currBook,parts[0],StringUtils.join(selectedVersions,","),StringUtils.join(verseLimit,','))); + finFlag = false; + } + } + } + } + else { //if there is no comma, it's either a single chapter or an extension of chapters with a dash + //System.out.println("no comma found"); + String[] parts = StringUtils.split(querie, "-"); + //System.out.println(Arrays.toString(parts)); + int highchapter = Integer.parseInt(parts[parts.length-1]); + if(indexes.isValidChapter(highchapter, myidx, selectedVersions)==false) { + int[] chapterLimit = indexes.getChapterLimit(myidx, selectedVersions); + errorMessages.add(MessageFormat.format(__("A chapter in the query is out of bounds: there is no chapter <{0}> in the book <{1}> in the requested version <{2}>, the last possible chapter is <{3}>"),Integer.toString(highchapter),currBook,StringUtils.join(selectedVersions,","),StringUtils.join(chapterLimit,','))); + finFlag = false; + } + } + + if(querie.contains("-")){ + //RULE 7: If there are multiple dashes in a query, there cannot be more dashes than there are dots minus 1 + int dashcount = StringUtils.countMatches(querie, "-"); + int dotcount = StringUtils.countMatches(querie, "."); + if(dashcount > 1){ + if(dashcount-1 > dotcount){ + errorMessages.add(__("There are multiple dashes in the query, but there are not enough dots. There can only be one more dash than dots.")+" <"+querie+">"); + finFlag = false; + } + } + + //RULE 8: Dash operators must be preceded and followed by a number from one to three digits, of which the first digit cannot be 0 + Pattern pattern5 = Pattern.compile("([1-9][0-9]{0,2}\\-[1-9][0-9]{0,2})"); + Matcher matcher5 = pattern5.matcher(querie); + int count = 0; + while(matcher5.find()){ + count++; + } + if(count == 0 || count != StringUtils.countMatches(querie,"-") ){ + errorMessages.add(__("A dash must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero.")+" <"+querie+">"); + finFlag = false; + } + + //RULE 9: If a comma construct follows a dash, there must also be a comma construct preceding the dash + Pattern pattern6 = Pattern.compile("\\-([1-9][0-9]{0,2})\\,"); + Matcher matcher6 = pattern6.matcher(querie); + if(matcher6.find()){ + Pattern pattern7 = Pattern.compile("\\,[1-9][0-9]{0,2}\\-"); + Matcher matcher7 = pattern7.matcher(querie); + if(matcher7.find() == false){ + errorMessages.add(__("If there is a chapter-verse construct following a dash, there must also be a chapter-verse construct preceding the same dash.")+" <"+querie+">"); + finFlag = false; + } + else{ + //RULE 10: Chapters before and after dashes must be sequential + int chap1 = -1; + int chap2 = -1; + + Pattern pattern8 = Pattern.compile("([1-9][0-9]{0,2})\\,[1-9][0-9]{0,2}\\-"); + Matcher matcher8 = pattern8.matcher(querie); + if(matcher8.find()){ + chap1 = Integer.parseInt(matcher8.group(1)); + } + Pattern pattern9 = Pattern.compile("\\-([1-9][0-9]{0,2})\\,"); + Matcher matcher9 = pattern9.matcher(querie); + if(matcher9.find()){ + chap2 = Integer.parseInt(matcher9.group(1)); + } + + if(chap1 >= chap2){ + errorMessages.add(MessageFormat.format(__("Chapters must be consecutive. Instead the first chapter indicator <{0}> is greater than or equal to the second chapter indicator <{1}> in the expression <{2}>"),chap1,chap2,querie)); + finFlag = false; + } + } + } + else{ + //if there are no comma constructs immediately following the dash + //RULE 11: Verses (or chapters if applicable) around each of the dash operator(s) must be sequential + Pattern pattern10 = Pattern.compile("([1-9][0-9]{0,2})\\-([1-9][0-9]{0,2})"); + Matcher matcher10 = pattern10.matcher(querie); + while(matcher10.find()){ + int num1 = Integer.parseInt(matcher10.group(1)); + int num2 = Integer.parseInt(matcher10.group(2)); + if(num1 >= num2){ + errorMessages.add(MessageFormat.format(__("Verses (or chapters if applicable) around the dash operator must be consecutive. Instead <{0}> is greater than or equal to <{1}> in the expression <{2}>"),num1,num2,querie)); + finFlag = false; + } + } + + } + } + + } + + return finFlag; + } + + /** + * + * @return + */ + public String[] getErrorMessages() + { + String[] errorMexs = errorMessages.toArray(new String[errorMessages.size()]); + return errorMexs; + } + + /** + * + * @param txt + * @return + */ + public String toProperCase(String txt) + { + int idx=0; + while(String.valueOf(txt.charAt(idx)).matches("[a-zA-Z]") == false){ + if(idx==txt.length()-1){ break; } + idx++; + } + if(idx versionsabbrev = null; + private static HashMap VersionIndexes; + + private Indexes() throws ClassNotFoundException { + bibleGetDB = BibleGetDB.getInstance(); + if(versionsabbrev==null) { + String versions = bibleGetDB.getMetaData("VERSIONS"); + JsonReader jsonReader = Json.createReader(new StringReader(versions)); + JsonObject jsbooks = jsonReader.readObject(); + versionsabbrev = jsbooks.keySet(); + } + int len = versionsabbrev.size(); + VersionIndexes = new HashMap<>(len,1); + for(String s:versionsabbrev) { + VersionIndexes.put(s, new VersionIDX(s)); + } + } + + public static Indexes getInstance() throws ClassNotFoundException { + if(instance==null) { + instance = new Indexes(); + } + return instance; + } + + public boolean isValidVersion(String version) { + version = version.toUpperCase(); + for(String s:versionsabbrev) { + if(s.equals(version)){ return true; } + } + return false; + } + + public boolean isValidChapter(int chapter,int book,List selectedVersions) { + boolean flag = true; + for(String version:selectedVersions) { + int idx = VersionIndexes.get(version).book_num().indexOf(book); + if(VersionIndexes.get(version).chapter_limit().get(idx) < chapter){ flag=false; } + } + return flag; + } + + public boolean isValidVerse(int verse,int chapter,int book,List selectedVersions) { + boolean flag = true; + for(String version:selectedVersions) { + int idx = VersionIndexes.get(version).book_num().indexOf(book); + //System.out.println("corresponding book index in VersionIndexes for version "+version+", book "+Integer.toString(book)+" is "+Integer.toString(idx)); + if(VersionIndexes.get(version).verse_limit(idx).get(chapter-1) < verse){ flag = false; } + } + return flag; + } + + public int[] getChapterLimit(int book,List selectedVersions) { + int[] retInt = new int[selectedVersions.size()]; + int count = 0; + for(String version:selectedVersions) { + int idx = VersionIndexes.get(version).book_num().indexOf(book); + retInt[count++] = VersionIndexes.get(version).chapter_limit().get(idx); + } +// System.out.print("value of chapter retInt = "); +// System.out.println(Arrays.toString(retInt)); + return retInt; + } + + public int[] getVerseLimit(int chapter,int book,List selectedVersions) { + int[] retInt = new int[selectedVersions.size()]; + int count = 0; + for(String version:selectedVersions) { + int idx = VersionIndexes.get(version).book_num().indexOf(book); + retInt[count++] = VersionIndexes.get(version).verse_limit(idx).get(chapter-1); + } +// System.out.print("value of verse retInt = "); +// System.out.println(Arrays.toString(retInt)); + return retInt; + } + + + private class VersionIDX { + + private JsonObject versionIDX; + + public VersionIDX() { + throw new UnsupportedOperationException("Must initialize with desired version."); + } + + public VersionIDX(String version) { + String versionIdxStr = bibleGetDB.getMetaData(version+"IDX"); + JsonReader jsonReader = Json.createReader(new StringReader(versionIdxStr)); + versionIDX = jsonReader.readObject(); + } + + public List book_num() { + JsonArray booknum = versionIDX.getJsonArray("book_num"); + int len = booknum.size(); + Integer[] bookNum = new Integer[len]; + for(int i=0;i chapter_limit() { + JsonArray chapterlimit = versionIDX.getJsonArray("chapter_limit"); + int len = chapterlimit.size(); + Integer[] chapterLimit = new Integer[len]; + for(int i=0;i verse_limit(int book) { + JsonArray verselimit_temp = versionIDX.getJsonArray("verse_limit"); + //System.out.println(verselimit_temp.toString()); + //System.out.println("array has "+Integer.toString(verselimit_temp.size())+" elements which correspond to books..."); + //System.out.println("requesting array element corresponding to book "+Integer.toString(book+1)+" at index "+Integer.toString(book)); + JsonArray verselimit = verselimit_temp.getJsonArray(book); + //System.out.println(verselimit.toString()); + int len = verselimit.size(); + //System.out.println("verse_limit array has "+Integer.toString(len)+" elements which correspond to actual verse limits in the given book"); + Integer[] verseLimit = new Integer[len]; + for(int i=0;i + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/io/bibleget/OptionsFrame.java b/src/io/bibleget/OptionsFrame.java new file mode 100644 index 0000000..5f4d099 --- /dev/null +++ b/src/io/bibleget/OptionsFrame.java @@ -0,0 +1,2018 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package io.bibleget; + +import static io.bibleget.BibleGetI18N.__; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Image; +import java.awt.Toolkit; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.ItemEvent; +import java.util.ArrayList; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.json.JsonArray; +import javax.json.JsonNumber; +import javax.json.JsonObject; +import javax.json.JsonString; +import javax.json.JsonValue; +import static javax.json.JsonValue.ValueType.NUMBER; +import static javax.json.JsonValue.ValueType.OBJECT; +import static javax.json.JsonValue.ValueType.STRING; +import javax.swing.DefaultComboBoxModel; +import javax.swing.JColorChooser; +import javax.swing.JComboBox; +import javax.swing.JDialog; +import javax.swing.JFrame; +import javax.swing.JTextPane; +import javax.swing.colorchooser.AbstractColorChooserPanel; +import javax.swing.text.Document; +import javax.swing.text.html.HTMLEditorKit; +import javax.swing.text.html.StyleSheet; + +/** + * + * @author Lwangaman + */ +public class OptionsFrame extends javax.swing.JFrame { + + private final int screenWidth; + private final int screenHeight; + private final int frameWidth; + private final int frameHeight; + private final int frameLeft; + private final int frameTop; + + private String paragraphAlignment; + private int paragraphLineSpacing; + private String paragraphFontFamily; + private int paragraphLeftIndent; + + private Color textColorBookChapter; + private Color bgColorBookChapter; + private boolean boldBookChapter; + private boolean italicsBookChapter; + private boolean underscoreBookChapter; + private int fontSizeBookChapter; + private String vAlignBookChapter; + + private Color textColorVerseNumber; + private Color bgColorVerseNumber; + private boolean boldVerseNumber; + private boolean italicsVerseNumber; + private boolean underscoreVerseNumber; + private int fontSizeVerseNumber; + private String vAlignVerseNumber; + + private Color textColorVerseText; + private Color bgColorVerseText; + private boolean boldVerseText; + private boolean italicsVerseText; + private boolean underscoreVerseText; + private int fontSizeVerseText; + private String vAlignVerseText; + + private boolean noVersionFormatting; + + private final BibleGetDB biblegetDB; + + private final HTMLEditorKit kit; + private final Document doc; + private final String HTMLStr; + private final StyleSheet styles; + + private JTextPane myjtextpane; + //private JEditorPane myjeditorpane; + + private final FontFamilyListCellRenderer FFLCRenderer = new FontFamilyListCellRenderer(); + private final DefaultComboBoxModel fontFamilies; + //protected int mouseOver; + /* + static Color listBackground; + static Color listSelectionBackground; + static { + UIDefaults uid = UIManager.getLookAndFeel().getDefaults(); + listBackground = uid.getColor("List.background"); + listSelectionBackground = uid.getColor("List.selectionBackground"); + } + */ + //private final ResourceBundle myMessages; + + private static OptionsFrame instance; + + /** + * Creates new form OptionsFrame + * @param pkgPath + */ + private OptionsFrame() throws ClassNotFoundException { + + //jTextPane does not initialize correctly, it causes a Null Exception Pointer + //Following line keeps this from crashing the program + Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); + + // Get preferences from database + biblegetDB = BibleGetDB.getInstance(); + JsonObject myOptions = biblegetDB.getOptions(); + JsonValue myResults = myOptions.get("rows"); + navigateTree(myResults, null); + this.fontFamilies = BibleGetIO.getFontFamilies(); + + this.kit = new HTMLEditorKit(); + this.doc = kit.createDefaultDocument(); + this.styles = kit.getStyleSheet(); + styles.addRule("body { padding: 6px; background-color: #FFFFFF; }"); + styles.addRule("div.results { font-family: "+paragraphFontFamily+"; }"); + styles.addRule("div.results p.book { font-size:"+fontSizeBookChapter+"pt; }"); + styles.addRule("div.results p.book { font-weight:"+(boldBookChapter?"bold":"normal")+"; }"); + styles.addRule("div.results p.book { color:"+ColorToHexString(textColorBookChapter)+"; }"); + styles.addRule("div.results p.book { background-color:"+ColorToHexString(bgColorBookChapter)+"; }"); + styles.addRule("div.results p.book { line-height: "+paragraphLineSpacing+"%; }"); + styles.addRule("div.results p.book span { vertical-align: "+vAlignBookChapter+"; }"); + styles.addRule("div.results p.verses { text-align: "+paragraphAlignment+"; }"); + styles.addRule("div.results p.verses { line-height: "+paragraphLineSpacing+"%; }"); + styles.addRule("div.results p.verses span.sup { font-size:"+fontSizeVerseNumber+"pt; }"); + styles.addRule("div.results p.verses span.sup { color:"+ColorToHexString(textColorVerseNumber)+";"); + styles.addRule("div.results p.verses span.sup { background-color:"+ColorToHexString(bgColorVerseNumber)+";"); + styles.addRule("div.results p.verses span.sup { vertical-align: "+vAlignVerseNumber+"; }"); + styles.addRule("div.results p.verses span.text { font-size:"+fontSizeVerseText+"pt; }"); + styles.addRule("div.results p.verses span.text { color:"+ColorToHexString(textColorVerseText)+"; }"); + styles.addRule("div.results p.verses span.text { background-color:"+ColorToHexString(bgColorVerseText)+"; }"); + styles.addRule("div.results p.verses span.text { vertical-align: "+vAlignVerseText+"; }"); + + String tempStr = ""; + tempStr += "

"; + tempStr += __("Genesi")+" 1"; + tempStr += "

1"; + tempStr += __("In the beginning, when God created the heavens and the earth—"); + tempStr += "2"; + tempStr += __("and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters—"); + tempStr += "3"; + tempStr += __("Then God said: Let there be light, and there was light."); + tempStr += "

"; + + this.HTMLStr = tempStr; + + Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); + screenWidth = (int)screenSize.getWidth(); + screenHeight = (int)screenSize.getHeight(); + frameWidth = 686; + frameHeight = 503; + frameLeft = (screenWidth / 2) - (frameWidth / 2); + frameTop = (screenHeight / 2) - (frameHeight / 2); + + //this.myMessages = BibleGetI18N.getMessages(); + + initComponents(); + + } + + public static OptionsFrame getInstance() throws ClassNotFoundException + { + if(instance == null) + { + instance = new OptionsFrame(); + } + return instance; + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + buttonGroup1 = new javax.swing.ButtonGroup(); + jPanel2 = new javax.swing.JPanel(); + jPanel3 = new javax.swing.JPanel(); + jPanel1 = new javax.swing.JPanel(); + jToolBar1 = new javax.swing.JToolBar(); + jToggleButton3 = new javax.swing.JToggleButton(); + jToggleButton2 = new javax.swing.JToggleButton(); + jToggleButton4 = new javax.swing.JToggleButton(); + jToggleButton5 = new javax.swing.JToggleButton(); + jPanel8 = new javax.swing.JPanel(); + jToolBar5 = new javax.swing.JToolBar(); + jButton3 = new javax.swing.JButton(); + jButton4 = new javax.swing.JButton(); + jPanel9 = new javax.swing.JPanel(); + jToolBar7 = new javax.swing.JToolBar(); + jComboBox6 = new javax.swing.JComboBox(); + jPanel10 = new javax.swing.JPanel(); + jToolBar6 = new javax.swing.JToolBar(); + jComboBox1 = new javax.swing.JComboBox(); + jPanel4 = new javax.swing.JPanel(); + jToolBar2 = new javax.swing.JToolBar(); + jToggleButton1 = new javax.swing.JToggleButton(); + jToggleButton6 = new javax.swing.JToggleButton(); + jToggleButton7 = new javax.swing.JToggleButton(); + jSeparator1 = new javax.swing.JToolBar.Separator(); + jButton1 = new javax.swing.JButton(); + jButton2 = new javax.swing.JButton(); + jSeparator4 = new javax.swing.JToolBar.Separator(); + jComboBox2 = new javax.swing.JComboBox(); + jToggleButton8 = new javax.swing.JToggleButton(); + jToggleButton9 = new javax.swing.JToggleButton(); + jPanel5 = new javax.swing.JPanel(); + jToolBar3 = new javax.swing.JToolBar(); + jToggleButton10 = new javax.swing.JToggleButton(); + jToggleButton11 = new javax.swing.JToggleButton(); + jToggleButton12 = new javax.swing.JToggleButton(); + jSeparator2 = new javax.swing.JToolBar.Separator(); + jButton5 = new javax.swing.JButton(); + jButton6 = new javax.swing.JButton(); + jSeparator5 = new javax.swing.JToolBar.Separator(); + jComboBox3 = new javax.swing.JComboBox(); + jToggleButton13 = new javax.swing.JToggleButton(); + jToggleButton14 = new javax.swing.JToggleButton(); + jPanel6 = new javax.swing.JPanel(); + jToolBar4 = new javax.swing.JToolBar(); + jToggleButton15 = new javax.swing.JToggleButton(); + jToggleButton16 = new javax.swing.JToggleButton(); + jToggleButton17 = new javax.swing.JToggleButton(); + jSeparator3 = new javax.swing.JToolBar.Separator(); + jButton7 = new javax.swing.JButton(); + jButton8 = new javax.swing.JButton(); + jSeparator6 = new javax.swing.JToolBar.Separator(); + jComboBox4 = new javax.swing.JComboBox(); + jToggleButton18 = new javax.swing.JToggleButton(); + jToggleButton19 = new javax.swing.JToggleButton(); + jPanel7 = new javax.swing.JPanel(); + jScrollPane2 = new javax.swing.JScrollPane(); + jTextPane1 = new javax.swing.JTextPane(); + jTextPane1.putClientProperty(JTextPane.HONOR_DISPLAY_PROPERTIES, true); + jLabel1 = new javax.swing.JLabel(); + jCheckBox1 = new javax.swing.JCheckBox(); + jLabel2 = new javax.swing.JLabel(); + jSeparator7 = new javax.swing.JSeparator(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle(__("User Preferences")); + setBounds(frameLeft,frameTop,frameWidth,frameHeight); + setIconImages(setIconImages()); + setName("myoptions"); // NOI18N + setResizable(false); + + jPanel2.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true)); + + jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, __("Paragraph"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N + jPanel3.setName("Paragraph"); // NOI18N + + jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1), __("Alignment"))); + + jToolBar1.setFloatable(false); + jToolBar1.setRollover(true); + + buttonGroup1.add(jToggleButton3); + jToggleButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/align_left.png"))); // NOI18N + jToggleButton3.setSelected(paragraphAlignment.equals("left")); + jToggleButton3.setFocusable(false); + jToggleButton3.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton3.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton3.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton3.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton3ItemStateChanged(evt); + } + }); + jToolBar1.add(jToggleButton3); + jToggleButton3.getAccessibleContext().setAccessibleParent(jPanel1); + + buttonGroup1.add(jToggleButton2); + jToggleButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/align_center.png"))); // NOI18N + jToggleButton2.setSelected(paragraphAlignment.equals("center")); + jToggleButton2.setFocusable(false); + jToggleButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton2.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton2.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton2.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton2ItemStateChanged(evt); + } + }); + jToolBar1.add(jToggleButton2); + jToggleButton2.getAccessibleContext().setAccessibleParent(jPanel1); + + buttonGroup1.add(jToggleButton4); + jToggleButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/align_right.png"))); // NOI18N + jToggleButton4.setSelected(paragraphAlignment.equals("right")); + jToggleButton4.setFocusable(false); + jToggleButton4.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton4.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton4.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton4.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton4ItemStateChanged(evt); + } + }); + jToolBar1.add(jToggleButton4); + jToggleButton4.getAccessibleContext().setAccessibleParent(jPanel1); + + buttonGroup1.add(jToggleButton5); + jToggleButton5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/align_justify.png"))); // NOI18N + jToggleButton5.setSelected(paragraphAlignment.equals("justify")); + jToggleButton5.setFocusable(false); + jToggleButton5.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton5.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton5.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton5.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton5ItemStateChanged(evt); + } + }); + jToolBar1.add(jToggleButton5); + jToggleButton5.getAccessibleContext().setAccessibleParent(jPanel1); + + javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); + jPanel1.setLayout(jPanel1Layout); + jPanel1Layout.setHorizontalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + jPanel1Layout.setVerticalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + + jPanel8.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1), __("Indent"))); + + jToolBar5.setFloatable(false); + jToolBar5.setRollover(true); + + jButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/increase_indent.png"))); // NOI18N + jButton3.setFocusable(false); + jButton3.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jButton3.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jButton3.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jButton3.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jButton3MouseClicked(evt); + } + }); + jToolBar5.add(jButton3); + + jButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/decrease_indent.png"))); // NOI18N + jButton4.setFocusable(false); + jButton4.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jButton4.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jButton4.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jButton4.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jButton4MouseClicked(evt); + } + }); + jToolBar5.add(jButton4); + + javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8); + jPanel8.setLayout(jPanel8Layout); + jPanel8Layout.setHorizontalGroup( + jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jToolBar5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + jPanel8Layout.setVerticalGroup( + jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jToolBar5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + + jPanel9.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1), __("Line-spacing"))); + + jToolBar7.setFloatable(false); + jToolBar7.setRollover(true); + + jComboBox6.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "1½", "2" })); + jComboBox6.setSelectedIndex(getParaLineSpaceVal()); + jComboBox6.setPreferredSize(new java.awt.Dimension(62, 41)); + jComboBox6.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jComboBox6ItemStateChanged(evt); + } + }); + jToolBar7.add(jComboBox6); + + javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9); + jPanel9.setLayout(jPanel9Layout); + jPanel9Layout.setHorizontalGroup( + jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel9Layout.createSequentialGroup() + .addGap(0, 0, 0) + .addComponent(jToolBar7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, 0)) + ); + jPanel9Layout.setVerticalGroup( + jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel9Layout.createSequentialGroup() + .addComponent(jToolBar7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, 0)) + ); + + jPanel10.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1), __("Font"))); + + jToolBar6.setFloatable(false); + jToolBar6.setRollover(true); + + jComboBox1.setFont(new java.awt.Font(paragraphFontFamily, java.awt.Font.PLAIN, 18)); + jComboBox1.setMaximumRowCount(6); + jComboBox1.setModel(fontFamilies); + jComboBox1.setSelectedItem(paragraphFontFamily); + jComboBox1.setPreferredSize(new java.awt.Dimension(300, 41)); + jComboBox1.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jComboBox1ItemStateChanged(evt); + } + }); + jToolBar6.add(jComboBox1); + + javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10); + jPanel10.setLayout(jPanel10Layout); + jPanel10Layout.setHorizontalGroup( + jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel10Layout.createSequentialGroup() + .addComponent(jToolBar6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, 0)) + ); + jPanel10Layout.setVerticalGroup( + jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(jPanel10Layout.createSequentialGroup() + .addGap(0, 0, 0) + .addComponent(jToolBar6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + ); + + javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); + jPanel3.setLayout(jPanel3Layout); + jPanel3Layout.setHorizontalGroup( + jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel3Layout.createSequentialGroup() + .addGap(0, 0, 0) + .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, 0) + .addComponent(jPanel8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, 0) + .addComponent(jPanel9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, 0) + .addComponent(jPanel10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, 0)) + ); + jPanel3Layout.setVerticalGroup( + jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel3Layout.createSequentialGroup() + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(jPanel3Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jPanel9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jPanel10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))) + .addGap(0, 0, 0)) + ); + + jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(null, __("Book / Chapter"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N + + jToolBar2.setFloatable(false); + jToolBar2.setRollover(true); + + jToggleButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/bold.png"))); // NOI18N + jToggleButton1.setSelected(boldBookChapter); + jToggleButton1.setFocusable(false); + jToggleButton1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton1.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton1.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton1ItemStateChanged(evt); + } + }); + jToolBar2.add(jToggleButton1); + + jToggleButton6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/italic.png"))); // NOI18N + jToggleButton6.setSelected(italicsBookChapter); + jToggleButton6.setFocusable(false); + jToggleButton6.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton6.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton6.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton6.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton6ItemStateChanged(evt); + } + }); + jToolBar2.add(jToggleButton6); + + jToggleButton7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/underline.png"))); // NOI18N + jToggleButton7.setSelected(underscoreBookChapter); + jToggleButton7.setFocusable(false); + jToggleButton7.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton7.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton7.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton7.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton7ItemStateChanged(evt); + } + }); + jToolBar2.add(jToggleButton7); + jToolBar2.add(jSeparator1); + + jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/text_color.png"))); // NOI18N + jButton1.setFocusable(false); + jButton1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jButton1.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jButton1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jButton1.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jButton1MouseClicked(evt); + } + }); + jToolBar2.add(jButton1); + + jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/background_color.png"))); // NOI18N + jButton2.setFocusable(false); + jButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jButton2.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jButton2.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jButton2.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jButton2MouseClicked(evt); + } + }); + jToolBar2.add(jButton2); + jToolBar2.add(jSeparator4); + + jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "18", "20", "22", "24", "26", "28", "32", "36", "40", "44", "48", "54", "60", "66", "72", "80", "88", "96" })); + jComboBox2.setSelectedItem(""+fontSizeBookChapter+""); + jComboBox2.setToolTipText("Book / Chapter font size"); + jComboBox2.setMinimumSize(new java.awt.Dimension(47, 37)); + jComboBox2.setPreferredSize(new java.awt.Dimension(47, 37)); + jComboBox2.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jComboBox2ItemStateChanged(evt); + } + }); + jToolBar2.add(jComboBox2); + + jToggleButton8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/superscript.png"))); // NOI18N + jToggleButton8.setSelected(vAlignBookChapter.equals("super")); + jToggleButton8.setFocusable(false); + jToggleButton8.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton8.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton8.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton8.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton8ItemStateChanged(evt); + } + }); + jToolBar2.add(jToggleButton8); + + jToggleButton9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/subscript.png"))); // NOI18N + jToggleButton9.setSelected(vAlignBookChapter.equals("sub")); + jToggleButton9.setFocusable(false); + jToggleButton9.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton9.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton9.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton9.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton9ItemStateChanged(evt); + } + }); + jToolBar2.add(jToggleButton9); + + javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4); + jPanel4.setLayout(jPanel4Layout); + jPanel4Layout.setHorizontalGroup( + jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel4Layout.createSequentialGroup() + .addComponent(jToolBar2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap()) + ); + jPanel4Layout.setVerticalGroup( + jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jToolBar2, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + + jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder(null, __("Verse Number"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N + + jToolBar3.setFloatable(false); + jToolBar3.setRollover(true); + + jToggleButton10.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/bold.png"))); // NOI18N + jToggleButton10.setSelected(boldVerseNumber); + jToggleButton10.setFocusable(false); + jToggleButton10.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton10.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton10.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton10.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton10ItemStateChanged(evt); + } + }); + jToolBar3.add(jToggleButton10); + + jToggleButton11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/italic.png"))); // NOI18N + jToggleButton11.setSelected(italicsVerseNumber); + jToggleButton11.setFocusable(false); + jToggleButton11.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton11.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton11.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton11.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton11ItemStateChanged(evt); + } + }); + jToolBar3.add(jToggleButton11); + + jToggleButton12.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/underline.png"))); // NOI18N + jToggleButton12.setSelected(underscoreVerseNumber); + jToggleButton12.setFocusable(false); + jToggleButton12.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton12.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton12.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton12.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton12ItemStateChanged(evt); + } + }); + jToolBar3.add(jToggleButton12); + jToolBar3.add(jSeparator2); + + jButton5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/text_color.png"))); // NOI18N + jButton5.setFocusable(false); + jButton5.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jButton5.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jButton5.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jButton5.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jButton5MouseClicked(evt); + } + }); + jToolBar3.add(jButton5); + + jButton6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/background_color.png"))); // NOI18N + jButton6.setFocusable(false); + jButton6.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jButton6.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jButton6.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jButton6.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jButton6MouseClicked(evt); + } + }); + jToolBar3.add(jButton6); + jToolBar3.add(jSeparator5); + + jComboBox3.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "18", "20", "22", "24", "26", "28", "32", "36", "40", "44", "48", "54", "60", "66", "72", "80", "88", "96" })); + jComboBox3.setSelectedItem(""+fontSizeVerseNumber+""); + jComboBox3.setToolTipText("Verse Number font size"); + jComboBox3.setMinimumSize(new java.awt.Dimension(47, 37)); + jComboBox3.setPreferredSize(new java.awt.Dimension(47, 37)); + jComboBox3.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jComboBox3ItemStateChanged(evt); + } + }); + jToolBar3.add(jComboBox3); + + jToggleButton13.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/superscript.png"))); // NOI18N + jToggleButton13.setSelected(vAlignVerseNumber.equals("super")); + jToggleButton13.setFocusable(false); + jToggleButton13.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton13.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton13.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton13.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton13ItemStateChanged(evt); + } + }); + jToolBar3.add(jToggleButton13); + + jToggleButton14.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/subscript.png"))); // NOI18N + jToggleButton14.setSelected(vAlignVerseNumber.equals("sub")); + jToggleButton14.setFocusable(false); + jToggleButton14.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton14.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton14.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton14.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton14ItemStateChanged(evt); + } + }); + jToolBar3.add(jToggleButton14); + + javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5); + jPanel5.setLayout(jPanel5Layout); + jPanel5Layout.setHorizontalGroup( + jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel5Layout.createSequentialGroup() + .addComponent(jToolBar3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap()) + ); + jPanel5Layout.setVerticalGroup( + jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jToolBar3, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + + jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder(null, __("Verse Text"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N + + jToolBar4.setFloatable(false); + jToolBar4.setRollover(true); + + jToggleButton15.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/bold.png"))); // NOI18N + jToggleButton15.setSelected(boldVerseText); + jToggleButton15.setFocusable(false); + jToggleButton15.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton15.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton15.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton15.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton15ItemStateChanged(evt); + } + }); + jToolBar4.add(jToggleButton15); + + jToggleButton16.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/italic.png"))); // NOI18N + jToggleButton16.setSelected(italicsVerseText); + jToggleButton16.setFocusable(false); + jToggleButton16.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton16.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton16.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton16.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton16ItemStateChanged(evt); + } + }); + jToolBar4.add(jToggleButton16); + + jToggleButton17.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/underline.png"))); // NOI18N + jToggleButton17.setSelected(underscoreVerseText); + jToggleButton17.setFocusable(false); + jToggleButton17.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton17.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton17.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton17.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton17ItemStateChanged(evt); + } + }); + jToolBar4.add(jToggleButton17); + jToolBar4.add(jSeparator3); + + jButton7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/text_color.png"))); // NOI18N + jButton7.setFocusable(false); + jButton7.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jButton7.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jButton7.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jButton7.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jButton7MouseClicked(evt); + } + }); + jToolBar4.add(jButton7); + + jButton8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/background_color.png"))); // NOI18N + jButton8.setFocusable(false); + jButton8.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jButton8.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jButton8.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jButton8.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jButton8MouseClicked(evt); + } + }); + jToolBar4.add(jButton8); + jToolBar4.add(jSeparator6); + + jComboBox4.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "18", "20", "22", "24", "26", "28", "32", "36", "40", "44", "48", "54", "60", "66", "72", "80", "88", "96" })); + jComboBox4.setSelectedItem(""+fontSizeVerseText+""); + jComboBox4.setToolTipText("Verse Text font size"); + jComboBox4.setMinimumSize(new java.awt.Dimension(47, 37)); + jComboBox4.setPreferredSize(new java.awt.Dimension(47, 37)); + jComboBox4.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jComboBox4ItemStateChanged(evt); + } + }); + jToolBar4.add(jComboBox4); + + jToggleButton18.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/superscript.png"))); // NOI18N + jToggleButton18.setSelected(vAlignVerseText.equals("super")); + jToggleButton18.setFocusable(false); + jToggleButton18.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton18.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton18.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton18.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton18ItemStateChanged(evt); + } + }); + jToolBar4.add(jToggleButton18); + + jToggleButton19.setIcon(new javax.swing.ImageIcon(getClass().getResource("/io/bibleget/images/wysiwyg/24x24/subscript.png"))); // NOI18N + jToggleButton19.setSelected(vAlignVerseText.equals("sub")); + jToggleButton19.setFocusable(false); + jToggleButton19.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + jToggleButton19.setMargin(new java.awt.Insets(4, 4, 4, 4)); + jToggleButton19.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleButton19.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jToggleButton19ItemStateChanged(evt); + } + }); + jToolBar4.add(jToggleButton19); + + javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6); + jPanel6.setLayout(jPanel6Layout); + jPanel6Layout.setHorizontalGroup( + jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel6Layout.createSequentialGroup() + .addComponent(jToolBar4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap()) + ); + jPanel6Layout.setVerticalGroup( + jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jToolBar4, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + + jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder(__("Preview"))); + + jTextPane1.setEditable(false); + jTextPane1.setContentType("text/html;charset=UTF-8"); // NOI18N + jTextPane1.setDocument(doc); + jTextPane1.setEditorKit(kit); + jTextPane1.setText(HTMLStr); + jTextPane1.setMaximumSize(new java.awt.Dimension(300, 300)); + jScrollPane2.setViewportView(jTextPane1); + + javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7); + jPanel7.setLayout(jPanel7Layout); + jPanel7Layout.setHorizontalGroup( + jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel7Layout.createSequentialGroup() + .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE) + .addGap(0, 0, 0)) + ); + jPanel7Layout.setVerticalGroup( + jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane2) + ); + + jLabel1.setFont(new java.awt.Font("Tahoma", 2, 11)); // NOI18N + jLabel1.setForeground(new java.awt.Color(255, 0, 0)); + jLabel1.setText("(*"+__("line-spacing not visible in the preview")+")"); + + jCheckBox1.setSelected(noVersionFormatting); + jCheckBox1.setText("Override Bible Version Formatting"); + jCheckBox1.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jCheckBox1ItemStateChanged(evt); + } + }); + jCheckBox1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jCheckBox1ActionPerformed(evt); + } + }); + + jLabel2.setText("Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting."); + jLabel2.setOpaque(true); + + javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); + jPanel2.setLayout(jPanel2Layout); + jPanel2Layout.setHorizontalGroup( + jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel2Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addComponent(jSeparator7) + .addComponent(jPanel3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup() + .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addComponent(jPanel4, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jPanel5, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jPanel6, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jLabel1) + .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jCheckBox1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + jPanel2Layout.setVerticalGroup( + jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel2Layout.createSequentialGroup() + .addContainerGap() + .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addGroup(jPanel2Layout.createSequentialGroup() + .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jSeparator7, javax.swing.GroupLayout.PREFERRED_SIZE, 9, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jCheckBox1) + .addContainerGap()) + ); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap()) + ); + + pack(); + }//
//GEN-END:initComponents + + private void jColorChooserClean(JColorChooser jColorChuser){ + AbstractColorChooserPanel panels[] = jColorChuser.getChooserPanels(); + jColorChuser.removeChooserPanel(panels[4]); + jColorChuser.removeChooserPanel(panels[3]); + jColorChuser.removeChooserPanel(panels[2]); + } + + private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton1MouseClicked + final JColorChooser jColorChooser = new JColorChooser(textColorBookChapter); + jColorChooserClean(jColorChooser); + ActionListener okActionListener = new ActionListener(){ + @Override + public void actionPerformed(ActionEvent actionEvent){ + textColorBookChapter = jColorChooser.getColor(); + String rgb = ColorToHexString(textColorBookChapter); + styles.addRule("div.results p.book { color:"+rgb+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + if(biblegetDB.setStringOption("TEXTCOLORBOOKCHAPTER", rgb)){ + //System.out.println("TEXTCOLORBOOKCHAPTER was successfully updated in database to value "+rgb); + } + else{ + //System.out.println("Error updating TEXTCOLORBOOKCHAPTER in database"); + } + } + }; + ActionListener cancelActionListener = new ActionListener(){ + @Override + public void actionPerformed(ActionEvent actionEvent){ + + } + }; + final JDialog jDialog = JColorChooser.createDialog(null, __("Choose Book / Chapter Font Color"), true, jColorChooser, okActionListener, cancelActionListener); + jDialog.setIconImages(setIconImagesTextColor()); + jDialog.setVisible(true); + }//GEN-LAST:event_jButton1MouseClicked + + private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton2MouseClicked + final JColorChooser jColorChooser = new JColorChooser(bgColorBookChapter); + jColorChooserClean(jColorChooser); + ActionListener okActionListener = new ActionListener(){ + @Override + public void actionPerformed(ActionEvent actionEvent){ + bgColorBookChapter = jColorChooser.getColor(); + String rgb = ColorToHexString(bgColorBookChapter); + styles.addRule("div.results p.book { background-color:"+rgb+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + if(biblegetDB.setStringOption("BGCOLORBOOKCHAPTER", rgb)){ + //System.out.println("BGCOLORBOOKCHAPTER was successfully updated in database to value "+rgb); + } + else{ + //System.out.println("Error updating BGCOLORBOOKCHAPTER in database"); + } + } + }; + ActionListener cancelActionListener = new ActionListener(){ + @Override + public void actionPerformed(ActionEvent actionEvent){ + + } + }; + final JDialog jDialog = JColorChooser.createDialog(null, __("Choose Book / Chapter Background Color"), true, jColorChooser, okActionListener, cancelActionListener); + jDialog.setIconImages(setIconImagesBGColor()); + jDialog.setVisible(true); + }//GEN-LAST:event_jButton2MouseClicked + + private void jButton5MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton5MouseClicked + final JColorChooser jColorChooser = new JColorChooser(textColorVerseNumber); + jColorChooserClean(jColorChooser); + ActionListener okActionListener = new ActionListener(){ + @Override + public void actionPerformed(ActionEvent actionEvent){ + textColorVerseNumber = jColorChooser.getColor(); + String rgb = ColorToHexString(textColorVerseNumber); + styles.addRule("div.results p.verses span.sup { color:"+rgb+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + if(biblegetDB.setStringOption("TEXTCOLORVERSENUMBER", rgb)){ + //System.out.println("TEXTCOLORVERSENUMBER was successfully updated in database to value "+rgb); + } + else{ + //System.out.println("Error updating TEXTCOLORVERSENUMBER in database"); + } + } + }; + ActionListener cancelActionListener = new ActionListener(){ + @Override + public void actionPerformed(ActionEvent actionEvent){ + + } + }; + final JDialog jDialog = JColorChooser.createDialog(null, __("Choose Verse Number Font Color"), true, jColorChooser, okActionListener, cancelActionListener); + jDialog.setIconImages(setIconImagesTextColor()); + jDialog.setVisible(true); + }//GEN-LAST:event_jButton5MouseClicked + + private void jButton6MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton6MouseClicked + final JColorChooser jColorChooser = new JColorChooser(bgColorVerseNumber); + jColorChooserClean(jColorChooser); + ActionListener okActionListener = new ActionListener(){ + @Override + public void actionPerformed(ActionEvent actionEvent){ + bgColorVerseNumber = jColorChooser.getColor(); + String rgb = ColorToHexString(bgColorVerseNumber); + styles.addRule("div.results p.verses span.sup { background-color:"+rgb+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + if(biblegetDB.setStringOption("BGCOLORVERSENUMBER", rgb)){ + //System.out.println("BGCOLORVERSENUMBER was successfully updated in database to value "+rgb); + } + else{ + //System.out.println("Error updating BGCOLORVERSENUMBER in database"); + } + } + }; + ActionListener cancelActionListener = new ActionListener(){ + @Override + public void actionPerformed(ActionEvent actionEvent){ + + } + }; + final JDialog jDialog = JColorChooser.createDialog(null, __("Choose Verse Number Background Color"), true, jColorChooser, okActionListener, cancelActionListener); + jDialog.setIconImages(setIconImagesBGColor()); + jDialog.setVisible(true); + }//GEN-LAST:event_jButton6MouseClicked + + private void jButton7MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton7MouseClicked + final JColorChooser jColorChooser = new JColorChooser(textColorVerseText); + jColorChooserClean(jColorChooser); + ActionListener okActionListener = new ActionListener(){ + @Override + public void actionPerformed(ActionEvent actionEvent){ + textColorVerseText = jColorChooser.getColor(); + String rgb = ColorToHexString(textColorVerseText); + styles.addRule("div.results p.verses span.text { color:"+rgb+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + if(biblegetDB.setStringOption("TEXTCOLORVERSETEXT", rgb)){ + //System.out.println("TEXTCOLORVERSETEXT was successfully updated in database to value "+rgb); + } + else{ + //System.out.println("Error updating TEXTCOLORVERSETEXT in database"); + } + } + }; + ActionListener cancelActionListener = new ActionListener(){ + @Override + public void actionPerformed(ActionEvent actionEvent){ + + } + }; + final JDialog jDialog = JColorChooser.createDialog(null, __("Choose Verse Text Font Color"), true, jColorChooser, okActionListener, cancelActionListener); + jDialog.setIconImages(setIconImagesTextColor()); + jDialog.setVisible(true); + }//GEN-LAST:event_jButton7MouseClicked + + private void jButton8MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton8MouseClicked + final JColorChooser jColorChooser = new JColorChooser(bgColorVerseText); + jColorChooserClean(jColorChooser); + ActionListener okActionListener = new ActionListener(){ + @Override + public void actionPerformed(ActionEvent actionEvent){ + bgColorVerseText = jColorChooser.getColor(); + String rgb = ColorToHexString(bgColorVerseText); + styles.addRule("div.results p.verses span.text { background-color:"+rgb+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + if(biblegetDB.setStringOption("BGCOLORVERSETEXT", rgb)){ + //System.out.println("BGCOLORVERSETEXT was successfully updated in database to value "+rgb); + } + else{ + //System.out.println("Error updating BGCOLORVERSETEXT in database"); + } + } + }; + ActionListener cancelActionListener = new ActionListener(){ + @Override + public void actionPerformed(ActionEvent actionEvent){ + + } + }; + final JDialog jDialog = JColorChooser.createDialog(null, __("Choose Verse Text Background Color"), true, jColorChooser, okActionListener, cancelActionListener); + jDialog.setIconImages(setIconImagesBGColor()); + jDialog.setVisible(true); + }//GEN-LAST:event_jButton8MouseClicked + + private void jToggleButton1ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton1ItemStateChanged + if(evt.getStateChange()==ItemEvent.SELECTED){ + boldBookChapter = true; + styles.addRule("div.results p.book { font-weight:bold; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + else if(evt.getStateChange()==ItemEvent.DESELECTED){ + boldBookChapter = false; + styles.addRule("div.results p.book { font-weight:normal; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + + if(biblegetDB.setBooleanOption("BOLDBOOKCHAPTER", boldBookChapter)){ + //System.out.println("BOLDBOOKCHAPTER was successfully updated in database to value "+boldBookChapter); + } + else{ + //System.out.println("Error updating BOLDBOOKCHAPTER in database"); + } + }//GEN-LAST:event_jToggleButton1ItemStateChanged + + private void jToggleButton6ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton6ItemStateChanged + if(evt.getStateChange()==ItemEvent.SELECTED){ + italicsBookChapter = true; + styles.addRule("div.results p.book { font-style:italic; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + else if(evt.getStateChange()==ItemEvent.DESELECTED){ + italicsBookChapter = false; + styles.addRule("div.results p.book { font-style:normal; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + + if(biblegetDB.setBooleanOption("ITALICSBOOKCHAPTER", italicsBookChapter)){ + //System.out.println("ITALICSBOOKCHAPTER was successfully updated in database to value "+italicsBookChapter); + } + else{ + //System.out.println("Error updating ITALICSBOOKCHAPTER in database"); + } + }//GEN-LAST:event_jToggleButton6ItemStateChanged + + private void jToggleButton7ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton7ItemStateChanged + if(evt.getStateChange()==ItemEvent.SELECTED){ + underscoreBookChapter = true; + styles.addRule("div.results p.book { text-decoration:underline; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + else if(evt.getStateChange()==ItemEvent.DESELECTED){ + underscoreBookChapter = false; + styles.addRule("div.results p.book { text-decoration:none; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + + if(biblegetDB.setBooleanOption("UNDERSCOREBOOKCHAPTER", underscoreBookChapter)){ + //System.out.println("UNDERSCOREBOOKCHAPTER was successfully updated in database to value "+underscoreBookChapter); + } + else{ + //System.out.println("Error updating UNDERSCOREBOOKCHAPTER in database"); + } + }//GEN-LAST:event_jToggleButton7ItemStateChanged + + private void jToggleButton10ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton10ItemStateChanged + if(evt.getStateChange()==ItemEvent.SELECTED){ + boldVerseNumber = true; + styles.addRule("div.results p.verses span.sup { font-weight:bold; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + else if(evt.getStateChange()==ItemEvent.DESELECTED){ + boldVerseNumber = false; + styles.addRule("div.results p.verses span.sup { font-weight:normal; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + + if(biblegetDB.setBooleanOption("BOLDVERSENUMBER", boldVerseNumber)){ + //System.out.println("BOLDVERSENUMBER was successfully updated in database to value "+boldVerseNumber); + } + else{ + //System.out.println("Error updating BOLDVERSENUMBER in database"); + } + }//GEN-LAST:event_jToggleButton10ItemStateChanged + + private void jToggleButton11ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton11ItemStateChanged + if(evt.getStateChange()==ItemEvent.SELECTED){ + italicsVerseNumber = true; + styles.addRule("div.results p.verses span.sup { font-style:italic; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + else if(evt.getStateChange()==ItemEvent.DESELECTED){ + italicsVerseNumber = false; + styles.addRule("div.results p.verses span.sup { font-style:normal; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + + if(biblegetDB.setBooleanOption("ITALICSVERSENUMBER", italicsVerseNumber)){ + //System.out.println("ITALICSVERSENUMBER was successfully updated in database to value "+italicsVerseNumber); + } + else{ + //System.out.println("Error updating ITALICSVERSENUMBER in database"); + } + }//GEN-LAST:event_jToggleButton11ItemStateChanged + + private void jToggleButton12ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton12ItemStateChanged + if(evt.getStateChange()==ItemEvent.SELECTED){ + underscoreVerseNumber = true; + styles.addRule("div.results p.verses span.sup { text-decoration:underline; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + else if(evt.getStateChange()==ItemEvent.DESELECTED){ + underscoreVerseNumber = false; + styles.addRule("div.results p.verses span.sup { text-decoration:none; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + + if(biblegetDB.setBooleanOption("UNDERSCOREVERSENUMBER", underscoreVerseNumber)){ + //System.out.println("UNDERSCOREVERSENUMBER was successfully updated in database to value "+underscoreVerseNumber); + } + else{ + //System.out.println("Error updating UNDERSCOREVERSENUMBER in database"); + } + }//GEN-LAST:event_jToggleButton12ItemStateChanged + + private void jToggleButton15ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton15ItemStateChanged + if(evt.getStateChange()==ItemEvent.SELECTED){ + boldVerseText = true; + styles.addRule("div.results p.verses span.text { font-weight:bold; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + else if(evt.getStateChange()==ItemEvent.DESELECTED){ + boldVerseText = false; + styles.addRule("div.results p.verses span.text { font-weight:normal; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + + if(biblegetDB.setBooleanOption("BOLDVERSETEXT", boldVerseText)){ + //System.out.println("BOLDVERSETEXT was successfully updated in database to value "+boldVerseText); + } + else{ + //System.out.println("Error updating BOLDVERSETEXT in database"); + } + }//GEN-LAST:event_jToggleButton15ItemStateChanged + + private void jToggleButton16ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton16ItemStateChanged + if(evt.getStateChange()==ItemEvent.SELECTED){ + italicsVerseText = true; + styles.addRule("div.results p.verses span.text { font-style:italic; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + else if(evt.getStateChange()==ItemEvent.DESELECTED){ + italicsVerseText = false; + styles.addRule("div.results p.verses span.text { font-style:normal; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + + if(biblegetDB.setBooleanOption("ITALICSVERSETEXT", italicsVerseText)){ + //System.out.println("ITALICSVERSETEXT was successfully updated in database to value "+italicsVerseText); + } + else{ + //System.out.println("Error updating ITALICSVERSETEXT in database"); + } + }//GEN-LAST:event_jToggleButton16ItemStateChanged + + private void jToggleButton17ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton17ItemStateChanged + if(evt.getStateChange()==ItemEvent.SELECTED){ + underscoreVerseText = true; + styles.addRule("div.results p.verses span.text { text-decoration:underline; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + else if(evt.getStateChange()==ItemEvent.DESELECTED){ + underscoreVerseText = false; + styles.addRule("div.results p.verses span.text { text-decoration:none; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + + if(biblegetDB.setBooleanOption("UNDERSCOREVERSETEXT", underscoreVerseText)){ + //System.out.println("UNDERSCOREVERSETEXT was successfully updated in database to value "+underscoreVerseText); + } + else{ + //System.out.println("Error updating UNDERSCOREVERSETEXT in database"); + } + }//GEN-LAST:event_jToggleButton17ItemStateChanged + + private void jToggleButton3ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton3ItemStateChanged + if(evt.getStateChange()==ItemEvent.SELECTED){ + paragraphAlignment = "left"; + styles.addRule("div.results p.verses { text-align:"+paragraphAlignment+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + + if(biblegetDB.setStringOption("PARAGRAPHALIGNMENT", paragraphAlignment)){ + //System.out.println("PARAGRAPHALIGNMENT was successfully updated in database to value "+paragraphAlignment); + } + else{ + //System.out.println("Error updating PARAGRAPHALIGNMENT in database"); + } + } + }//GEN-LAST:event_jToggleButton3ItemStateChanged + + private void jToggleButton2ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton2ItemStateChanged + if(evt.getStateChange()==ItemEvent.SELECTED){ + paragraphAlignment = "center"; + styles.addRule("div.results p.verses { text-align:"+paragraphAlignment+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + + if(biblegetDB.setStringOption("PARAGRAPHALIGNMENT", paragraphAlignment)){ + //System.out.println("PARAGRAPHALIGNMENT was successfully updated in database to value "+paragraphAlignment); + } + else{ + //System.out.println("Error updating PARAGRAPHALIGNMENT in database"); + } + } + }//GEN-LAST:event_jToggleButton2ItemStateChanged + + private void jToggleButton4ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton4ItemStateChanged + if(evt.getStateChange()==ItemEvent.SELECTED){ + paragraphAlignment = "right"; + styles.addRule("div.results p.verses { text-align:"+paragraphAlignment+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + + if(biblegetDB.setStringOption("PARAGRAPHALIGNMENT", paragraphAlignment)){ + //System.out.println("PARAGRAPHALIGNMENT was successfully updated in database to value "+paragraphAlignment); + } + else{ + //System.out.println("Error updating PARAGRAPHALIGNMENT in database"); + } + } + }//GEN-LAST:event_jToggleButton4ItemStateChanged + + private void jToggleButton5ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton5ItemStateChanged + if(evt.getStateChange()==ItemEvent.SELECTED){ + paragraphAlignment = "justify"; + styles.addRule("div.results p.verses { text-align:"+paragraphAlignment+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + + if(biblegetDB.setStringOption("PARAGRAPHALIGNMENT", paragraphAlignment)){ + //System.out.println("PARAGRAPHALIGNMENT was successfully updated in database to value "+paragraphAlignment); + } + else{ + //System.out.println("Error updating PARAGRAPHALIGNMENT in database"); + } + } + }//GEN-LAST:event_jToggleButton5ItemStateChanged + + private void jButton3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton3MouseClicked + paragraphLeftIndent += 5; + styles.addRule("div.results { padding-left:"+paragraphLeftIndent+"pt; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + + if(biblegetDB.setIntOption("PARAGRAPHLEFTINDENT", paragraphLeftIndent)){ + //System.out.println("PARAGRAPHLEFTINDENT was successfully updated in database to value "+paragraphLeftIndent); + } + else{ + //System.out.println("Error updating PARAGRAPHLEFTINDENT in database"); + } + }//GEN-LAST:event_jButton3MouseClicked + + private void jButton4MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton4MouseClicked + if(paragraphLeftIndent>=5){paragraphLeftIndent -= 5;} + styles.addRule("div.results { padding-left:"+paragraphLeftIndent+"pt; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + + if(biblegetDB.setIntOption("PARAGRAPHLEFTINDENT", paragraphLeftIndent)){ + //System.out.println("PARAGRAPHLEFTINDENT was successfully updated in database to value "+paragraphLeftIndent); + } + else{ + //System.out.println("Error updating PARAGRAPHLEFTINDENT in database"); + } + }//GEN-LAST:event_jButton4MouseClicked + + private void jToggleButton8ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton8ItemStateChanged + // TODO add your handling code here: + if(evt.getStateChange()==ItemEvent.SELECTED){ + jToggleButton9.setSelected(false); + vAlignBookChapter = "super"; + //System.out.println("setting book-chapter vertical-align to: "+vAlignBookChapter); + styles.addRule("div.results p.book span { vertical-align: "+vAlignBookChapter+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + else if(evt.getStateChange()==ItemEvent.DESELECTED){ + vAlignBookChapter = "initial"; + //System.out.println("btn8 :: setting book-chapter vertical-align to: "+vAlignBookChapter); + styles.addRule("div.results p.book span { vertical-align: "+vAlignBookChapter+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + + if(biblegetDB.setStringOption("VALIGNBOOKCHAPTER", vAlignBookChapter)){ + //System.out.println("VALIGNBOOKCHAPTER was successfully updated in database to value "+vAlignBookChapter); + } + else{ + //System.out.println("Error updating VALIGNBOOKCHAPTER in database"); + } + }//GEN-LAST:event_jToggleButton8ItemStateChanged + + private void jToggleButton9ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton9ItemStateChanged + // TODO add your handling code here: + if(evt.getStateChange()==ItemEvent.SELECTED){ + jToggleButton8.setSelected(false); + vAlignBookChapter = "sub"; + //System.out.println("setting book-chapter vertical-align to: "+vAlignBookChapter); + styles.addRule("div.results p.book span { vertical-align: "+vAlignBookChapter+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + else if(evt.getStateChange()==ItemEvent.DESELECTED){ + vAlignBookChapter = "initial"; + //System.out.println("btn9 :: setting book-chapter vertical-align to: "+vAlignBookChapter); + styles.addRule("div.results p.book span { vertical-align: "+vAlignBookChapter+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + + if(biblegetDB.setStringOption("VALIGNBOOKCHAPTER", vAlignBookChapter)){ + System.out.println("VALIGNBOOKCHAPTER was successfully updated in database to value "+vAlignBookChapter); + } + else{ + //System.out.println("Error updating VALIGNBOOKCHAPTER in database"); + } + }//GEN-LAST:event_jToggleButton9ItemStateChanged + + private void jToggleButton13ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton13ItemStateChanged + // TODO add your handling code here: + if(evt.getStateChange()==ItemEvent.SELECTED){ + jToggleButton14.setSelected(false); + vAlignVerseNumber = "super"; + //System.out.println("setting verse-number vertical-align to: "+vAlignVerseNumber); + styles.addRule("div.results p.verses span.sup { vertical-align: "+vAlignVerseNumber+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + else if(evt.getStateChange()==ItemEvent.DESELECTED){ + vAlignVerseNumber = "initial"; + //System.out.println("btn13 :: setting verse-number vertical-align to: "+vAlignVerseNumber); + styles.addRule("div.results p.verses span.sup { vertical-align: "+vAlignVerseNumber+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + + if(biblegetDB.setStringOption("VALIGNVERSENUMBER", vAlignVerseNumber)){ + //System.out.println("VALIGNVERSENUMBER was successfully updated in database to value "+vAlignVerseNumber); + } + else{ + //System.out.println("Error updating VALIGNVERSENUMBER in database"); + } + }//GEN-LAST:event_jToggleButton13ItemStateChanged + + private void jToggleButton14ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton14ItemStateChanged + // TODO add your handling code here: + if(evt.getStateChange()==ItemEvent.SELECTED){ + jToggleButton13.setSelected(false); + vAlignVerseNumber = "sub"; + //System.out.println("setting verse-number vertical-align to: "+vAlignVerseNumber); + styles.addRule("div.results p.verses span.sup { vertical-align: "+vAlignVerseNumber+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + else if(evt.getStateChange()==ItemEvent.DESELECTED){ + vAlignVerseNumber = "initial"; + //System.out.println("btn14 :: setting verse-number vertical-align to: "+vAlignVerseNumber); + styles.addRule("div.results p.verses span.sup { vertical-align: "+vAlignVerseNumber+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + + if(biblegetDB.setStringOption("VALIGNVERSENUMBER", vAlignVerseNumber)){ + //System.out.println("VALIGNVERSENUMBER was successfully updated in database to value "+vAlignVerseNumber); + } + else{ + //System.out.println("Error updating VALIGNVERSENUMBER in database"); + } + }//GEN-LAST:event_jToggleButton14ItemStateChanged + + private void jToggleButton18ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton18ItemStateChanged + // TODO add your handling code here: + if(evt.getStateChange()==ItemEvent.SELECTED){ + jToggleButton19.setSelected(false); + vAlignVerseText = "super"; + //System.out.println("setting verse-text vertical-align to: "+vAlignVerseNumber); + styles.addRule("div.results p.verses span.text { vertical-align: "+vAlignVerseText+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + else if(evt.getStateChange()==ItemEvent.DESELECTED){ + vAlignVerseText = "initial"; + //System.out.println("btn18 :: setting verse-text vertical-align to: "+vAlignVerseNumber); + styles.addRule("div.results p.verses span.text { vertical-align: "+vAlignVerseText+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + + if(biblegetDB.setStringOption("VALIGNVERSETEXT", vAlignVerseText)){ + //System.out.println("VALIGNVERSETEXT was successfully updated in database to value "+vAlignVerseText); + } + else{ + //System.out.println("Error updating VALIGNVERSETEXT in database"); + } + }//GEN-LAST:event_jToggleButton18ItemStateChanged + + private void jToggleButton19ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jToggleButton19ItemStateChanged + // TODO add your handling code here: + if(evt.getStateChange()==ItemEvent.SELECTED){ + jToggleButton18.setSelected(false); + vAlignVerseText = "sub"; + //System.out.println("setting verse-text vertical-align to: "+vAlignVerseNumber); + styles.addRule("div.results p.verses span.text { vertical-align: "+vAlignVerseText+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + else if(evt.getStateChange()==ItemEvent.DESELECTED){ + vAlignVerseText = "initial"; + //System.out.println("btn19 :: setting verse-text vertical-align to: "+vAlignVerseNumber); + styles.addRule("div.results p.verses span.text { vertical-align: "+vAlignVerseText+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + } + + if(biblegetDB.setStringOption("VALIGNVERSETEXT", vAlignVerseText)){ + //System.out.println("VALIGNVERSETEXT was successfully updated in database to value "+vAlignVerseText); + } + else{ + //System.out.println("Error updating VALIGNVERSETEXT in database"); + } + }//GEN-LAST:event_jToggleButton19ItemStateChanged + + private void jComboBox2ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jComboBox2ItemStateChanged + // TODO add your handling code here: + if(evt.getStateChange()==ItemEvent.SELECTED) { + Object item = evt.getItem(); + // do something with object + String fontsize = item.toString(); + fontSizeBookChapter = Integer.parseInt(fontsize); + styles.addRule("div.results p.book { font-size:"+fontSizeBookChapter+"pt; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + if(biblegetDB.setIntOption("FONTSIZEBOOKCHAPTER", fontSizeBookChapter)){ + //System.out.println("FONTSIZEBOOKCHAPTER was successfully updated in database to value "+fontSizeBookChapter); + } + else{ + //System.out.println("Error updating FONTSIZEBOOKCHAPTER in database"); + } + } + }//GEN-LAST:event_jComboBox2ItemStateChanged + + private void jComboBox3ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jComboBox3ItemStateChanged + // TODO add your handling code here: + if(evt.getStateChange()==ItemEvent.SELECTED) { + Object item = evt.getItem(); + // do something with object + String fontsize = item.toString(); + fontSizeVerseNumber = Integer.parseInt(fontsize); + styles.addRule("div.results p.verses span.sup { font-size:"+fontSizeVerseNumber+"pt;}"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + if(biblegetDB.setIntOption("FONTSIZEVERSENUMBER", fontSizeVerseNumber)){ + //System.out.println("FONTSIZEVERSENUMBER was successfully updated in database to value "+fontSizeVerseNumber); + } + else{ + //System.out.println("Error updating FONTSIZEVERSENUMBER in database"); + } + } + }//GEN-LAST:event_jComboBox3ItemStateChanged + + private void jComboBox4ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jComboBox4ItemStateChanged + // TODO add your handling code here: + if(evt.getStateChange()==ItemEvent.SELECTED) { + Object item = evt.getItem(); + // do something with object + String fontsize = item.toString(); + fontSizeVerseText = Integer.parseInt(fontsize); + styles.addRule("div.results p.verses span.text { font-size:"+fontSizeVerseText+"pt;}"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + if(biblegetDB.setIntOption("FONTSIZEVERSETEXT", fontSizeVerseText)){ + //System.out.println("FONTSIZEVERSETEXT was successfully updated in database to value "+fontSizeVerseText); + } + else{ + //System.out.println("Error updating FONTSIZEVERSETEXT in database"); + } + } + }//GEN-LAST:event_jComboBox4ItemStateChanged + + private void jComboBox1ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jComboBox1ItemStateChanged + // TODO add your handling code here: + if(evt.getStateChange()==ItemEvent.SELECTED) { + Object item = evt.getItem(); + // do something with object + paragraphFontFamily = item.toString(); + styles.addRule("div.results { font-family: "+paragraphFontFamily+"; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + if(biblegetDB.setStringOption("PARAGRAPHFONTFAMILY", paragraphFontFamily)){ + //System.out.println("PARAGRAPHFONTFAMILY was successfully updated in database to value "+paragraphFontFamily); + } + else{ + //System.out.println("Error updating PARAGRAPHFONTFAMILY in database"); + } + } + }//GEN-LAST:event_jComboBox1ItemStateChanged + + private void jComboBox6ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jComboBox6ItemStateChanged + // TODO add your handling code here: + if(evt.getStateChange()==ItemEvent.SELECTED) { + //Object item = evt.getItem(); + int selecIdx = jComboBox6.getSelectedIndex(); + //System.out.println("selected index: "+selecIdx); + switch(selecIdx) + { + case 0: paragraphLineSpacing = 100; break; + case 1: paragraphLineSpacing = 150; break; + case 2: paragraphLineSpacing = 200; break; + } + // do something with object + + styles.addRule("div.results p.book { line-height: "+paragraphLineSpacing+"%; }"); + styles.addRule("div.results p.verses { line-height: "+paragraphLineSpacing+"%; }"); + jTextPane1.setDocument(doc); + jTextPane1.setText(HTMLStr); + if(biblegetDB.setIntOption("PARAGRAPHLINESPACING", paragraphLineSpacing)){ + //System.out.println("PARAGRAPHLINESPACING was successfully updated in database to value "+paragraphLineSpacing); + } + else{ + //System.out.println("Error updating PARAGRAPHLINESPACING in database"); + } + } + + }//GEN-LAST:event_jComboBox6ItemStateChanged + + private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBox1ActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_jCheckBox1ActionPerformed + + private void jCheckBox1ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jCheckBox1ItemStateChanged + // TODO add your handling code here: + if(evt.getStateChange()==ItemEvent.SELECTED) { + // do something with object + noVersionFormatting = true; + } + else if(evt.getStateChange()==ItemEvent.DESELECTED) { + // do something with object + noVersionFormatting = false; + } + if(biblegetDB.setBooleanOption("NOVERSIONFORMATTING", noVersionFormatting)){ + //System.out.println("NOVERSIONFORMATTING was successfully updated in database to value "+noVersionFormatting); + } + else{ + //System.out.println("Error updating NOVERSIONFORMATTING in database"); + } + }//GEN-LAST:event_jCheckBox1ItemStateChanged + + + + private List setIconImages() + { + List images = new ArrayList<>(4); + images.add(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/io/bibleget/images/preferences-tweak-tool-icon_16x16.png"))); + images.add(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/io/bibleget/images/preferences-tweak-tool-icon_24x24.png"))); + images.add(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/io/bibleget/images/preferences-tweak-tool-icon_32x32.png"))); + images.add(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/io/bibleget/images/preferences-tweak-tool-icon_48x48.png"))); + return images; + } + + private List setIconImagesTextColor() + { + List images = new ArrayList<>(4); + images.add(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/io/bibleget/images/text_color_x16.png"))); + images.add(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/io/bibleget/images/text_color_x24.png"))); + return images; + } + + private List setIconImagesBGColor() + { + List images = new ArrayList<>(4); + images.add(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/io/bibleget/images/background_color_x16.png"))); + images.add(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/io/bibleget/images/background_color_x24.png"))); + return images; + } + + /** + * + * @param color + * @return + */ + private String ColorToHexString(Color color){ + //String rgb = Integer.toHexString(color.getRGB()); + //return "#"+rgb.substring(2, rgb.length()); + return String.format("#%06X", (0xFFFFFF & color.getRGB())); + } + + /** + * + * @param str + * @return + */ + public Color HexStringToColor(String str){ + String color = ""; + if(str.length()==7){ + if(str.substring(0,1).equals("#")){ + color = str.substring(1,6); + } + } + else if(str.length()==6){ + color = str; + } + else if(str.length()==3){ + char[] chars = str.toCharArray(); + color = ""+chars[0]+chars[0]+chars[1]+chars[1]+chars[2]+chars[2]; + } + return Color.decode(color); + } + + private int setComboBoxSelected(String str,JComboBox cmb){ + for (int i = 0; i < cmb.getItemCount(); i++) { + if (str.equals(cmb.getItemAt(i))) { + //System.out.println(i); + return i; + } + } + return -1; + //rootEntityComboBox.setSelectedItem(selectedItem.getDisplayName()); + } + + private void navigateTree(JsonValue tree, String key) { + if (key != null){ + //System.out.print("Key " + key + ": "); + } + switch(tree.getValueType()) { + case OBJECT: + //System.out.println("OBJECT"); + JsonObject object = (JsonObject) tree; + for (String name : object.keySet()) + navigateTree(object.get(name), name); + break; + case ARRAY: + //System.out.println("ARRAY"); + JsonArray array = (JsonArray) tree; + for (JsonValue val : array) + navigateTree(val, null); + break; + case STRING: + JsonString st = (JsonString) tree; + //System.out.println("STRING " + st.getString()); + getStringOption(key,st.getString()); + break; + case NUMBER: + JsonNumber num = (JsonNumber) tree; + //System.out.println("NUMBER " + num.toString()); + getNumberOption(key,num.intValue()); + break; + case TRUE: + getBooleanOption(key,true); + //System.out.println("BOOLEAN " + tree.getValueType().toString()); + break; + case FALSE: + getBooleanOption(key,false); + //System.out.println("BOOLEAN " + tree.getValueType().toString()); + break; + case NULL: + //System.out.println("NULL " + tree.getValueType().toString()); + break; + } + } + + private void getStringOption(String key,String value){ + switch(key){ + case "PARAGRAPHALIGNMENT": paragraphAlignment = value; break; + case "PARAGRAPHFONTFAMILY": paragraphFontFamily = value; break; + case "TEXTCOLORBOOKCHAPTER": textColorBookChapter = Color.decode(value); break; //decode string representation of hex value + case "BGCOLORBOOKCHAPTER": bgColorBookChapter = Color.decode(value); break; //decode string representation of hex value + case "VALIGNBOOKCHAPTER": vAlignBookChapter = value; break; + case "TEXTCOLORVERSENUMBER": textColorVerseNumber = Color.decode(value); break; //decode string representation of hex value + case "BGCOLORVERSENUMBER": bgColorVerseNumber = Color.decode(value); break; //decode string representation of hex value + case "VALIGNVERSENUMBER": vAlignVerseNumber = value; break; + case "TEXTCOLORVERSETEXT": textColorVerseText = Color.decode(value); break; //decode string representation of hex value + case "BGCOLORVERSETEXT": bgColorVerseText = Color.decode(value); break; //decode string representation of hex value + case "VALIGNVERSETEXT": vAlignVerseText = value; break; + } + } + + private void getNumberOption(String key,int value){ + switch(key){ + case "PARAGRAPHLINESPACING": paragraphLineSpacing = value; break; //think of it as percent + case "PARAGRAPHLEFTINDENT": paragraphLeftIndent = value; break; + case "FONTSIZEBOOKCHAPTER": fontSizeBookChapter = value; break; + case "FONTSIZEVERSENUMBER": fontSizeVerseNumber = value; break; + case "FONTSIZEVERSETEXT": fontSizeVerseText = value; break; + } + } + private void getBooleanOption(String key,boolean value){ + switch(key){ + case "BOLDBOOKCHAPTER": boldBookChapter = value; break; + case "ITALICSBOOKCHAPTER": italicsBookChapter = value; break; + case "UNDERSCOREBOOKCHAPTER": underscoreBookChapter = value; break; + case "BOLDVERSENUMBER": boldVerseNumber = value; break; + case "ITALICSVERSENUMBER": italicsVerseNumber = value; break; + case "UNDERSCOREVERSENUMBER": underscoreVerseNumber = value; break; + case "BOLDVERSETEXT": boldVerseText = value; break; + case "ITALICSVERSETEXT": italicsVerseText = value; break; + case "UNDERSCOREVERSETEXT": underscoreVerseText = value; break; + case "NOVERSIONFORMATTING": noVersionFormatting = value; break; + } + } + + private int getParaLineSpaceVal() + { + int retval; + switch(paragraphLineSpacing) + { + case 100: retval = 0; break; + case 150: retval = 1; break; + case 200: retval = 2; break; + default: retval = 0; + } + return retval; + } + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + //System.out.println(info.getName()); + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + //break; + } + } + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(BibleGetFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + @Override + public void run() { + try { + new OptionsFrame().setVisible(true); + } catch (ClassNotFoundException ex) { + Logger.getLogger(OptionsFrame.class.getName()).log(Level.SEVERE, null, ex); + } + } + }); + } + /* + private ClassLoader findClassLoaderForContext(Class c) { + ClassLoader context = Thread.currentThread().getContextClassLoader(); + ClassLoader me = c.getClassLoader(); + ClassLoader system = ClassLoader.getSystemClassLoader(); + return (context == null) ? (me == null) ? system : me : context; + } + */ + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.ButtonGroup buttonGroup1; + private javax.swing.JButton jButton1; + private javax.swing.JButton jButton2; + private javax.swing.JButton jButton3; + private javax.swing.JButton jButton4; + private javax.swing.JButton jButton5; + private javax.swing.JButton jButton6; + private javax.swing.JButton jButton7; + private javax.swing.JButton jButton8; + private javax.swing.JCheckBox jCheckBox1; + private javax.swing.JComboBox jComboBox1; + private javax.swing.JComboBox jComboBox2; + private javax.swing.JComboBox jComboBox3; + private javax.swing.JComboBox jComboBox4; + private javax.swing.JComboBox jComboBox6; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel2; + private javax.swing.JPanel jPanel1; + private javax.swing.JPanel jPanel10; + private javax.swing.JPanel jPanel2; + private javax.swing.JPanel jPanel3; + private javax.swing.JPanel jPanel4; + private javax.swing.JPanel jPanel5; + private javax.swing.JPanel jPanel6; + private javax.swing.JPanel jPanel7; + private javax.swing.JPanel jPanel8; + private javax.swing.JPanel jPanel9; + private javax.swing.JScrollPane jScrollPane2; + private javax.swing.JToolBar.Separator jSeparator1; + private javax.swing.JToolBar.Separator jSeparator2; + private javax.swing.JToolBar.Separator jSeparator3; + private javax.swing.JToolBar.Separator jSeparator4; + private javax.swing.JToolBar.Separator jSeparator5; + private javax.swing.JToolBar.Separator jSeparator6; + private javax.swing.JSeparator jSeparator7; + private javax.swing.JTextPane jTextPane1; + private javax.swing.JToggleButton jToggleButton1; + private javax.swing.JToggleButton jToggleButton10; + private javax.swing.JToggleButton jToggleButton11; + private javax.swing.JToggleButton jToggleButton12; + private javax.swing.JToggleButton jToggleButton13; + private javax.swing.JToggleButton jToggleButton14; + private javax.swing.JToggleButton jToggleButton15; + private javax.swing.JToggleButton jToggleButton16; + private javax.swing.JToggleButton jToggleButton17; + private javax.swing.JToggleButton jToggleButton18; + private javax.swing.JToggleButton jToggleButton19; + private javax.swing.JToggleButton jToggleButton2; + private javax.swing.JToggleButton jToggleButton3; + private javax.swing.JToggleButton jToggleButton4; + private javax.swing.JToggleButton jToggleButton5; + private javax.swing.JToggleButton jToggleButton6; + private javax.swing.JToggleButton jToggleButton7; + private javax.swing.JToggleButton jToggleButton8; + private javax.swing.JToggleButton jToggleButton9; + private javax.swing.JToolBar jToolBar1; + private javax.swing.JToolBar jToolBar2; + private javax.swing.JToolBar jToolBar3; + private javax.swing.JToolBar jToolBar4; + private javax.swing.JToolBar jToolBar5; + private javax.swing.JToolBar jToolBar6; + private javax.swing.JToolBar jToolBar7; + // End of variables declaration//GEN-END:variables + + @Override + public void setVisible(final boolean visible) { + // make sure that frame is marked as not disposed if it is asked to be visible + if (visible) { + //setDisposed(false); + } + // let's handle visibility... + if (!visible || !isVisible()) { // have to check this condition simply because super.setVisible(true) invokes toFront if frame was already visible + super.setVisible(visible); + } + // ...and bring frame to the front.. in a strange and weird way + if (visible) { + int state = super.getExtendedState(); + state &= ~JFrame.ICONIFIED; + super.setExtendedState(state); + super.setAlwaysOnTop(true); + super.toFront(); + super.requestFocus(); + super.setAlwaysOnTop(false); + } + } + + @Override + public void toFront() { + super.setVisible(true); + int state = super.getExtendedState(); + state &= ~JFrame.ICONIFIED; + super.setExtendedState(state); + super.setAlwaysOnTop(true); + super.toFront(); + super.requestFocus(); + super.setAlwaysOnTop(false); + } + + + +} diff --git a/src/io/bibleget/TextAttributeComboBox.java b/src/io/bibleget/TextAttributeComboBox.java new file mode 100644 index 0000000..63e2216 --- /dev/null +++ b/src/io/bibleget/TextAttributeComboBox.java @@ -0,0 +1,105 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package io.bibleget; + +import java.awt.Component; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.font.TextAttribute; +import java.util.HashMap; +import java.util.Map; +import javax.swing.DefaultListCellRenderer; +import javax.swing.JComboBox; +import javax.swing.JList; +import javax.swing.UIManager; + +/** + * + * @author Lwangaman + * original author + */ + public class TextAttributeComboBox extends JComboBox { + + TextAttribute textAttribute; + private final Font comboFont = UIManager.getFont("ComboBox.font"); + private static final Font DEFAULT_FONT = new Font(Font.DIALOG, Font.PLAIN, 12); + private final FontModel fontModel = new FontModel(DEFAULT_FONT); + + public TextAttributeComboBox(TextAttribute textAttribute) { + super(TextAttributeConstants.values(textAttribute)); + this.textAttribute = textAttribute; + init(); + } + + public TextAttributeComboBox(Object[] values) { + super(values); + } + + //TODO: needs an empty attribute constructor to be able to put into palette; how do you handle this? + public TextAttributeComboBox() { + + } + + private void init() { + setToolTipText(TextAttributeConstants.getFriendlyName(textAttribute)); + setSelectedIndex(0); + + setRenderer(new DefaultListCellRenderer() { + + @Override + public Component getListCellRendererComponent(JList list, Object value, + int index, boolean isSelected, boolean cellHasFocus) { + Map attribute = + new HashMap<>(); + attribute.put(textAttribute, value); + Font font = getFont().deriveFont(attribute); + setFont(font); + setText(TextAttributeConstants.lookup(textAttribute, value)); + if (isSelected) { + setForeground(list.getSelectionForeground()); + setBackground(list.getSelectionBackground()); + } else { + setForeground(list.getForeground()); + setBackground(list.getBackground()); + } + return this; + } + }); + + addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + Map attribute = new HashMap<>(); + attribute.put(textAttribute, getSelectedItem()); + setFont(comboFont.deriveFont(attribute)); + fontModel.setAttributeValue(textAttribute, getSelectedItem()); + } + }); + } + + @Override + public Dimension getPreferredSize() { + return new Dimension(208, 25); + } + + @Override + public Dimension getMinimumSize() { + return getPreferredSize(); + } + + public void updateSelection() { + if (textAttribute != null) { // it is null for fontCombo + Object selectedItem = fontModel.getAttributeValue(textAttribute); + setSelectedItem(selectedItem); + if (getSelectedIndex() == -1) { + setSelectedIndex(0); + } + } + } + } diff --git a/src/io/bibleget/TextAttributeConstants.java b/src/io/bibleget/TextAttributeConstants.java new file mode 100644 index 0000000..ccf40a9 --- /dev/null +++ b/src/io/bibleget/TextAttributeConstants.java @@ -0,0 +1,284 @@ +package io.bibleget; + + +import java.awt.font.TextAttribute; +import static java.awt.font.TextAttribute.BACKGROUND; +import static java.awt.font.TextAttribute.FAMILY; +import static java.awt.font.TextAttribute.FOREGROUND; +import static java.awt.font.TextAttribute.KERNING; +import static java.awt.font.TextAttribute.KERNING_ON; +import static java.awt.font.TextAttribute.POSTURE; +import static java.awt.font.TextAttribute.POSTURE_OBLIQUE; +import static java.awt.font.TextAttribute.POSTURE_REGULAR; +import static java.awt.font.TextAttribute.SIZE; +import static java.awt.font.TextAttribute.STRIKETHROUGH; +import static java.awt.font.TextAttribute.STRIKETHROUGH_ON; +import static java.awt.font.TextAttribute.SUPERSCRIPT; +import static java.awt.font.TextAttribute.SUPERSCRIPT_SUB; +import static java.awt.font.TextAttribute.SUPERSCRIPT_SUPER; +import static java.awt.font.TextAttribute.SWAP_COLORS; +import static java.awt.font.TextAttribute.SWAP_COLORS_ON; +import static java.awt.font.TextAttribute.TRACKING; +import static java.awt.font.TextAttribute.TRACKING_LOOSE; +import static java.awt.font.TextAttribute.TRACKING_TIGHT; +import static java.awt.font.TextAttribute.UNDERLINE; +import static java.awt.font.TextAttribute.UNDERLINE_LOW_DASHED; +import static java.awt.font.TextAttribute.UNDERLINE_LOW_DOTTED; +import static java.awt.font.TextAttribute.UNDERLINE_LOW_GRAY; +import static java.awt.font.TextAttribute.UNDERLINE_LOW_ONE_PIXEL; +import static java.awt.font.TextAttribute.UNDERLINE_LOW_TWO_PIXEL; +import static java.awt.font.TextAttribute.UNDERLINE_ON; +import static java.awt.font.TextAttribute.WEIGHT; +import static java.awt.font.TextAttribute.WEIGHT_BOLD; +import static java.awt.font.TextAttribute.WEIGHT_REGULAR; +import static java.awt.font.TextAttribute.WIDTH; +import static java.awt.font.TextAttribute.WIDTH_CONDENSED; +import static java.awt.font.TextAttribute.WIDTH_EXTENDED; +import static java.awt.font.TextAttribute.WIDTH_REGULAR; +import static java.awt.font.TextAttribute.WIDTH_SEMI_CONDENSED; +import static java.awt.font.TextAttribute.WIDTH_SEMI_EXTENDED; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * A hardcoded mapping of the TextAttribute class constants to their variable names. + *

+ * This class provides a collection of utility methods useful to a font manipulator and/or + * code generator. + * + * @see TextAttribute + * @see FontModel + * @see VisualFontDesigner + */ +public class TextAttributeConstants extends HashMap> { + + private static final Map> outer = new HashMap<>(); + private static final List list = new ArrayList<>(); + + static { + Map inner; + // Bold + inner = new HashMap<>(); + inner.put(WEIGHT_REGULAR, "WEIGHT_REGULAR"); // 1.0 + inner.put(WEIGHT_BOLD, "WEIGHT_BOLD"); // 2.0 + /* + ** Omitted as Font seems to support only two weights: bold and not bold + inner.put(WEIGHT_DEMILIGHT, "WEIGHT_DEMILIGHT"); // 0.875 + inner.put(WEIGHT_LIGHT, "WEIGHT_LIGHT"); // 0.75 + inner.put(WEIGHT_SEMIBOLD, "WEIGHT_SEMIBOLD"); // 1.25 + inner.put(WEIGHT_EXTRA_LIGHT, "WEIGHT_EXTRA_LIGHT"); // 0.5 + inner.put(WEIGHT_DEMIBOLD, "WEIGHT_DEMIBOLD"); //0.75 + inner.put(WEIGHT_HEAVY, "WEIGHT_HEAVY"); // 2.25 + inner.put(WEIGHT_MEDIUM, "WEIGHT_MEDIUM"); // 1.5 + inner.put(WEIGHT_ULTRABOLD, "WEIGHT_ULTRABOLD"); // 2.75 + inner.put(WEIGHT_EXTRABOLD, "WEIGHT_EXTRABOLD"); // 2.5 + */ + outer.put(WEIGHT, inner); + // Italic + inner = new HashMap<>(); + inner.put(POSTURE_REGULAR, "POSTURE_REGULAR"); + inner.put(POSTURE_OBLIQUE, "POSTURE_OBLIQUE"); + outer.put(POSTURE, inner); + // Underline + inner = new HashMap<>(); + inner.put(-1, "No Underline"); + inner.put(UNDERLINE_ON, "UNDERLINE_ON"); + inner.put(UNDERLINE_LOW_DASHED, "UNDERLINE_LOW_DASHED"); + inner.put(UNDERLINE_LOW_DOTTED, "UNDERLINE_LOW_DOTTED"); + inner.put(UNDERLINE_LOW_GRAY, "UNDERLINE_LOW_GRAY"); + inner.put(UNDERLINE_LOW_ONE_PIXEL, "UNDERLINE_LOW_ONE_PIXEL"); + inner.put(UNDERLINE_LOW_TWO_PIXEL, "UNDERLINE_LOW_TWO_PIXEL"); + outer.put(UNDERLINE, inner); + // Strikethrough + inner = new HashMap<>(); + inner.put(STRIKETHROUGH_ON, "STRIKETHROUGH_ON"); + inner.put(false, "No Strikethrough"); + outer.put(STRIKETHROUGH, inner); + // Kerning + inner = new HashMap<>(); + inner.put(KERNING_ON, "KERNING_ON"); + inner.put(0, "No Kerning"); + outer.put(KERNING, inner); + // Swap colors + inner = new HashMap<>(); + inner.put(SWAP_COLORS_ON, "SWAP_COLORS_ON"); + inner.put(false, "No Color Swap"); + outer.put(SWAP_COLORS, inner); + // Tracking + inner = new HashMap<>(); + inner.put(0, "No Tracking"); + inner.put(TRACKING_TIGHT, "TRACKING_TIGHT"); + inner.put(TRACKING_LOOSE, "TRACKING_LOOSE"); + outer.put(TRACKING, inner); + // Width + inner = new HashMap<>(); + inner.put(WIDTH_CONDENSED, "WIDTH_CONDENSED"); + inner.put(WIDTH_SEMI_CONDENSED, "WIDTH_SEMI_CONDENSED"); + inner.put(WIDTH_REGULAR, "WIDTH_REGULAR"); + inner.put(WIDTH_SEMI_EXTENDED, "WIDTH_SEMI_EXTENDED"); + inner.put(WIDTH_EXTENDED, "WIDTH_EXTENDED"); + outer.put(WIDTH, inner); + // Superscript / subscript + inner = new HashMap<>(); + inner.put(0, "Not Super / Subscript"); + inner.put(SUPERSCRIPT_SUPER, "SUPERSCRIPT_SUPER"); + inner.put(SUPERSCRIPT_SUB, "SUPERSCRIPT_SUB"); + outer.put(SUPERSCRIPT, inner); + + // For sequencing the generated code + list.add(FAMILY); + list.add(SIZE); + list.add(WEIGHT); + list.add(POSTURE); + list.add(UNDERLINE); + list.add(STRIKETHROUGH); + list.add(KERNING); + list.add(FOREGROUND); + list.add(BACKGROUND); + list.add(SWAP_COLORS); + list.add(WIDTH); + list.add(TRACKING); + list.add(SUPERSCRIPT); + } + + private TextAttributeConstants() { + throw new Error("TextAttributeConstants is just a container for static methods"); + } + + /** + * Returns an array of TextAttribute keys supported by ths class in a specified + * order. That order is: + *

    + *
  • FAMILY
  • + *
  • SIZE
  • + *
  • WEIGHT
  • + *
  • POSTURE
  • + *
  • UNDERLINE
  • + *
  • STRIKETHROUGH
  • + *
  • KERNING
  • + *
  • FOREGROUND
  • + *
  • BACKGROUND
  • + *
  • SWAP_COLORS
  • + *
  • WIDTH
  • + *
  • TRACKING
  • + *
  • SUPERSCRIPT
  • + *
+ * This can be used by a code generator to maintain a consistent and logical order for + * generating code to populate an attribute map. + * + * @return an ordered array of TextAttributes that are supported by this class + */ + public static TextAttribute[] keys() { + return list.toArray(new TextAttribute[0]); + } + + /** + * Returns an array of legal values for a TextAttribute key, in a consistent order. The + * actual order in which the values are returned is not defined. + *

+ * This can be used by a font manipulation routine to create a set of options for the attribute. + * + * @param key the TextAttribute key whose legal values are required + * @return an array of legal values, or null if the key is not supported by this class + * @see FontModel#getCode() + */ + public static Object[] values(TextAttribute key) { + if (outer.containsKey(key)) { + return outer.get(key).keySet().toArray(); + } + return null; + } + + public static Object[] booleanValues(TextAttribute key) { + /* + ** Omitted as Font seems to support only two weights: bold and not bold + if (key == WEIGHT) { + return new Float[]{WEIGHT_REGULAR, WEIGHT_BOLD}; + } + */ + if (key == UNDERLINE) { + return new Integer[]{-1, UNDERLINE_ON}; + } + // POSTURE, STRIKETHROUGH, KERNING, SWAP_COLORS + // and WEIGHT (Bold) + return values(key); + } + + /** + * Returns the name of the TextAttibute class constant for a legal value + * for the key. + *

+ * May return null if the key is not supported by this class, or the value is not legal + * for this key + * + * @param key the TextAttribute the name of whose value is to be looked up + * @param value the value of the TextAttribute + * @return the name of a static variable of the TextAttribute class + */ + public static String lookup(TextAttribute key, Object value) { + if (outer.containsKey(key)) { + return outer.get(key).get(value); + } + return null; + } + + /** + * Returns the names of the TextAttibute class constants that are legal values for + * the passed-in TextAttribute. The returned name is formatted in Title Case with + * underscores replaced by spaces. + *

+ * This can be used by a font manipulation routine to display a set of legal options in a user + * friendly format. + * + * @param key the TextAttibute the names of whose legal values are desired + * @return the names of the legal values + */ + public static String[] getFriendlyNames(TextAttribute key) { + Object[] values = values(key); + String[] friendlyNames = new String[values.length]; + for (int i = 0; i < values.length; i++) { + friendlyNames[i] = getFriendlyName(key, values[i]); + } + return friendlyNames; + } + + /** + * Returns the name of the TextAttibute class constant corresponding to the + * specified value for the TextAttibute passed in. The returned name is formatted + * in Title Case with underscores replaced by spaces. + * + * @param key the TextAttibute the names of whose legal values are desired + * @param value the value mapped to the TextAttibute + + * @return the name of the passed in value + */ + public static String getFriendlyName(TextAttribute key, Object value) { + return getFriendlyName(lookup(key, value)); + } + + /** + * Returns the name of the TextAttibute class constant corresponding to this + * attribute. The returned name is formatted in Title Case with underscores replaced by spaces. + * + * @param attribute the TextAttibute + * @return the name of the TextAttibute in Title Case with underscores in the + * variable name replaced by spaces. + */ + public static String getFriendlyName(TextAttribute attribute) { + return getFriendlyName(String.valueOf(attribute)); + } + + private static String getFriendlyName(String name) { + if (name == null) { + return "null"; + } + name = name.toLowerCase().replaceAll("^[^(]*\\(([^)]*)\\).*$", "$1"); + StringBuilder buffer = new StringBuilder(name.length()); + for (String word : name.split("_")) { + buffer.append(" ").append(word.substring(0, 1).toUpperCase()).append(word.substring(1)); + } + return buffer.substring(1); + } +} diff --git a/src/io/bibleget/VersionsSelect.java b/src/io/bibleget/VersionsSelect.java new file mode 100644 index 0000000..09d14c1 --- /dev/null +++ b/src/io/bibleget/VersionsSelect.java @@ -0,0 +1,179 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package io.bibleget; + +import ca.odell.glazedlists.BasicEventList; +import ca.odell.glazedlists.EventList; +import ca.odell.glazedlists.SeparatorList; +import ca.odell.glazedlists.swing.DefaultEventListModel; +import java.awt.Color; +import java.awt.Component; +import java.awt.Font; +import java.io.StringReader; +import java.util.Comparator; +import java.util.ListIterator; +import java.util.Locale; +import java.util.Set; +import javax.json.Json; +import javax.json.JsonObject; +import javax.json.JsonReader; +import javax.swing.BorderFactory; +import javax.swing.DefaultListCellRenderer; +import javax.swing.DefaultListSelectionModel; +import javax.swing.JLabel; +import javax.swing.JList; +import org.apache.commons.lang3.StringUtils; + +/** + * + * @author Lwangaman + */ +public class VersionsSelect extends javax.swing.JList { + private final EventList bibleVersions; + private final SeparatorList versionsByLang; + private final boolean[] enabledFlags; + private int versionLangs = 0; + private int versionCount = 0; + + private static BibleGetDB biblegetDB; + + public VersionsSelect() throws ClassNotFoundException + { + biblegetDB = BibleGetDB.getInstance(); + String bibleVersionsStr = biblegetDB.getMetaData("VERSIONS"); + JsonReader jsonReader = Json.createReader(new StringReader(bibleVersionsStr)); + JsonObject bibleVersionsObj = jsonReader.readObject(); + Set versionsabbrev = bibleVersionsObj.keySet(); + bibleVersions = new BasicEventList<>(); + if(!versionsabbrev.isEmpty()){ + for(String s:versionsabbrev) { + String versionStr = bibleVersionsObj.getString(s); //store these in an array + String[] array; + array = versionStr.split("\\|"); + bibleVersions.add(new BibleVersion(s,array[0],array[1],StringUtils.capitalize(new Locale(array[2]).getDisplayLanguage()))); + } + } + + versionsByLang = new SeparatorList<>(bibleVersions, new VersionComparator(),1, 1000); + + int listLength = versionsByLang.size(); + enabledFlags = new boolean[listLength]; + + ListIterator itr = versionsByLang.listIterator(); + while(itr.hasNext()){ + int idx = itr.nextIndex(); + Object next = itr.next(); + enabledFlags[idx] = !(next.getClass().getSimpleName().equals("GroupSeparator")); + if(enabledFlags[idx]){ + versionCount++; + } + else{ + versionLangs++; + } + } + + this.setModel(new DefaultEventListModel<>(versionsByLang)); + this.setCellRenderer(new VersionCellRenderer()); + this.setSelectionModel(new DisabledItemSelectionModel()); + } + + public SeparatorList getVersionsByLangList() + { + return versionsByLang; + } + + public int getVersionCount(){ + return versionCount; + } + + public int getVersionLangs(){ + return versionLangs; + } + + private static class VersionComparator implements Comparator { + + @Override + public int compare(BibleVersion o1, BibleVersion o2) { + return o1.getLang().compareTo(o2.getLang()); + } + + } + + private static class VersionCellRenderer extends DefaultListCellRenderer{ + + @Override + public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { + JLabel label = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); + + if (value instanceof SeparatorList.Separator) { + SeparatorList.Separator separator = (SeparatorList.Separator) value; + BibleVersion bibleversion = (BibleVersion)separator.getGroup().get(0); + String lbl = "-- " + bibleversion.getLang() + " --"; + label.setText(lbl); + label.setFont(label.getFont().deriveFont(Font.BOLD)); + label.setBackground(Color.decode("#999999")); + //label.setForeground(Color.BLACK); + label.setBorder(BorderFactory.createEmptyBorder(0,5,0,0)); + //label.setEnabled(false); + } else { + label.setFont(label.getFont().deriveFont(Font.PLAIN)); + label.setBorder(BorderFactory.createEmptyBorder(0,15,0,0)); + + } + + return label; + } + } + + private class DisabledItemSelectionModel extends DefaultListSelectionModel { + + private static final long serialVersionUID = 1L; + + @Override + public void setSelectionInterval(int index0, int index1) { + if(index0 < index1){ + for (int i = index0; i <= index1; i++){ + if(enabledFlags[i]){ + super.addSelectionInterval(i, i); + } + } + } + else if(index1 < index0){ + for (int i = index1; i <= index0; i++){ + if(enabledFlags[i]){ + super.addSelectionInterval(i, i); + } + } + } + else if(index0 == index1){ + if(enabledFlags[index0]){ super.setSelectionInterval(index0,index0); } + } + } + + @Override + public void addSelectionInterval(int index0, int index1) { + if(index0 < index1){ + for (int i = index0; i <= index1; i++){ + if(enabledFlags[i]){ + super.addSelectionInterval(i, i); + } + } + } + else if(index1 < index0){ + for (int i = index1; i <= index0; i++){ + if(enabledFlags[i]){ + super.addSelectionInterval(i, i); + } + } + } + else if(index0 == index1){ + if(enabledFlags[index0]){ super.addSelectionInterval(index0,index0); } + } + } + + } + +} diff --git a/src/io/bibleget/images/background_color_x16.png b/src/io/bibleget/images/background_color_x16.png new file mode 100644 index 0000000000000000000000000000000000000000..ba7614a40d5a936bf0e5dc2e553465909b8ab68e GIT binary patch literal 931 zcmV;U16=%xP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ^@RCwBal1*qFWdMes?`QVg&1N^d2{p+kDKS(nQmy9LBGsHkDtJ&@5PH&s zN72@cx8ljWCzYraLoZg;i#DjBXlabW7R>Lq*=&+cce0!8&&=-5d@~+`cu;)dxxPH` zzM{0biIfW8^9HY7`*dcfTux-N*_WPrdipJ6%vKnN7-L8p!!NgP^YynsqLt$B=(~6C zpp{}{WBo*-Fn0gh=VsoFqUe?Fa`|*^fB#}GpZ}fzi5?jqK|7i-2v&>tiZ@O@@#Hzz zts;bYRBLr}@wdfG6B85P2qFHnKt41)LOwr4F9=?H;rxr|Vq!9x3_IIp@`FQzlMheb z*xD++VIzx_^4|srhX<^!EMIu!v6JuTaydND17LV$6xVgh4h`vJLGZzj>rVEpeJ2hD zHafDAGDg?;-Ls>Gv5&^a3V2?dD2nI>J%&d|Son33y`?|MX8P&+{+0WytNF}vSyVDY z21LyWwGm+$(rUD*x0-A&-C^eXEIFewAq-3&dwuyTWK9q4#H=mk z1MPWUE9mtAu-4LUx2e@@v^pJ(=B6=rJ{zc?eCxeet!PvAPDGo zyVPrS8V3y=$3dt1xEH3lZ_^ZQng@ZQU6r)<6wQjFb12aH!NF3u+j)Ne=64@XO`W*l zc^(Kz=@d;<>*i(;O}1YmbWFH3#K#NoA<`0*#%!&it+fmc zYBgWg|GX9vNxzOeOI>AEgwHMuVO0GRw;=Y*rq;d-`#4RjY^?a1Z++ zJ%x4zN(%O>-oBPnqLjjM9F$TdlZH~ML}jl`$IHiG%$`KX(6frku?kIu#&+gpDyKCensTMn@>e(Q|WigkeCh*Tvch zfJ7pJ5CTNpj??hr{4;mDXjo0-~Q0{|r5gPD|B+_V4y002ovPDHLk FV1oBrxPt%y literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/background_color_x24.png b/src/io/bibleget/images/background_color_x24.png new file mode 100644 index 0000000000000000000000000000000000000000..a4692c42ba424e3e3071ec8e6c7bac83c7795c54 GIT binary patch literal 4171 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 literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/info_48x48.png b/src/io/bibleget/images/info_48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..658cdaa887c5fafa1f557de9ab26a0a38178bd95 GIT binary patch literal 4840 zcmVP)-sd)|rria&(F*vROjQn_@4G5Q)1ONErJj^ntF!qZY18Hh|EL7U$H$jf%H?lZ*pWyiNY|%{ zxB+ObHA4dfjE)X7F*ZUmpGWyV0*e!gkV>U#p3zQAdpqszoj9%oK)F=n+_`fM4GmE# zm!D79*ME84`t`fsaRS4`!(Y%!{e3JRk2N+n;y3|-<42Eh_`vI&K6Qfr{t?D<70ON$ zk`2UC^~BR@Vi8G1l}VTq4UVF%zK*WhbLd{QluPH$2Le}4o;X2&|2c#Z|9tf|*M135 ze=vb^rPMf)$^KLbv7@2BoN{qUXl%fZ z#z0D}wP>ZVs)AddB3&Gzwa`bG$uPIQnMEttvT(^#0LI71Ik0~}`F!q$uCA_+Ua@NR z+25PMWNvC!F<*Ej;<_uETUwA(a_(Fok3MiO`wt%B;DF|oZY8$h3c6OTpsll&MAX5t z8VO(w+8DI8C~c@{OGOKc8hl@q^0Uk<^|Dm;F@IJ&mv7iYM@J`0DPG>UkHNu#GhJP? zZdkW|{r=yXz*H{RmCxm#jmKgOnp;```1NzY;)#bJ;6PuIJwplPWox)>>qc7JT5yz) z#E?wJiAN)-N*OC195;gUeaaONUl}~5@wB0$3`GSw1&u1lX4Au(_ymhru3_nlD*$-q zm6z!~d2+m?bLRFfTelu~+XQ^&rN>6bcE)0{6;<%}{rqP<`^+=Ecvf<#(#pK|T+by7 z=i?|3S6HHsB$ckCFgn6ZzkHP8z5$kBHk-~x3vp)7roOEW?R%8Hkbtl8w8m40oDT(M zStEydf2^0qm(Amfja!jIuy5~PPM+xLpF8)`^&2*A>c1GP`&O*RM#q2ZMj|!vKl|yA zdG`68JaxilFx}0vn{FW0kiswI5v~KSgBy*IAJ6dEcm5s6D{<%7Kgl)g7h<&HwUZ!HS;Z4sF#YPD4Xux${UflHpPe1h(&zy=dlD?F=@3|hM z4O;maYq4Q77L+jz4Ggn-?IPa2ZXp217>qGkYgv8y0+!S%a;2~@77Lh=jKyNGq#e!4 zQiMB(W^w9lKc`O|ClZOWY13xP z?N`B{2d%9|8$-ERV&Ucu3{)hAsoVu5q?Fi7i9@4hqOmBd)-MpiRK=LqQm)~#fhhkw z8fEy@QLKg4Yt|BpxEp_d*Ihf_M4()$+#ZX?h(sbBIdq8E-Z;RXvl3_iQrwPN=yIv1 z_;dhD2d&~OV#x$`8@BWHyLO{WC4>-x3(DhL_wS=G(u`vb${3V3LH`;NLNdYFSPR1P z{Zn!J#-|t`86=TRFmL_>CMGg}Q^oB9jE{}aw8q>}UtbTvuIHcT*cc3Y3F?+yj;fTA zB2-*jq_HStkOBl@MG=xxp~Q^Nc6Mdr+ z0CZI#8@lUA%kYHd;eMCyj(%F&J6X1TIfo7%+;acD_pZ31t=B^?{i%@9*e~| z*Vo7Ko>Lqd24>I4B+?jFLA$c1xD*ztElOAf27w!xDFoJ6)HgNItLr(~m&a&BqG1LN z4phpOU<^}rAs9~^i`E8Jb;O=0gfu+R3m=|eqIEJ$Lqj8NZEXzn_umKv1e8+O)z#Gj zaOjO!IXzyXzu>~`Zj|rg5CGO9P+jS1S>#Imi40!F$MY3V7&bx#@o$0RLlgFndWZf zj1H7iXk+oKB&s2$&ld+{EJ7QkF=%Djc}{cF@*)7UXV1ZPA`2h9{}-#=$*IXLLWqud zJkCTW!|=#BLpcjgZAdFHMxz9wqJXa9!U_w%qJH&8F7*fb*pBsFyI~P;^)ZD!8^61Y zjHi*+1P;~rr@7#VMZ%f@yf6l&W&e;zrr^_FF45TBOfs2l?(6HjTKb;1$&pSHU~F`l z%v707Ss>F52&EAEBD=N0*MVZbGE~YH8oFk2?9vTf_sz%n(=YrWWEg<3#sE;#25lvt z3i?lPO6&7(XoJxPsSP4*4u*lO&u~uTdu5~$q|<5X`~JIJt@ZL)ECxU}lVPf2C~5~M zmc%L_DZmI&!T}5*f@OeXF-VLQ=yI88B1yWdgQs5FOS$3^k40+}m60+>wrb#Sc4-4j+9tGh^>k?6w5yGSoDGr5>yG8AS?~FiWKBS75p^y!w{0j zfUlS=+1kXFOe83kiZfhobgH^ERKAaIgL7dlLMx1wAc7gs0?LsXOfc zM5^Vln#19$&Da2FMd|a)4;wmREXJ5nb%Ri$`YJdVT7$NM^I>stTo} z0x(Feu}UMHU{;j1wTeMI4%S*6D{zcJN`Y3vgd_l?HDFOn1q)7Vuto<@WhywY&g9x! zY)$nbWMl|hOuLTKNP=ZaAWX1Obgj|3;D!*5$4Nw8ux0RlM8qJi!8#6xDv{tB*GdQ9 zk!TTIlS-pPA+%N)rO;Xj4oHbnI;inVhc^%Fe6`x>Ks2VE2Vta<+Je?Z9f1rt6DpMo zV2x`nr+wdF0+348lTNrqgn>#48LK126mC&bTS8lDu|{I0KuHTuaB~2qG`>_cTIvp9~s-;G8iyS+*!Z;VN|%xI&drJlC>3_bZQ zu@;TMgrO5yZXJo05{wPpIWNmKm+PJ+CsDo0=k(N-?vejqbJtHa~%=lxhx0 zKUBY_SoM0~g7h@#Fb7nix(*!(mJTNP-B&dSr3%lh-?c$jE00oPH8OZbkG1m}X=z9x zq-1ntgvo4nY~H;2Ps{f9_Kep0l}siBz^pmlEbXep5fyZP0;vgSGR__)5a1iAXLo- zp;XQJQm)L(IrVH_-i~$R0311T7&j7mGAJ%Ub4$zPg+hL6B9o!1xtZ>H-CVh-8C%St zLKkWShboDS9FV@A=76e&&~!J@LBdNvOx9`R)Xvp~PL~U1K5=a~&5bD>$7N`6kiN5h zdiLx&57Y?EpTA(tT6^!=v%xmxlFL`IenB&f=hQPfdL|s)OshPh3+jA0IKB#2j!;v6 zdehaJwH789#s4(m)zHdMmRP%>nVYYkhZaHj?ELlfcwXh{PkrVy$7=)t8X6k@Wo&dz z2Ri_rELyyXn>WnFv3W|91Gt(uC7%cZ1giQ7rQVbSH5ZgZXochZIKGec{4i{$6$1Z! zh}nt)-{)(eTt!P`3fGM=J~qZ{uf0ZFTiZWYan}f}ykgZ6us=C=^aubeRm0sv z>sk~s9LHh*{{6i1`s@CpMTPW2q)o)>!g$&<$rx{20Q8wh~` zoQOxn6;xDEiKdS#s#h#TU5U{a--{r_4XoT$8Arh9KCz11KedinJc%0#YW{!x@cSG* zaNxj=AN5{_%m|gz@dXrF8H5pa1@zG4|6dR<2~(^5p4(y&3ez>cYi#Wo4TX5t*vd% znsv2WrHhR8q#r^o07D*rf8dyCY??oWEAPd zYOib0_4V=CV~=p;(BWJvo&L%{eB+zneLJ{*rx)GNJ^M`8$rC5Psx)<(NoapIc*RB^heCQC`_wSzD-Tl?Sy6tm4 zZx_?=^;d)Y@4Iis(D2}AwK6v~G&VHNnl+0#bLP_C(LpMe`mKHQxf}z71N0m}PS3I9 z3=R$ylrayrwYGlmZ@>7Z-M=fAKj_aM4?q0Nw!SlG-%~1;uLHX#7K?Qx>+0(3l6Ayl zFT;$0xz^fx6TAb+1AS761Btrii;EX6+5P?-ZybCl?)!h3F~sGAP#rA* O0000uV9x-?SRk;GS1cPF%a&xx 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 literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/preferences-tweak-tool-icon_16x16.png b/src/io/bibleget/images/preferences-tweak-tool-icon_16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..cd3c66946269a287653fcc2b058fc8bc4fe0cb52 GIT binary patch literal 639 zcmV-_0)YLAP)NNUr%q972` zMH-nYX|@qbvO&ClD}GJqeYwhLb?*ZQX3l#)pYsqu8_L6P&sSaMkmbivBs>hhf!2!S`)5T)3tJmw}s{+Yn@=_oWc%v+M2;^e1 zcm;FbvV>GB^$N$jic>(N(E#l5R|ZZ89LIslWCH9C`F#F$C=|Lzj7FoTQmHg`I-Rjz zufvOs46PBjHjFGUVE6h_Fz7gtBnhlmD-4Ijjwp&|Vzb$-rBdnFJ`eCb)di`yzR7$x zfxDMYAn@DJYPG;@HZ#B1>pf0fF4yU7Hd|T-&t@}9)OvyWoOPZ~r>r|&fg%_To*{0x zTTG|Zg~M2*ywJjGwR+_Xhr=G?a5!AKT<$w{bUGavjYcpYk6E`(;EBOvu>kVM{{4Rc zDPk}f%++dD!s>(;paI?f0Pa0_!V;9Q2t3@sbAw%ia_e+DcW8vRP$>Ms-A=UIZQywx z_V(KF;o}$3Xx23)9O2=-Uu0|GxqqT+PtpRKcs%~}7Gg4)K(pBdtyT+yAh6s2Ly621 ziNv!=ByyY0Xt&$Xy+`0WJbm08eG|Q2uX_PetJOX&Bezf#7h|#5BUGg407=V8cp(~% zK131cdvEP)!~NDvXhhdQjTd#E~{+rv~Qd6+)|TJPq9RFqd;24uPWK_74hY&HoA)|_L?U6JRE&jWA9r?kruX#paQvdt zXiV(y@1GX~z=5r=uhTP}cLP9k3CD3PGBT3J#>R?vQd3it)Z5#;zz5dX*O#@lwDjQo z@bHkVuC9{#S2FVawZtC}&QKUfzD$oGx~Ne8+u?AK=;&yIfGBNkZRJpvA1QQQ($v({ zX)>8=aW|LCMci&TtF#`_EsrMP3E1fo8?IKvL0PguYk zR;vYLBnb%#sZ&!^kMI@6rfqL;v)$cYo)y>wxS{U6aGI6FJr zXtUY+h2Xd7=S#s0Xv=^-r4thq_ufhk|6)69Z`JNp?@Cl8KkB>K` zrKMdn7z`f(qpoT+8kItz$q~rT&W>|)bMvp|<>ePMGc!+CR#uk4^cr+W+}t04ST5X1 ziM=6b|0M8{k@}Pbf9_5|Jy>hdLt*2$UdW5OM+HE7PDKDwIbrlGZvd4f85Q3g`=k;~Y<-6`Tc@0)wi`Q3AV=iECS zksw;FRt=8`(2E?$Jpt+lV@FVhFvS46%k%su=n{-)K}VEI<<@Dox#ND=+uKuvqe2+I zCX>k`;VG8_RwPD~$#fT<%>b&-!NI{Q7^?twcXwY0r#AqA`x%{D6#%edG#aluIXN|- z3P7XLyl-P;^9d~Cq?wl{uo+&j*I!eqR29bp*xcN_1bO=jhO)=$TqGvo(-k*2x7$Ym z)Ya7~Qc_axIXgRt{ZG!RY;A4b9~c;j%+Ag>m;tD&s!A>@D!OfD0omW*$2^|N5rmxB z+uIYhT7BfV+S=OWl9G};hX5iYBW2+HMov!7+iVh$hD=XSlbxL%BA1`703eOjIq-=n z6bcd?9BgKzrKRP|=H}*--riml1rQh*XxrM_`fEr?$g^zH^71m--rgqrCOa~@WF)+K z#;gdBbSF_ytI37)ZZrZIwS|QRVrOSZe0+QkXHHE`-7PFEj2jsl(NT-OzP^r=lap(( zNXaHGE-uoA*V{B?ZpQ;-dh)ix8E?{)#`kRoK3#_mR;>QL6A5Xi72kH($dm*o0^)whT$Fq zU<KFjD=vrQ0{y|w; z*?SL(#2+f#k(3HJNh&HTswyihKZfByh*4}!3A=j|8q&?^=;)Y7@^Xwo-48(n%7dsb zz^fL&i2+~BweK2K7lt1Hq!=v$pdhWo}fAwb}0au$OJG7Au@7783?g3=SD&G0uZC{-Kv}= lx18vC+&W%RB6^-E{{fR>f+!}>%VYom002ovPDHLkV1hj2-C_U$ literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/preferences-tweak-tool-icon_48x48.png b/src/io/bibleget/images/preferences-tweak-tool-icon_48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..9c61e2b2890880083b655059fd8fc8266671c34f GIT binary patch literal 2719 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 literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/text_color_x24.png b/src/io/bibleget/images/text_color_x24.png new file mode 100644 index 0000000000000000000000000000000000000000..40bcb690000b9ecfd72801e63d1b8c49e1793d3c GIT binary patch literal 4320 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 P00000NkvXXu0mjfFk^fl literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/align_justify.png b/src/io/bibleget/images/wysiwyg/24x24/align_justify.png new file mode 100644 index 0000000000000000000000000000000000000000..e4747059bb97c2b47f15f710f98f9b9e9ed59c78 GIT binary patch literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjoCO|{#S9GG!XV7ZFl!D-g+j7N zkS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0x&hU`^K@|xskn7zny*(= zqDbrfa6OmEm&e69l=kvEg%l{gh{<}P#B`8%OM@D(@)BK>T>dWMQbwDdolN)(Fx-yUDH;i5Hn zQ^L}e2U<@rc}QKZ+4q4-C6wn({159)pWS!;m@NcEb6?k(ZD!G|Dk_)8IGq}9xORl#sc&?gQu&X%Q~loCIG5a Bh;aY_ literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/align_left.png b/src/io/bibleget/images/wysiwyg/24x24/align_left.png new file mode 100644 index 0000000000000000000000000000000000000000..d3ffa5a692fa55ab0c1073d8fcbd3f757f606e3b GIT binary patch literal 685 zcmV;e0#f~nP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;Gf6~2RCwCdmd#64Q5eR5@4aW{j(zDc(tu1&ix3ssXu6O#W~-7g`Ue6bDs0s{ zif9=TEnBqc1ETr|QcIDsQt4|^L{uaBMKDI1bHkZ)?rGtmO}V-^7oE*n9C+Vzp7(iv z9I@82nag35mpa*Z;tH?>_}5Pn;D_wZWd=cV)eGFaLT1yaEPWPWJ8?Bj~7-zY-jO)1TGnmTf--VUPT8q&dT`u=_b{@#3 zQuPcCKEfEYCYh?OtGf+s3o~SEErHQelSs@jE`4WyZkA+i9U{)^hym5!(Q!GvMyp$) zP+(?y8sGPc#pBgBEiM<&0b8OBd1!C|0mS($R=#A?^-I9^P0CqOu3x*_5H-;v;*?7z zah2kaG#HgkCg-9Qw-#F4+E`d9FqO|EB2`(C)_pB+L)#QET66y5rQ>b;+s9^SX2|76 zDVIu!Q?Y4dW79)mYq$oMz!=$?PJcDVFf#mv$3p`Z*(xr|?#W(=!ZXJaUQAAM^UV#W z@_9VZtKyOx85!;YyeKr)x{T{8VzC%n>)&a*BH4zt57b0v^Tsq?QM(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;4oO5oRCwCdmQQO_K@`P*^D^c&2}&_B(I&Klr3!9rT1cW$3W9%YcVfkjQ1A=* z9sGk8K@dUQ2z~*ifV$44 zGwqQvA+@C?YPBWYF86zPclUkeIMN}20#?cpw7R}7O zy9^|wNfALrh{xl$r)W(Ta+zgd`xf1^RdxH;%>oc>vj>a`h{d!hr9w-9Q148qzeQVP zj3J*dkj>@z_@QcV6^n}tZR!G4Du?OsAD}w>zBG0H+9M|xv(dP&pFMrjV!z&+-zzKh z(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ>YDq*vRCwBSm04_*RTRhnclo}VP8VQGH?UA>DWxn`C`&1Zr9uReH9ROJ`e5RN ziGf5Dj6jSM;)^CckRUt&vQ!AG@_=b9f+SjyF0_61S!EXXe?b-7$2DdmI^qLjin zhrfOGCZ!1ahvqfZ)--FHhB-y^KO%%af80=eH5?8lFJ4-N$U z#fz>}CyoiH)0zIL?!igZH2-6i%(W~FTefbgnO#r_+qMz|)u_E30P5@OFxl;f?nuJR zesWFg%zkawkY9P&>aZO7~x%b@b9alF_DI$^ZD4?n75pr{9!kL@~ zr2wVW*a#FaT71Z<^VEM@TlNA#MrPLC(v|CWc)dM|X8{OdBiX4T81Rn*IOiY)D9oRU z)U?UtR5%J4|1nE;VJY_3N5e|nFEu|El9uI=S04SxS001B$FrrZaLr6(Y z!`RLcQoyooHj=Fng4seOBti&5!0(34lo&*2^#fU1Y6r2tXx~{!cKm{o! zq?AxManR8rEaXD!1A(Hmx>pZoR5UVP*OVoyjxuT!_x&#({cXnnGesNK6%RJasdEL!vyEt zo;1aMN7r@M)9qaYC`_4>{)lT@?T~M9(~xg4lTii`f?zO!^&8*)?(;9c{EQHS!u-6L z0x2bI+rom9*H6E_dAo7vw_i_KmXX3W9ZD%a@Na*G6cU_sC;@p1lscDm1%U4%y860@Aw)N?gkGncMb_m<% zl*WQg(*$J<8Clcrkfxz8`0?Kb20YIeCb()5CT#Pm6e@SJvlw2x?pZ` zep~Ca54yWNdxUN2MGH!PPM?~6A}c4SkufHulCUicoR7cm{{a9p7PK$cPLE*#0000< KMNUMnLSTY#s<5p9 literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/background_color.png b/src/io/bibleget/images/wysiwyg/24x24/background_color.png new file mode 100644 index 0000000000000000000000000000000000000000..a2319d9e5f84267c7cdef7dcd349ffe119a3d3da GIT binary patch literal 1521 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ>cS%G+RCwBym0fIH)e*;k_uO+o_U^7t)+u(H*h#3p4sB8bifF3xL?J|hkfMI@ zQc)EiDx{XDN>wGKK2!p!;;B+4`cUx@sp(KZMr4a5Z7p_S|;*lldbCJC|P5aX=l zd++Z3IOp_X*J~$4RXWn>o^wZ<|IB~p%vf<0vnsCZF*$j5^RHfh>A9;{7mVlmci*>r z_r*u{J@!h{Xs}#c#`RnP${l60Ea%2@jj{2w96K?JZQI-`a&%;P?czAR^Y)SF9(`>8 z8&b-tD2hfto}2yg>G82IZ`-#0d0W~E|EEaL^O`3Mw9>XxYPo-4VB+7C6K{U^dr$8f zA0I;q>xa`*(_51y`Tq8M?zxhs=^Xh(wW?f;f^96CEY zIX`orLr*>RuLQFnHgDO2 z<2uA~%;N{2ytfbp$EK&w?Qx4Iv<=IdazQdy!N%dUw6ZB1+6t& zYmy{kOK&e2SXx@5cD=^dZQDItI=`Ek_~@5OqjB5rX%~6Ny*n5k8R<*X_(jd)qs=Ia(hBsdP=c&=YMw0%(nzU9@uPnoqwEM&E6kD+ zyt%FCz`_eDooBC&Y7r)Lw_u6??W7L8JhIF5;;h$xDvCkc*}1g<1- z1e&HJKhsFdAcV#i8q@l33yrW$D6%yB%Y_Rc<2Y`c7Oge)dYveWh@&QmWm(v^jW(dU zSq)&!?NxMjbv^s`-~aaN#fum4JP)N5jYi`p=f;3v@DY}UlWE+{wAD)uQX5=1!*f&I zmU>=_lnPl0ifR9b4bLAxdi2r*d-l9EP^}V2P2R&WB+qkv-=`cDsQVs&=cv7=!5Yn)8K_azQNXOwTJ9obP;poWa`T6-*2ddQ|iXyTs!}VOssI*M2{U>nKdCn3fG=;~i|O{R1noXd7&ayn6oj003HRgb>u@nCa;$ zJl|sR(;_ea6vL378a0FuIo#4 zOGM3kZY(k*P^}Cy-8{?T;bEkdEHBrHqKM_?WmZ-~lB9tUqUC&TyrXZ~Vp?DsDA(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ?h)G02RCwC7mRW3+*BOT2bN+P}&thh5@WKGbX3P>(vD+E5B}5?#O%oC#Xwp4x zxv12tqBkV1l#5DLT2*S)C<&=#wIxz0O;a@zEe!@r0yxyg#%2r{Y>$nx@izO+|DUZF z5L(joGDkZ4Zro%@1Zrz*z_~zwUoSMt04YLQS8UM#pR=ZE054;< z;H*lewXaOirXO6|kUv9w6(uDlIA<_T3zQH5>K>y>hS_W(KH`}B1}C%apJ`y~6cZDZ zD?4wgpZ8Qeyu&G#(BQdr@n&j7vwQ(aCBZqz$_G}1Pigci zvVWzWNEhp-97(`j7o2kh0s+{z4Z%5lwt@4>8{g>+w!OyV%TP6Nd~AOsZ=0B^PdU&) zP1AyDS@2p0-t9d5{Xb&W%T`SjtdXw#k9Rcg+5E`kQ^8Oef^#SU;cytCP$ekUU}_Y{ z{&DX4li|c`dR-i9xLf{YYu%pRd%v7o+|UTd7^rRA2nU1s=f&Q{(NgRe-ua7=n;gTg zNdDEMQ@gjdyfT+9fO8H_)6m$o43=pjpUZ+! ziv0AX`LpBwZ;DvE1;>SF>Pl%{ocyXcc?Ha603q=E{m@OS(9zlTgX_K(O@8L0SS({z z{#s`yT`@B`GY16)C}3f15rhy>O2TWIc>i?QvzI(g>wHomS7vAn;cuJPuS=FB!CeG^ zf}ZT{34So+`Gz*X5{~OYmU3u{dJj+Bo`NeR0HAvQ0(d+g2q~da9mRZBdncLs5$4C? zI4)Rb7XHFOS8u-wR{)wuq3b#brO>;FZasEG)h+V4WiY8gOBosR;RY8Hlu*p2(`amp zV`h39N-0>Df$pA5Td$L<bvqli{jp)JvlXfy)7Z%%Gzo-nj> z8Jy_wI0cs%GgD_T_aL!t$GsPNeefF6nGAde#rqdiPZZ{DhwYRhK%qm*%iUeW*@;mE zBULag3$|^;wms1MQq%1+M&PqCp6dWWjoMD3u>uL#!hWi}`VYKq&=%G|MAWD7Y?%QVfnB)RQZ}{+P=J z&i0Rg_i@_$W_u#>0u6?c?CS&JC6adh3m9b}ia{v`p$EvN_;Zgkp>S$$@>^F=T|UyD zNbJ=#jcZo(<^ygx=9R7kE(C;-keoqr25I^+kg?Z93peK0w=|#6q|meRcS1QuFxy zsI9A09!*X;j(eA3aGd|J!f^n9B|0ule($5xCo5@dyuOoVvT*N;U6+9~0VVG)B3;Aq z?QBCwM@RHRR~P2j)+0vduBdDV&fTVr@%tG_%o&leBTz-3SY3Mr>6?&Bza#kcf|C-J z0pHA*o_Z>~v9%S{u<=Z5{E+QTb0z6#Glar)GOUo9%hSZ#mScOD^25mI0iykn5QPG^ z)axf&+a4@7EsLXiK@GNV+48R!n$@q7%>eY%3;~K|JiNqr?8)6v-=xvn7!E$W<=Y$B z$A3k!08kU4`kh+lXeNW#zPWYz!P#69#bOa<$3f2JIIwT$55G8X=xyZE_cNSgu^7Dd z)35C~u&8Od(q4S=C8V=?H^Qe6*Oaf%Oizq2(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ=l}SWFRCwCdmRoF;MHI*X^Ii7V%XWK*mTjf9rIcC=rL|&=V4_e28{>r+H3Xt0 zVqzpjgGLkei6;}|oA+Cy#>AKq74bp=fglQqv`|WEp_E-qY4`f=H|Nawup21}tGw{w zB$Lb}ll6ALS zuV03%E204l!wVbgkC&ELI<~(MtM6Y60H~;_xV}LD{sWyxWA_HGZm#i#mqKPTAYu>^ zGA_Y!2@DguXE7!cQ`&YDlcy&$2f7mDA1`Zd`T`KhUMY`7cXuy&r71obUSE~!3xvvb zVR#_|H49+ZwqQ5%{$;;&J295YPY& z)4)YlTzT~H;rv;okqr|7FflYSm>A3gN^1xKC{|d|*n}$yr^ij)=q5q!UCq8=eK5MJpuwdptYmvwW z*_9F`2`R@#ZO}Kgski6(b&UlNz1rnnw7&S<+lkl=looJ`=XrKg=f)ko&wk^kVxAi+ zc0>#*36dC+2$I9Z zg6k5bOSuQ9;PH47kH;`Fdfsgg;#*Me z5(F_UO=-;TCqlrHZ008r0z!zKMFdw;)+R|%O2afw#A7oEg-X!Xxdbs0XhrTkgaG2x zSk*pnI4^-zz+V&N@L57jQbM{CV1i-+O)h(F8)r@pB2?(b$)U4-Ka3f@C^oY8C<}9G zEV7|@`TKbVOaZ9W3~Jk#)uaZBysqm)C(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;jY&j7RCwB~lub`lK^TS4`_A0nTUvTsA!7LmC|{P4fJHE2jV9{GpP+H!3jc<` zLPCsxK}|HSjT>-d2?>6L0AXXPgxL->luIn5kVmg_nT+UH?x&WqO}L5l)J#u(a{8e zl1WoEqlm+>NKYzrXti25fB*WqPR#a_0tBF`6)OV(R#_;ejMf@NgvLpIq*klFRLm|f z_@h~|1poyFW)^ELe(dd`JY4<~1VMq_1gu`W|DXy$i3oD}{&aL~tQBOlh&!ucYmJ@Scg)Stf1R9~y6$Yz!$*%70g#9wm&?iU$Y`q&hKM^cthI0kO>5og)l_Q@ zr4&5R0})+K$Vrl1aF8S^(lmuJ21(q(-$n!E3Yt0p4nzb-1Y#|$wdiy@I6gjhCs{=L zdKrj_SZiCx7}uZsV#tTg(veKIsOlsH(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ@D@jB_RCwBqlWA;}*A<4}@7`~j#WVI8yf2spunkTDo24RALjco=nnI|-lo-2q zC?Qc0Z4`>2ZA6u(4XPA{mZ(&PMl>o_6oP=Vw=6N>0Tag<@IWw*J)RklJ>!}A#-8=t zZhz2{lBQK2>G^Sf-E-c14%dF=G5|o5By@Ik)DTL;`Gtl3(MT9$vBWHmA&FhmeD;|q58S)el{e%c{>*GP_cO-8TP#)p zfW;)jJFe8`PsqBNVKMi2cYY2zo~#PetnV4-Or*jdDNRf%yH3ufQmF$DN@GeQ&iBW$ zx(^e#D2m^4xpyQZmXyp|EdI8pru!KKNM@!T4o4OYHElZ{aqPG{$~8*RF?-HjOnmB6T6*MSx^!Jy zGgvYnM>3HBQ8g8mV>r`stHDciZEZomUgOP^V`DO2|H-zfyQh1Y>MBaJttS^2^83N@ z=nto-T)2L-wj+B%)6|sv_U1*Et&_^iy0)yY{b@sP=sjK6C0-CfCzZ9vWc4}mlS^T_|$T&s$T;_0i3&b^SPU@&x)jh>;F*4!ZI2uC{iJe_IA^9iSRAPR=bL3}{NVrgr#zA>enp!a(kKAh|xXv(o$-ICc{Hd*oZd*T^+M=p1_%&05}45o*}V<@%>&XqH=f2m7W z(jJ@e?IKCL5(|#tUR+#g%dqfra2U~`AEz%|UenptRVa!g0)ap=m4)or+I{LvEj77~ zHIL{2&gbr*-=~#6F%V17Tu{Kf?je7zKkdj>{VwIkP_khlDwMA(Q$O1Ea{YFm5}}DnV`s)mQF~k^1_lXTLKr(BFLg*wGDK%WFG-uA3apIV5KM@=SDhM?gIP>VRU(e&BpEj&`_V81Sma_Xj-FRpJ!G>;GTpW>QY5uf= zp1SJEe?4~e*e+GqCvV%nV;R4`cHSF?t|B9I0_=`#6ciNvf-`i0ai=c6I=AJ$8p4BvsJMfo-PnMTgMEH100ml)T zbOXAkA(>Y3Z<2}%P#yrF6CFv_fWd&VXauKDo`9+<$SW*?*<#^tbaib#eCWep<>cnL zU){R(TXwrW1OU9ED)4$d$j>hTM>qfgr4)=Yd>KIyVXKj}Q*cmMvz2QdgBgn$t8NKAwfm`o;k-0meu zj~s6A>+RjZQwmCXdF{IA>k5hrZ$zUqL{Wq!Ne`vFf4h4S0DtVrk>3yd{Yy+HlPn0r zU7k{8WjP*1L@887;jTH`UvFz`+ovdM4o5gpo{#^a^@UZlW>sGT067wYJu?%I>})t3 z52TwnZ^k!f&b;pPdMDkv<67Yv9Bl9m4lcFZ?Sqrb%03q*3EsiMX{SycKX%9EY7#_| zV~in{N~>Fb{OYQ?^X8uohe8i0<~Z(=#o$t@6a+y)Ffd|!<)uy6BC=db34yNbC@LyC zUQ$~6vD4YULrE(Rp68+KI#S6b7T4B3zh>?C59+!BIT8US1YZR=G~@#qU^biKY`-$^ zH*fv=JQa8=2M&s&KvflpqV(VvbRDr+jID2Oez~Dx-Co_$0B|r21OE#W90?#82*B-j zqr9TBV_99@w(;l~48s7W6p~~DW9-2iClaVz{@v}17BAT=nIs5;2tg1Y`P47V=N06C z@ft_ax?$tHe*f^?OKl%FTdh_Yh5^PHqOy!RbLZ~-&hq8E#>dB@Y1;qo{9#1#c>Ifs zF$kiFa43|y>4z^k{X;{Qf+%8qYz!-&TeZ8fsrg4)jx2yNWY}z9dF}s&&+BRHJrD$7}G)A~OIgF!IH9%>l+*OG2}aT8Qk{SP%H5^)q47Y{3{lHxc{ rZfs(rqAxY8O%00000NkvXXu0mjf0fCk_ literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/copy.png b/src/io/bibleget/images/wysiwyg/24x24/copy.png new file mode 100644 index 0000000000000000000000000000000000000000..0e595365e0aeb6361695601457a1096895d477b0 GIT binary patch literal 1490 zcmV;@1ugoCP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ>SV=@dRCwBimP>D4R~5&9`*F^_=la?txlXLKDYaG90F|*jND37aDiWdQXv6`(liDsjuO9O``&ZTK6~%A7@TWM9#Hn=jQ0Mo zwf>KF%#VKf_D{e3(n~*EU0v+}b;d*{wC4h|1qTU%TEOG**v9q4CX z!voTF9Wi#aZHsDOnPkCQi?IfSp=ld7U*5d9wYBxz>B;o9jm^ym0Cinst@+;os$i{U zI-PQ`e}HqAsv6OC9oAV4hLj?riuaz4jm_up+`j$0CyyV07fV+^W#o&yyHg_JYa zTD_Dy;3IC^?SHLO_Q*Z@^9JtsGA-kf~x)mMMr-|s7b|Bvr|eEIT~ zuV1-xWjE)HF$OO=BO(lkLynJ+sHzc~BF0#pvn(u(xU{^?%E}5N0vL=n{bbE~a<5;% z{^BQ}{OdQd>)yC<;X+pw1wMxLUQZhrHld-s0nz5o8jOP8>!LP`ne3qUE00_z+YgY^#Y{hUBc2!WUqp$ixc zv)K%QdR9~Tg54*N*?sbu$z<}q4?q0i=d)Qo@B&EAq!jV4K!KbRF-Dwq#1ttCkF}Oz zRpGtI*&bN6AK7?3#yZQ|3onpUVs&kmqAY%V``ud)EFz?wX_|(*o-vzFIXO9*n@5>W zPsk~gb0(*Ric%CF=N;DeQ6j3um>3L(466#~9M3)Xd5(^bCSFy^bAah=hBbz=EIHV( zDTC|#2CprQ4NQvDs9uSv-6PHMRLl-uEVPcDJHyg6h%4rfKm-B%E5rP zZE2c@loQoxgtL}@8_ zk1+w2|?uH$nTF5;|3L!(_6Ih%hJz#FR)elIRyz7dlc-=K)UR_rd-CapxQ(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ>?@2^KRCwBaRc&k>)fGMOy_wma@y@K*A8W_h1g8#hu^p>XX=q&qQb-^~&;-#I zOVEN`3T;%0eu)Y-RimmxmD(Q_O&io7p)v}jtw5ndX;o;ID50TPB#;=Al3+W;NjB?v zcV|ClcHUQi?6Qt)w^urUX6~GG?>qP1AzEvw`6)#Ier^q>!>MCm) z8inApc_4)qauuw#7m1BeJT5MsS{F^e`V~S=K=MT( zgh0%m914%`|7PO0CmuCAKj~A$Ks5D+(jq!5=4Vq40kh}kw_&K3rdvi`Yvo#0-#Z9# z;lvf@bI;t!{aFh-|^HXBkLgvoDAD;LVXey1wt&f11WF<>of1x1| z8@l%ofQm=w-})h822^Nq0cm?!qESUJ~MwaZ! z+r#&anJd?STl4CTDyj^{*WCVHd+qjzH3$H}s7U5v1DTW1k^__h zGOBUa!&vruDhXn{p#57RjW{~i-MPD9Pj1Ovn%!Cy0@wGhdcV83Z>Mw|&>LEzD_Q8d zvw&$Yp)!^w*Ah|3Fk~cwAP>eE+(gq9>Fh+o_W`Y^4ai*C&jHi~O%KDEpQ%^BIB0E@ z6rd!u2tnd5RNtLY=|K=BKq*BShN&p3Zfk3AM`vdzn8CK>^SKeq7@!4|*8{m`E2!5A zh$S}KeM5jTwgiS@fOEcr5HcE7BM2eJIp+w&5L)RMf*_c2nw<5O zO69YrX)Vjq5KvMsfmRBc%;m4Up6Bu?8h2fHf>8>CF}R+WS5iG2kH>L!F8dUZs>^aT zrl=BB7XJnbK@>#^0FTwYBfn>c0i{%J!)OiDGRL*nPbOS=5vu*oq!|eaQ2bFSV z3G%u8r;}dtx-hIBv2FWxDJ68>OsN#?xP77M7hiH5hh?v1zZ6u0B^(PKRF-z&`~D`^ zb730hF3(Lu)~BLT8Kp?2QoBl}(u0)I^?uO@rF8jKk;~_nya<9|br=MDx>j|)27-oZ z*G4j#oGBCvJ9rd5SS%Ko%`pIA^5m&S52ci7Pq!Z)`P|4pt#!k&C2NZiboX@cJ$LRL nKXdvtGYn%<;-*cT@t*+zmfds>6mq~U00000NkvXXu0mjfKbQ(V literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/decrease_indent.png b/src/io/bibleget/images/wysiwyg/24x24/decrease_indent.png new file mode 100644 index 0000000000000000000000000000000000000000..dcfa2569505f0c6d6f4fa655491b47e5202284e5 GIT binary patch literal 1397 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 Hu0mjfrEY6b literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/insert_image.png b/src/io/bibleget/images/wysiwyg/24x24/insert_image.png new file mode 100644 index 0000000000000000000000000000000000000000..f478c5d91a374a709ef36e7c6f897bc907089ca2 GIT binary patch literal 1270 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ=d`Uz>RCwB~l}l`tRTze!bNTpVE?9RzK z-}}Aq_r2#6>sEJNUcF{*LJ2I-a2boZc=5uN?&(?AeDKg$u`*zuAwUrLXy0B(TVp&6 z95|mR?-``{|G_I3_O7c#THllRkDr}F0=vzEvait(0kOZ}0qA05Spzt6kN zUT1McF;Vg{HA#$x_Igb+BynoY?=e^ymiX4v9Fj;;&Bj0I*A?k!_4l5=K1|gtM3z`D*p}NQioQJj5z`m{S=Y&d?3Y@=t89WWvAyvwdDd&&^ z8XQT)5d@?l5mabdYtct*Fu&z3VePVK&3hdGKf6_?cDJtrBWGD8s%F537R{)XpJPR0CQwq zE%AKFlx~qJU1uzNii!LMij`@~eiqN<@nw-xbcVqrU2NZUh>5xu{^&oA93Ns@HDDHZ zu{@f6)VPN7ggOi6D&-GFAGZ&ABc@%Sm}=XB9fKfPL@0$_LwXoE*4G?>8e{9V?R0X3zqQ0fushRLP*k z{9~tR3{5IWI9ufOq{2BnM%bTa*S7VX`13kvhf@sSNl_mOvLNi@xGvgau}GStFXK8H zlvMM7!_tr*S40`*=WLQ6k4@8-8)DbCZhq(+=D^WuK(X_+c3xcCz^}15+BZHf4xexN z^gj)gd^X4FGbeeoJd8)ibVcf-bar&G z%Nr!QKF-mrn#~7?sE>r{-4ds_B~SN~7>VRU%H=XzY3)2M$l})LXoxqm;?_-eG|w`U zj#2MI&$1}7cq_?8OR6T*+7TOi)?9gM(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;(n&-?RCwC#l}Tt*Q51&%bKko+Ni|6&d1)0|YZJ6$($=W06M{osxaz_QH;Poy zO;Hr3;KGHt5=5LAS_e>YXEox4ibSEU12(p?+FDSXG?X@)m!`4rtoZ4W;m z=WyUBDJ7;8hH0iKC<^``wY$3u4{2KR2*xDhw5w)dryBb{6bVvGujL?S4JZK>wdK{puBuG9zS|0bGe+naPExxBb{dHboz5eW#vn0NyRV?tIX#M?%dtdP#p*~sfB_i ze&v7RV?6%;-P<=80l+j2%d7cXPM$j5XqX1#@jlG0s#2t7A(a|II2@*2E{AQ~cW_^M z8TRbjnYe$i;}Sr`7?TZ+%eUxyrom>jF}iT>?D@svCHqQe&4R9HAUKEJ?m$n^dkhT@ zV#Vs!a5|mfoP%=?MNz;Q0};WPnnG7+CpcG8TVD^;v>+`DPL~Tpa9nG@@`Rp0d+NS@ z>(p(^XJ#B35G)O z2LiC91x5_S2ou=}MDBKUtysCLS)DOs=1+I2yY)dN5_P#(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZD2MHq(Pb7s!5oj71St?zY`Ufe>FqQ*)E6;uL=Rst0k&{g3d zkWE=47W@Vlh%F0Pb%Ba1L7N2!k4{v}<=zw6HX3^m5}#fFW`R(rV@W2AF@Q1n+js%$O2NWY z(ct3ySFhe02-vy5(=&D`#agkLSzOtE&p&+fX+3!ik}+^0A*Do{8#p_^>3FwXesga6 z*P#|95~*GRrSQDwPnXg$+wvatPXBS1So90cZ)<_OS4L@`G1iy;u~m!G#?D2Bpo7K9N!ig+c*0?yOxB zmJ3^JXqzD1tmsrQwgl>6t}qY3+Z_%FPfYZQEXxAb9KW;zZ;@C4%5Q^9;FPZY!2RI% z`s!Uc4h13M;eh+KTK_#-77m(TvK~2c42nZ*4c2Pmwb|U~`RC4{%lPBF>7jVMPZV$+ z+^g@OZzAM4LP9FQksYMQ$*ppw45jox;@R23fc3T2K0t_CxVc<;7unO0l7Sl=QEy`> zWW`GRo(Bxb27Lg(>-XKickt)rT_j(IF%VLr>oZ)8$*&UWtmtqxS|sPDrg{a0V6zrJ zwyxX$=D!`?$N+U)9X2_go7r#!0T^p=S-1Z8zly&G Y0G$Z7NV&OQH2?qr07*qoM6N<$f;HjEvj6}9 literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/move_backward.png b/src/io/bibleget/images/wysiwyg/24x24/move_backward.png new file mode 100644 index 0000000000000000000000000000000000000000..c87b0de959cbe0d47d05b3d5861dd27cbe75f6f0 GIT binary patch literal 1070 zcmV+}1kwA6P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ7&j)*Id05>i? zL`gT%oms~tje5E?{a4jre^uKL-|XDK^+9`m zwK5b2VW`lrz3qa%iZP?``-`_QGb68BT2|1k2H@&Q6Hv-@PtBmKiLDFWMd$`e3pQxMAP)(s}=5!D|((guRIq}@iCj;;RYfN+DWgm^NU%)!j**IlIDC1PC+izzH!Q};X9Uk*yLS2b==s+(Pp3OOI~x&T(5~BM zrdJUIMVe9sIhH)LPk8-{dtAE&$&8$goSkIO%^5p$E8lxc7*HZ8AQ2;CT zXGw$$v$01)feT70wGXz6%%GOBFX|ytBnZO{O87>%lCZ%8A_7DZ5?N7ouQHY1wwhF` zg9u>`7J*?sxb^f@ix44^%!m*+6E*2$;+tK~|^dm*2edadg*87?tcm0(Zk@nAuhhkdRq*@Zpy~e%1v( z8>Y(UM=_htIR5uofByFCS08oD?@F438^VzlBu8doY-%7039?nW=C|Is{LlG`IDj`z z!!LV3bJljJ1*0v6kdqL}9C;A6Ww!>m07_5M(AHbmT+W=Hp0c-lhl7KC-n;RBYP$l0 zl!6>iB;j(Z{H?dxyirhb$IzB(ZKgkccqCofKZju^HaeG-aR& z+OFGnFo56P-R05YA&dEf(zQs?b~V%FhPy}+72L-xrVc!bbz4RUDJ7bwVQ+VrM~4rY z&*z(KQJ5DQ>D;K6^-aij4MN~DikRi;1%2=CPdt8f$YQY=Z(VoV_3G@&C68I0LS9cf^hHt7ytkO07*qoM6N<$f^FaFIsgCw literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/move_forward.png b/src/io/bibleget/images/wysiwyg/24x24/move_forward.png new file mode 100644 index 0000000000000000000000000000000000000000..c9e4542956f2544dacf9f42eb67f21f5567d141b GIT binary patch literal 1032 zcmV+j1o!)iP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZDUp>hVG)k~90apRo3e@ ziq}({5DtU@0s#?11mhaYI-vdm@+5ppiS>HTa=D}l18T@cb6_Bf*>eUebs8}vnt@+j zUa(v)*>1NqIFK0$N&@FZyYsRhBKv=ERYfrc(@B3D$Ob0~gjBg?H!`0hNGWl7dAS1) z(1bH3F$Nnlf)94x8G|%Y^iNIV;^Kny<@pYHA+X6gzyuhB@2ey;!m&mIL^Li|tAGA@ z_=wGBLrQ7arufX3v(O_L3v4&4N*aQo(-;DjH6C-)uIUn&eso%(V4M zvM_clI|`{sAf&^$-hTJXmtVYtWy2#d4>Tpt@89d1*oz>LnR}jW7n5Y=FoMt=9MH52 zkc>tk?xd!rJy`tP#H?C@>XfM#c1fluCga|0MxQe|XClDE2~o_w)WMMG!4;#MVycTV z!8Xl@y=FcRC(3?x+=D7nZDd1Bh+UG&K~qlV5t=)_8QBZ~_W)Jgo#sHIT_{AV$C-IN zi28KgqI{02@UBHBSzp1OY+myiV2*jveEs0?;i`|W&n3U(>8qpMJVf;H`t`#b>{W8( znP0kFoM_2|nG+Gkjp`)_->y#I{N@~$C)$?aZlsjrih*bgH>v_|mMLjS(%vM@8+_JEUX zF2~2m^j$}2OWzwJLQ=uKL@8K5>fE5q8Bs7%ECoru z%2dFIAO=A+gnmxo?zB~w5xm}Bgs6++C?bke8eREXhU`fMf+KB14XJHgPEXHvz)Q1Z0mOg48rT{QbAb{|x}fJ;~^a@S=zS0000 C;NA%U literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/new_page.png b/src/io/bibleget/images/wysiwyg/24x24/new_page.png new file mode 100644 index 0000000000000000000000000000000000000000..55dbc01d56aeec25eec6095216a6b3c3e5a380f6 GIT binary patch literal 860 zcmV-i1Ec(jP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;;z>k7RCwBqmc4EhK@i9Pv*$RCi6JQ{kO&e{91)0=po9`Zo0mW!(Nn_XAUXu% z;|2JrfF~f3NCZbD5+Mz?v3EWw_IB^iz8Fqg?Rs@Lznz)?&X~*$0C4~AorgDX-F|d& zad7|u&N(ni+U+&~pb-hZv29@O}jEJ(xY18O#ikFqj!; zhUHG@42YiY?d@FwfPSx!L4QyK005%WR9zE=5%%M6fIVY^bLPrug*n19o;kV_{+b z#{T}dCkF@JOYzH;dy<0#qwuD%NG=C>bpFi&F)# zXmKBk9H>H7W3)h27z%5uanI7}%`BHOASIbrlB@}0Fe4C!xRzsHfHCGRQZC9jx&jbY zh-iMA>ZzkltMRTvhzKGA_H`b>pdt`qs45zbMuLR7USnm5hy*~b2Wshsn2RjS^2;>6 z=*6&Tv@tCQ%#swPYRIypRL7fKj(5yk{3aH~8bB}}Lu8i0IfZHl=ZZpC&P9M!0m4!b zi0(xXoU^>?D2PJysg?{&UPg!+LP@U!z%&Php5Rg!i!)B~pe%2Ih2hyx0wkx0rXqQQ z!|97&P|ZP68iE&Qp+D5;Ko!g$-urZ-q7RpwP4yN>5282zv=FHo*facS1T`y#h$<=? zmuCXx5I-70@^Fo-$QeS(HZ>Sor39R&|5FA{=76Pl(CzlKtTC`WJkEu`EU8V7b%&^= mLQRI@@K3AX@BfbP{T%?bvY}T3Q%s=%0000(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZdcHymgP6gsV z+S`{<)snhhRn@Q%0v^vpc>aY05T*&nBrwLT(cyHet!=Gqvolv3tJNx=*|QfupAR$B z(~-Y2nGs4QVZnjQbX|uKf|{m@N~Hn>!)T1vUh4bhBOeViB77A`cDLChw5m}`)_~h=# zJRZ;7ALo95zqGNjs+QDC&CNa#0LjS-P)avl)I;X?2Yw9(AI8P;3x|jI?Vs%og$3{;N z1%knao&5us8DlVNH6$k|Hy;Wi>LOcQy!oNm+cZ+sHL@)p7qQq@7)A}58#h2HvEG9~ zphJtrVz_;KP1x-Y=rtV>0=lLlpU;6($(q2Ccisi11lepBkw_E{yAzxn(6lP@xx94; zCg=X+Umbgcb91AsD{@qlq%!9Q2qFLJK-~hVtFs|W>B8AFW1mH$-E)!d=&6>L7EnpT z{{hyMNSt>#ozZkEHMOh1f2y-HgxuY`Flt7xu4%`qMC-k11VDjt!@$zgQeQT^82|R0 z6Nd(ep8lvK7(_!uW3}Dyzh!aBB{nfW?u(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<)Ja4^RCwC7mcMQsRTRd5_uuTy?t1M=tHe$sfubl$ffS;EsAy;?p+dX?HM{@? zB@G=95Fr}gfP#ilAR*xtAz&~NkRVRhiFbE)X70Un55;U88&((KsHD7M+1$%j1@c!!?%$oMO z0<7hhnNL{LE3m6)7^R~naL%EW+P@b7Icg^ąf(^}E%Kf-FQG1g)JBZ}?qUzkm& zSnE()p_M{ujaC|^6k2PNBu1lEPM#w}Zty`PqdCqV+d{T>NE2S%NRaJQJ@!q42 zp{Z*GVX;^sBFv^!e*1NsQ>WJW=H}N_Rdq530%)yS8II6e5n{v`gIg9oFA9t?tZ!^k zRSU-BF$%?xckb}=wQI*S07xlyP)gyf#b|@eGPKr6O2in@#!&S8D6QEzdzJ&8eGCH; zQfir(CB0q`V+`I`=oO2jsSd=B{fTr~E076sOlx0Z_kr*Pg*^IW0 zNJ@m@*_}*ing-__No2|T1PoG2v~5eB+ysHzHUEk1aR){Iuyu+|}x2tIKC(VRba9x|DhEB5=p>rdal@$<^TJt9EmQ+nsj z-WxAn@)swQ2}NGuvaYCWYo`zq`u#p_>{|G7$5{z{_TA36A8l=KHg#Fr)gt>K%JLsz zdAw+@kM47+zqrw2F0P+hC(ANqx#jx({-N#GX{FPEXh*#B)#v_&!6$?Bm$3qv1J0u; zUK>8-&Cz`x>^>@Q-@d(Ttr4v?TAOZ#sweS?bcz>Ah(HWM`JL^kfBG2S`jCGH00G?; Uv@5`b*8l(j07*qoM6N<$g7ydf$p8QV literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/paste_as_plain_text.png b/src/io/bibleget/images/wysiwyg/24x24/paste_as_plain_text.png new file mode 100644 index 0000000000000000000000000000000000000000..568b18080eb21b0d7f0a874af0a73aa400462f6e GIT binary patch literal 826 zcmV-A1I7G_P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;z)3_wRCwC7l}l(7Q51&1JGq(ZBT20dsI;JhB3h+e#YgK#ixqr=kA;eYq7=pI zN)dM=in085K3X5BxRT;hEE-=33TkUxThmT6lbgBMMcR^}(Fo1Iy>re#=lthC zN3iEc0*C{KiG=`uNVJ)X(vv6!LY6HXYAe;|hB$skPiXEkY4P~|PbKHX%Q?7o8bf|C zp#+o4BtvP93_0bm3LJ#lWzTw)H z%ebzKWfk`yK@iZ`w462T*8iQLzrUZ&8#hoBk5gM)i!r7sTLpopb?+WL&tub;t%V7` z_jEHb@Pk|J9Za7w^S@fMx_Jf9J3IeQAcR1M!ziW3D|*${1sKA%jcq$<9pHH$8Ksyq zbsF>P>$Bz!Wn;(3^O(JbZAU!)*t0Vu}e_aKXXsdU%sa(Dm{q zjf)o%jmCKL_z}w*o3L#==MGp5x*lKplJqCtsC?1wU08edLv$=(Af%!1^JGhi^<|Eo zSHi5>vpISC%=q&2eLpWbK*W(eeV=@_{L;J5lsn|gs&cz6W3t`Q#!yx1u&chV?p(XS z;dLT`?UbRl9xp#v0|S`RHw0*H`1-w%`LXJ|8E5#&$BctCKxi~3r8Mj2RkLf^+@5DQ zmt5Yxb4N=g5)s91Q$a>4QCS)3KD2$?bw8##``Ykp08VxeNmb>1IRF3v07*qoM6N<$ Ef-Zk}DgXcg literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/paste_from_word.png b/src/io/bibleget/images/wysiwyg/24x24/paste_from_word.png new file mode 100644 index 0000000000000000000000000000000000000000..4075c37e04f5baa579594054e6e5ba699960d40f GIT binary patch literal 1016 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 literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/print.png b/src/io/bibleget/images/wysiwyg/24x24/print.png new file mode 100644 index 0000000000000000000000000000000000000000..a942124a89bbcbb31e83d414d1dd5ad82aaf4206 GIT binary patch literal 1555 zcmV+u2JHEXP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ>nMp)JRCwB4mRoNfR~5&9d(WOZciSh4ZEDwcXu(BFR0&nIQK4$mq!)y$s-jY8 z`xSUZ;(<>ALI@!dC`b?$RkTV-X$5MbG!O!93RN42P!Y#5wv#$J=lFPL-+7ohcEXmH z_B^avm;ZlVw)oejOUOhLd>{e>kW%vYTfcwd*3DZpX_^KE2n4&Q)bzn4Koo`E91e#+ z6GHfrhI0;LL@h60VS6}aVqyYg3_=L3wd8sJ?L!Yge7{l&LI}JMP&t=U;;f_HX_KZY zzkcPF({gb)`N_WJ_| z57KJ4Ns@#ZBLHfI>FTv>d~o6Yv{tXbadByBY`ok3!q#w$qR1H^o1iFi(k#PhjjS?k zwM!19lnd6`^B?~6L;H^pEhjt>_kIp3C2DIh7*lC_e0FYb-b1f>+tJ7S1fYXRu>ZsENzOFagr zrl!By85`&3=BNDb%{QNy*4d}Jd-jrVZ{wW9S&JzOjI}70&}nzbvaBRCMx;z=G@GPp zMxiysVfkMS5h~n6@HCoDdj0+ZWvw+MuNAvcDA6vC-~uSdV%Cy`~vbh{H+=jiutar)G2c<1mTlzl7&-g!ds zgcvc#P_NZlUteQ!@jeicR@sh@vevS(zRpCqORZk#x#Qm`VKRoIC@{ugt;J}KsUp2Y zv}R#pKlAhZF-Eh!y^YbDP-UZHjC}I%%k0}X$@E=!;hn=;Tk>(6c<*xdwT3glImO2M8UT5|&FZxk zuB}|<(;GL)^L#h*D$3g<4KWf!AcTnbo}wriZVea=1{h;Y4xat`bHo_Q^P*Ia5o@;T z_xr>UNsL%y!TQzTdn`}dp&{=|A%KRjd_Qwco<>7%Spw{$Y=<79|*xyAeB^~Ue*5}&z4!M3A(ozrG0r!et-7ezWn{Nf?kLw78Ey?si1A7YA$sTVKFCJB zzVWrEpZ=Ek!`p9hePe@*7e6i=Bm}0Wrcp|rJNCqr54JmPI-L$lqN;T%DhSHjch>RK z6Fc|iRv$L}-F5ZVOtD}_&obwoCT1leBxwB^hc<`Y^yR&Fye0*%22OjtmN+}|d^XJd~@a2=goUheu zAxRPvDXT}#=;1Qr3bD4jdi~2^dBh7LkVw4u2vO?(ZvgjHD`yDxl^Xy6002ovPDHLk FV1hc#>gxai literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/redo.png b/src/io/bibleget/images/wysiwyg/24x24/redo.png new file mode 100644 index 0000000000000000000000000000000000000000..10f5c9d72f9d2a2649e7d27254d5a88cc3786415 GIT binary patch literal 1048 zcmV+z1n2vSP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZyQpexdg~64lk%7A=M2IPiTB`Sm=MQrI+22qB

1mAIG$^7$Mn=xOKe9hxg%DV_B;=S{0jw?QZUA# zX&NY{P)daWL?~n2vNmC)(>VLZXQz73oc^G=q!`5|MJOyP1plYTj4?3IVVWCz4I|x@ z%dI_Qq|=W$jvccsi{UCPDP?LVnY3qTW*c+4)y5}Uo;=cd_=O(Zw*Q{sZsVn;RQK)W z^~J|MZs?5kkN@ z$7(kF?AQ;ZSAHBDJH4{9(#9A=AP_`Q4My6E=0Vw5DLN*A2C42#;&9~tGRIh#fvX-N*OrUaOLu)lfCE8y*ZPdM#eDE z)ZEifUAze2oCdMJ9gi;DpNN~>a)YAvBuc;aH zbMw#t^7HNej8V9*58wA7rEsFr=xBYz?!ls>q5*zmVBnqaZrs*8N=Jx^tff38`*q5pDM4Y zSlG4eVdU4>!8;FkyU!9=Z3_Spi9~RqwH3B)0|2BDzdJ}N1tsq|O87p65cu;0BU>MBi{L-w*8u<@n6tf5 Su$bxq0000(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ>KuJVFRCwC7R!eMDRT%!xx#v#jwu7B^21{EyZ4p8Np@ouF$Y?VN4_%jYd$y!iZvGq97#Dmd;GyFWaFHI@8YFbI;SoOk0)W zj=Q?a{queQ|9$`C5^F8)=EKs-?*9#NT^E^524~NF*AglV?aa^Td!toVKi|7@rBYf$ z1OnOYEFzH=h{xk--L?&pNCd{1A_1lJe+ek17#$gTyk+C2cVn@5Yrc@58XX=wGdMW- zMLZtA=(-^gLhf8ac}3)oA48!KdeW&xndg0T_^BfmB{5e8LY=sJ<G!2L&*pT`CvQ2`K^y!NHh= zo$c-0&V7G&pXZgIE=7YGb9hG~8d~Wh0brJdu|O!~qNC$_OWo?kYjt(CDEPq=xLp8OP@)Jf1c&eY2zY@0 zzTWS5?0E1(I2?wtr8X^(RQw}z3eE$JkB^^x`q=R@KM;$aETpcrE@dvDq(C8G03{S1 z*RSU{Y~1i_&8iwLgjj0R`MLQ;jBq%NUoQM~bo-8ncDpV^5QviQSTt2hQ6f;_oI@#v zn-duXyzt@uo3|u|5O71GB?6;Mr7(uU!GWr1RrNb98#aLRU|Ca@ltpQR0Di%T)*8uV zclY+~+uzG&b1+8#d(ak|UMYoiGWEuRLx-BAl((BIC6o*xrGS(IzVE{VNF|dgp}Yx0BtPT^wbmzzE6gShff}R<~i#7!5vJM&`LrI0q%1UP;^|sHq*9s z>+4m~Drlo&Ex?!q*A2nM}J(2y{dl~GhyR>JcGa$!4afk(-@8wR!XA-@I@b(P*@^1(v^ztgNg|BpMr!oc`?7mt*(VyzuZNkH%xM z>cxInNO?QXPvoE2UtS6aWeUH~QE zIu#9gaAa<7?)Ao|riP~GW&i}-_dy*8sqSt_CB)t*_LD+B?=IaAVhJHR0JDs-5khDe zrQ{l=&hKP$a&o`c>R}5c9LK4FwJWD4C)f1%_f-rG41hTdiN;0@4-G*ph5ZK)a!Q>E zLeRq)yFn@KCWK5_iy2DkG^HeCEp8D)j4=jeYHDgdfJV;!C}XSwKsjR!t{V#V_xDv? zy?nW>r?-dI*VPC64jh<`Myn=_(LDf$7;~o<2F4f*LI|w2u(tSai~+gZzb$_c02Eq6 UxHTg+Z~y=R07*qoM6N<$g8iG9ga7~l literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/remove_link.png b/src/io/bibleget/images/wysiwyg/24x24/remove_link.png new file mode 100644 index 0000000000000000000000000000000000000000..80a26c64aab4c6591ea0e2ea4886ab2ac83e840b GIT binary patch literal 1125 zcmV-r1e*JaP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<>q$gGRCwC#RaSVNot{O`cPZH z1TmNok^X9FMbM%}P^_}b7xW~bMLvY<405| z_D_mGS+GCXUaZYxZ6buggM@?!j17VRUx58IG=!lauc0^`Mr}L}&N%>p5Q0E32+p~x zDvEOB#?P5ceHWrrwgWj0&CYVhnEf{g02pJqGc$wLY!(gMw%_Z35c1Cm zA>i0HB)~s2J>4FSMj=reW=t+tH4US~!+XNvFe8Ngi+hg)LI@;Df|1YT?&_+ab1uYR zgmfxJ78e(?RaMoq!CtBlpGHTCT=44UbYPC}kjoNR&!El}uhR^7&WE2k)Id)7sW{vb>@K+_K>J`QY>U zKq&?17K)0BaBc7^KKrEidTV?8=}1Ww-<<#Q#K9v+S`Hn4!msNq&{Peorb3owfDovP z3SD2pr@g&>ER)f@AC5$D_MNx;GMVgmlu7^uT-STKW@~MQswiG_BEfcdbhdOpzPH|S z?CjV`e0M>p0GBUa^bEtm%=C16ZEfuhN~z-sAsD5PojCPMPvfIayBLJbrcy`}`E-0#khJtNUWn~r4efU0^nwq*B z3$u$C|2Y}_VSs&q*@>jmEQxyH*cPbl$2D(${rC| z&mIUN#Nym>T=&}@J9fUy7-LR(MMdxE=t%G2)d5h60suVW!F4^n@ZxdAVzDibl z8247QS?upRSg^gZajrNVe)8+D&g0gtQBWd50B~#@b#?Vfw6wtIlOYKq;JPjtV^CBT zimJk|D9|(wPaQpmcsw3VFQ*$^*B#S!UAa9uso1vl%bl5-wtf4%{6~*H4NcSFR}`qK z3RP7h`+V@c^>f{~i)_on*4j7@96Ah>n^LSaHnOm|;8~n!Ow-I{R&=+nzW#bTogy8b rdr(>$gX1{&?IN=A(KZDBGyWU^;3B|wRwG;Z00000NkvXXu0mjf?V$ws literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/replace.png b/src/io/bibleget/images/wysiwyg/24x24/replace.png new file mode 100644 index 0000000000000000000000000000000000000000..03fa4bf29f1c1bd636c5e1a219bd22a8c05748bd GIT binary patch literal 2033 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ@cS%G+RCwBalzVJb=NZPI@0{-(A3L!V+i?;nBype+ax(=|!dMH1mRlzntkpI) zw02NwtEP6HfNg(u>#9i=(pEH~mR`1X5|pwEZ7tWr#${_r2)95INCF`@CypIE7d!Fs zxqRQZKf=&dO?{+C?|<*_)$_i3Nl$k-0Dw{%vDj$vHwO+M+VlL@Z+pGo1Y;ZzB?L65 z6I4+kgn*(b=(=+ow>vxF^ZGC~HRZV9dvC+q^&9Ti)rW7JrZL-B&txC~oX8}36Ign%-Mrz!7vN!#TTCxI1Zd~~3nnj5Z8FdID1ONiY8BEiHL}qD1(=akT zy!^vIeeh8tk*HJ@1)8Rzv!gwHK~koXD24ceX=Ygn>F%ORgoo0V?uDy zK%fu`;W*XS|I4j&*se>NzGwd>Em(2l-snqfA6HL9qO&Oxg3{7C$m;rRWCEz1TY0x2 z5cuukj}9t~F@I}I%O)XsenmxyQc4-;0+ibpnr?NjycW$gB#l8Hwc-oN{1DDW*@i1O zZa!L5SKnq?HUt1F%g~(KgS8OYmW}pXx3&%R^=*Ca^*1WQ;YBO@`}=-CBuSDfg~SC& ze^)zR|D@^I$i3Tx(OXTIOM=Csv+Nsthm6AFAJ2>J-}z+q%LAhcKnMg13(?rP9E@>j znuY^!?=P3BEd2fgQdV9**wftw#u#F;7$JlR0FYxD@!Dre|Bt@rGtM+thu+F_$m#n- zqu)#BE%bIqV$1Z7bCHR$(HoKB2!(g)jeP!aPB`YdRWzD=rbIJ%8LgeJ+ zVrfGIR8>VHkuZyQwmj4KrO~0gal!junZHS%1Tt%)G9r9yXR)J*|Mqo_oZBSE*N8o$K!~{V-P~n zi|5Ym+O%bhD^OT?b9y=rRdv9jX;2jfrKNM=bh)r>StF=z+u)p|I2c4Sk-&H|iRpAY z=TdXiTaC+?e`jG$ZMrxZ1OZS}TL-7p30ao2%x2|l)~-c$bqxUE+Lg=bzS9ZDI6`yh z!7vPHng;6g`>}ZOQY@&dg6eP}nMk;gefqbC=U>?IoN1aFNs{5zoNzcCNQ@-_2pEQ; z-fX+^%DhMBA2$uN%d#w-KYIq*tO1|j56(G+5VK2uVaHCm-ENqs1yxlrG90P8aQ^&z zPpw_I*yVD8F%C&0$ji@%Wm-@j4gjD-k)cgjueM&%9FDG7bOZ%~02D>Rmqk;l6ecGp z0T8H)g3-}v-?r`BH`ay2Q{urSi9`a1Vc=?OEAqWw6bFNu?{544D!0dj_(%lY?}cC% zhyWzPKqbI_@Uv*!_3IC54o$<6!-w{jS5)NW=jVTGI-Le%41^FUiUL9i;;~V9Jb6fr z#aEpT&!L5qXIhX6%Uu=2^(`vm7s!!Xf) zs~y3T5)2LwKyWVg_xEisDk{F9I@HP1(m8`;@%X>}o}8S?qVQhbSCuCZT#IOIrnk*1 zT7~pjcHVGotGs*nE_m|tX6^ByyrLrhhqr!rVrF_qxLmHQWo6~K+}sRZ*Tv~mCl9x_ zG{5S0yGJTQp{AnZ;61lPx-+5k&4#DEEYo%ISe1rDb(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ7KfE?>WasRW~z$ff?VVl3O45yyrdVy{Fun z_ul>C!;d~bIhjl*!~THH%?(4&K z#^U0OwA*dQ<1yXt;hBNe?6D-hsS#5mr9`K*z;G}mrG%;S$I=qcIbv1qX#NLh&(7|% zEaUR;ODx}5rtltngrruGB2^V=ciO!C%B#d!fph%&%gT#`-!g%eMP++qkH+o2|EsAH6zA|sxsc(WIP@}tl=)PfB$}@8G_U8UPX~4OvYoz zn;WDUA9KR9qN*xP6`K8K;8klE-CtXy-D%gST6IqZMU1G`=V3Y(JQy1r>x@Q2+U+(m zrCR152x3*$fu{h{3qwm{rJt-UmaJGSe9G1y1MGBD(s11etw?8pbuaoY5v69@BI1i Y0DX?vm2FE0mjD0&07*qoM6N<$g1kWYTmS$7 literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/select_all.png b/src/io/bibleget/images/wysiwyg/24x24/select_all.png new file mode 100644 index 0000000000000000000000000000000000000000..9d0959f80b4fdedc2fdb8cf8ba3c05cfb0e239f2 GIT binary patch literal 1478 zcmV;%1v&bOP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ>Oi4sRRCwBiR!wYFRTTctx%a-GX=es3g|>sWEwrVT04m`}h%Q{XGA1M}b>qT? zKQZoHx^iJmj4m}MBx;O_8(sN>D1l&tK!DI%XhopX)|pqZ({|c<_uk{;%}l9CyvfbW zz3;s9-E+@(zVm2gaNtB|XXo!CB18lc!Gi`ho)5MFnm(ABl1kF2J3BXDKXmx;OKDn% za}G*tP{Xik+yr&b0RWUz4+OB*f|(Jwg7<>dT3BmgtpgDOAY8n75w~vM0)gP17u^hc;qQf`)3YiO+z zMj_%jhhp&=X9BZC#9uNqf-rWP#>bG%Cosm`2jaaz#IGx{rsK>e+w<08X|akVseqXq00IO- zfT^iTeE9x*SXiinm|Bj#_Ym=L?*1s&Ks*4To~D?*I)S88fzlcx0E4m|c;{aH<;(IJV0Nv9YEA1jCrh|A>s21<>qAee#JM;J5rGyj2m*rxPaZn9bJwn8xm?>jD=RC{ z#&O&_xpNF64{~b@$-(sgv8qOFa10QwXC7<-h&{5rLILZ*MP55QLN0 zuJt|K+q-Gow(VKnK(c$?uwmmTJ*CpId?D}h`8;;UkG9wm1Oc=**wWSY97K@M=aI|B z*t}(Pv%w>ZVmRmScK7rQcXVtLRth43X2rxzc&KBeJh6ALjT!|OhGE9>ma++khK5|T zWR+5gb8&-y0zn3}Yxizvi~%vA6oYo|7(8AoZM`DmrO}xnA`P8iPtoSzM6(G0YcO;3 gdz!gDv*Vuu00DyR6{!k|Q2+n{07*qoM6N<$f{c8_PXGV_ literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/select_background_color.png b/src/io/bibleget/images/wysiwyg/24x24/select_background_color.png new file mode 100644 index 0000000000000000000000000000000000000000..1741a25dd8be5b34f4b085058494918baf09a945 GIT binary patch literal 1432 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 literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/superscript.png b/src/io/bibleget/images/wysiwyg/24x24/superscript.png new file mode 100644 index 0000000000000000000000000000000000000000..599e1ea690ebb141fb21a9103aa979697a1c9d1a GIT binary patch literal 1207 zcmV;o1W5adP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ=JxN4CRCwC#ReelVWgLFqbMEH>;WD_$1%la-WwcyTeza^E(Kn$vbL67tN4kb( zOKnkFh+t}>QY~#3tu2(TF|r}wmjr1|F+L-RE1b*6l*E!~ju(w~G$inX;KR59u6j_GW#r}N?BO(ou3wv8E{YQvA0LMx2$=E+=&-v`(d7g$ z_~G%*%r7wFaA3sYfY&>P&p-QgdytNy8`iBkZ>_CK4qw30q{M__$MA5lD2fmS0phrT z_8|f5OL}m?%A-&4!{ZOk**V7phPm#!&+Eg+morZ`H8wm_alSmGt*v#1k>k|dgCAvZ zK|x+glE8vOV2t?1LqRE^V+qLLrASef*_oCkL6&9c zv|7j-Jtn9D3;_ta#T3c1Jp0xg^k{0jnBwsWVH%AV&6h8&>g;F_F>>6bA_qW1B0;n) z$Uo@;$8q2|4k4kT7_d}Qa$L=xjQdy;QHEwj=J?4hb>qX(Qf~;UYOP@}CthUc) zLto!j)Yn^=M1`BwsBn{V`RAYR>h=VXWp$SBYjozHYIb2ydG9m#9BLTY@m=Sxd1Lx} zPYL%3^cS{3f#u3x;8! zQVLm?XTM1Zzz_xmfaLcf_Rht4Zqu8Hh)d8HT6@YgpuYD~6H=_*qd3z%G=C5N3M>I+ z6_5f76ghzBU&+F~t5UImGhkn7OOe+*9knDeBD=}vUda#w6Q^|o=)WZa4FmK~$@rqa z7c6tVQpS*_=(;or29&*M6R!CK%GH9}-VZ3H45!mb(I#Wv{(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZHg|JRo#6~{ih9IefKk}=YRrW+PmjRS2xX7 zpV7cz%!4>a69W ztT>&F0eDzFQhU$kEWXcQxAzzfH&-(NZts^Q&M})F1MuySzg03FC471nH>k=U^S<(` z;kxXR7bVBXk<+14)t<9i4&P}t-J%hj4*PhyJln4+?*V~UoK)IPL@yn9$-FeHfs;KO`HB95x|SOe)M zM*uV^K|xhfg`f&8Yh?D>0C76bJ*R^r!$F_Ri&FsdqNFFntA@8lNnVs~k^4QNsy$a{ zvB;J8u?9^%26`fGktgF@WcPFc?*l%BefBT&-m&xnZ=UoJv`NvyC;l6Lc|FK_lk@u@ z@9-g}X!V#;dyi^NQCZe3(+vR2)rL9*vb+Ec@9!2E16Az-9JcNX}WDwfpS$Idl$%vv#k@hw;{!eWPW0!D6-fPmJaaJZ3p!jU^Gmt0LkM zXGz4NfQZ9~Kq7GiX|651Sc5K$b0p$$#$c^Q`u&7y)0{?wKB}}vIU4lIijrBQEAhna z^mSffFfA8Vy=S!1pnqVr5C~nP9dLMtyEQn}RW&|f=ia#CAwRi09Oxk^hJ9}1n_ec_ zw&30SIdy=1Td+(stTUjIi?SxmO8^$>8t(&j(}Qm3OAKJGMN#hVSBP`uMMYu_={iHk z!vSw@8e`=JqhZ<_C(8@+qU5Z}>3A`qs(srGG4Xf#(akvky+r7Va6XI1oKEIQ_y6AQ zBmb0naXm=lY_gje4-?9Pv;jxMgrw6QCj+6X%^r7)JQ>6<*o{Hr68Y)Rt<807*qoM6N<$f<7YAC;$Ke literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/text_color.png b/src/io/bibleget/images/wysiwyg/24x24/text_color.png new file mode 100644 index 0000000000000000000000000000000000000000..cde2897c7e8547dc228a6ba002e0a4ed31106e0f GIT binary patch literal 1397 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 literal 0 HcmV?d00001 diff --git a/src/io/bibleget/images/wysiwyg/24x24/undo.png b/src/io/bibleget/images/wysiwyg/24x24/undo.png new file mode 100644 index 0000000000000000000000000000000000000000..19b6d3edda3bb447de58448f231a31afbc6133e6 GIT binary patch literal 1051 zcmV+$1mydPP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ0DOhTL_rG}Zw#hE#K&fY!*OCO2| zQhdn=A1qi8Ki2vdEXx>!hbe-GtbM@$4`2(o<^cedQf%*R%R3wEk2j=Jlfy$pNYvFq zDFx5-P$(2o@_mHEVc50}LMSL9(8i#mq5`3C2*v;w0LD3rg#tD={{V3#F5F5NUbTmB z1~0#L{{8nxa@nj?C>B8}r2xXl7>5u7#uyl5AmrZ<&V&#Uw!pQkSD*dzQvaKwP#B+m zdg1G0p+IM*ry3}wVcWK~ZQGmG)iv`q(ddznQ3vg@+Ati(m5L`eA0mc}(;E>WmEFK?kXlVF6o=AM+x)Ehd`@t*9=eIC0 zaOsWZ^is2w5*8tlwgeXfobx>k4lV?2DIui<;~e>1?)cp7+y~QBQ`hd^z56nw4_+N% zj8^_IGIEA-4vP?2mIXq{JzD^b0kjSf1Z5b5BC)I;11MuO^7*ay#l?mGxw+XvrBu^i zZ1-g_c4f40Wo5b1^E_CVwP)b(x-1=MNlN)kh3gKNip43<^ETT%I{fdy8wwLbQp@S3 zv%9;0_C0p!(CO9H)t;lrj=i2p)LkqUi+k5;Gy3ty`g*;T5}XTg&cGN2Arz5FqCYD5X$$Ac@*&42;skE3dwG?%j9Z9*ww_ z7G)H(voj}yAh^JkQV4$-@>V$fPcYYo?RK`BGIT!vTW z;fceCv6agq&;eRnTF0I|a%3!>PIo(wv(nkwb-v^1)BWuJ#Emfsf&k@m88Cp>8bJ`; z>uaq67-+3=qO%LNwNd!W2VjA7psl_AL(3xHI*#*E, YEAR. +# +!=Project-Id-Version\: PACKAGE VERSION en\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2015-03-09 15\:08+0100\nPO-Revision-Date\: 2015-03-09 16\:48+0100\nLast-Translator\: John R. D'Orazio \nLanguage-Team\: LANGUAGE english \nLanguage\: en\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Generator\: Poedit 1.5.4\nX-Poedit-SourceCharset\: UTF-8\n + +#: BibleGetAbout.java:101 +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer=BibleGet I/O plugin for Open Office Writer + +#: BibleGetAbout.java:103 BibleGetHelp.java:165 +Version=Version + +#: BibleGetAbout.java:105 +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University.=This plugin was developed by John R. D'Orazio, a priest in the diocese of Rome, chaplain at Roma Tre University. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetAbout.java:107 +#, java-format +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}.=It is a part of the BibleGet Project at {0}. + +#: BibleGetAbout.java:109 +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions.=The author would like to thank Giovanni Gregori and Simone Urbinati for their code contributions. + +#: BibleGetAbout.java:111 +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation.=The BibleGet Project is an independent project born from the personal initiative of John R. D'Orazio, and is not funded by any kind of corporation. + +#: BibleGetAbout.java:113 +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ \u20ac200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=All of the expenses of the project server and domain, which amount to \u20ac200 a year, are accounted for personally by the author. All code contributions and development are entirely volunteered. + +#: BibleGetAbout.java:115 +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ \u20ac1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=If you like the plugin and find it useful, please consider contributing even a small amount to help keep this project running. Even just \u20ac1 can make a difference. You can contribute using the appropriate menu item in this plugin's menu. + +#: BibleGetAbout.java:152 BibleGetHelp.java:171 +About\ this\ plugin=About this plugin + +#: BibleGetAbout.java:173 +Current\ information\ from\ the\ BibleGet\ Server\:=Current information from the BibleGet Server\: + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetAbout.java:175 +#, java-format +The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\:=The BibleGet database currently supports {0} versions of the Bible in {1} different languages\: + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetAbout.java:180 +#, java-format +The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\:=The BibleGet engine currently understands the names of the books of the Bible in {0} different languages\: + +#: BibleGetAbout.java:193 BibleGetHelp.java:172 +RENEW\ SERVER\ DATA=RENEW SERVER DATA + +#: BibleGetFrame.java:171 +Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\:=Type the desired Bible Quote using standard notation\: + +#: BibleGetFrame.java:178 +(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16)=(e.g. Mt 1,1-10.12-15;5,3-4;Jn 3,16) + +#: BibleGetFrame.java:180 +Choose\ version\ (or\ versions)=Choose version (or versions) + +#: BibleGetFrame.java:190 +Send\ query=Send query + +#: BibleGetFrame.java:191 +Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document.=Sends the request to the server and returns the results to the document. + +#: BibleGetFrame.java:198 +Cancel=Cancel + +#: BibleGetFrame.java:249 +You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request.=You must select at least one version in order to make a request. + +#: BibleGetFrame.java:283 BibleGetSelection.java:106 +There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again.=There was a problem communicating with the BibleGet server. Please try again. + +#: BibleGetHelp.java:155 +Help\ for\ BibleGet\ (Open\ Office\ Writer)=Help for BibleGet (Open Office Writer) + +#: BibleGetHelp.java:156 +This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer.=This Help dialog window introduces the user to the usage of the BibleGet I/O plugin for Open Office Writer. + +#: BibleGetHelp.java:157 +The\ Help\ is\ divided\ into\ three\ sections\:=The Help is divided into three sections\: + +#: BibleGetHelp.java:159 BibleGetHelp.java:342 +Usage\ of\ the\ Plugin=Usage of the Plugin + +#: BibleGetHelp.java:160 BibleGetHelp.java:345 +Formulation\ of\ the\ Queries=Formulation of the Queries + +#: BibleGetHelp.java:161 BibleGetHelp.java:231 BibleGetHelp.java:284 +#: BibleGetHelp.java:347 +Biblical\ Books\ and\ Abbreviations=Biblical Books and Abbreviations + +#: BibleGetHelp.java:163 +AUTHOR=AUTHOR + +#: BibleGetHelp.java:163 +John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University)=John R. D'Orazio (chaplain at Roma Tre University) + +#: BibleGetHelp.java:164 +COLLABORATORS=COLLABORATORS + +#: BibleGetHelp.java:164 +Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre)=Giovanni Gregori (computing) and Simone Urbinati (MUG Roma Tre) + +#: BibleGetHelp.java:167 +PROJECT\ WEBSITE=PROJECT WEBSITE + +#: BibleGetHelp.java:167 +EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT=EMAIL ADDRESS FOR INFORMATION OR FEEDBACK ON THE PROJECT + +#: BibleGetHelp.java:170 BibleGetFrame.java:166 +Insert\ quote\ from\ input\ window=Insert quote from input window + +#: BibleGetHelp.java:174 +Insert\ quote\ from\ text\ selection=Insert quote from text selection + +#: BibleGetHelp.java:178 +How\ to\ use\ the\ plugin=How to use the plugin + +#: BibleGetHelp.java:179 +Description\ of\ the\ menu\ icons\ and\ their\ functionality.=Description of the menu icons and their functionality. + +#: BibleGetHelp.java:180 +Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\:=Once the extension is installed, a new menu 'BibleGet I/O' will appear on the menu bar. Also a new floating toolbar will appear. The buttons on the floating toolbar correspond to the menu items in the new menu, as can be seen in this image\: + +#: BibleGetHelp.java:182 +The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\:=The floating toolbar can be dragged and placed anywhere on the screen. It can also be docked to certain areas of the workspace, for example on the toolbar below the menu bar, like in this image\: + +#: BibleGetHelp.java:184 +There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document.=There are two ways of inserting a bible quote into a document. + +#: BibleGetHelp.java:186 +The\ first\ way\ is\ by\ using\ the\ input\ window.=The first way is by using the input window. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:188 +#, java-format +If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from.=If you click on the menu item ''{0}'', an input window will open where you can input your query and choose the version or versions you would like to take the quote from. + +#: BibleGetHelp.java:190 +This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database.=This list of versions is updated from the available versions on the BibleGet server, but since the information is stored locally it may be necessary to renew the server information when new versions are added to the BibleGet server database. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:192 +#, java-format +In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''.=In order to renew the information from the BibleGet server, click on the ''{0}'' menu item, and then click on the button ''{1}''. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:194 +#, java-format +When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item.=When you choose a version or multiple versions to quote from, this choice is automatically saved as a preference, and will be pre-selected the next time you open the ''{0}'' menu item. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:197 +#, java-format +The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server.=The second way is by writing your desired quote directly in the document, and then selecting it and choosing the menu item ''{0}''. The selected text will be substituted by the Bible Quote retrieved from the BibleGet server. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:199 +#, java-format +The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window.=The versions previously selected in the ''{0}'' window will be used, so you must have selected your preferred versions at least once from the ''{0}'' window. + +#: BibleGetHelp.java:203 +Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically.=Formatting preferences can be set using the 'Preferences' window. You can choose the desired font for the Bible quotes as well as the desired line-spacing, and you can choose separate formatting (font size, font color, font style) for the book / chapter, for the verse numbers, and for the verse text. Preferences are saved automatically. + +#: BibleGetHelp.java:207 +After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\:=After the 'Help' menu item that opens up this same help window, the last three menu items are\: + +#: BibleGetHelp.java:212 +Send\ feedback=Send feedback + +#: BibleGetHelp.java:214 +This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in.=This will open up your system's default email application with the bibleget.io@gmail.com feedback address already filled in. + +#: BibleGetHelp.java:218 +Contribute=Contribute + +#: BibleGetHelp.java:220 +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ \u20ac1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ \u20ac120\ a\ year.=This will open a Paypal page in the system's default browser where you can make a donation to contribute to the project. Even just \u20ac1 can help to cover the expenses of this project. Just the server costs \u20ac120 a year. + +#: BibleGetHelp.java:224 +Information\ on\ the\ BibleGet\ I/O\ Project=Information on the BibleGet I/O Project + +#: BibleGetHelp.java:226 +This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports.=This opens a dialog window with some information on the project and it's plugins, on the author and contributors, and on the current locally stored information about the versions and languages that the BibleGet server supports. + +#: BibleGetHelp.java:236 +How\ to\ formulate\ a\ bible\ query=How to formulate a bible query + +#: BibleGetHelp.java:238 +The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation.=The queries for bible quotes must be formulated using standard notation for bible citation. + +#: BibleGetHelp.java:240 +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.\ =This can be either the english notation (as explained here\: https\://en.wikipedia.org/wiki/Bible_citation), or the european notation as explained here below. + +#: BibleGetHelp.java:243 +A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter.=A basic query consists of at least two elements\: the bible book and the chapter. + +#: BibleGetHelp.java:245 +The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form.=The bible book can be written out in full, or in an abbreviated form. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:247 +#, java-format +The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1}=The BibleGet engine recognizes the names of the books of the bible in {0} different languages\: {1} + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:249 +#, java-format +See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}.=See the list of valid books and abbreviations in the section {0}. + +#: BibleGetHelp.java:251 +For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1.=For example, the query "Matthew 1" means the book of Matthew (or better the gospel according to Matthew) at chapter 1. + +#: BibleGetHelp.java:253 +This\ can\ also\ be\ written\ as\ "Mt\ 1".=This can also be written as "Mt 1". + +#: BibleGetHelp.java:255 +Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\:=Different combinations of books, chapters, and verses can be formed using the comma delimiter and the dot delimiter (in european notation, in english notation instead a colon is used instead of a comma and a comma is used instead of a dot)\: + +#: BibleGetHelp.java:257 +","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".)=","\: the comma is the chapter-verse delimiter. "Matthew 1,5" means the book (gospel) of Matthew, chapter 1, verse 5. (In English notation\: "Matthew 1\:5".) + +#: BibleGetHelp.java:258 +"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".)="."\: the dot is a delimiter between verses. "Matthew 1,5.7" means the book (gospel) of Matthew, chapter 1, verses 5 and 7. (In English notation\: "Matthew 1\:5,7".) + +#: BibleGetHelp.java:259 +"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\:="-"\: the dash is a range delimiter, which can be used in a variety of ways\: + +#: BibleGetHelp.java:261 +For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2.=For a range of chapters\: "Matthew 1-2" means the gospel according to Matthew, from chapter 1 to chapter 2. + +#: BibleGetHelp.java:262 +For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".)=For a range of verses within the same chapter\: "Matthew 1,1-5" means the gospel according to Matthew, chapter 1, from verse 1 to verse 5. (In English notation\: "Matthew 1\:1-5".) + +#: BibleGetHelp.java:263 +For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".)=For a range of verses that span over different chapters\: "Matthew 1,5-2,13" means the gospel according to Matthew, from chapter 1, verse 5 to chapter 2, verse 13. (In English notation\: "Matthew 1\:5-2\:13".) + +#: BibleGetHelp.java:266 +Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".)=Different combinations of these delimiters can form fairly complex queries, for example "Mt1,1-3.5.7-9" means the gospel according to Matthew, chapter 1, verses 1 to 3, verse 5, and verses 7 to 9. (In English notation\: "Mt1\:1-3,5,7-9".) + +#: BibleGetHelp.java:267 +Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";".=Multiple queries can be combined together using a semi-colon ";". + +#: BibleGetHelp.java:269 +If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time.=If the query following the semi-colon refers to the same book as the preceding query, it is not necessary to indicate the book a second time. + +#: BibleGetHelp.java:271 +For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".)=For example, "Matthew 1,1;2,13" means the gospel according to Matthew, chapter 1 verse 1 and chapter 2 verse 13. (In English notation\: "Matthew 1\:1;2\:13".) + +#: BibleGetHelp.java:273 +Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14").=Here is an example of multiple complex queries combined into a single querystring\: "Genesis 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse 3,10.12-14". (In English notation\: "Genesis 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse 3\:10,12-14"). + +#: BibleGetHelp.java:274 +It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.=It doesn't matter whether or not you use a space between the book and the chapter, the querystring will be interpreted just the same. + +#: BibleGetHelp.java:275 +It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.=It is also indifferent whether you use uppercase or lowercase letters, the querystring will be interpreted just the same. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:285 +Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings.=Here is a list of valid books and their corresponding abbreviations, either of which can be used in the querystrings. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:287 +The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions.=The abbreviations do not always correspond with those proposed by the various editions of the Bible, because they would conflict with those proposed by other editions. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:289 +For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah").=For example some english editions propose "Gn" as an abbreviation for "Genesis", while some italian editions propose "Gn" as an abbreviation for "Giona" (\= "Jonah"). + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:291 +Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\:=Therefore you will not always be able to use the abbreviations proposed by any single edition of the Bible, you must use the abbreviations that are recognized by the BibleGet engine as listed in the following table\: + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:294 +BOOK=BOOK + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:294 +ABBREVIATION=ABBREVIATION + +#: BibleGetHelp.java:336 +Instructions=Instructions + +#: BibleGetHelp.java:341 +Help=Help + +#: BibleGetSelection.java:118 HTTPCaller.java:225 +You\ cannot\ send\ an\ empty\ query.=You cannot send an empty query. + +#: HTTPCaller.java:195 +Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation.=Mixed notations have been detected. Please use either english notation or european notation. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:236 +#, java-format +The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\!=The first query <{0}> in the querystring <{1}> must start with a valid book indicator\! + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:258 +#, java-format +The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators.=The book indicator <{0}> in the query <{1}> is not valid. Please check the documentation for a list of valid book indicators. + +#: HTTPCaller.java:281 +You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\!=You must have a valid chapter following the book indicator\! + +#: HTTPCaller.java:288 +A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\!=A query that doesn't start with a book indicator must however start with a valid chapter indicator\! + +#: HTTPCaller.java:298 +You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma.=You cannot use a dot without first using a comma or a dash. A dot is a liason between verses, which are separated from the chapter by a comma. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:307 +#, java-format +Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}>=Verses concatenated by a dot must be consecutive, instead <{0}> is greater than or equal to <{1}> in the expression <{2}> in the query <{3}> + +#: HTTPCaller.java:314 +A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=A dot must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. + +#: HTTPCaller.java:332 +A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=A comma must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:341 HTTPCaller.java:367 HTTPCaller.java:384 +#: HTTPCaller.java:441 +#, java-format +A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}>=A chapter in the query is out of bounds\: there is no chapter <{0}> in the book <{1}> in the requested version <{2}>, the last possible chapter is <{3}> + +#: HTTPCaller.java:350 +You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\!=You cannot have more than one comma and not have a dash\! + +#: HTTPCaller.java:355 +You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash.=You seem to have a malformed querystring, there should be only one dash. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:373 HTTPCaller.java:398 HTTPCaller.java:414 +#: HTTPCaller.java:428 +#, java-format +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}>=A verse in the query is out of bounds\: there is no verse <{0}> in the book <{1}> at chapter <{2}> in the requested version <{3}>, the last possible verse is <{4}> + +#: HTTPCaller.java:452 +There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots.=There are multiple dashes in the query, but there are not enough dots. There can only be one more dash than dots. + +#: HTTPCaller.java:465 +A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=A dash must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. + +#: HTTPCaller.java:476 +If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash.=If there is a chapter-verse construct following a dash, there must also be a chapter-verse construct preceding the same dash. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:496 +#, java-format +Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}>=Chapters must be consecutive. Instead the first chapter indicator <{0}> is greater than or equal to the second chapter indicator <{1}> in the expression <{2}> + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:510 +#, java-format +Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>=Verses (or chapters if applicable) around the dash operator must be consecutive. Instead <{0}> is greater than or equal to <{1}> in the expression <{2}> + +#: OptionsFrame.java:148 +Genesi=Genesi + +#: OptionsFrame.java:150 +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth\u2014=In the beginning, when God created the heavens and the earth\u2014 + +#: OptionsFrame.java:152 +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters\u2014=and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters\u2014 + +#: OptionsFrame.java:154 +Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light.=Then God said\: Let there be light, and there was light. + +#: OptionsFrame.java:253 +User\ Preferences=User Preferences + +#: OptionsFrame.java:261 +Paragraph=Paragraph + +#: OptionsFrame.java:264 +Alignment=Alignment + +#: OptionsFrame.java:340 +Indent=Indent + +#: OptionsFrame.java:380 +Line-spacing=Line-spacing + +#: OptionsFrame.java:411 +Font=Font + +#: OptionsFrame.java:472 +Book\ /\ Chapter=Book / Chapter + +#: OptionsFrame.java:593 +Verse\ Number=Verse Number + +#: OptionsFrame.java:714 +Verse\ Text=Verse Text + +#: OptionsFrame.java:835 +Preview=Preview + +#: OptionsFrame.java:862 +line-spacing\ not\ visible\ in\ the\ preview=line-spacing not visible in the preview + +#: OptionsFrame.java:953 +Choose\ Book\ /\ Chapter\ Font\ Color=Choose Book / Chapter Font Color + +#: OptionsFrame.java:983 +Choose\ Book\ /\ Chapter\ Background\ Color=Choose Book / Chapter Background Color + +#: OptionsFrame.java:1013 +Choose\ Verse\ Number\ Font\ Color=Choose Verse Number Font Color + +#: OptionsFrame.java:1043 +Choose\ Verse\ Number\ Background\ Color=Choose Verse Number Background Color + +#: OptionsFrame.java:1073 +Choose\ Verse\ Text\ Font\ Color=Choose Verse Text Font Color + +#: OptionsFrame.java:1103 +Choose\ Verse\ Text\ Background\ Color=Choose Verse Text Background Color diff --git a/src/io/bibleget/resources/messages_es.properties b/src/io/bibleget/resources/messages_es.properties new file mode 100644 index 0000000..81e4fd7 --- /dev/null +++ b/src/io/bibleget/resources/messages_es.properties @@ -0,0 +1,450 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +!=Project-Id-Version\: PACKAGE VERSION es\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2015-03-09 15\:08+0100\nPO-Revision-Date\: 2015-03-09 16\:48+0100\nLast-Translator\: John R. D'Orazio \nLanguage-Team\: LANGUAGE spanish \nLanguage\: es\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Generator\: Poedit 1.5.4\nX-Poedit-SourceCharset\: UTF-8\n + +#: BibleGetAbout.java:101 +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer=Extensi\u00f3n BibleGet I/O para Open Office Writer + +#: BibleGetAbout.java:103 BibleGetHelp.java:165 +Version=Versi\u00f3n + +#: BibleGetAbout.java:105 +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University.=Esta extensi\u00f3n fue desarrollada por John R. D'Orazio, un sacerdote de la di\u00f3cesis de Roma, capell\u00e1n en la Universidad Roma Tre. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetAbout.java:107 +#, java-format +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}.=Pertenece al Proyecto BibleGet a {0}. + +#: BibleGetAbout.java:109 +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions.=El autor desea agradecer a Giovanni Gregori y Simone Urbinati en sus contribuciones de c\u00f3digo. + +#: BibleGetAbout.java:111 +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation.=El Proyecto BibleGet es un proyecto independiente que nace de la iniciativa personal de John R. D'Orazio, y no est\u00e1 financiado por ning\u00fan tipo de corporaci\u00f3n. + +#: BibleGetAbout.java:113 +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ \u20ac200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=Todos los gastos del servidor y del dominio del proyecto, que ascienden a \u20ac200 al a\u00f1o, se contabilizan personalmente por el autor. Todas las contribuciones de c\u00f3digo y de desarrollo son totalmente voluntarios. + +#: BibleGetAbout.java:115 +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ \u20ac1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=Si te gusta el plugin y si le resulta \u00fatil, por favor considere de contribuir incluso una peque\u00f1a cantidad para ayudar a mantener este proyecto. Incluso acaba de \u20ac1 puede hacer la diferencia. Usted puede contribuir mediante el uso de la opci\u00f3n de men\u00fa correspondiente en el men\u00fa de este plugin. + +#: BibleGetAbout.java:152 BibleGetHelp.java:171 +About\ this\ plugin=Acerca de esta extensi\u00f3n + +#: BibleGetAbout.java:173 +Current\ information\ from\ the\ BibleGet\ Server\:=Informes actuales del Servidor BibleGet\: + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetAbout.java:175 +#, java-format +!The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\:= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetAbout.java:180 +#, java-format +!The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\:= + +#: BibleGetAbout.java:193 BibleGetHelp.java:172 +!RENEW\ SERVER\ DATA= + +#: BibleGetFrame.java:171 +!Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\:= + +#: BibleGetFrame.java:178 +!(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16)= + +#: BibleGetFrame.java:180 +!Choose\ version\ (or\ versions)= + +#: BibleGetFrame.java:190 +!Send\ query= + +#: BibleGetFrame.java:191 +!Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document.= + +#: BibleGetFrame.java:198 +!Cancel= + +#: BibleGetFrame.java:249 +!You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request.= + +#: BibleGetFrame.java:283 BibleGetSelection.java:106 +!There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again.= + +#: BibleGetHelp.java:155 +!Help\ for\ BibleGet\ (Open\ Office\ Writer)= + +#: BibleGetHelp.java:156 +!This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer.= + +#: BibleGetHelp.java:157 +!The\ Help\ is\ divided\ into\ three\ sections\:= + +#: BibleGetHelp.java:159 BibleGetHelp.java:342 +!Usage\ of\ the\ Plugin= + +#: BibleGetHelp.java:160 BibleGetHelp.java:345 +!Formulation\ of\ the\ Queries= + +#: BibleGetHelp.java:161 BibleGetHelp.java:231 BibleGetHelp.java:284 +#: BibleGetHelp.java:347 +!Biblical\ Books\ and\ Abbreviations= + +#: BibleGetHelp.java:163 +!AUTHOR= + +#: BibleGetHelp.java:163 +!John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University)= + +#: BibleGetHelp.java:164 +!COLLABORATORS= + +#: BibleGetHelp.java:164 +!Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre)= + +#: BibleGetHelp.java:167 +!PROJECT\ WEBSITE= + +#: BibleGetHelp.java:167 +!EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT= + +#: BibleGetHelp.java:170 BibleGetFrame.java:166 +!Insert\ quote\ from\ input\ window= + +#: BibleGetHelp.java:174 +!Insert\ quote\ from\ text\ selection= + +#: BibleGetHelp.java:178 +!How\ to\ use\ the\ plugin= + +#: BibleGetHelp.java:179 +!Description\ of\ the\ menu\ icons\ and\ their\ functionality.= + +#: BibleGetHelp.java:180 +!Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\:= + +#: BibleGetHelp.java:182 +!The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\:= + +#: BibleGetHelp.java:184 +!There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document.= + +#: BibleGetHelp.java:186 +!The\ first\ way\ is\ by\ using\ the\ input\ window.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:188 +#, java-format +!If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from.= + +#: BibleGetHelp.java:190 +!This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:192 +#, java-format +!In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:194 +#, java-format +!When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:197 +#, java-format +!The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:199 +#, java-format +!The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window.= + +#: BibleGetHelp.java:203 +!Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically.= + +#: BibleGetHelp.java:207 +!After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\:= + +#: BibleGetHelp.java:212 +!Send\ feedback= + +#: BibleGetHelp.java:214 +!This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in.= + +#: BibleGetHelp.java:218 +!Contribute= + +#: BibleGetHelp.java:220 +!This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ \u20ac1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ \u20ac120\ a\ year.= + +#: BibleGetHelp.java:224 +!Information\ on\ the\ BibleGet\ I/O\ Project= + +#: BibleGetHelp.java:226 +!This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports.= + +#: BibleGetHelp.java:236 +!How\ to\ formulate\ a\ bible\ query= + +#: BibleGetHelp.java:238 +!The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation.= + +#: BibleGetHelp.java:240 +!This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.\ = + +#: BibleGetHelp.java:243 +!A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter.= + +#: BibleGetHelp.java:245 +!The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:247 +#, java-format +!The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1}= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:249 +#, java-format +!See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}.= + +#: BibleGetHelp.java:251 +!For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1.= + +#: BibleGetHelp.java:253 +!This\ can\ also\ be\ written\ as\ "Mt\ 1".= + +#: BibleGetHelp.java:255 +!Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\:= + +#: BibleGetHelp.java:257 +!","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".)= + +#: BibleGetHelp.java:258 +!"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".)= + +#: BibleGetHelp.java:259 +!"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\:= + +#: BibleGetHelp.java:261 +!For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2.= + +#: BibleGetHelp.java:262 +!For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".)= + +#: BibleGetHelp.java:263 +!For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".)= + +#: BibleGetHelp.java:266 +!Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".)= + +#: BibleGetHelp.java:267 +!Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";".= + +#: BibleGetHelp.java:269 +!If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time.= + +#: BibleGetHelp.java:271 +!For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".)= + +#: BibleGetHelp.java:273 +!Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14").= + +#: BibleGetHelp.java:274 +!It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.= + +#: BibleGetHelp.java:275 +!It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:285 +!Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:287 +!The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:289 +!For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah").= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:291 +!Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\:= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:294 +!BOOK= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:294 +!ABBREVIATION= + +#: BibleGetHelp.java:336 +!Instructions= + +#: BibleGetHelp.java:341 +!Help= + +#: BibleGetSelection.java:118 HTTPCaller.java:225 +!You\ cannot\ send\ an\ empty\ query.= + +#: HTTPCaller.java:195 +!Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:236 +#, java-format +!The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\!= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:258 +#, java-format +!The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators.= + +#: HTTPCaller.java:281 +!You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\!= + +#: HTTPCaller.java:288 +!A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\!= + +#: HTTPCaller.java:298 +!You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:307 +#, java-format +!Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}>= + +#: HTTPCaller.java:314 +!A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.= + +#: HTTPCaller.java:332 +!A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:341 HTTPCaller.java:367 HTTPCaller.java:384 +#: HTTPCaller.java:441 +#, java-format +!A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}>= + +#: HTTPCaller.java:350 +!You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\!= + +#: HTTPCaller.java:355 +!You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:373 HTTPCaller.java:398 HTTPCaller.java:414 +#: HTTPCaller.java:428 +#, java-format +!A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}>= + +#: HTTPCaller.java:452 +!There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots.= + +#: HTTPCaller.java:465 +!A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.= + +#: HTTPCaller.java:476 +!If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:496 +#, java-format +!Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}>= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:510 +#, java-format +!Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>= + +#: OptionsFrame.java:148 +!Genesi= + +#: OptionsFrame.java:150 +!In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth\u2014= + +#: OptionsFrame.java:152 +!and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters\u2014= + +#: OptionsFrame.java:154 +!Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light.= + +#: OptionsFrame.java:253 +!User\ Preferences= + +#: OptionsFrame.java:261 +!Paragraph= + +#: OptionsFrame.java:264 +!Alignment= + +#: OptionsFrame.java:340 +!Indent= + +#: OptionsFrame.java:380 +!Line-spacing= + +#: OptionsFrame.java:411 +!Font= + +#: OptionsFrame.java:472 +!Book\ /\ Chapter= + +#: OptionsFrame.java:593 +!Verse\ Number= + +#: OptionsFrame.java:714 +!Verse\ Text= + +#: OptionsFrame.java:835 +!Preview= + +#: OptionsFrame.java:862 +!line-spacing\ not\ visible\ in\ the\ preview= + +#: OptionsFrame.java:953 +!Choose\ Book\ /\ Chapter\ Font\ Color= + +#: OptionsFrame.java:983 +!Choose\ Book\ /\ Chapter\ Background\ Color= + +#: OptionsFrame.java:1013 +!Choose\ Verse\ Number\ Font\ Color= + +#: OptionsFrame.java:1043 +!Choose\ Verse\ Number\ Background\ Color= + +#: OptionsFrame.java:1073 +!Choose\ Verse\ Text\ Font\ Color= + +#: OptionsFrame.java:1103 +!Choose\ Verse\ Text\ Background\ Color= diff --git a/src/io/bibleget/resources/messages_fr.properties b/src/io/bibleget/resources/messages_fr.properties new file mode 100644 index 0000000..9d4a9fc --- /dev/null +++ b/src/io/bibleget/resources/messages_fr.properties @@ -0,0 +1,450 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +!=Project-Id-Version\: PACKAGE VERSION fr\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2015-03-09 15\:08+0100\nPO-Revision-Date\: 2015-03-09 16\:48+0100\nLast-Translator\: John R. D'Orazio \nLanguage-Team\: LANGUAGE french \nLanguage\: fr\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Generator\: Poedit 1.5.4\nX-Poedit-SourceCharset\: UTF-8\n + +#: BibleGetAbout.java:101 +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer=Extension BibleGet I/O pour Open Office Writer + +#: BibleGetAbout.java:103 BibleGetHelp.java:165 +Version=Version + +#: BibleGetAbout.java:105 +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University.=Cette extension a \u00e9t\u00e9 d\u00e9velopp\u00e9 par John R. D'Orazio, un pr\u00eatre dans le dioc\u00e8se de Rome, aum\u00f4nier \u00e0 l'Universit\u00e9 Roma Tre. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetAbout.java:107 +#, java-format +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}.=L''extension appartient \u00e0 la Projet BibleGet \u00e0 {0}. + +#: BibleGetAbout.java:109 +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions.=L'auteur tient \u00e0 remercier Giovanni Gregori et Simone Urbinati pour leurs contributions de code. + +#: BibleGetAbout.java:111 +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation.=Le Projet BibleGet est un projet ind\u00e9pendant n\u00e9 de l'initiative personnelle de John R. D'Orazio, et ne est pas financ\u00e9 par aucune type de soci\u00e9t\u00e9. + +#: BibleGetAbout.java:113 +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ \u20ac200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=Toutes les d\u00e9penses du serveur de projet et gestion de domaine, qui se \u00e9l\u00e8vent \u00e0 \u20ac200 par an, sont comptabilis\u00e9s personnellement par l'auteur. Toutes les contributions de code et de d\u00e9veloppement sont enti\u00e8rement volontaires. + +#: BibleGetAbout.java:115 +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ \u20ac1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=Si vous aimez l'extension et le trouvez utile, se il vous pla\u00eet envisager de contribuer, m\u00eame une petite quantit\u00e9 pour aider \u00e0 garder ce projet. M\u00eame seulement \u20ac1 peut faire une diff\u00e9rence. Vous pouvez contribuer en utilisant l'option de menu appropri\u00e9e dans le menu de cette extension. + +#: BibleGetAbout.java:152 BibleGetHelp.java:171 +About\ this\ plugin=\u00c0 propos de cette extension + +#: BibleGetAbout.java:173 +Current\ information\ from\ the\ BibleGet\ Server\:=Les informations actuelles du Serveur BibleGet\: + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetAbout.java:175 +#, java-format +!The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\:= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetAbout.java:180 +#, java-format +!The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\:= + +#: BibleGetAbout.java:193 BibleGetHelp.java:172 +!RENEW\ SERVER\ DATA= + +#: BibleGetFrame.java:171 +!Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\:= + +#: BibleGetFrame.java:178 +!(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16)= + +#: BibleGetFrame.java:180 +!Choose\ version\ (or\ versions)= + +#: BibleGetFrame.java:190 +!Send\ query= + +#: BibleGetFrame.java:191 +!Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document.= + +#: BibleGetFrame.java:198 +!Cancel= + +#: BibleGetFrame.java:249 +!You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request.= + +#: BibleGetFrame.java:283 BibleGetSelection.java:106 +!There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again.= + +#: BibleGetHelp.java:155 +!Help\ for\ BibleGet\ (Open\ Office\ Writer)= + +#: BibleGetHelp.java:156 +!This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer.= + +#: BibleGetHelp.java:157 +!The\ Help\ is\ divided\ into\ three\ sections\:= + +#: BibleGetHelp.java:159 BibleGetHelp.java:342 +!Usage\ of\ the\ Plugin= + +#: BibleGetHelp.java:160 BibleGetHelp.java:345 +!Formulation\ of\ the\ Queries= + +#: BibleGetHelp.java:161 BibleGetHelp.java:231 BibleGetHelp.java:284 +#: BibleGetHelp.java:347 +!Biblical\ Books\ and\ Abbreviations= + +#: BibleGetHelp.java:163 +!AUTHOR= + +#: BibleGetHelp.java:163 +!John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University)= + +#: BibleGetHelp.java:164 +!COLLABORATORS= + +#: BibleGetHelp.java:164 +!Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre)= + +#: BibleGetHelp.java:167 +!PROJECT\ WEBSITE= + +#: BibleGetHelp.java:167 +!EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT= + +#: BibleGetHelp.java:170 BibleGetFrame.java:166 +!Insert\ quote\ from\ input\ window= + +#: BibleGetHelp.java:174 +!Insert\ quote\ from\ text\ selection= + +#: BibleGetHelp.java:178 +!How\ to\ use\ the\ plugin= + +#: BibleGetHelp.java:179 +!Description\ of\ the\ menu\ icons\ and\ their\ functionality.= + +#: BibleGetHelp.java:180 +!Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\:= + +#: BibleGetHelp.java:182 +!The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\:= + +#: BibleGetHelp.java:184 +!There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document.= + +#: BibleGetHelp.java:186 +!The\ first\ way\ is\ by\ using\ the\ input\ window.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:188 +#, java-format +!If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from.= + +#: BibleGetHelp.java:190 +!This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:192 +#, java-format +!In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:194 +#, java-format +!When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:197 +#, java-format +!The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:199 +#, java-format +!The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window.= + +#: BibleGetHelp.java:203 +!Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically.= + +#: BibleGetHelp.java:207 +!After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\:= + +#: BibleGetHelp.java:212 +!Send\ feedback= + +#: BibleGetHelp.java:214 +!This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in.= + +#: BibleGetHelp.java:218 +!Contribute= + +#: BibleGetHelp.java:220 +!This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ \u20ac1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ \u20ac120\ a\ year.= + +#: BibleGetHelp.java:224 +!Information\ on\ the\ BibleGet\ I/O\ Project= + +#: BibleGetHelp.java:226 +!This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports.= + +#: BibleGetHelp.java:236 +!How\ to\ formulate\ a\ bible\ query= + +#: BibleGetHelp.java:238 +!The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation.= + +#: BibleGetHelp.java:240 +!This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.\ = + +#: BibleGetHelp.java:243 +!A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter.= + +#: BibleGetHelp.java:245 +!The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:247 +#, java-format +!The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1}= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:249 +#, java-format +!See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}.= + +#: BibleGetHelp.java:251 +!For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1.= + +#: BibleGetHelp.java:253 +!This\ can\ also\ be\ written\ as\ "Mt\ 1".= + +#: BibleGetHelp.java:255 +!Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\:= + +#: BibleGetHelp.java:257 +!","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".)= + +#: BibleGetHelp.java:258 +!"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".)= + +#: BibleGetHelp.java:259 +!"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\:= + +#: BibleGetHelp.java:261 +!For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2.= + +#: BibleGetHelp.java:262 +!For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".)= + +#: BibleGetHelp.java:263 +!For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".)= + +#: BibleGetHelp.java:266 +!Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".)= + +#: BibleGetHelp.java:267 +!Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";".= + +#: BibleGetHelp.java:269 +!If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time.= + +#: BibleGetHelp.java:271 +!For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".)= + +#: BibleGetHelp.java:273 +!Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14").= + +#: BibleGetHelp.java:274 +!It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.= + +#: BibleGetHelp.java:275 +!It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:285 +!Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:287 +!The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:289 +!For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah").= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:291 +!Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\:= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:294 +!BOOK= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:294 +!ABBREVIATION= + +#: BibleGetHelp.java:336 +!Instructions= + +#: BibleGetHelp.java:341 +!Help= + +#: BibleGetSelection.java:118 HTTPCaller.java:225 +!You\ cannot\ send\ an\ empty\ query.= + +#: HTTPCaller.java:195 +!Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:236 +#, java-format +!The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\!= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:258 +#, java-format +!The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators.= + +#: HTTPCaller.java:281 +!You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\!= + +#: HTTPCaller.java:288 +!A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\!= + +#: HTTPCaller.java:298 +!You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:307 +#, java-format +!Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}>= + +#: HTTPCaller.java:314 +!A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.= + +#: HTTPCaller.java:332 +!A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:341 HTTPCaller.java:367 HTTPCaller.java:384 +#: HTTPCaller.java:441 +#, java-format +!A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}>= + +#: HTTPCaller.java:350 +!You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\!= + +#: HTTPCaller.java:355 +!You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:373 HTTPCaller.java:398 HTTPCaller.java:414 +#: HTTPCaller.java:428 +#, java-format +!A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}>= + +#: HTTPCaller.java:452 +!There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots.= + +#: HTTPCaller.java:465 +!A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.= + +#: HTTPCaller.java:476 +!If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash.= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:496 +#, java-format +!Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}>= + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:510 +#, java-format +!Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>= + +#: OptionsFrame.java:148 +!Genesi= + +#: OptionsFrame.java:150 +!In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth\u2014= + +#: OptionsFrame.java:152 +!and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters\u2014= + +#: OptionsFrame.java:154 +!Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light.= + +#: OptionsFrame.java:253 +!User\ Preferences= + +#: OptionsFrame.java:261 +!Paragraph= + +#: OptionsFrame.java:264 +!Alignment= + +#: OptionsFrame.java:340 +!Indent= + +#: OptionsFrame.java:380 +!Line-spacing= + +#: OptionsFrame.java:411 +!Font= + +#: OptionsFrame.java:472 +!Book\ /\ Chapter= + +#: OptionsFrame.java:593 +!Verse\ Number= + +#: OptionsFrame.java:714 +!Verse\ Text= + +#: OptionsFrame.java:835 +!Preview= + +#: OptionsFrame.java:862 +!line-spacing\ not\ visible\ in\ the\ preview= + +#: OptionsFrame.java:953 +!Choose\ Book\ /\ Chapter\ Font\ Color= + +#: OptionsFrame.java:983 +!Choose\ Book\ /\ Chapter\ Background\ Color= + +#: OptionsFrame.java:1013 +!Choose\ Verse\ Number\ Font\ Color= + +#: OptionsFrame.java:1043 +!Choose\ Verse\ Number\ Background\ Color= + +#: OptionsFrame.java:1073 +!Choose\ Verse\ Text\ Font\ Color= + +#: OptionsFrame.java:1103 +!Choose\ Verse\ Text\ Background\ Color= diff --git a/src/io/bibleget/resources/messages_it.properties b/src/io/bibleget/resources/messages_it.properties new file mode 100644 index 0000000..00a16bb --- /dev/null +++ b/src/io/bibleget/resources/messages_it.properties @@ -0,0 +1,450 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +!=Project-Id-Version\: PACKAGE VERSION 1\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2015-03-09 15\:08+0100\nPO-Revision-Date\: 2015-03-09 16\:52+0100\nLast-Translator\: John R. D'Orazio \nLanguage-Team\: LANGUAGE Italian \nLanguage\: it\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Generator\: Poedit 1.5.4\n + +#: BibleGetAbout.java:101 +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer=Estensione BibleGet I/O per Open Office Writer + +#: BibleGetAbout.java:103 BibleGetHelp.java:165 +Version=Versione + +#: BibleGetAbout.java:105 +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University.=Questa estensione \u00e8 stata sviluppata da John R. D'Orazio, un sacerdote della Diocesi di Roma, cappellano all'Universit\u00e0 Roma Tre. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetAbout.java:107 +#, java-format +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}.=Fa parte del Progetto BibleGet a {0}. + +#: BibleGetAbout.java:109 +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions.=L'autore ringrazia Giovanni Gregori e Simone Urbinati per i loro contributi. + +#: BibleGetAbout.java:111 +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation.=Il Progetto BibleGet \u00e8 un progetto indipendente nato dall'iniziativa personale di John R. D'Orazio, e non viene sovvenzionato da alcuna societ\u00e0. + +#: BibleGetAbout.java:113 +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ \u20ac200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=Tutte le spese del server e del dominio di questo progetto ammontano a \u20ac200 annuali, e sono sostenute personalmente dall'autore. Tutti i contributi di scrittura di codice e sviluppo tecnico sono interamente volontari. + +#: BibleGetAbout.java:115 +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ \u20ac1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=Se ti piace questa estensione e la trovi utile, si prega di contribuire anche poco per aiutare a mantenere il progetto. Anche solo \u20ac1 pu\u00f2 fare una differenza. Puoi contribuire utilizzando l'apposita voce di menu. + +#: BibleGetAbout.java:152 BibleGetHelp.java:171 +About\ this\ plugin=Informazioni su questo plugin + +#: BibleGetAbout.java:173 +Current\ information\ from\ the\ BibleGet\ Server\:=Informazione attuale dal Server di BibleGet\: + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetAbout.java:175 +#, java-format +The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\:=Il database del progetto BibleGeta attualmente supporta {0} versioni della Bibbia in {1} lingue diverse\: + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetAbout.java:180 +#, java-format +The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\:=Il motore BibleGet attualmente riconosce i nomi dei libri della Bibbia in {0} lingue diverse\: + +#: BibleGetAbout.java:193 BibleGetHelp.java:172 +RENEW\ SERVER\ DATA=RINNOVA I DATI DEL SERVER + +#: BibleGetFrame.java:171 +Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\:=Inserisci la Citazione Biblica desiderata utilizzando la notazione standard\: + +#: BibleGetFrame.java:178 +(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16)=(per. es. Mt 1,1-10.12-15;5,3-4;Gv 3,16) + +#: BibleGetFrame.java:180 +Choose\ version\ (or\ versions)=Scegli versione (o versioni) + +#: BibleGetFrame.java:190 +Send\ query=Invia query + +#: BibleGetFrame.java:191 +Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document.=Invia la richiesta al server e restituisce il risultato nel documento. + +#: BibleGetFrame.java:198 +Cancel=Annulla + +#: BibleGetFrame.java:249 +You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request.=Devi scegliere almeno una versione per effettuare una richiesta. + +#: BibleGetFrame.java:283 BibleGetSelection.java:106 +There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again.=C'\u00e8 stato un errore di comunicazione con il server BibleGet. Si prega riprovare pi\u00f9 tardi. + +#: BibleGetHelp.java:155 +Help\ for\ BibleGet\ (Open\ Office\ Writer)=Aiuto per BibleGet (Open Office Writer) + +#: BibleGetHelp.java:156 +This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer.=Questa finestra di Aiuto introduce l'utente all'utilizzo dell'estensione BibleGet I/O per Open Office Writer. + +#: BibleGetHelp.java:157 +The\ Help\ is\ divided\ into\ three\ sections\:=La finestra di Aiuto \u00e8 suddivisa in tre sezioni\: + +#: BibleGetHelp.java:159 BibleGetHelp.java:342 +Usage\ of\ the\ Plugin=Utilizzo dell'Estensione + +#: BibleGetHelp.java:160 BibleGetHelp.java:345 +Formulation\ of\ the\ Queries=Formulazione delle Query + +#: BibleGetHelp.java:161 BibleGetHelp.java:231 BibleGetHelp.java:284 +#: BibleGetHelp.java:347 +Biblical\ Books\ and\ Abbreviations=Libri Biblici e Abbreviazioni + +#: BibleGetHelp.java:163 +AUTHOR=AUTORE + +#: BibleGetHelp.java:163 +John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University)=John R. D'Orazio (cappellano all'Universit\u00e0 Roma Tre) + +#: BibleGetHelp.java:164 +COLLABORATORS=COLLABORATORI + +#: BibleGetHelp.java:164 +Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre)=Giovanni Gregori (informatico) e Simone Urbinati (MUG Roma Tre) + +#: BibleGetHelp.java:167 +PROJECT\ WEBSITE=SITO WEB DEL PROGETTO + +#: BibleGetHelp.java:167 +EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT=EMAIL PER INFORMAZIONI O FEEDBACK SUL PROGETTO + +#: BibleGetHelp.java:170 BibleGetFrame.java:166 +Insert\ quote\ from\ input\ window=Inserisci citazione da finestra di input + +#: BibleGetHelp.java:174 +Insert\ quote\ from\ text\ selection=Inserisci citazione a partire da selezione di testo + +#: BibleGetHelp.java:178 +How\ to\ use\ the\ plugin=Come utilizzare l'estensione + +#: BibleGetHelp.java:179 +Description\ of\ the\ menu\ icons\ and\ their\ functionality.=Descrizione delle icone / voci del menu e della loro funzionalit\u00e0. + +#: BibleGetHelp.java:180 +Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\:=Una volta che \u00e8 stata installata l'estensione, apparir\u00e0 un nuovo menu 'BibleGet I/O' nella Barra del Menu, e apparir\u00e0 anche una nuova Barra di Strumenti flottante. I pulsanti sulla barra degli strumenti corrispondono alle voci di menu del menu 'BibleGet I/O', come in questa immagine\: + +#: BibleGetHelp.java:182 +The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\:=La barra di strumenti flottante pu\u00f2 essere trascinata e collocata ovunque nell'applicazione. Pu\u00f2 essere anche agganciata a certe zone dell'applicazione. Per esempio pu\u00f2 essere agganciata alla Barra degli Strumenti sotto la Barra del Menu, come in questa immagine\: + +#: BibleGetHelp.java:184 +There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document.=Ci sono due modi per inserire una citazione biblica in un documento. + +#: BibleGetHelp.java:186 +The\ first\ way\ is\ by\ using\ the\ input\ window.=Il primo modo \u00e8 quello di utilizzare la finestra di input. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:188 +#, java-format +If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from.=Se clicchi sulla voce di menu ''{0}'', si aprir\u00e0 una finestra di input dove puoi inserire la query. Puoi anche scegliere la versione o le versioni da cui trarre la citazione. + +#: BibleGetHelp.java:190 +This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database.=La lista delle versioni viene aggiornata dalle versioni disponibili sul server BibleGet, ma siccome questa informazione viene salvata in locale, \u00e8 necessario rinnovare questa informazione quando una nuova versione viene aggiunta al database del server BibleGet. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:192 +#, java-format +In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''.=Per rinnovare le informazioni dal server BibleGet, clicca sulla voce di menu ''{0}'', poi clicca sul pulsante ''{1}''. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:194 +#, java-format +When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item.=Quando scegli una versione o multiple versioni da cui trarre la citazione, questa scelta viene salvata automaticamente come preferenza, e sar\u00e0 pre-selezionata la prossima volta che apri la voce di menu ''{0}''. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:197 +#, java-format +The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server.=Il secondo modo \u00e8 quello di inserire la citazione desiderata direttamente nel documento, poi selezionarla e cliccare sulla voce di menu ''{0}''. Il testo selezionato verr\u00e0 sostituito dalla Citazione Biblica reperita dal Server BibleGet. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:199 +#, java-format +The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window.=Saranno utilizzate le versioni bibliche selezionate precedentemente nella finestra ''{0}'', pertanto dovrai aver scelto almeno una volta le versioni preferite nella finestra ''{0}''. + +#: BibleGetHelp.java:203 +Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically.=Le preferenze di formattazione si possono impostare utilizzando la finestra delle 'Preferenze'. Puoi scegliere il carattere preferito per le citazioni Bibliche oltre all'interlinea preferita, e puoi scegliere una formattazione separata (grandezza di carattere, color carattere, stile carattere) per il libro / capitolo, per i numeri dei versetti, e per il testo dei versetti. Le preferenze vengono salvate automaticamente. + +#: BibleGetHelp.java:207 +After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\:=Poi dopo la voce di menu 'Aiuto' che apre questa stessa finestra di aiuto, le ultime tre voci di menu sono\: + +#: BibleGetHelp.java:212 +Send\ feedback=Invia feedback + +#: BibleGetHelp.java:214 +This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in.=Questa voce aprir\u00e0 l'applicazione predefinita del sistema per l'invio della posta elettronica, con l'indirizzo del destinatario pre-compilato (bibleget.io@gmail.com). + +#: BibleGetHelp.java:218 +Contribute=Effettua un contributo + +#: BibleGetHelp.java:220 +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ \u20ac1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ \u20ac120\ a\ year.=Questa voce aprir\u00e0 una pagina Paypal nel browser predefinito del sistema, dalla quale puoi effettuare una donazione per contribuire al progetto. Anche solo \u20ac1 pu\u00f2 aiutare a coprire le spese del progetto. Soltanto il server e il dominio costano \u20ac120 all'anno. + +#: BibleGetHelp.java:224 +Information\ on\ the\ BibleGet\ I/O\ Project=Informazione sul Progetto BibleGet I/O + +#: BibleGetHelp.java:226 +This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports.=Questa voce apre una finestra con alcune informazioni sul progetto e le estensioni, sull'autore e i contributori, e sulle informazioni locali attualmente salvate per quanto riguarda le versioni e le lingue che il server BibleGet attualmente supporta. + +#: BibleGetHelp.java:236 +How\ to\ formulate\ a\ bible\ query=Come formulare una query biblica + +#: BibleGetHelp.java:238 +The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation.=Le query per le citazioni bibliche devono essere formulate utilizzando la notazione standard per le citazioni bibliche. + +#: BibleGetHelp.java:240 +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.\ =Questa pu\u00f2 essere sia la notazione inglese (si veda a proposito\: https\://en.wikipedia.org/wiki/Bible_citation), oppure la notazione europea come descritta qui di seguito. + +#: BibleGetHelp.java:243 +A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter.=Una query \u00e8 costituita principalmente da due elementi\: il libro biblico e il capitolo. + +#: BibleGetHelp.java:245 +The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form.=Il libro biblico pu\u00f2 essere scritto per intero, o con la forma abbreviata. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:247 +#, java-format +The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1}=Il motore BibleGet riconosce i nomi dei libri della bibbia in {0} lingue diverse\: {1} + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:249 +#, java-format +See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}.=Vedi la lista dei libri e delle abbreviazioni validi nella sezione {0}. + +#: BibleGetHelp.java:251 +For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1.=Per esempio, la query "Matteo 1" significa il libro di Matteo (o meglio, il vangelo secondo Matteo) al capitolo 1. + +#: BibleGetHelp.java:253 +This\ can\ also\ be\ written\ as\ "Mt\ 1".=Si pu\u00f2 scrivere anche in questo modo\: "Mt1". + +#: BibleGetHelp.java:255 +Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\:=Diverse combinazioni di libri, capitoli e versetti possono essere formate utilizzando il delimitatore virgola e il delimitatore punto (nella notazione europea perlomeno; nella notazione inglese vengono utilizzati due punti al posto della virgola, e una virgola al posto del punto)\: + +#: BibleGetHelp.java:257 +","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".)=","\: la virgola \u00e8 il delimitatore capitolo-versetto. "Matteo 1,5" significa il libro (vangelo) di Matteo, capitolo 1, versetto 5. (Nella notazione inglese\: "Matteo 1\:5".) + +#: BibleGetHelp.java:258 +"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".)="."\: il punto \u00e8 il delimitatore tra versetti. "Matteo 1,5.7" significa il libro (vangelo) di Matteo, capitolo 1, versetti 5 e 7. (Nella notazione inglese\: "Matteo 1\:5,7".) + +#: BibleGetHelp.java:259 +"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\:="-"\: il trattino \u00e8 il delimitatore di intervallo, e pu\u00f2 essere utilizzato in vari modi\: + +#: BibleGetHelp.java:261 +For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2.=Per un intervallo di capitoli\: "Matteo 1-2" significa il vangelo secondo Matteo, dal capitolo 1 al capitolo 2. + +#: BibleGetHelp.java:262 +For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".)=Per un intervallo di versetti nello stesso capitolo\: "Matteo 1,1-5" significa il vangelo secondo Matteo, capitolo 1, dal versetto 1 al versetto 5. (Nella notazione inglese\: "Matteo 1\:1-5".) + +#: BibleGetHelp.java:263 +For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".)=Per un intervallo di versetti che vanno da un capitolo all'altro\: "Matteo 1,5-2,13" significa il vangelo secondo Matteo, dal capitolo 1, versetto 5 fino al capitolo 2, versetto 13. (Nella notazione inglese\: "Matteo 1\:5-2\:13".) + +#: BibleGetHelp.java:266 +Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".)=Diverse combinazioni di questi delimitatori possono formare delle query pi\u00f9 complesse, per esempio "Mt1,1-3.5.7-9" significa il vangelo secondo Matteo, capitolo 1, versetti 1 a 3, versetto 5, e versetti 7 a 9. (Nella notazione inglese\: "Mt1\:1-3,5,7-9".) + +#: BibleGetHelp.java:267 +Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";".=Query multiple possono essere combinate insieme utilizzando un punto e virgola ";". + +#: BibleGetHelp.java:269 +If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time.=Se la query che segue il punto e virgola si riferisce allo stesso libro della query precedente, allora non \u00e8 necessario indicare nuovamente il libro. + +#: BibleGetHelp.java:271 +For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".)=Per esempio, "Matteo 1,1;2,13" significa il vangelo secondo Matteo, capitolo 1 versetto 1 e capitolo 2 versetto 13. (Nella notazione inglese\: "Matteo 1\:1;2\:13".) + +#: BibleGetHelp.java:273 +Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14").=Ecco un esempio di query complesse combinate in un unica stringa\: "Genesi 1,3-5.7.9-11.13;2,4-9.11-13;Apocalisse 3,10.12-14". (Nella notazione inglese\: "Genesi 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalisse 3\:10,12-14"). + +#: BibleGetHelp.java:274 +It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.=Non ha importanza se si utilizza o no uno spazio tra il libro e il capitolo, la stringa verr\u00e0 interpretata ugualmente. + +#: BibleGetHelp.java:275 +It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.=Come anche non ha importanza se si utilizza maiuscolo o minuscolo, la stringa verr\u00f2 interpretata ugualmente. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:285 +Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings.=Ecco di seguito un elenco di libri validi con le relative abbreviazioni (possono essere usati sia gli uni che le altre nelle query). + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:287 +The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions.=Le abbreviazioni non sempre corrispondono a quelle proposte dalle singole edizioni bibliche, perch\u00e9 entrerebbero in conflitto con quelle proposte da altre edizioni. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:289 +For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah").=Per esempio alcune edizioni inglesi propongono "Gn" come abbreviazione per "Genesi", mentre altre edizioni italiane propongono "Gn" come abbreviazione per "Giona". + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:291 +Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\:=Pertanto non sempre si possono utilizzare le abbreviazioni proposte da una singola edizione della Bibbia, bisogna riferirsi all''elenco delle abbreviazioni riconosciute dal motore BibleGet, cos\u00ec come elencate nella seguente tabella\: + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:294 +BOOK=LIBRO + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: BibleGetHelp.java:294 +ABBREVIATION=ABBREVIAZIONE + +#: BibleGetHelp.java:336 +Instructions=Istruzioni + +#: BibleGetHelp.java:341 +Help=Aiuto + +#: BibleGetSelection.java:118 HTTPCaller.java:225 +You\ cannot\ send\ an\ empty\ query.=Non puoi inviare una query vuota. + +#: HTTPCaller.java:195 +Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation.=Sono state rilevate notazioni miste. Si prega utilizzare o la notazione inglese o la notazione europea. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:236 +#, java-format +The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\!=La prima query <{0}> nella stringa <{1}> deve iniziare con una valida indicazione di libro\! + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:258 +#, java-format +The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators.=L''indicazione del libro <{0}> nella query <{1}> non \u00e8 valida. Si prega controllare la documentazione per un elenco di valide indicazioni di libro. + +#: HTTPCaller.java:281 +You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\!=Ci dev'essere un valido capitolo che segue l'indicazione del libro\! + +#: HTTPCaller.java:288 +A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\!=Una query che non inizia con un'indicazione di libro deve tuttavia iniziare con una valida indicazione di capitolo\! + +#: HTTPCaller.java:298 +You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma.=Non si pu\u00f2 utilizzare un punto prima di una virgola. Un punto \u00e8 un ponte tra versetti i quali hanno prima una virgola che fa da ponte con il capitolo. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:307 +#, java-format +Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}>=I versetti concatenati da un punto devono essere consecutivi, invece <{0}> \u00e8 maggiore o uguale a <{1}> nell''espressione <{2}> nella query <{3}> + +#: HTTPCaller.java:314 +A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=Un punto dev'essere preceduto e seguito da un numero che consta al massimo di 3 cifre delle quali la prima non pu\u00f2 essere zero. + +#: HTTPCaller.java:332 +A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=Una virgola dev'essere preceduta e seguita da un numero che consta al massimo di 3 cifre delle quali la prima non pu\u00f2 essere zero. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:341 HTTPCaller.java:367 HTTPCaller.java:384 +#: HTTPCaller.java:441 +#, java-format +A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}>=Un capitolo nella query \u00e8 oltre ai limiti\: non ci \u00e8 nessun capitolo <{0}> nel libro <{1}> nella versione richiesta <{2}>, l''ultimo capitolo possibile \u00e8 <{3}> + +#: HTTPCaller.java:350 +You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\!=Non puoi avere pi\u00f9 di una virgola e non avere un trattino\! + +#: HTTPCaller.java:355 +You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash.=Sembra che la querystring sia malformata, ci dovrebbe essere un solo trattino. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:373 HTTPCaller.java:398 HTTPCaller.java:414 +#: HTTPCaller.java:428 +#, java-format +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}>=Un versetto nella query \u00e8 oltre ai limiti\: non c''\u00e8 nessun versetto <{0}> nel libro <{1}> al capitolo <{2}> nella versione richiesta <{3}>, l''ultimo versetto possibile \u00e8 <{4}> + +#: HTTPCaller.java:452 +There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots.=Ci sono pi\u00f9 trattini nella query, ma non ci sono abbastanza punti. Ci pu\u00f2 essere soltanto un trattino in pi\u00f9 rispetto ai punti. + +#: HTTPCaller.java:465 +A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=Un trattino dev'essere preceduto e seguito da un numero che consta al massimo di 3 cifre delle quali la prima non pu\u00f2 essere zero. + +#: HTTPCaller.java:476 +If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash.=Se c'\u00e8 un costrutto capitolo-versetto che segue un trattino, allora ci deve anche essere un costrutto capitolo-versetto che precede il trattino. + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:496 +#, java-format +Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}>=I capitoli devono essere consecutivi. Invece l''indicatore di capitolo <{0}> \u00e8 maggiore o uguale al secondo indicatore di capitolo <{1}> nell''espressione <{2}> + +#. TRANSLATORS: This message is used by MessageFormat, make sure that translations +#. double up any single quotes or apostrophes. +#: HTTPCaller.java:510 +#, java-format +Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>=Versetti (o capitoli se \u00e8 il caso) concatenati dal delimitatore trattino devono essere consecutivi. Invece <{0}> \u00e8 maggiore o uguale a <{1}> nell''espressione <{2}> + +#: OptionsFrame.java:148 +Genesi=Genesi + +#: OptionsFrame.java:150 +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth\u2014=In principio Dio cre\u00f2 il cielo e la terra. + +#: OptionsFrame.java:152 +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters\u2014=La terra era informe e deserta e le tenebre ricoprivano l'abisso e lo spirito di Dio aleggiava sulle acque. + +#: OptionsFrame.java:154 +Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light.=Dio disse\: "Sia la luce\!". E la luce fu. + +#: OptionsFrame.java:253 +User\ Preferences=Preferenze Utente + +#: OptionsFrame.java:261 +Paragraph=Paragrafo + +#: OptionsFrame.java:264 +Alignment=Allineamento + +#: OptionsFrame.java:340 +Indent=Rientro + +#: OptionsFrame.java:380 +Line-spacing=Interlinea + +#: OptionsFrame.java:411 +Font=Carattere + +#: OptionsFrame.java:472 +Book\ /\ Chapter=Libro / Capitolo + +#: OptionsFrame.java:593 +Verse\ Number=Numero del Versetto + +#: OptionsFrame.java:714 +Verse\ Text=Testo del Versetto + +#: OptionsFrame.java:835 +Preview=Anteprima + +#: OptionsFrame.java:862 +line-spacing\ not\ visible\ in\ the\ preview=interlinea non visibile nell'anteprima + +#: OptionsFrame.java:953 +Choose\ Book\ /\ Chapter\ Font\ Color=Scegli il Colore Carattere del Libro / Capitolo + +#: OptionsFrame.java:983 +Choose\ Book\ /\ Chapter\ Background\ Color=Scegli il Colore di Sfondo del Libro / Capitolo + +#: OptionsFrame.java:1013 +Choose\ Verse\ Number\ Font\ Color=Scegli il Colore Carattere del Numero del Versetto + +#: OptionsFrame.java:1043 +Choose\ Verse\ Number\ Background\ Color=Scegli il Colore di Sfondo del Numero del Versetto + +#: OptionsFrame.java:1073 +Choose\ Verse\ Text\ Font\ Color=Scegli il Colore Carattere del Testo del Versetto + +#: OptionsFrame.java:1103 +Choose\ Verse\ Text\ Background\ Color=Scegli il Colore di Sfondo del Testo del Versetto diff --git a/src/uno-extension-manifest.xml b/src/uno-extension-manifest.xml new file mode 100644 index 0000000..1d74fc8 --- /dev/null +++ b/src/uno-extension-manifest.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file From f3ebc547618cc008dc56cc83202860180887f736 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 21 Aug 2015 09:42:37 +0200 Subject: [PATCH 02/33] Merge origin/master Conflicts: LICENSE --- licenses/license.TXT | 14 ++++++++++---- nbproject/project.properties | 2 +- src/description.xml | 15 +++++++++------ 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/licenses/license.TXT b/licenses/license.TXT index 7472161..a3eb615 100644 --- a/licenses/license.TXT +++ b/licenses/license.TXT @@ -1,7 +1,13 @@ -Copyright (c) 2015 http://www.bibleget.io +Copyright (c) 2015 John R. D'Orazio http://www.bibleget.io -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/nbproject/project.properties b/nbproject/project.properties index e3ae7ef..4950d19 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -78,7 +78,7 @@ manifest.custom.permissions= meta.inf.dir=${src.dir}/META-INF mkdist.disabled=false platform.active=JDK_1.8 -project.license=mit +project.license=apache20 run.classpath=\ ${javac.classpath}:\ ${build.classes.dir} diff --git a/src/description.xml b/src/description.xml index 34a00bf..ed2931f 100644 --- a/src/description.xml +++ b/src/description.xml @@ -8,24 +8,24 @@ - BibleGet I/O BibleGet I/O - BibleGet I/O BibleGet I/O + BibleGet I/O + BibleGet I/O BibleGet I/O - John R. D'Orazio, Giovanni Gregori, Simone Urbinati John R. D'Orazio, Giovanni Gregori, Simone Urbinati - John R. D'Orazio, Giovanni Gregori, Simone Urbinati John R. D'Orazio, Giovanni Gregori, Simone Urbinati + John R. D'Orazio, Giovanni Gregori, Simone Urbinati + John R. D'Orazio, Giovanni Gregori, Simone Urbinati John R. D'Orazio, Giovanni Gregori, Simone Urbinati - - + + @@ -37,4 +37,7 @@ + + + From 6c46ec715c1d89763d828dedcd18beb2a441f007 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 21 Aug 2015 10:18:35 +0200 Subject: [PATCH 03/33] attempting to fix utf-8 issues --- .../bibleget/resources/messages_en.properties | 2 +- .../bibleget/resources/messages_es.properties | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/io/bibleget/resources/messages_en.properties b/src/io/bibleget/resources/messages_en.properties index 59ba049..7bcb65c 100644 --- a/src/io/bibleget/resources/messages_en.properties +++ b/src/io/bibleget/resources/messages_en.properties @@ -27,7 +27,7 @@ The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ U The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation.=The BibleGet Project is an independent project born from the personal initiative of John R. D'Orazio, and is not funded by any kind of corporation. #: BibleGetAbout.java:113 -All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ \u20ac200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=All of the expenses of the project server and domain, which amount to \u20ac200 a year, are accounted for personally by the author. All code contributions and development are entirely volunteered. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=All of the expenses of the project server and domain, which amount to €200 a year, are accounted for personally by the author. All code contributions and development are entirely volunteered. #: BibleGetAbout.java:115 If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ \u20ac1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=If you like the plugin and find it useful, please consider contributing even a small amount to help keep this project running. Even just \u20ac1 can make a difference. You can contribute using the appropriate menu item in this plugin's menu. diff --git a/src/io/bibleget/resources/messages_es.properties b/src/io/bibleget/resources/messages_es.properties index 81e4fd7..d8b2551 100644 --- a/src/io/bibleget/resources/messages_es.properties +++ b/src/io/bibleget/resources/messages_es.properties @@ -6,13 +6,13 @@ !=Project-Id-Version\: PACKAGE VERSION es\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2015-03-09 15\:08+0100\nPO-Revision-Date\: 2015-03-09 16\:48+0100\nLast-Translator\: John R. D'Orazio \nLanguage-Team\: LANGUAGE spanish \nLanguage\: es\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Generator\: Poedit 1.5.4\nX-Poedit-SourceCharset\: UTF-8\n #: BibleGetAbout.java:101 -BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer=Extensi\u00f3n BibleGet I/O para Open Office Writer +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer=Extensión BibleGet I/O para Open Office Writer #: BibleGetAbout.java:103 BibleGetHelp.java:165 -Version=Versi\u00f3n +Version=Versión #: BibleGetAbout.java:105 -This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University.=Esta extensi\u00f3n fue desarrollada por John R. D'Orazio, un sacerdote de la di\u00f3cesis de Roma, capell\u00e1n en la Universidad Roma Tre. +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University.=Esta extensión fue desarrollada por John R. D'Orazio, un sacerdote de la diócesis de Roma, capellán en la Universidad Roma Tre. #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. @@ -21,19 +21,19 @@ This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}.=Pertenece al Proyecto BibleGet a {0}. #: BibleGetAbout.java:109 -The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions.=El autor desea agradecer a Giovanni Gregori y Simone Urbinati en sus contribuciones de c\u00f3digo. +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions.=El autor desea agradecer a Giovanni Gregori y Simone Urbinati en sus contribuciones de código. #: BibleGetAbout.java:111 -The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation.=El Proyecto BibleGet es un proyecto independiente que nace de la iniciativa personal de John R. D'Orazio, y no est\u00e1 financiado por ning\u00fan tipo de corporaci\u00f3n. +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation.=El Proyecto BibleGet es un proyecto independiente que nace de la iniciativa personal de John R. D'Orazio, y no está financiado por ningún tipo de corporación. #: BibleGetAbout.java:113 -All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ \u20ac200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=Todos los gastos del servidor y del dominio del proyecto, que ascienden a \u20ac200 al a\u00f1o, se contabilizan personalmente por el autor. Todas las contribuciones de c\u00f3digo y de desarrollo son totalmente voluntarios. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=Todos los gastos del servidor y del dominio del proyecto, que ascienden a €200 al año, se contabilizan personalmente por el autor. Todas las contribuciones de código y de desarrollo son totalmente voluntarios. #: BibleGetAbout.java:115 -If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ \u20ac1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=Si te gusta el plugin y si le resulta \u00fatil, por favor considere de contribuir incluso una peque\u00f1a cantidad para ayudar a mantener este proyecto. Incluso acaba de \u20ac1 puede hacer la diferencia. Usted puede contribuir mediante el uso de la opci\u00f3n de men\u00fa correspondiente en el men\u00fa de este plugin. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=Si te gusta el plugin y si le resulta útil, por favor considere de contribuir incluso una pequeña cantidad para ayudar a mantener este proyecto. Incluso acaba de €1 puede hacer la diferencia. Usted puede contribuir mediante el uso de la opción de menú correspondiente en el menú de este plugin. #: BibleGetAbout.java:152 BibleGetHelp.java:171 -About\ this\ plugin=Acerca de esta extensi\u00f3n +About\ this\ plugin=Acerca de esta extensión #: BibleGetAbout.java:173 Current\ information\ from\ the\ BibleGet\ Server\:=Informes actuales del Servidor BibleGet\: @@ -187,7 +187,7 @@ Current\ information\ from\ the\ BibleGet\ Server\:=Informes actuales del Servid !Contribute= #: BibleGetHelp.java:220 -!This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ \u20ac1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ \u20ac120\ a\ year.= +!This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year.= #: BibleGetHelp.java:224 !Information\ on\ the\ BibleGet\ I/O\ Project= From 3539f5bdfa2583a00d1ff3ab01f373dbb8fd3a35 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 21 Aug 2015 10:28:42 +0200 Subject: [PATCH 04/33] fixed all utf-8 issues in properties files --- .../bibleget/resources/messages_en.properties | 8 +- .../bibleget/resources/messages_es.properties | 4 +- .../bibleget/resources/messages_fr.properties | 20 ++--- .../bibleget/resources/messages_it.properties | 90 +++++++++---------- 4 files changed, 61 insertions(+), 61 deletions(-) diff --git a/src/io/bibleget/resources/messages_en.properties b/src/io/bibleget/resources/messages_en.properties index 7bcb65c..b99b230 100644 --- a/src/io/bibleget/resources/messages_en.properties +++ b/src/io/bibleget/resources/messages_en.properties @@ -30,7 +30,7 @@ The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ pe All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=All of the expenses of the project server and domain, which amount to €200 a year, are accounted for personally by the author. All code contributions and development are entirely volunteered. #: BibleGetAbout.java:115 -If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ \u20ac1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=If you like the plugin and find it useful, please consider contributing even a small amount to help keep this project running. Even just \u20ac1 can make a difference. You can contribute using the appropriate menu item in this plugin's menu. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=If you like the plugin and find it useful, please consider contributing even a small amount to help keep this project running. Even just €1 can make a difference. You can contribute using the appropriate menu item in this plugin's menu. #: BibleGetAbout.java:152 BibleGetHelp.java:171 About\ this\ plugin=About this plugin @@ -187,7 +187,7 @@ This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bi Contribute=Contribute #: BibleGetHelp.java:220 -This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ \u20ac1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ \u20ac120\ a\ year.=This will open a Paypal page in the system's default browser where you can make a donation to contribute to the project. Even just \u20ac1 can help to cover the expenses of this project. Just the server costs \u20ac120 a year. +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year.=This will open a Paypal page in the system's default browser where you can make a donation to contribute to the project. Even just €1 can help to cover the expenses of this project. Just the server costs €120 a year. #: BibleGetHelp.java:224 Information\ on\ the\ BibleGet\ I/O\ Project=Information on the BibleGet I/O Project @@ -390,10 +390,10 @@ Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ c Genesi=Genesi #: OptionsFrame.java:150 -In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth\u2014=In the beginning, when God created the heavens and the earth\u2014 +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth—=In the beginning, when God created the heavens and the earth— #: OptionsFrame.java:152 -and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters\u2014=and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters\u2014 +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters—=and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters— #: OptionsFrame.java:154 Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light.=Then God said\: Let there be light, and there was light. diff --git a/src/io/bibleget/resources/messages_es.properties b/src/io/bibleget/resources/messages_es.properties index d8b2551..385e09d 100644 --- a/src/io/bibleget/resources/messages_es.properties +++ b/src/io/bibleget/resources/messages_es.properties @@ -390,10 +390,10 @@ Current\ information\ from\ the\ BibleGet\ Server\:=Informes actuales del Servid !Genesi= #: OptionsFrame.java:150 -!In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth\u2014= +!In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth—= #: OptionsFrame.java:152 -!and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters\u2014= +!and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters—= #: OptionsFrame.java:154 !Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light.= diff --git a/src/io/bibleget/resources/messages_fr.properties b/src/io/bibleget/resources/messages_fr.properties index 9d4a9fc..48bdc52 100644 --- a/src/io/bibleget/resources/messages_fr.properties +++ b/src/io/bibleget/resources/messages_fr.properties @@ -12,28 +12,28 @@ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer=Extension BibleGet I/O pour Ope Version=Version #: BibleGetAbout.java:105 -This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University.=Cette extension a \u00e9t\u00e9 d\u00e9velopp\u00e9 par John R. D'Orazio, un pr\u00eatre dans le dioc\u00e8se de Rome, aum\u00f4nier \u00e0 l'Universit\u00e9 Roma Tre. +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University.=Cette extension a été développé par John R. D'Orazio, un prêtre dans le diocèse de Rome, aumônier à l'Université Roma Tre. #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. #: BibleGetAbout.java:107 #, java-format -It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}.=L''extension appartient \u00e0 la Projet BibleGet \u00e0 {0}. +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}.=L''extension appartient à la Projet BibleGet à {0}. #: BibleGetAbout.java:109 -The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions.=L'auteur tient \u00e0 remercier Giovanni Gregori et Simone Urbinati pour leurs contributions de code. +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions.=L'auteur tient à remercier Giovanni Gregori et Simone Urbinati pour leurs contributions de code. #: BibleGetAbout.java:111 -The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation.=Le Projet BibleGet est un projet ind\u00e9pendant n\u00e9 de l'initiative personnelle de John R. D'Orazio, et ne est pas financ\u00e9 par aucune type de soci\u00e9t\u00e9. +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation.=Le Projet BibleGet est un projet indépendant né de l'initiative personnelle de John R. D'Orazio, et ne est pas financé par aucune type de société. #: BibleGetAbout.java:113 -All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ \u20ac200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=Toutes les d\u00e9penses du serveur de projet et gestion de domaine, qui se \u00e9l\u00e8vent \u00e0 \u20ac200 par an, sont comptabilis\u00e9s personnellement par l'auteur. Toutes les contributions de code et de d\u00e9veloppement sont enti\u00e8rement volontaires. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=Toutes les dépenses du serveur de projet et gestion de domaine, qui se élèvent à €200 par an, sont comptabilisés personnellement par l'auteur. Toutes les contributions de code et de développement sont entièrement volontaires. #: BibleGetAbout.java:115 -If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ \u20ac1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=Si vous aimez l'extension et le trouvez utile, se il vous pla\u00eet envisager de contribuer, m\u00eame une petite quantit\u00e9 pour aider \u00e0 garder ce projet. M\u00eame seulement \u20ac1 peut faire une diff\u00e9rence. Vous pouvez contribuer en utilisant l'option de menu appropri\u00e9e dans le menu de cette extension. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=Si vous aimez l'extension et le trouvez utile, se il vous plaît envisager de contribuer, même une petite quantité pour aider à garder ce projet. Même seulement €1 peut faire une différence. Vous pouvez contribuer en utilisant l'option de menu appropriée dans le menu de cette extension. #: BibleGetAbout.java:152 BibleGetHelp.java:171 -About\ this\ plugin=\u00c0 propos de cette extension +About\ this\ plugin=À propos de cette extension #: BibleGetAbout.java:173 Current\ information\ from\ the\ BibleGet\ Server\:=Les informations actuelles du Serveur BibleGet\: @@ -187,7 +187,7 @@ Current\ information\ from\ the\ BibleGet\ Server\:=Les informations actuelles d !Contribute= #: BibleGetHelp.java:220 -!This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ \u20ac1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ \u20ac120\ a\ year.= +!This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year.= #: BibleGetHelp.java:224 !Information\ on\ the\ BibleGet\ I/O\ Project= @@ -390,10 +390,10 @@ Current\ information\ from\ the\ BibleGet\ Server\:=Les informations actuelles d !Genesi= #: OptionsFrame.java:150 -!In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth\u2014= +!In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth—= #: OptionsFrame.java:152 -!and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters\u2014= +!and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters—= #: OptionsFrame.java:154 !Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light.= diff --git a/src/io/bibleget/resources/messages_it.properties b/src/io/bibleget/resources/messages_it.properties index 00a16bb..24c6bd3 100644 --- a/src/io/bibleget/resources/messages_it.properties +++ b/src/io/bibleget/resources/messages_it.properties @@ -12,7 +12,7 @@ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer=Estensione BibleGet I/O per Ope Version=Versione #: BibleGetAbout.java:105 -This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University.=Questa estensione \u00e8 stata sviluppata da John R. D'Orazio, un sacerdote della Diocesi di Roma, cappellano all'Universit\u00e0 Roma Tre. +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University.=Questa estensione è stata sviluppata da John R. D'Orazio, un sacerdote della Diocesi di Roma, cappellano all'Università Roma Tre. #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. @@ -24,13 +24,13 @@ It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}.=Fa parte del Pro The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions.=L'autore ringrazia Giovanni Gregori e Simone Urbinati per i loro contributi. #: BibleGetAbout.java:111 -The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation.=Il Progetto BibleGet \u00e8 un progetto indipendente nato dall'iniziativa personale di John R. D'Orazio, e non viene sovvenzionato da alcuna societ\u00e0. +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation.=Il Progetto BibleGet è un progetto indipendente nato dall'iniziativa personale di John R. D'Orazio, e non viene sovvenzionato da alcuna società. #: BibleGetAbout.java:113 -All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ \u20ac200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=Tutte le spese del server e del dominio di questo progetto ammontano a \u20ac200 annuali, e sono sostenute personalmente dall'autore. Tutti i contributi di scrittura di codice e sviluppo tecnico sono interamente volontari. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=Tutte le spese del server e del dominio di questo progetto ammontano a €200 annuali, e sono sostenute personalmente dall'autore. Tutti i contributi di scrittura di codice e sviluppo tecnico sono interamente volontari. #: BibleGetAbout.java:115 -If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ \u20ac1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=Se ti piace questa estensione e la trovi utile, si prega di contribuire anche poco per aiutare a mantenere il progetto. Anche solo \u20ac1 pu\u00f2 fare una differenza. Puoi contribuire utilizzando l'apposita voce di menu. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=Se ti piace questa estensione e la trovi utile, si prega di contribuire anche poco per aiutare a mantenere il progetto. Anche solo €1 può fare una differenza. Puoi contribuire utilizzando l'apposita voce di menu. #: BibleGetAbout.java:152 BibleGetHelp.java:171 About\ this\ plugin=Informazioni su questo plugin @@ -75,7 +75,7 @@ Cancel=Annulla You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request.=Devi scegliere almeno una versione per effettuare una richiesta. #: BibleGetFrame.java:283 BibleGetSelection.java:106 -There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again.=C'\u00e8 stato un errore di comunicazione con il server BibleGet. Si prega riprovare pi\u00f9 tardi. +There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again.=C'è stato un errore di comunicazione con il server BibleGet. Si prega riprovare più tardi. #: BibleGetHelp.java:155 Help\ for\ BibleGet\ (Open\ Office\ Writer)=Aiuto per BibleGet (Open Office Writer) @@ -84,7 +84,7 @@ Help\ for\ BibleGet\ (Open\ Office\ Writer)=Aiuto per BibleGet (Open Office Writ This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer.=Questa finestra di Aiuto introduce l'utente all'utilizzo dell'estensione BibleGet I/O per Open Office Writer. #: BibleGetHelp.java:157 -The\ Help\ is\ divided\ into\ three\ sections\:=La finestra di Aiuto \u00e8 suddivisa in tre sezioni\: +The\ Help\ is\ divided\ into\ three\ sections\:=La finestra di Aiuto è suddivisa in tre sezioni\: #: BibleGetHelp.java:159 BibleGetHelp.java:342 Usage\ of\ the\ Plugin=Utilizzo dell'Estensione @@ -100,7 +100,7 @@ Biblical\ Books\ and\ Abbreviations=Libri Biblici e Abbreviazioni AUTHOR=AUTORE #: BibleGetHelp.java:163 -John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University)=John R. D'Orazio (cappellano all'Universit\u00e0 Roma Tre) +John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University)=John R. D'Orazio (cappellano all'Università Roma Tre) #: BibleGetHelp.java:164 COLLABORATORS=COLLABORATORI @@ -124,28 +124,28 @@ Insert\ quote\ from\ text\ selection=Inserisci citazione a partire da selezione How\ to\ use\ the\ plugin=Come utilizzare l'estensione #: BibleGetHelp.java:179 -Description\ of\ the\ menu\ icons\ and\ their\ functionality.=Descrizione delle icone / voci del menu e della loro funzionalit\u00e0. +Description\ of\ the\ menu\ icons\ and\ their\ functionality.=Descrizione delle icone / voci del menu e della loro funzionalità. #: BibleGetHelp.java:180 -Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\:=Una volta che \u00e8 stata installata l'estensione, apparir\u00e0 un nuovo menu 'BibleGet I/O' nella Barra del Menu, e apparir\u00e0 anche una nuova Barra di Strumenti flottante. I pulsanti sulla barra degli strumenti corrispondono alle voci di menu del menu 'BibleGet I/O', come in questa immagine\: +Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\:=Una volta che è stata installata l'estensione, apparirà un nuovo menu 'BibleGet I/O' nella Barra del Menu, e apparirà anche una nuova Barra di Strumenti flottante. I pulsanti sulla barra degli strumenti corrispondono alle voci di menu del menu 'BibleGet I/O', come in questa immagine\: #: BibleGetHelp.java:182 -The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\:=La barra di strumenti flottante pu\u00f2 essere trascinata e collocata ovunque nell'applicazione. Pu\u00f2 essere anche agganciata a certe zone dell'applicazione. Per esempio pu\u00f2 essere agganciata alla Barra degli Strumenti sotto la Barra del Menu, come in questa immagine\: +The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\:=La barra di strumenti flottante può essere trascinata e collocata ovunque nell'applicazione. Può essere anche agganciata a certe zone dell'applicazione. Per esempio può essere agganciata alla Barra degli Strumenti sotto la Barra del Menu, come in questa immagine\: #: BibleGetHelp.java:184 There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document.=Ci sono due modi per inserire una citazione biblica in un documento. #: BibleGetHelp.java:186 -The\ first\ way\ is\ by\ using\ the\ input\ window.=Il primo modo \u00e8 quello di utilizzare la finestra di input. +The\ first\ way\ is\ by\ using\ the\ input\ window.=Il primo modo è quello di utilizzare la finestra di input. #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. #: BibleGetHelp.java:188 #, java-format -If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from.=Se clicchi sulla voce di menu ''{0}'', si aprir\u00e0 una finestra di input dove puoi inserire la query. Puoi anche scegliere la versione o le versioni da cui trarre la citazione. +If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from.=Se clicchi sulla voce di menu ''{0}'', si aprirà una finestra di input dove puoi inserire la query. Puoi anche scegliere la versione o le versioni da cui trarre la citazione. #: BibleGetHelp.java:190 -This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database.=La lista delle versioni viene aggiornata dalle versioni disponibili sul server BibleGet, ma siccome questa informazione viene salvata in locale, \u00e8 necessario rinnovare questa informazione quando una nuova versione viene aggiunta al database del server BibleGet. +This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database.=La lista delle versioni viene aggiornata dalle versioni disponibili sul server BibleGet, ma siccome questa informazione viene salvata in locale, è necessario rinnovare questa informazione quando una nuova versione viene aggiunta al database del server BibleGet. #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. @@ -157,13 +157,13 @@ In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ #. double up any single quotes or apostrophes. #: BibleGetHelp.java:194 #, java-format -When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item.=Quando scegli una versione o multiple versioni da cui trarre la citazione, questa scelta viene salvata automaticamente come preferenza, e sar\u00e0 pre-selezionata la prossima volta che apri la voce di menu ''{0}''. +When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item.=Quando scegli una versione o multiple versioni da cui trarre la citazione, questa scelta viene salvata automaticamente come preferenza, e sarà pre-selezionata la prossima volta che apri la voce di menu ''{0}''. #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. #: BibleGetHelp.java:197 #, java-format -The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server.=Il secondo modo \u00e8 quello di inserire la citazione desiderata direttamente nel documento, poi selezionarla e cliccare sulla voce di menu ''{0}''. Il testo selezionato verr\u00e0 sostituito dalla Citazione Biblica reperita dal Server BibleGet. +The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server.=Il secondo modo è quello di inserire la citazione desiderata direttamente nel documento, poi selezionarla e cliccare sulla voce di menu ''{0}''. Il testo selezionato verrà sostituito dalla Citazione Biblica reperita dal Server BibleGet. #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. @@ -181,13 +181,13 @@ After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ Send\ feedback=Invia feedback #: BibleGetHelp.java:214 -This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in.=Questa voce aprir\u00e0 l'applicazione predefinita del sistema per l'invio della posta elettronica, con l'indirizzo del destinatario pre-compilato (bibleget.io@gmail.com). +This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in.=Questa voce aprirà l'applicazione predefinita del sistema per l'invio della posta elettronica, con l'indirizzo del destinatario pre-compilato (bibleget.io@gmail.com). #: BibleGetHelp.java:218 Contribute=Effettua un contributo #: BibleGetHelp.java:220 -This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ \u20ac1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ \u20ac120\ a\ year.=Questa voce aprir\u00e0 una pagina Paypal nel browser predefinito del sistema, dalla quale puoi effettuare una donazione per contribuire al progetto. Anche solo \u20ac1 pu\u00f2 aiutare a coprire le spese del progetto. Soltanto il server e il dominio costano \u20ac120 all'anno. +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year.=Questa voce aprirà una pagina Paypal nel browser predefinito del sistema, dalla quale puoi effettuare una donazione per contribuire al progetto. Anche solo €1 può aiutare a coprire le spese del progetto. Soltanto il server e il dominio costano €120 all'anno. #: BibleGetHelp.java:224 Information\ on\ the\ BibleGet\ I/O\ Project=Informazione sul Progetto BibleGet I/O @@ -202,13 +202,13 @@ How\ to\ formulate\ a\ bible\ query=Come formulare una query biblica The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation.=Le query per le citazioni bibliche devono essere formulate utilizzando la notazione standard per le citazioni bibliche. #: BibleGetHelp.java:240 -This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.\ =Questa pu\u00f2 essere sia la notazione inglese (si veda a proposito\: https\://en.wikipedia.org/wiki/Bible_citation), oppure la notazione europea come descritta qui di seguito. +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.\ =Questa può essere sia la notazione inglese (si veda a proposito\: https\://en.wikipedia.org/wiki/Bible_citation), oppure la notazione europea come descritta qui di seguito. #: BibleGetHelp.java:243 -A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter.=Una query \u00e8 costituita principalmente da due elementi\: il libro biblico e il capitolo. +A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter.=Una query è costituita principalmente da due elementi\: il libro biblico e il capitolo. #: BibleGetHelp.java:245 -The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form.=Il libro biblico pu\u00f2 essere scritto per intero, o con la forma abbreviata. +The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form.=Il libro biblico può essere scritto per intero, o con la forma abbreviata. #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. @@ -226,19 +226,19 @@ See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}.=Ved For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1.=Per esempio, la query "Matteo 1" significa il libro di Matteo (o meglio, il vangelo secondo Matteo) al capitolo 1. #: BibleGetHelp.java:253 -This\ can\ also\ be\ written\ as\ "Mt\ 1".=Si pu\u00f2 scrivere anche in questo modo\: "Mt1". +This\ can\ also\ be\ written\ as\ "Mt\ 1".=Si può scrivere anche in questo modo\: "Mt1". #: BibleGetHelp.java:255 Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\:=Diverse combinazioni di libri, capitoli e versetti possono essere formate utilizzando il delimitatore virgola e il delimitatore punto (nella notazione europea perlomeno; nella notazione inglese vengono utilizzati due punti al posto della virgola, e una virgola al posto del punto)\: #: BibleGetHelp.java:257 -","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".)=","\: la virgola \u00e8 il delimitatore capitolo-versetto. "Matteo 1,5" significa il libro (vangelo) di Matteo, capitolo 1, versetto 5. (Nella notazione inglese\: "Matteo 1\:5".) +","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".)=","\: la virgola è il delimitatore capitolo-versetto. "Matteo 1,5" significa il libro (vangelo) di Matteo, capitolo 1, versetto 5. (Nella notazione inglese\: "Matteo 1\:5".) #: BibleGetHelp.java:258 -"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".)="."\: il punto \u00e8 il delimitatore tra versetti. "Matteo 1,5.7" significa il libro (vangelo) di Matteo, capitolo 1, versetti 5 e 7. (Nella notazione inglese\: "Matteo 1\:5,7".) +"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".)="."\: il punto è il delimitatore tra versetti. "Matteo 1,5.7" significa il libro (vangelo) di Matteo, capitolo 1, versetti 5 e 7. (Nella notazione inglese\: "Matteo 1\:5,7".) #: BibleGetHelp.java:259 -"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\:="-"\: il trattino \u00e8 il delimitatore di intervallo, e pu\u00f2 essere utilizzato in vari modi\: +"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\:="-"\: il trattino è il delimitatore di intervallo, e può essere utilizzato in vari modi\: #: BibleGetHelp.java:261 For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2.=Per un intervallo di capitoli\: "Matteo 1-2" significa il vangelo secondo Matteo, dal capitolo 1 al capitolo 2. @@ -250,13 +250,13 @@ For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".)=Per un intervallo di versetti che vanno da un capitolo all'altro\: "Matteo 1,5-2,13" significa il vangelo secondo Matteo, dal capitolo 1, versetto 5 fino al capitolo 2, versetto 13. (Nella notazione inglese\: "Matteo 1\:5-2\:13".) #: BibleGetHelp.java:266 -Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".)=Diverse combinazioni di questi delimitatori possono formare delle query pi\u00f9 complesse, per esempio "Mt1,1-3.5.7-9" significa il vangelo secondo Matteo, capitolo 1, versetti 1 a 3, versetto 5, e versetti 7 a 9. (Nella notazione inglese\: "Mt1\:1-3,5,7-9".) +Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".)=Diverse combinazioni di questi delimitatori possono formare delle query più complesse, per esempio "Mt1,1-3.5.7-9" significa il vangelo secondo Matteo, capitolo 1, versetti 1 a 3, versetto 5, e versetti 7 a 9. (Nella notazione inglese\: "Mt1\:1-3,5,7-9".) #: BibleGetHelp.java:267 Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";".=Query multiple possono essere combinate insieme utilizzando un punto e virgola ";". #: BibleGetHelp.java:269 -If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time.=Se la query che segue il punto e virgola si riferisce allo stesso libro della query precedente, allora non \u00e8 necessario indicare nuovamente il libro. +If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time.=Se la query che segue il punto e virgola si riferisce allo stesso libro della query precedente, allora non è necessario indicare nuovamente il libro. #: BibleGetHelp.java:271 For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".)=Per esempio, "Matteo 1,1;2,13" significa il vangelo secondo Matteo, capitolo 1 versetto 1 e capitolo 2 versetto 13. (Nella notazione inglese\: "Matteo 1\:1;2\:13".) @@ -265,10 +265,10 @@ For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14").=Ecco un esempio di query complesse combinate in un unica stringa\: "Genesi 1,3-5.7.9-11.13;2,4-9.11-13;Apocalisse 3,10.12-14". (Nella notazione inglese\: "Genesi 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalisse 3\:10,12-14"). #: BibleGetHelp.java:274 -It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.=Non ha importanza se si utilizza o no uno spazio tra il libro e il capitolo, la stringa verr\u00e0 interpretata ugualmente. +It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.=Non ha importanza se si utilizza o no uno spazio tra il libro e il capitolo, la stringa verrà interpretata ugualmente. #: BibleGetHelp.java:275 -It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.=Come anche non ha importanza se si utilizza maiuscolo o minuscolo, la stringa verr\u00f2 interpretata ugualmente. +It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.=Come anche non ha importanza se si utilizza maiuscolo o minuscolo, la stringa verrò interpretata ugualmente. #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. @@ -278,7 +278,7 @@ Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. #: BibleGetHelp.java:287 -The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions.=Le abbreviazioni non sempre corrispondono a quelle proposte dalle singole edizioni bibliche, perch\u00e9 entrerebbero in conflitto con quelle proposte da altre edizioni. +The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions.=Le abbreviazioni non sempre corrispondono a quelle proposte dalle singole edizioni bibliche, perché entrerebbero in conflitto con quelle proposte da altre edizioni. #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. @@ -288,7 +288,7 @@ For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. #: BibleGetHelp.java:291 -Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\:=Pertanto non sempre si possono utilizzare le abbreviazioni proposte da una singola edizione della Bibbia, bisogna riferirsi all''elenco delle abbreviazioni riconosciute dal motore BibleGet, cos\u00ec come elencate nella seguente tabella\: +Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\:=Pertanto non sempre si possono utilizzare le abbreviazioni proposte da una singola edizione della Bibbia, bisogna riferirsi all''elenco delle abbreviazioni riconosciute dal motore BibleGet, così come elencate nella seguente tabella\: #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. @@ -322,7 +322,7 @@ The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ val #. double up any single quotes or apostrophes. #: HTTPCaller.java:258 #, java-format -The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators.=L''indicazione del libro <{0}> nella query <{1}> non \u00e8 valida. Si prega controllare la documentazione per un elenco di valide indicazioni di libro. +The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators.=L''indicazione del libro <{0}> nella query <{1}> non è valida. Si prega controllare la documentazione per un elenco di valide indicazioni di libro. #: HTTPCaller.java:281 You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\!=Ci dev'essere un valido capitolo che segue l'indicazione del libro\! @@ -331,29 +331,29 @@ You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\!=Ci dev'ess A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\!=Una query che non inizia con un'indicazione di libro deve tuttavia iniziare con una valida indicazione di capitolo\! #: HTTPCaller.java:298 -You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma.=Non si pu\u00f2 utilizzare un punto prima di una virgola. Un punto \u00e8 un ponte tra versetti i quali hanno prima una virgola che fa da ponte con il capitolo. +You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma.=Non si può utilizzare un punto prima di una virgola. Un punto è un ponte tra versetti i quali hanno prima una virgola che fa da ponte con il capitolo. #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. #: HTTPCaller.java:307 #, java-format -Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}>=I versetti concatenati da un punto devono essere consecutivi, invece <{0}> \u00e8 maggiore o uguale a <{1}> nell''espressione <{2}> nella query <{3}> +Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}>=I versetti concatenati da un punto devono essere consecutivi, invece <{0}> è maggiore o uguale a <{1}> nell''espressione <{2}> nella query <{3}> #: HTTPCaller.java:314 -A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=Un punto dev'essere preceduto e seguito da un numero che consta al massimo di 3 cifre delle quali la prima non pu\u00f2 essere zero. +A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=Un punto dev'essere preceduto e seguito da un numero che consta al massimo di 3 cifre delle quali la prima non può essere zero. #: HTTPCaller.java:332 -A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=Una virgola dev'essere preceduta e seguita da un numero che consta al massimo di 3 cifre delle quali la prima non pu\u00f2 essere zero. +A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=Una virgola dev'essere preceduta e seguita da un numero che consta al massimo di 3 cifre delle quali la prima non può essere zero. #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. #: HTTPCaller.java:341 HTTPCaller.java:367 HTTPCaller.java:384 #: HTTPCaller.java:441 #, java-format -A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}>=Un capitolo nella query \u00e8 oltre ai limiti\: non ci \u00e8 nessun capitolo <{0}> nel libro <{1}> nella versione richiesta <{2}>, l''ultimo capitolo possibile \u00e8 <{3}> +A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}>=Un capitolo nella query è oltre ai limiti\: non ci è nessun capitolo <{0}> nel libro <{1}> nella versione richiesta <{2}>, l''ultimo capitolo possibile è <{3}> #: HTTPCaller.java:350 -You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\!=Non puoi avere pi\u00f9 di una virgola e non avere un trattino\! +You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\!=Non puoi avere più di una virgola e non avere un trattino\! #: HTTPCaller.java:355 You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash.=Sembra che la querystring sia malformata, ci dovrebbe essere un solo trattino. @@ -363,37 +363,37 @@ You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ d #: HTTPCaller.java:373 HTTPCaller.java:398 HTTPCaller.java:414 #: HTTPCaller.java:428 #, java-format -A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}>=Un versetto nella query \u00e8 oltre ai limiti\: non c''\u00e8 nessun versetto <{0}> nel libro <{1}> al capitolo <{2}> nella versione richiesta <{3}>, l''ultimo versetto possibile \u00e8 <{4}> +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}>=Un versetto nella query è oltre ai limiti\: non c''è nessun versetto <{0}> nel libro <{1}> al capitolo <{2}> nella versione richiesta <{3}>, l''ultimo versetto possibile è <{4}> #: HTTPCaller.java:452 -There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots.=Ci sono pi\u00f9 trattini nella query, ma non ci sono abbastanza punti. Ci pu\u00f2 essere soltanto un trattino in pi\u00f9 rispetto ai punti. +There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots.=Ci sono più trattini nella query, ma non ci sono abbastanza punti. Ci può essere soltanto un trattino in più rispetto ai punti. #: HTTPCaller.java:465 -A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=Un trattino dev'essere preceduto e seguito da un numero che consta al massimo di 3 cifre delle quali la prima non pu\u00f2 essere zero. +A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=Un trattino dev'essere preceduto e seguito da un numero che consta al massimo di 3 cifre delle quali la prima non può essere zero. #: HTTPCaller.java:476 -If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash.=Se c'\u00e8 un costrutto capitolo-versetto che segue un trattino, allora ci deve anche essere un costrutto capitolo-versetto che precede il trattino. +If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash.=Se c'è un costrutto capitolo-versetto che segue un trattino, allora ci deve anche essere un costrutto capitolo-versetto che precede il trattino. #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. #: HTTPCaller.java:496 #, java-format -Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}>=I capitoli devono essere consecutivi. Invece l''indicatore di capitolo <{0}> \u00e8 maggiore o uguale al secondo indicatore di capitolo <{1}> nell''espressione <{2}> +Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}>=I capitoli devono essere consecutivi. Invece l''indicatore di capitolo <{0}> è maggiore o uguale al secondo indicatore di capitolo <{1}> nell''espressione <{2}> #. TRANSLATORS: This message is used by MessageFormat, make sure that translations #. double up any single quotes or apostrophes. #: HTTPCaller.java:510 #, java-format -Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>=Versetti (o capitoli se \u00e8 il caso) concatenati dal delimitatore trattino devono essere consecutivi. Invece <{0}> \u00e8 maggiore o uguale a <{1}> nell''espressione <{2}> +Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>=Versetti (o capitoli se è il caso) concatenati dal delimitatore trattino devono essere consecutivi. Invece <{0}> è maggiore o uguale a <{1}> nell''espressione <{2}> #: OptionsFrame.java:148 Genesi=Genesi #: OptionsFrame.java:150 -In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth\u2014=In principio Dio cre\u00f2 il cielo e la terra. +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth—=In principio Dio creò il cielo e la terra. #: OptionsFrame.java:152 -and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters\u2014=La terra era informe e deserta e le tenebre ricoprivano l'abisso e lo spirito di Dio aleggiava sulle acque. +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters—=La terra era informe e deserta e le tenebre ricoprivano l'abisso e lo spirito di Dio aleggiava sulle acque. #: OptionsFrame.java:154 Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light.=Dio disse\: "Sia la luce\!". E la luce fu. From b49c3c34c0c7ce42cbfeadc33443ca58df52f573 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 21 Aug 2015 10:38:58 +0200 Subject: [PATCH 05/33] removed final space from term definitions which was creating inconsistencies between github and poeditor.com --- src/io/bibleget/resources/messages_en.properties | 2 +- src/io/bibleget/resources/messages_es.properties | 2 +- src/io/bibleget/resources/messages_fr.properties | 2 +- src/io/bibleget/resources/messages_it.properties | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/io/bibleget/resources/messages_en.properties b/src/io/bibleget/resources/messages_en.properties index b99b230..a224df1 100644 --- a/src/io/bibleget/resources/messages_en.properties +++ b/src/io/bibleget/resources/messages_en.properties @@ -202,7 +202,7 @@ How\ to\ formulate\ a\ bible\ query=How to formulate a bible query The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation.=The queries for bible quotes must be formulated using standard notation for bible citation. #: BibleGetHelp.java:240 -This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.\ =This can be either the english notation (as explained here\: https\://en.wikipedia.org/wiki/Bible_citation), or the european notation as explained here below. +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.=This can be either the english notation (as explained here\: https\://en.wikipedia.org/wiki/Bible_citation), or the european notation as explained here below. #: BibleGetHelp.java:243 A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter.=A basic query consists of at least two elements\: the bible book and the chapter. diff --git a/src/io/bibleget/resources/messages_es.properties b/src/io/bibleget/resources/messages_es.properties index 385e09d..522aa92 100644 --- a/src/io/bibleget/resources/messages_es.properties +++ b/src/io/bibleget/resources/messages_es.properties @@ -202,7 +202,7 @@ Current\ information\ from\ the\ BibleGet\ Server\:=Informes actuales del Servid !The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation.= #: BibleGetHelp.java:240 -!This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.\ = +!This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.= #: BibleGetHelp.java:243 !A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter.= diff --git a/src/io/bibleget/resources/messages_fr.properties b/src/io/bibleget/resources/messages_fr.properties index 48bdc52..cbdc405 100644 --- a/src/io/bibleget/resources/messages_fr.properties +++ b/src/io/bibleget/resources/messages_fr.properties @@ -202,7 +202,7 @@ Current\ information\ from\ the\ BibleGet\ Server\:=Les informations actuelles d !The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation.= #: BibleGetHelp.java:240 -!This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.\ = +!This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.= #: BibleGetHelp.java:243 !A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter.= diff --git a/src/io/bibleget/resources/messages_it.properties b/src/io/bibleget/resources/messages_it.properties index 24c6bd3..a723468 100644 --- a/src/io/bibleget/resources/messages_it.properties +++ b/src/io/bibleget/resources/messages_it.properties @@ -202,7 +202,7 @@ How\ to\ formulate\ a\ bible\ query=Come formulare una query biblica The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation.=Le query per le citazioni bibliche devono essere formulate utilizzando la notazione standard per le citazioni bibliche. #: BibleGetHelp.java:240 -This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.\ =Questa può essere sia la notazione inglese (si veda a proposito\: https\://en.wikipedia.org/wiki/Bible_citation), oppure la notazione europea come descritta qui di seguito. +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.=Questa può essere sia la notazione inglese (si veda a proposito\: https\://en.wikipedia.org/wiki/Bible_citation), oppure la notazione europea come descritta qui di seguito. #: BibleGetHelp.java:243 A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter.=Una query è costituita principalmente da due elementi\: il libro biblico e il capitolo. From 0ef03ae09093d0bd81a3f786440f9ce9a46334fc Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 21 Aug 2015 11:07:55 +0200 Subject: [PATCH 06/33] Update messages_en.properties (POEditor.com) --- .../bibleget/resources/messages_en.properties | 646 ++++++------------ 1 file changed, 196 insertions(+), 450 deletions(-) diff --git a/src/io/bibleget/resources/messages_en.properties b/src/io/bibleget/resources/messages_en.properties index a224df1..fe4916b 100644 --- a/src/io/bibleget/resources/messages_en.properties +++ b/src/io/bibleget/resources/messages_en.properties @@ -1,450 +1,196 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -!=Project-Id-Version\: PACKAGE VERSION en\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2015-03-09 15\:08+0100\nPO-Revision-Date\: 2015-03-09 16\:48+0100\nLast-Translator\: John R. D'Orazio \nLanguage-Team\: LANGUAGE english \nLanguage\: en\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Generator\: Poedit 1.5.4\nX-Poedit-SourceCharset\: UTF-8\n - -#: BibleGetAbout.java:101 -BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer=BibleGet I/O plugin for Open Office Writer - -#: BibleGetAbout.java:103 BibleGetHelp.java:165 -Version=Version - -#: BibleGetAbout.java:105 -This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University.=This plugin was developed by John R. D'Orazio, a priest in the diocese of Rome, chaplain at Roma Tre University. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetAbout.java:107 -#, java-format -It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}.=It is a part of the BibleGet Project at {0}. - -#: BibleGetAbout.java:109 -The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions.=The author would like to thank Giovanni Gregori and Simone Urbinati for their code contributions. - -#: BibleGetAbout.java:111 -The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation.=The BibleGet Project is an independent project born from the personal initiative of John R. D'Orazio, and is not funded by any kind of corporation. - -#: BibleGetAbout.java:113 -All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=All of the expenses of the project server and domain, which amount to €200 a year, are accounted for personally by the author. All code contributions and development are entirely volunteered. - -#: BibleGetAbout.java:115 -If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=If you like the plugin and find it useful, please consider contributing even a small amount to help keep this project running. Even just €1 can make a difference. You can contribute using the appropriate menu item in this plugin's menu. - -#: BibleGetAbout.java:152 BibleGetHelp.java:171 -About\ this\ plugin=About this plugin - -#: BibleGetAbout.java:173 -Current\ information\ from\ the\ BibleGet\ Server\:=Current information from the BibleGet Server\: - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetAbout.java:175 -#, java-format -The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\:=The BibleGet database currently supports {0} versions of the Bible in {1} different languages\: - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetAbout.java:180 -#, java-format -The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\:=The BibleGet engine currently understands the names of the books of the Bible in {0} different languages\: - -#: BibleGetAbout.java:193 BibleGetHelp.java:172 -RENEW\ SERVER\ DATA=RENEW SERVER DATA - -#: BibleGetFrame.java:171 -Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\:=Type the desired Bible Quote using standard notation\: - -#: BibleGetFrame.java:178 -(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16)=(e.g. Mt 1,1-10.12-15;5,3-4;Jn 3,16) - -#: BibleGetFrame.java:180 -Choose\ version\ (or\ versions)=Choose version (or versions) - -#: BibleGetFrame.java:190 -Send\ query=Send query - -#: BibleGetFrame.java:191 -Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document.=Sends the request to the server and returns the results to the document. - -#: BibleGetFrame.java:198 -Cancel=Cancel - -#: BibleGetFrame.java:249 -You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request.=You must select at least one version in order to make a request. - -#: BibleGetFrame.java:283 BibleGetSelection.java:106 -There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again.=There was a problem communicating with the BibleGet server. Please try again. - -#: BibleGetHelp.java:155 -Help\ for\ BibleGet\ (Open\ Office\ Writer)=Help for BibleGet (Open Office Writer) - -#: BibleGetHelp.java:156 -This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer.=This Help dialog window introduces the user to the usage of the BibleGet I/O plugin for Open Office Writer. - -#: BibleGetHelp.java:157 -The\ Help\ is\ divided\ into\ three\ sections\:=The Help is divided into three sections\: - -#: BibleGetHelp.java:159 BibleGetHelp.java:342 -Usage\ of\ the\ Plugin=Usage of the Plugin - -#: BibleGetHelp.java:160 BibleGetHelp.java:345 -Formulation\ of\ the\ Queries=Formulation of the Queries - -#: BibleGetHelp.java:161 BibleGetHelp.java:231 BibleGetHelp.java:284 -#: BibleGetHelp.java:347 -Biblical\ Books\ and\ Abbreviations=Biblical Books and Abbreviations - -#: BibleGetHelp.java:163 -AUTHOR=AUTHOR - -#: BibleGetHelp.java:163 -John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University)=John R. D'Orazio (chaplain at Roma Tre University) - -#: BibleGetHelp.java:164 -COLLABORATORS=COLLABORATORS - -#: BibleGetHelp.java:164 -Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre)=Giovanni Gregori (computing) and Simone Urbinati (MUG Roma Tre) - -#: BibleGetHelp.java:167 -PROJECT\ WEBSITE=PROJECT WEBSITE - -#: BibleGetHelp.java:167 -EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT=EMAIL ADDRESS FOR INFORMATION OR FEEDBACK ON THE PROJECT - -#: BibleGetHelp.java:170 BibleGetFrame.java:166 -Insert\ quote\ from\ input\ window=Insert quote from input window - -#: BibleGetHelp.java:174 -Insert\ quote\ from\ text\ selection=Insert quote from text selection - -#: BibleGetHelp.java:178 -How\ to\ use\ the\ plugin=How to use the plugin - -#: BibleGetHelp.java:179 -Description\ of\ the\ menu\ icons\ and\ their\ functionality.=Description of the menu icons and their functionality. - -#: BibleGetHelp.java:180 -Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\:=Once the extension is installed, a new menu 'BibleGet I/O' will appear on the menu bar. Also a new floating toolbar will appear. The buttons on the floating toolbar correspond to the menu items in the new menu, as can be seen in this image\: - -#: BibleGetHelp.java:182 -The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\:=The floating toolbar can be dragged and placed anywhere on the screen. It can also be docked to certain areas of the workspace, for example on the toolbar below the menu bar, like in this image\: - -#: BibleGetHelp.java:184 -There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document.=There are two ways of inserting a bible quote into a document. - -#: BibleGetHelp.java:186 -The\ first\ way\ is\ by\ using\ the\ input\ window.=The first way is by using the input window. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:188 -#, java-format -If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from.=If you click on the menu item ''{0}'', an input window will open where you can input your query and choose the version or versions you would like to take the quote from. - -#: BibleGetHelp.java:190 -This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database.=This list of versions is updated from the available versions on the BibleGet server, but since the information is stored locally it may be necessary to renew the server information when new versions are added to the BibleGet server database. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:192 -#, java-format -In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''.=In order to renew the information from the BibleGet server, click on the ''{0}'' menu item, and then click on the button ''{1}''. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:194 -#, java-format -When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item.=When you choose a version or multiple versions to quote from, this choice is automatically saved as a preference, and will be pre-selected the next time you open the ''{0}'' menu item. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:197 -#, java-format -The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server.=The second way is by writing your desired quote directly in the document, and then selecting it and choosing the menu item ''{0}''. The selected text will be substituted by the Bible Quote retrieved from the BibleGet server. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:199 -#, java-format -The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window.=The versions previously selected in the ''{0}'' window will be used, so you must have selected your preferred versions at least once from the ''{0}'' window. - -#: BibleGetHelp.java:203 -Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically.=Formatting preferences can be set using the 'Preferences' window. You can choose the desired font for the Bible quotes as well as the desired line-spacing, and you can choose separate formatting (font size, font color, font style) for the book / chapter, for the verse numbers, and for the verse text. Preferences are saved automatically. - -#: BibleGetHelp.java:207 -After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\:=After the 'Help' menu item that opens up this same help window, the last three menu items are\: - -#: BibleGetHelp.java:212 -Send\ feedback=Send feedback - -#: BibleGetHelp.java:214 -This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in.=This will open up your system's default email application with the bibleget.io@gmail.com feedback address already filled in. - -#: BibleGetHelp.java:218 -Contribute=Contribute - -#: BibleGetHelp.java:220 -This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year.=This will open a Paypal page in the system's default browser where you can make a donation to contribute to the project. Even just €1 can help to cover the expenses of this project. Just the server costs €120 a year. - -#: BibleGetHelp.java:224 -Information\ on\ the\ BibleGet\ I/O\ Project=Information on the BibleGet I/O Project - -#: BibleGetHelp.java:226 -This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports.=This opens a dialog window with some information on the project and it's plugins, on the author and contributors, and on the current locally stored information about the versions and languages that the BibleGet server supports. - -#: BibleGetHelp.java:236 -How\ to\ formulate\ a\ bible\ query=How to formulate a bible query - -#: BibleGetHelp.java:238 -The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation.=The queries for bible quotes must be formulated using standard notation for bible citation. - -#: BibleGetHelp.java:240 -This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.=This can be either the english notation (as explained here\: https\://en.wikipedia.org/wiki/Bible_citation), or the european notation as explained here below. - -#: BibleGetHelp.java:243 -A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter.=A basic query consists of at least two elements\: the bible book and the chapter. - -#: BibleGetHelp.java:245 -The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form.=The bible book can be written out in full, or in an abbreviated form. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:247 -#, java-format -The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1}=The BibleGet engine recognizes the names of the books of the bible in {0} different languages\: {1} - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:249 -#, java-format -See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}.=See the list of valid books and abbreviations in the section {0}. - -#: BibleGetHelp.java:251 -For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1.=For example, the query "Matthew 1" means the book of Matthew (or better the gospel according to Matthew) at chapter 1. - -#: BibleGetHelp.java:253 -This\ can\ also\ be\ written\ as\ "Mt\ 1".=This can also be written as "Mt 1". - -#: BibleGetHelp.java:255 -Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\:=Different combinations of books, chapters, and verses can be formed using the comma delimiter and the dot delimiter (in european notation, in english notation instead a colon is used instead of a comma and a comma is used instead of a dot)\: - -#: BibleGetHelp.java:257 -","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".)=","\: the comma is the chapter-verse delimiter. "Matthew 1,5" means the book (gospel) of Matthew, chapter 1, verse 5. (In English notation\: "Matthew 1\:5".) - -#: BibleGetHelp.java:258 -"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".)="."\: the dot is a delimiter between verses. "Matthew 1,5.7" means the book (gospel) of Matthew, chapter 1, verses 5 and 7. (In English notation\: "Matthew 1\:5,7".) - -#: BibleGetHelp.java:259 -"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\:="-"\: the dash is a range delimiter, which can be used in a variety of ways\: - -#: BibleGetHelp.java:261 -For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2.=For a range of chapters\: "Matthew 1-2" means the gospel according to Matthew, from chapter 1 to chapter 2. - -#: BibleGetHelp.java:262 -For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".)=For a range of verses within the same chapter\: "Matthew 1,1-5" means the gospel according to Matthew, chapter 1, from verse 1 to verse 5. (In English notation\: "Matthew 1\:1-5".) - -#: BibleGetHelp.java:263 -For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".)=For a range of verses that span over different chapters\: "Matthew 1,5-2,13" means the gospel according to Matthew, from chapter 1, verse 5 to chapter 2, verse 13. (In English notation\: "Matthew 1\:5-2\:13".) - -#: BibleGetHelp.java:266 -Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".)=Different combinations of these delimiters can form fairly complex queries, for example "Mt1,1-3.5.7-9" means the gospel according to Matthew, chapter 1, verses 1 to 3, verse 5, and verses 7 to 9. (In English notation\: "Mt1\:1-3,5,7-9".) - -#: BibleGetHelp.java:267 -Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";".=Multiple queries can be combined together using a semi-colon ";". - -#: BibleGetHelp.java:269 -If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time.=If the query following the semi-colon refers to the same book as the preceding query, it is not necessary to indicate the book a second time. - -#: BibleGetHelp.java:271 -For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".)=For example, "Matthew 1,1;2,13" means the gospel according to Matthew, chapter 1 verse 1 and chapter 2 verse 13. (In English notation\: "Matthew 1\:1;2\:13".) - -#: BibleGetHelp.java:273 -Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14").=Here is an example of multiple complex queries combined into a single querystring\: "Genesis 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse 3,10.12-14". (In English notation\: "Genesis 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse 3\:10,12-14"). - -#: BibleGetHelp.java:274 -It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.=It doesn't matter whether or not you use a space between the book and the chapter, the querystring will be interpreted just the same. - -#: BibleGetHelp.java:275 -It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.=It is also indifferent whether you use uppercase or lowercase letters, the querystring will be interpreted just the same. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:285 -Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings.=Here is a list of valid books and their corresponding abbreviations, either of which can be used in the querystrings. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:287 -The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions.=The abbreviations do not always correspond with those proposed by the various editions of the Bible, because they would conflict with those proposed by other editions. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:289 -For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah").=For example some english editions propose "Gn" as an abbreviation for "Genesis", while some italian editions propose "Gn" as an abbreviation for "Giona" (\= "Jonah"). - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:291 -Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\:=Therefore you will not always be able to use the abbreviations proposed by any single edition of the Bible, you must use the abbreviations that are recognized by the BibleGet engine as listed in the following table\: - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:294 -BOOK=BOOK - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:294 -ABBREVIATION=ABBREVIATION - -#: BibleGetHelp.java:336 -Instructions=Instructions - -#: BibleGetHelp.java:341 -Help=Help - -#: BibleGetSelection.java:118 HTTPCaller.java:225 -You\ cannot\ send\ an\ empty\ query.=You cannot send an empty query. - -#: HTTPCaller.java:195 -Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation.=Mixed notations have been detected. Please use either english notation or european notation. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:236 -#, java-format -The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\!=The first query <{0}> in the querystring <{1}> must start with a valid book indicator\! - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:258 -#, java-format -The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators.=The book indicator <{0}> in the query <{1}> is not valid. Please check the documentation for a list of valid book indicators. - -#: HTTPCaller.java:281 -You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\!=You must have a valid chapter following the book indicator\! - -#: HTTPCaller.java:288 -A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\!=A query that doesn't start with a book indicator must however start with a valid chapter indicator\! - -#: HTTPCaller.java:298 -You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma.=You cannot use a dot without first using a comma or a dash. A dot is a liason between verses, which are separated from the chapter by a comma. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:307 -#, java-format -Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}>=Verses concatenated by a dot must be consecutive, instead <{0}> is greater than or equal to <{1}> in the expression <{2}> in the query <{3}> - -#: HTTPCaller.java:314 -A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=A dot must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. - -#: HTTPCaller.java:332 -A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=A comma must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:341 HTTPCaller.java:367 HTTPCaller.java:384 -#: HTTPCaller.java:441 -#, java-format -A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}>=A chapter in the query is out of bounds\: there is no chapter <{0}> in the book <{1}> in the requested version <{2}>, the last possible chapter is <{3}> - -#: HTTPCaller.java:350 -You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\!=You cannot have more than one comma and not have a dash\! - -#: HTTPCaller.java:355 -You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash.=You seem to have a malformed querystring, there should be only one dash. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:373 HTTPCaller.java:398 HTTPCaller.java:414 -#: HTTPCaller.java:428 -#, java-format -A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}>=A verse in the query is out of bounds\: there is no verse <{0}> in the book <{1}> at chapter <{2}> in the requested version <{3}>, the last possible verse is <{4}> - -#: HTTPCaller.java:452 -There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots.=There are multiple dashes in the query, but there are not enough dots. There can only be one more dash than dots. - -#: HTTPCaller.java:465 -A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=A dash must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. - -#: HTTPCaller.java:476 -If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash.=If there is a chapter-verse construct following a dash, there must also be a chapter-verse construct preceding the same dash. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:496 -#, java-format -Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}>=Chapters must be consecutive. Instead the first chapter indicator <{0}> is greater than or equal to the second chapter indicator <{1}> in the expression <{2}> - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:510 -#, java-format -Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>=Verses (or chapters if applicable) around the dash operator must be consecutive. Instead <{0}> is greater than or equal to <{1}> in the expression <{2}> - -#: OptionsFrame.java:148 -Genesi=Genesi - -#: OptionsFrame.java:150 -In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth—=In the beginning, when God created the heavens and the earth— - -#: OptionsFrame.java:152 -and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters—=and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters— - -#: OptionsFrame.java:154 -Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light.=Then God said\: Let there be light, and there was light. - -#: OptionsFrame.java:253 -User\ Preferences=User Preferences - -#: OptionsFrame.java:261 -Paragraph=Paragraph - -#: OptionsFrame.java:264 -Alignment=Alignment - -#: OptionsFrame.java:340 -Indent=Indent - -#: OptionsFrame.java:380 -Line-spacing=Line-spacing - -#: OptionsFrame.java:411 -Font=Font - -#: OptionsFrame.java:472 -Book\ /\ Chapter=Book / Chapter - -#: OptionsFrame.java:593 -Verse\ Number=Verse Number - -#: OptionsFrame.java:714 -Verse\ Text=Verse Text - -#: OptionsFrame.java:835 -Preview=Preview - -#: OptionsFrame.java:862 -line-spacing\ not\ visible\ in\ the\ preview=line-spacing not visible in the preview - -#: OptionsFrame.java:953 -Choose\ Book\ /\ Chapter\ Font\ Color=Choose Book / Chapter Font Color - -#: OptionsFrame.java:983 -Choose\ Book\ /\ Chapter\ Background\ Color=Choose Book / Chapter Background Color - -#: OptionsFrame.java:1013 -Choose\ Verse\ Number\ Font\ Color=Choose Verse Number Font Color - -#: OptionsFrame.java:1043 -Choose\ Verse\ Number\ Background\ Color=Choose Verse Number Background Color - -#: OptionsFrame.java:1073 -Choose\ Verse\ Text\ Font\ Color=Choose Verse Text Font Color - -#: OptionsFrame.java:1103 -Choose\ Verse\ Text\ Background\ Color=Choose Verse Text Background Color +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = BibleGet I/O plugin for Open Office Writer +Version = Version +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = This plugin was developed by John R. D'Orazio, a priest in the diocese of Rome, chaplain at Roma Tre University. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = It is a part of the BibleGet Project at {0}. +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = The author would like to thank Giovanni Gregori and Simone Urbinati for their code contributions. +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = The BibleGet Project is an independent project born from the personal initiative of John R. D'Orazio, and is not funded by any kind of corporation. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = All of the expenses of the project server and domain, which amount to €200 a year, are accounted for personally by the author. All code contributions and development are entirely volunteered. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = If you like the plugin and find it useful, please consider contributing even a small amount to help keep this project running. Even just €1 can make a difference. You can contribute using the appropriate menu item in this plugin's menu. +About\ this\ plugin = About this plugin +Current\ information\ from\ the\ BibleGet\ Server\: = Current information from the BibleGet Server\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = The BibleGet database currently supports {0} versions of the Bible in {1} different languages\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = The BibleGet engine currently understands the names of the books of the Bible in {0} different languages\: +RENEW\ SERVER\ DATA = RENEW SERVER DATA +Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Type the desired Bible Quote using standard notation\: +(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (e.g. Mt 1,1-10.12-15;5,3-4;Jn 3,16) +Choose\ version\ (or\ versions) = Choose version (or versions) +Send\ query = Send query +Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Sends the request to the server and returns the results to the document. +Cancel = Cancel +You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = You must select at least one version in order to make a request. +There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = There was a problem communicating with the BibleGet server. Please try again. +Help\ for\ BibleGet\ (Open\ Office\ Writer) = Help for BibleGet (Open Office Writer) +This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = This Help dialog window introduces the user to the usage of the BibleGet I/O plugin for Open Office Writer. +The\ Help\ is\ divided\ into\ three\ sections\: = The Help is divided into three sections\: +Usage\ of\ the\ Plugin = Usage of the Plugin +Formulation\ of\ the\ Queries = Formulation of the Queries +Biblical\ Books\ and\ Abbreviations = Biblical Books and Abbreviations +AUTHOR = AUTHOR +John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = John R. D'Orazio (chaplain at Roma Tre University) +COLLABORATORS = COLLABORATORS +Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Giovanni Gregori (computing) and Simone Urbinati (MUG Roma Tre) +PROJECT\ WEBSITE = PROJECT WEBSITE +EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = EMAIL ADDRESS FOR INFORMATION OR FEEDBACK ON THE PROJECT +Insert\ quote\ from\ input\ window = Insert quote from input window +Insert\ quote\ from\ text\ selection = Insert quote from text selection +How\ to\ use\ the\ plugin = How to use the plugin +Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Description of the menu icons and their functionality. +Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Once the extension is installed, a new menu 'BibleGet I/O' will appear on the menu bar. Also a new floating toolbar will appear. The buttons on the floating toolbar correspond to the menu items in the new menu, as can be seen in this image\: +The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = The floating toolbar can be dragged and placed anywhere on the screen. It can also be docked to certain areas of the workspace, for example on the toolbar below the menu bar, like in this image\: +There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = There are two ways of inserting a bible quote into a document. +The\ first\ way\ is\ by\ using\ the\ input\ window. = The first way is by using the input window. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = If you click on the menu item ''{0}'', an input window will open where you can input your query and choose the version or versions you would like to take the quote from. +This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = This list of versions is updated from the available versions on the BibleGet server, but since the information is stored locally it may be necessary to renew the server information when new versions are added to the BibleGet server database. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = In order to renew the information from the BibleGet server, click on the ''{0}'' menu item, and then click on the button ''{1}''. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = When you choose a version or multiple versions to quote from, this choice is automatically saved as a preference, and will be pre-selected the next time you open the ''{0}'' menu item. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = The second way is by writing your desired quote directly in the document, and then selecting it and choosing the menu item ''{0}''. The selected text will be substituted by the Bible Quote retrieved from the BibleGet server. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = The versions previously selected in the ''{0}'' window will be used, so you must have selected your preferred versions at least once from the ''{0}'' window. +Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Formatting preferences can be set using the 'Preferences' window. You can choose the desired font for the Bible quotes as well as the desired line-spacing, and you can choose separate formatting (font size, font color, font style) for the book / chapter, for the verse numbers, and for the verse text. Preferences are saved automatically. +After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = After the 'Help' menu item that opens up this same help window, the last three menu items are\: +Send\ feedback = Send feedback +This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = This will open up your system's default email application with the bibleget.io@gmail.com feedback address already filled in. +Contribute = Contribute +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = This will open a Paypal page in the system's default browser where you can make a donation to contribute to the project. Even just €1 can help to cover the expenses of this project. Just the server costs €120 a year. +Information\ on\ the\ BibleGet\ I/O\ Project = Information on the BibleGet I/O Project +This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = This opens a dialog window with some information on the project and it's plugins, on the author and contributors, and on the current locally stored information about the versions and languages that the BibleGet server supports. +How\ to\ formulate\ a\ bible\ query = How to formulate a bible query +The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = The queries for bible quotes must be formulated using standard notation for bible citation. +# Fuzzy +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = This can be either the english notation (as explained here\: https\://en.wikipedia.org/wiki/Bible_citation), or the european notation as explained here below. +A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = A basic query consists of at least two elements\: the bible book and the chapter. +The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = The bible book can be written out in full, or in an abbreviated form. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = The BibleGet engine recognizes the names of the books of the bible in {0} different languages\: {1} +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = See the list of valid books and abbreviations in the section {0}. +For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = For example, the query "Matthew 1" means the book of Matthew (or better the gospel according to Matthew) at chapter 1. +This\ can\ also\ be\ written\ as\ "Mt\ 1". = This can also be written as "Mt 1". +Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Different combinations of books, chapters, and verses can be formed using the comma delimiter and the dot delimiter (in european notation, in english notation instead a colon is used instead of a comma and a comma is used instead of a dot)\: +","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: the comma is the chapter-verse delimiter. "Matthew 1,5" means the book (gospel) of Matthew, chapter 1, verse 5. (In English notation\: "Matthew 1\:5".) +"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: the dot is a delimiter between verses. "Matthew 1,5.7" means the book (gospel) of Matthew, chapter 1, verses 5 and 7. (In English notation\: "Matthew 1\:5,7".) +"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: the dash is a range delimiter, which can be used in a variety of ways\: +For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = For a range of chapters\: "Matthew 1-2" means the gospel according to Matthew, from chapter 1 to chapter 2. +For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = For a range of verses within the same chapter\: "Matthew 1,1-5" means the gospel according to Matthew, chapter 1, from verse 1 to verse 5. (In English notation\: "Matthew 1\:1-5".) +For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = For a range of verses that span over different chapters\: "Matthew 1,5-2,13" means the gospel according to Matthew, from chapter 1, verse 5 to chapter 2, verse 13. (In English notation\: "Matthew 1\:5-2\:13".) +Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Different combinations of these delimiters can form fairly complex queries, for example "Mt1,1-3.5.7-9" means the gospel according to Matthew, chapter 1, verses 1 to 3, verse 5, and verses 7 to 9. (In English notation\: "Mt1\:1-3,5,7-9".) +Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Multiple queries can be combined together using a semi-colon ";". +If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = If the query following the semi-colon refers to the same book as the preceding query, it is not necessary to indicate the book a second time. +For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = For example, "Matthew 1,1;2,13" means the gospel according to Matthew, chapter 1 verse 1 and chapter 2 verse 13. (In English notation\: "Matthew 1\:1;2\:13".) +Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Here is an example of multiple complex queries combined into a single querystring\: "Genesis 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse 3,10.12-14". (In English notation\: "Genesis 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse 3\:10,12-14"). +It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It doesn't matter whether or not you use a space between the book and the chapter, the querystring will be interpreted just the same. +It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It is also indifferent whether you use uppercase or lowercase letters, the querystring will be interpreted just the same. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Here is a list of valid books and their corresponding abbreviations, either of which can be used in the querystrings. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = The abbreviations do not always correspond with those proposed by the various editions of the Bible, because they would conflict with those proposed by other editions. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = For example some english editions propose "Gn" as an abbreviation for "Genesis", while some italian editions propose "Gn" as an abbreviation for "Giona" (\= "Jonah"). +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Therefore you will not always be able to use the abbreviations proposed by any single edition of the Bible, you must use the abbreviations that are recognized by the BibleGet engine as listed in the following table\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +BOOK = BOOK +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +ABBREVIATION = ABBREVIATION +Instructions = Instructions +Help = Help +You\ cannot\ send\ an\ empty\ query. = You cannot send an empty query. +Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Mixed notations have been detected. Please use either english notation or european notation. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = The first query <{0}> in the querystring <{1}> must start with a valid book indicator\! +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = The book indicator <{0}> in the query <{1}> is not valid. Please check the documentation for a list of valid book indicators. +You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = You must have a valid chapter following the book indicator\! +A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = A query that doesn't start with a book indicator must however start with a valid chapter indicator\! +You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = You cannot use a dot without first using a comma or a dash. A dot is a liason between verses, which are separated from the chapter by a comma. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = Verses concatenated by a dot must be consecutive, instead <{0}> is greater than or equal to <{1}> in the expression <{2}> in the query <{3}> +A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dot must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A comma must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = A chapter in the query is out of bounds\: there is no chapter <{0}> in the book <{1}> in the requested version <{2}>, the last possible chapter is <{3}> +You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = You cannot have more than one comma and not have a dash\! +You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = You seem to have a malformed querystring, there should be only one dash. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = A verse in the query is out of bounds\: there is no verse <{0}> in the book <{1}> at chapter <{2}> in the requested version <{3}>, the last possible verse is <{4}> +There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = There are multiple dashes in the query, but there are not enough dots. There can only be one more dash than dots. +A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dash must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = If there is a chapter-verse construct following a dash, there must also be a chapter-verse construct preceding the same dash. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = Chapters must be consecutive. Instead the first chapter indicator <{0}> is greater than or equal to the second chapter indicator <{1}> in the expression <{2}> +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Verses (or chapters if applicable) around the dash operator must be consecutive. Instead <{0}> is greater than or equal to <{1}> in the expression <{2}> +Genesi = Genesi +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth— = In the beginning, when God created the heavens and the earth— +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters— = and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters— +Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Then God said\: Let there be light, and there was light. +User\ Preferences = User Preferences +Paragraph = Paragraph +Alignment = Alignment +Indent = Indent +Line-spacing = Line-spacing +Font = Font +Book\ /\ Chapter = Book / Chapter +Verse\ Number = Verse Number +Verse\ Text = Verse Text +Preview = Preview +line-spacing\ not\ visible\ in\ the\ preview = line-spacing not visible in the preview +Choose\ Book\ /\ Chapter\ Font\ Color = Choose Book / Chapter Font Color +Choose\ Book\ /\ Chapter\ Background\ Color = Choose Book / Chapter Background Color +Choose\ Verse\ Number\ Font\ Color = Choose Verse Number Font Color +Choose\ Verse\ Number\ Background\ Color = Choose Verse Number Background Color +Choose\ Verse\ Text\ Font\ Color = Choose Verse Text Font Color +Choose\ Verse\ Text\ Background\ Color = Choose Verse Text Background Color \ No newline at end of file From af39fc30ea437f8d1bc6674702495dfe515ecfbc Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 21 Aug 2015 11:07:57 +0200 Subject: [PATCH 07/33] Update messages_fr.properties (POEditor.com) --- .../bibleget/resources/messages_fr.properties | 645 ++++++------------ 1 file changed, 195 insertions(+), 450 deletions(-) diff --git a/src/io/bibleget/resources/messages_fr.properties b/src/io/bibleget/resources/messages_fr.properties index cbdc405..641c295 100644 --- a/src/io/bibleget/resources/messages_fr.properties +++ b/src/io/bibleget/resources/messages_fr.properties @@ -1,450 +1,195 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -!=Project-Id-Version\: PACKAGE VERSION fr\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2015-03-09 15\:08+0100\nPO-Revision-Date\: 2015-03-09 16\:48+0100\nLast-Translator\: John R. D'Orazio \nLanguage-Team\: LANGUAGE french \nLanguage\: fr\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Generator\: Poedit 1.5.4\nX-Poedit-SourceCharset\: UTF-8\n - -#: BibleGetAbout.java:101 -BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer=Extension BibleGet I/O pour Open Office Writer - -#: BibleGetAbout.java:103 BibleGetHelp.java:165 -Version=Version - -#: BibleGetAbout.java:105 -This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University.=Cette extension a été développé par John R. D'Orazio, un prêtre dans le diocèse de Rome, aumônier à l'Université Roma Tre. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetAbout.java:107 -#, java-format -It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}.=L''extension appartient à la Projet BibleGet à {0}. - -#: BibleGetAbout.java:109 -The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions.=L'auteur tient à remercier Giovanni Gregori et Simone Urbinati pour leurs contributions de code. - -#: BibleGetAbout.java:111 -The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation.=Le Projet BibleGet est un projet indépendant né de l'initiative personnelle de John R. D'Orazio, et ne est pas financé par aucune type de société. - -#: BibleGetAbout.java:113 -All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=Toutes les dépenses du serveur de projet et gestion de domaine, qui se élèvent à €200 par an, sont comptabilisés personnellement par l'auteur. Toutes les contributions de code et de développement sont entièrement volontaires. - -#: BibleGetAbout.java:115 -If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=Si vous aimez l'extension et le trouvez utile, se il vous plaît envisager de contribuer, même une petite quantité pour aider à garder ce projet. Même seulement €1 peut faire une différence. Vous pouvez contribuer en utilisant l'option de menu appropriée dans le menu de cette extension. - -#: BibleGetAbout.java:152 BibleGetHelp.java:171 -About\ this\ plugin=À propos de cette extension - -#: BibleGetAbout.java:173 -Current\ information\ from\ the\ BibleGet\ Server\:=Les informations actuelles du Serveur BibleGet\: - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetAbout.java:175 -#, java-format -!The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\:= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetAbout.java:180 -#, java-format -!The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\:= - -#: BibleGetAbout.java:193 BibleGetHelp.java:172 -!RENEW\ SERVER\ DATA= - -#: BibleGetFrame.java:171 -!Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\:= - -#: BibleGetFrame.java:178 -!(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16)= - -#: BibleGetFrame.java:180 -!Choose\ version\ (or\ versions)= - -#: BibleGetFrame.java:190 -!Send\ query= - -#: BibleGetFrame.java:191 -!Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document.= - -#: BibleGetFrame.java:198 -!Cancel= - -#: BibleGetFrame.java:249 -!You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request.= - -#: BibleGetFrame.java:283 BibleGetSelection.java:106 -!There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again.= - -#: BibleGetHelp.java:155 -!Help\ for\ BibleGet\ (Open\ Office\ Writer)= - -#: BibleGetHelp.java:156 -!This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer.= - -#: BibleGetHelp.java:157 -!The\ Help\ is\ divided\ into\ three\ sections\:= - -#: BibleGetHelp.java:159 BibleGetHelp.java:342 -!Usage\ of\ the\ Plugin= - -#: BibleGetHelp.java:160 BibleGetHelp.java:345 -!Formulation\ of\ the\ Queries= - -#: BibleGetHelp.java:161 BibleGetHelp.java:231 BibleGetHelp.java:284 -#: BibleGetHelp.java:347 -!Biblical\ Books\ and\ Abbreviations= - -#: BibleGetHelp.java:163 -!AUTHOR= - -#: BibleGetHelp.java:163 -!John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University)= - -#: BibleGetHelp.java:164 -!COLLABORATORS= - -#: BibleGetHelp.java:164 -!Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre)= - -#: BibleGetHelp.java:167 -!PROJECT\ WEBSITE= - -#: BibleGetHelp.java:167 -!EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT= - -#: BibleGetHelp.java:170 BibleGetFrame.java:166 -!Insert\ quote\ from\ input\ window= - -#: BibleGetHelp.java:174 -!Insert\ quote\ from\ text\ selection= - -#: BibleGetHelp.java:178 -!How\ to\ use\ the\ plugin= - -#: BibleGetHelp.java:179 -!Description\ of\ the\ menu\ icons\ and\ their\ functionality.= - -#: BibleGetHelp.java:180 -!Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\:= - -#: BibleGetHelp.java:182 -!The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\:= - -#: BibleGetHelp.java:184 -!There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document.= - -#: BibleGetHelp.java:186 -!The\ first\ way\ is\ by\ using\ the\ input\ window.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:188 -#, java-format -!If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from.= - -#: BibleGetHelp.java:190 -!This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:192 -#, java-format -!In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:194 -#, java-format -!When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:197 -#, java-format -!The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:199 -#, java-format -!The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window.= - -#: BibleGetHelp.java:203 -!Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically.= - -#: BibleGetHelp.java:207 -!After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\:= - -#: BibleGetHelp.java:212 -!Send\ feedback= - -#: BibleGetHelp.java:214 -!This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in.= - -#: BibleGetHelp.java:218 -!Contribute= - -#: BibleGetHelp.java:220 -!This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year.= - -#: BibleGetHelp.java:224 -!Information\ on\ the\ BibleGet\ I/O\ Project= - -#: BibleGetHelp.java:226 -!This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports.= - -#: BibleGetHelp.java:236 -!How\ to\ formulate\ a\ bible\ query= - -#: BibleGetHelp.java:238 -!The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation.= - -#: BibleGetHelp.java:240 -!This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.= - -#: BibleGetHelp.java:243 -!A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter.= - -#: BibleGetHelp.java:245 -!The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:247 -#, java-format -!The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1}= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:249 -#, java-format -!See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}.= - -#: BibleGetHelp.java:251 -!For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1.= - -#: BibleGetHelp.java:253 -!This\ can\ also\ be\ written\ as\ "Mt\ 1".= - -#: BibleGetHelp.java:255 -!Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\:= - -#: BibleGetHelp.java:257 -!","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".)= - -#: BibleGetHelp.java:258 -!"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".)= - -#: BibleGetHelp.java:259 -!"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\:= - -#: BibleGetHelp.java:261 -!For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2.= - -#: BibleGetHelp.java:262 -!For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".)= - -#: BibleGetHelp.java:263 -!For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".)= - -#: BibleGetHelp.java:266 -!Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".)= - -#: BibleGetHelp.java:267 -!Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";".= - -#: BibleGetHelp.java:269 -!If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time.= - -#: BibleGetHelp.java:271 -!For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".)= - -#: BibleGetHelp.java:273 -!Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14").= - -#: BibleGetHelp.java:274 -!It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.= - -#: BibleGetHelp.java:275 -!It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:285 -!Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:287 -!The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:289 -!For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah").= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:291 -!Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\:= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:294 -!BOOK= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:294 -!ABBREVIATION= - -#: BibleGetHelp.java:336 -!Instructions= - -#: BibleGetHelp.java:341 -!Help= - -#: BibleGetSelection.java:118 HTTPCaller.java:225 -!You\ cannot\ send\ an\ empty\ query.= - -#: HTTPCaller.java:195 -!Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:236 -#, java-format -!The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\!= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:258 -#, java-format -!The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators.= - -#: HTTPCaller.java:281 -!You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\!= - -#: HTTPCaller.java:288 -!A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\!= - -#: HTTPCaller.java:298 -!You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:307 -#, java-format -!Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}>= - -#: HTTPCaller.java:314 -!A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.= - -#: HTTPCaller.java:332 -!A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:341 HTTPCaller.java:367 HTTPCaller.java:384 -#: HTTPCaller.java:441 -#, java-format -!A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}>= - -#: HTTPCaller.java:350 -!You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\!= - -#: HTTPCaller.java:355 -!You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:373 HTTPCaller.java:398 HTTPCaller.java:414 -#: HTTPCaller.java:428 -#, java-format -!A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}>= - -#: HTTPCaller.java:452 -!There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots.= - -#: HTTPCaller.java:465 -!A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.= - -#: HTTPCaller.java:476 -!If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:496 -#, java-format -!Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}>= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:510 -#, java-format -!Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>= - -#: OptionsFrame.java:148 -!Genesi= - -#: OptionsFrame.java:150 -!In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth—= - -#: OptionsFrame.java:152 -!and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters—= - -#: OptionsFrame.java:154 -!Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light.= - -#: OptionsFrame.java:253 -!User\ Preferences= - -#: OptionsFrame.java:261 -!Paragraph= - -#: OptionsFrame.java:264 -!Alignment= - -#: OptionsFrame.java:340 -!Indent= - -#: OptionsFrame.java:380 -!Line-spacing= - -#: OptionsFrame.java:411 -!Font= - -#: OptionsFrame.java:472 -!Book\ /\ Chapter= - -#: OptionsFrame.java:593 -!Verse\ Number= - -#: OptionsFrame.java:714 -!Verse\ Text= - -#: OptionsFrame.java:835 -!Preview= - -#: OptionsFrame.java:862 -!line-spacing\ not\ visible\ in\ the\ preview= - -#: OptionsFrame.java:953 -!Choose\ Book\ /\ Chapter\ Font\ Color= - -#: OptionsFrame.java:983 -!Choose\ Book\ /\ Chapter\ Background\ Color= - -#: OptionsFrame.java:1013 -!Choose\ Verse\ Number\ Font\ Color= - -#: OptionsFrame.java:1043 -!Choose\ Verse\ Number\ Background\ Color= - -#: OptionsFrame.java:1073 -!Choose\ Verse\ Text\ Font\ Color= - -#: OptionsFrame.java:1103 -!Choose\ Verse\ Text\ Background\ Color= +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = Extension BibleGet I/O pour Open Office Writer +Version = Version +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = Cette extension a été développé par John R. D'Orazio, un prêtre dans le diocèse de Rome, aumônier à l'Université Roma Tre. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = L'extension appartient à la Projet BibleGet à {0}. +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = L'auteur tient à remercier Giovanni Gregori et Simone Urbinati pour leurs contributions de code. +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = Le Projet BibleGet est un projet indépendant né de l'initiative personnelle de John R. D'Orazio, et ne est pas financé par aucune type de société. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = Toutes les dépenses du serveur de projet et gestion de domaine, qui se élèvent à €200 par an, sont comptabilisés personnellement par l'auteur. Toutes les contributions de code et de développement sont entièrement volontaires. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = Si vous aimez l'extension et le trouvez utile, se il vous plaît envisager de contribuer, même une petite quantité pour aider à garder ce projet. Même seulement €1 peut faire une différence. Vous pouvez contribuer en utilisant l'option de menu appropriée dans le menu de cette extension. +About\ this\ plugin = À propos de cette extension +Current\ information\ from\ the\ BibleGet\ Server\: = Les informations actuelles du Serveur BibleGet\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = La base de données BibleGet supporte actuellement {0} versions de la Bible dans {1} différentes langues\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = Le moteur de BibleGet comprend actuellement les noms des livres de la Bible dans {0} différentes langues\: +RENEW\ SERVER\ DATA = RENOUVELER LES DONNÉES DU SERVEUR +Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Tapez la cite de Bible désirée à l'aide de la notation standard \: +(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (par exemple Mt 1,1-10.12-15 ; 5,3-4 ; Jn 3, 16) +Choose\ version\ (or\ versions) = Choisissez la version (ou les versions) +Send\ query = Envoyer la requête +Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Envoie la requête au serveur et renvoie les résultats dans le document. +Cancel = Annuler +You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = Vous devez sélectionner au moins une version afin de faire une demande. +There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = Il y avait un problème de communication avec le serveur BibleGet. S'il vous plaît essayer de nouveau. +Help\ for\ BibleGet\ (Open\ Office\ Writer) = Aide pour BibleGet (Open Office Writer) +This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = Cette fenêtre de dialogue d'aide initie l'utilisateur à l'utilisation du plugin BibleGet I/O pour Open Office Writer. +The\ Help\ is\ divided\ into\ three\ sections\: = L'aide est divisée en trois sections \: +Usage\ of\ the\ Plugin = Utilisation du Plugin +Formulation\ of\ the\ Queries = Formulation des requêtes +Biblical\ Books\ and\ Abbreviations = Abréviations et livres bibliques +AUTHOR = AUTEUR +John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = John R. D'Orazio (aumônier à l'Université Roma Tre) +COLLABORATORS = COLLABORATEURS +Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Giovanni Gregori (informatique) et Simone Urbinati (MUG Roma Tre) +PROJECT\ WEBSITE = SITE WEB DU PROJET +EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = ADRESSE DE COURRIEL POUR INFORMATIONS OU COMMENTAIRES SUR LE PROJET +Insert\ quote\ from\ input\ window = Insérer le devis de la fenêtre de saisie +Insert\ quote\ from\ text\ selection = Insérer citation de sélection de texte +How\ to\ use\ the\ plugin = Comment utiliser le plugin +Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Description de leurs fonctionnalités et les icônes de menu. +Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Une fois l'extension installée, un nouveau menu « BibleGet I/O » s'affiche dans la barre de menus. Aussi une nouvelle barre d'outils flottante s'affiche. Les boutons sur la barre d'outils flottante correspondent aux éléments de menu dans le menu nouveau, comme peut être vu dans cette image \: +The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = La barre d'outils flottante peut être traîné et placé n'importe où sur l'écran. Il peut également être ancré à certaines zones de l'espace de travail, par exemple dans la barre d'outils sous la barre de menu, comme dans cette image \: +There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = Il y a deux façons d'insérer une citation de la bible dans un document. +The\ first\ way\ is\ by\ using\ the\ input\ window. = La première consiste à l'aide de la fenêtre de saisie. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = Si vous cliquez sur l'élément de menu ''{0}'', une fenêtre de saisie s''ouvre où vous pouvez saisir votre requête et choisir l''ou les versions de que vous souhaitez prendre la citation. +This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = Cette liste de versions est mis à jour depuis les versions disponibles sur le serveur de BibleGet, mais étant donné que les informations sont stockées localement, il peut être nécessaire de renouveler les informations du serveur lorsque de nouvelles versions sont ajoutées à la base de données du serveur de BibleGet. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = Afin de renouveler les informations depuis le serveur de BibleGet, cliquez sur l'élément de menu ''{0}'' et puis cliquez sur le bouton ''{1}''. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = Lorsque vous choisissez une version ou plusieurs versions, ce choix est automatiquement enregistré comme une préférence et sera présélectionné la prochaine fois que vous ouvrez l''élément de menu ''{0}''. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = La deuxième façon est écrire votre devis désiré directement dans le document et en sélectionnant, et ensuite en choisissant l''élément de menu ''{0}''. Le texte sélectionné sera substitué par la Bible cite extraites du serveur BibleGet. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = Les versions précédemment sélectionnées dans la fenêtre ''{0}'' seront utilisées, donc vous devez avoir sélectionné vos versions préférées au moins une fois dans la fenêtre ''{0}''. +Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Préférences de mise en forme peuvent être définies à l'aide de la fenêtre « Préférences ». Vous pouvez choisir la police désirée pour les citations de la Bible ainsi que l'interligne désiré, et vous pouvez choisir distinctes de mise en forme (taille de police, couleur de police, style de police) pour le livre / chapitre, pour le nombre de verset et le texte du verset. Préférences sont enregistrées automatiquement. +After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = Après l'élément de menu « Aide » qui s'ouvre vers le haut de cette même fenêtre d'aide, les éléments de trois derniers menu sont \: +Send\ feedback = Envoyez vos commentaires +This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = Cela va ouvrir application de messagerie par défaut de votre système avec l'adresse de retour de bibleget.io@gmail.com déjà renseigné. +Contribute = Contribuer +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = Cela ouvrira une page Paypal dans le navigateur du système par défaut où vous pouvez faire un don pour contribuer au projet. Même juste €1 peut aider à couvrir les frais de ce projet. Juste le serveur coûte €120 par an. +Information\ on\ the\ BibleGet\ I/O\ Project = Informations sur le projet BibleGet I/O +This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = Cela ouvre une fenêtre de dialogue avec des informations sur le projet et c'est des plugins, sur l'auteur et les contributeurs et l'actuel localement stockait les informations sur les versions et langues qui prend en charge le serveur BibleGet. +How\ to\ formulate\ a\ bible\ query = Comment formuler une demande de bible +The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = Les requêtes pour les citations de la bible doivent être formulés en utilisant la notation standard pour la citation de la bible. +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = Cela peut être soit la notation anglais (comme expliqué ici \: https\://en.wikipedia.org/wiki/Bible_citation), ou la notation européenne comme expliqué ici. +A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = Une interrogation de base se compose d'au moins deux éléments \: le livre de la bible et le chapitre. +The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = Le livre de la bible peut être écrites dans son intégralité ou sous forme abrégée. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = Le moteur de la BibleGet reconnaît les noms des livres de la bible dans {0} différentes langues \: {1} +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = Voir la liste des livres valides et abréviations dans la section {0}. +For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = Par exemple, la requête "Matthew 1" signifie que le livre de Matthew (ou mieux l'Evangile selon Matthew) au chapitre 1. +This\ can\ also\ be\ written\ as\ "Mt\ 1". = Cela peut également s'écrire "Mt 1". +Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Différentes combinaisons de livres, chapitres et versets peuvent se former à l'aide de la virgule de séparation et le point de délimitation (dans la notation européenne; dans la notation anglais, un signe deux-points est utilisé au lieu d'une virgule et une virgule est utilisée au lieu d'un point) \: +","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: la virgule est le séparateur de chapitre-verse. "Matthew 1,5" signifie le livre (l'Évangile) de Matthew, chapitre 1, verset 5. (En notation anglaise\: « Matthew 1\:5 ».) +"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: le point est un délimiteur entre les couplets. "Matthew 1,5.7" signifie le livre (l'Évangile) de Matthew, chapitre 1, versets 5 et 7. (En notation anglaise\: « Matthew 1\:5, 7 ».) +"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: le tableau de bord est un délimiteur de gamme, qui peut être utilisé dans une variété de moyens \: +For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = Pour une série de chapitres\: "Matthew 1-2" désigne l'Evangile selon Matthew, du chapitre 1 au chapitre 2. +For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = Pour une série de versets dans le même chapitre\: « Matthew 1, 1-5 » signifie l'Evangile selon Matthew, chapitre 1, du verset 1 au verset 5. (En notation anglaise\: « Matthew 1\:1-5 ».) +For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = Pour une série de versets qui s'étendent sur différents chapitres\: « Matthew 1,5-2,13 » signifie l'Evangile selon Matthew, du chapitre 1, verset 5 au chapitre 2, verset 13. (En notation anglaise\: "Matthew 1\:5-2\:13".) +Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Différentes combinaisons de ces délimiteurs peuvent former des requêtes assez complexes, par exemple « Mt1, 3.5.7-1-9 » signifie que l'Evangile selon Matthew, chapitre 1, versets 1 à 3, verset 5 et les versets à 08\:53. (En notation anglaise\: "Mt1\:1-3,5,7-9".) +Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Plusieurs requêtes peuvent être combinés ensemble à l'aide d'un point-virgule ";". +If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = Si la requête après la point virgule fait référence à ce même livre que la requête précédente, il n'est pas nécessaire d'indiquer le livre une deuxième fois. +For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = Par exemple, "Matthew 1,1 ; 2.13" moyens l'Evangile selon Matthew, chapitre 1, verset 1 et chapitre 2 verset 13. (En notation anglaise\: « Matthew 1\:1 ; 02\:13 ».) +Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Voici un exemple de multiples requêtes complexes combinés en une seule chaîne de requête\: "Genèse 1, 3-5.7.9-11.13; 2, 4-9.11-13 ; Apocalypse 14-3,10.12 ". (En notation anglaise\: "Genèse 1\:3-5,7,9-11,13 ; 2\:4-9, 11-13 ; Apocalypse 03\:10, 12-14"). +It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = Il n'est pas grave si vous utilisez un espace entre le livre et le chapitre, la chaîne de requête est considérée tout de même. +It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = Il est également indifférent que vous utilisiez les majuscules ou minuscules, la chaîne de requête sont considérées tout de même. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Voici une liste de livres valides et leurs abréviations correspondantes, ce qui peut être utilisé dans les querystrings. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = Les abréviations ne correspondent pas toujours avec celles proposées par les différentes éditions de la Bible, car ils seraient en conflit avec celles proposées par les autres éditions. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = Par exemple certaines éditions anglais proposent « Gn » comme abréviation pour « Genesis », tandis que certaines éditions italiennes proposent « Gn » comme abréviation pour "Giona" (\= « Jonas »). +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Par conséquent, vous ne serez pas toujours en mesure d''utiliser les abréviations proposées par n''importe quelle édition unique de la Bible, vous devez utiliser les abréviations qui sont reconnues par le moteur de BibleGet, telles qu''énumérées dans le tableau suivant \: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +BOOK = LIVRE +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +ABBREVIATION = ABRÉVIATION +Instructions = Instructions +Help = Aide +You\ cannot\ send\ an\ empty\ query. = Vous ne pouvez pas envoyer une requête vide. +Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Notations mixtes ont été détectées. S'il vous plaît utiliser la notation anglais ou notation européenne. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = La première requête <{0}> dans la chaîne de requête <{1}> doit commencer par un indicateur valide de livre \! +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = L''indicateur de livre <{0}> dans la requête <{1}> n''est pas valide. Veuillez consulter la documentation pour obtenir la liste des indicateurs valables de livre. +You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = Vous devez avoir un chapitre valide suivant l'indicateur de livre \! +A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = Une requête qui ne commence pas par un indicateur de l'ouvrage doit toutefois commencer par un indicateur valide de chapitre \! +You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = Vous ne pouvez pas utiliser un point sans utiliser préalablement une virgule ou un tiret. Un point est un agent de liaison entre les couplets, dont le chapitre sont séparés par une virgule. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = Versets concaténées par un point doivent être consécutives, mais <{0}> est supérieur ou égal à <{1}> dans l''expression <{2}> dans la requête <{3}> +A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Un point doit être précédé et suivi de 1 à 3 chiffres dont le premier chiffre ne peut pas être zéro. +A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Une virgule doit être précédée et suivie de 1 à 3 chiffres dont le premier chiffre ne peut pas être zéro. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = Un chapitre dans la requête est hors des limites \: il n''y a aucun chapitre <{0}> du livre <{1}> dans la version demandée <{2}>, le dernier chapitre possible est <{3}> +You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = Vous ne peut pas avoir plus d'une virgule et n'avoir pas un tiret \! +You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = Vous semblez avoir une chaîne de requête incorrecte, il devrait y avoir qu'un seul tiret. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = Un verset dans la requête est hors des limites \: il n''y a aucun verset <{0}> dans le livre <{1}> au chapitre <{2}> dans la version demandée <{3}>, le dernier verset possible est <{4}> +There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = Il y a plusieurs tirets dans la requête, mais il n'y a pas assez de points. Il ne peut être un tiret plus de points. +A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Un tiret doit être précédée et suivie de 1 à 3 chiffres dont le premier chiffre ne peut pas être zéro. +If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = S'il y a une construction chapitre-verset après un tiret, il faut aussi avoir une construction chapitre-verset précédent du même tiret. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = Chapitres doivent être consécutives. Maisle premier indicateur de chapitre <{0}> est supérieur ou égal à l'indicateur de chapitre deuxième <{1}> dans l''expression <{2}> +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Versets (ou chapitres, le cas échéant) dans le tiret doit être consécutive. Mais <{0}> est supérieur ou égal à <{1}> dans l''expression <{2}> +Genesi = Genesi +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth— = Au commencement, Dieu créa le ciel et la terre. +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters— = Or, la terre était alors informe et vide. Les ténèbres couvraient l'abîme, et l'Esprit de Dieu planait au-dessus des eaux. +Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Et Dieu dit alors\: —Que la lumière soit\! Et la lumière fut. +User\ Preferences = Préférences de l'utilisateur +Paragraph = Paragraphe +Alignment = Alignement +Indent = Tiret +Line-spacing = Interligne +Font = Police +Book\ /\ Chapter = Livre / chapitre +Verse\ Number = Numéro de verset +Verse\ Text = Texte du verset +Preview = Aperçu +line-spacing\ not\ visible\ in\ the\ preview = interligne non visible dans l'aperçu +Choose\ Book\ /\ Chapter\ Font\ Color = Choisissez livre / chapitre Font Color +Choose\ Book\ /\ Chapter\ Background\ Color = Choisissez livre / chapitre couleur d'arrière-plan +Choose\ Verse\ Number\ Font\ Color = Choisissez la couleur de police numéro de verset +Choose\ Verse\ Number\ Background\ Color = Choisissez la couleur d'arrière-plan numéro de verset +Choose\ Verse\ Text\ Font\ Color = Choisissez la couleur de police pour le texte verset +Choose\ Verse\ Text\ Background\ Color = Choisissez la couleur de fond pour le texte verset \ No newline at end of file From 2b75f04681a9088fe2ab499ad937ba4f757267a2 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 21 Aug 2015 11:07:58 +0200 Subject: [PATCH 08/33] Update messages_it.properties (POEditor.com) --- .../bibleget/resources/messages_it.properties | 645 ++++++------------ 1 file changed, 195 insertions(+), 450 deletions(-) diff --git a/src/io/bibleget/resources/messages_it.properties b/src/io/bibleget/resources/messages_it.properties index a723468..109fcff 100644 --- a/src/io/bibleget/resources/messages_it.properties +++ b/src/io/bibleget/resources/messages_it.properties @@ -1,450 +1,195 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -!=Project-Id-Version\: PACKAGE VERSION 1\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2015-03-09 15\:08+0100\nPO-Revision-Date\: 2015-03-09 16\:52+0100\nLast-Translator\: John R. D'Orazio \nLanguage-Team\: LANGUAGE Italian \nLanguage\: it\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Generator\: Poedit 1.5.4\n - -#: BibleGetAbout.java:101 -BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer=Estensione BibleGet I/O per Open Office Writer - -#: BibleGetAbout.java:103 BibleGetHelp.java:165 -Version=Versione - -#: BibleGetAbout.java:105 -This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University.=Questa estensione è stata sviluppata da John R. D'Orazio, un sacerdote della Diocesi di Roma, cappellano all'Università Roma Tre. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetAbout.java:107 -#, java-format -It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}.=Fa parte del Progetto BibleGet a {0}. - -#: BibleGetAbout.java:109 -The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions.=L'autore ringrazia Giovanni Gregori e Simone Urbinati per i loro contributi. - -#: BibleGetAbout.java:111 -The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation.=Il Progetto BibleGet è un progetto indipendente nato dall'iniziativa personale di John R. D'Orazio, e non viene sovvenzionato da alcuna società. - -#: BibleGetAbout.java:113 -All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=Tutte le spese del server e del dominio di questo progetto ammontano a €200 annuali, e sono sostenute personalmente dall'autore. Tutti i contributi di scrittura di codice e sviluppo tecnico sono interamente volontari. - -#: BibleGetAbout.java:115 -If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=Se ti piace questa estensione e la trovi utile, si prega di contribuire anche poco per aiutare a mantenere il progetto. Anche solo €1 può fare una differenza. Puoi contribuire utilizzando l'apposita voce di menu. - -#: BibleGetAbout.java:152 BibleGetHelp.java:171 -About\ this\ plugin=Informazioni su questo plugin - -#: BibleGetAbout.java:173 -Current\ information\ from\ the\ BibleGet\ Server\:=Informazione attuale dal Server di BibleGet\: - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetAbout.java:175 -#, java-format -The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\:=Il database del progetto BibleGeta attualmente supporta {0} versioni della Bibbia in {1} lingue diverse\: - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetAbout.java:180 -#, java-format -The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\:=Il motore BibleGet attualmente riconosce i nomi dei libri della Bibbia in {0} lingue diverse\: - -#: BibleGetAbout.java:193 BibleGetHelp.java:172 -RENEW\ SERVER\ DATA=RINNOVA I DATI DEL SERVER - -#: BibleGetFrame.java:171 -Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\:=Inserisci la Citazione Biblica desiderata utilizzando la notazione standard\: - -#: BibleGetFrame.java:178 -(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16)=(per. es. Mt 1,1-10.12-15;5,3-4;Gv 3,16) - -#: BibleGetFrame.java:180 -Choose\ version\ (or\ versions)=Scegli versione (o versioni) - -#: BibleGetFrame.java:190 -Send\ query=Invia query - -#: BibleGetFrame.java:191 -Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document.=Invia la richiesta al server e restituisce il risultato nel documento. - -#: BibleGetFrame.java:198 -Cancel=Annulla - -#: BibleGetFrame.java:249 -You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request.=Devi scegliere almeno una versione per effettuare una richiesta. - -#: BibleGetFrame.java:283 BibleGetSelection.java:106 -There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again.=C'è stato un errore di comunicazione con il server BibleGet. Si prega riprovare più tardi. - -#: BibleGetHelp.java:155 -Help\ for\ BibleGet\ (Open\ Office\ Writer)=Aiuto per BibleGet (Open Office Writer) - -#: BibleGetHelp.java:156 -This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer.=Questa finestra di Aiuto introduce l'utente all'utilizzo dell'estensione BibleGet I/O per Open Office Writer. - -#: BibleGetHelp.java:157 -The\ Help\ is\ divided\ into\ three\ sections\:=La finestra di Aiuto è suddivisa in tre sezioni\: - -#: BibleGetHelp.java:159 BibleGetHelp.java:342 -Usage\ of\ the\ Plugin=Utilizzo dell'Estensione - -#: BibleGetHelp.java:160 BibleGetHelp.java:345 -Formulation\ of\ the\ Queries=Formulazione delle Query - -#: BibleGetHelp.java:161 BibleGetHelp.java:231 BibleGetHelp.java:284 -#: BibleGetHelp.java:347 -Biblical\ Books\ and\ Abbreviations=Libri Biblici e Abbreviazioni - -#: BibleGetHelp.java:163 -AUTHOR=AUTORE - -#: BibleGetHelp.java:163 -John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University)=John R. D'Orazio (cappellano all'Università Roma Tre) - -#: BibleGetHelp.java:164 -COLLABORATORS=COLLABORATORI - -#: BibleGetHelp.java:164 -Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre)=Giovanni Gregori (informatico) e Simone Urbinati (MUG Roma Tre) - -#: BibleGetHelp.java:167 -PROJECT\ WEBSITE=SITO WEB DEL PROGETTO - -#: BibleGetHelp.java:167 -EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT=EMAIL PER INFORMAZIONI O FEEDBACK SUL PROGETTO - -#: BibleGetHelp.java:170 BibleGetFrame.java:166 -Insert\ quote\ from\ input\ window=Inserisci citazione da finestra di input - -#: BibleGetHelp.java:174 -Insert\ quote\ from\ text\ selection=Inserisci citazione a partire da selezione di testo - -#: BibleGetHelp.java:178 -How\ to\ use\ the\ plugin=Come utilizzare l'estensione - -#: BibleGetHelp.java:179 -Description\ of\ the\ menu\ icons\ and\ their\ functionality.=Descrizione delle icone / voci del menu e della loro funzionalità. - -#: BibleGetHelp.java:180 -Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\:=Una volta che è stata installata l'estensione, apparirà un nuovo menu 'BibleGet I/O' nella Barra del Menu, e apparirà anche una nuova Barra di Strumenti flottante. I pulsanti sulla barra degli strumenti corrispondono alle voci di menu del menu 'BibleGet I/O', come in questa immagine\: - -#: BibleGetHelp.java:182 -The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\:=La barra di strumenti flottante può essere trascinata e collocata ovunque nell'applicazione. Può essere anche agganciata a certe zone dell'applicazione. Per esempio può essere agganciata alla Barra degli Strumenti sotto la Barra del Menu, come in questa immagine\: - -#: BibleGetHelp.java:184 -There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document.=Ci sono due modi per inserire una citazione biblica in un documento. - -#: BibleGetHelp.java:186 -The\ first\ way\ is\ by\ using\ the\ input\ window.=Il primo modo è quello di utilizzare la finestra di input. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:188 -#, java-format -If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from.=Se clicchi sulla voce di menu ''{0}'', si aprirà una finestra di input dove puoi inserire la query. Puoi anche scegliere la versione o le versioni da cui trarre la citazione. - -#: BibleGetHelp.java:190 -This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database.=La lista delle versioni viene aggiornata dalle versioni disponibili sul server BibleGet, ma siccome questa informazione viene salvata in locale, è necessario rinnovare questa informazione quando una nuova versione viene aggiunta al database del server BibleGet. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:192 -#, java-format -In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''.=Per rinnovare le informazioni dal server BibleGet, clicca sulla voce di menu ''{0}'', poi clicca sul pulsante ''{1}''. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:194 -#, java-format -When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item.=Quando scegli una versione o multiple versioni da cui trarre la citazione, questa scelta viene salvata automaticamente come preferenza, e sarà pre-selezionata la prossima volta che apri la voce di menu ''{0}''. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:197 -#, java-format -The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server.=Il secondo modo è quello di inserire la citazione desiderata direttamente nel documento, poi selezionarla e cliccare sulla voce di menu ''{0}''. Il testo selezionato verrà sostituito dalla Citazione Biblica reperita dal Server BibleGet. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:199 -#, java-format -The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window.=Saranno utilizzate le versioni bibliche selezionate precedentemente nella finestra ''{0}'', pertanto dovrai aver scelto almeno una volta le versioni preferite nella finestra ''{0}''. - -#: BibleGetHelp.java:203 -Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically.=Le preferenze di formattazione si possono impostare utilizzando la finestra delle 'Preferenze'. Puoi scegliere il carattere preferito per le citazioni Bibliche oltre all'interlinea preferita, e puoi scegliere una formattazione separata (grandezza di carattere, color carattere, stile carattere) per il libro / capitolo, per i numeri dei versetti, e per il testo dei versetti. Le preferenze vengono salvate automaticamente. - -#: BibleGetHelp.java:207 -After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\:=Poi dopo la voce di menu 'Aiuto' che apre questa stessa finestra di aiuto, le ultime tre voci di menu sono\: - -#: BibleGetHelp.java:212 -Send\ feedback=Invia feedback - -#: BibleGetHelp.java:214 -This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in.=Questa voce aprirà l'applicazione predefinita del sistema per l'invio della posta elettronica, con l'indirizzo del destinatario pre-compilato (bibleget.io@gmail.com). - -#: BibleGetHelp.java:218 -Contribute=Effettua un contributo - -#: BibleGetHelp.java:220 -This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year.=Questa voce aprirà una pagina Paypal nel browser predefinito del sistema, dalla quale puoi effettuare una donazione per contribuire al progetto. Anche solo €1 può aiutare a coprire le spese del progetto. Soltanto il server e il dominio costano €120 all'anno. - -#: BibleGetHelp.java:224 -Information\ on\ the\ BibleGet\ I/O\ Project=Informazione sul Progetto BibleGet I/O - -#: BibleGetHelp.java:226 -This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports.=Questa voce apre una finestra con alcune informazioni sul progetto e le estensioni, sull'autore e i contributori, e sulle informazioni locali attualmente salvate per quanto riguarda le versioni e le lingue che il server BibleGet attualmente supporta. - -#: BibleGetHelp.java:236 -How\ to\ formulate\ a\ bible\ query=Come formulare una query biblica - -#: BibleGetHelp.java:238 -The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation.=Le query per le citazioni bibliche devono essere formulate utilizzando la notazione standard per le citazioni bibliche. - -#: BibleGetHelp.java:240 -This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.=Questa può essere sia la notazione inglese (si veda a proposito\: https\://en.wikipedia.org/wiki/Bible_citation), oppure la notazione europea come descritta qui di seguito. - -#: BibleGetHelp.java:243 -A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter.=Una query è costituita principalmente da due elementi\: il libro biblico e il capitolo. - -#: BibleGetHelp.java:245 -The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form.=Il libro biblico può essere scritto per intero, o con la forma abbreviata. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:247 -#, java-format -The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1}=Il motore BibleGet riconosce i nomi dei libri della bibbia in {0} lingue diverse\: {1} - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:249 -#, java-format -See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}.=Vedi la lista dei libri e delle abbreviazioni validi nella sezione {0}. - -#: BibleGetHelp.java:251 -For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1.=Per esempio, la query "Matteo 1" significa il libro di Matteo (o meglio, il vangelo secondo Matteo) al capitolo 1. - -#: BibleGetHelp.java:253 -This\ can\ also\ be\ written\ as\ "Mt\ 1".=Si può scrivere anche in questo modo\: "Mt1". - -#: BibleGetHelp.java:255 -Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\:=Diverse combinazioni di libri, capitoli e versetti possono essere formate utilizzando il delimitatore virgola e il delimitatore punto (nella notazione europea perlomeno; nella notazione inglese vengono utilizzati due punti al posto della virgola, e una virgola al posto del punto)\: - -#: BibleGetHelp.java:257 -","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".)=","\: la virgola è il delimitatore capitolo-versetto. "Matteo 1,5" significa il libro (vangelo) di Matteo, capitolo 1, versetto 5. (Nella notazione inglese\: "Matteo 1\:5".) - -#: BibleGetHelp.java:258 -"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".)="."\: il punto è il delimitatore tra versetti. "Matteo 1,5.7" significa il libro (vangelo) di Matteo, capitolo 1, versetti 5 e 7. (Nella notazione inglese\: "Matteo 1\:5,7".) - -#: BibleGetHelp.java:259 -"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\:="-"\: il trattino è il delimitatore di intervallo, e può essere utilizzato in vari modi\: - -#: BibleGetHelp.java:261 -For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2.=Per un intervallo di capitoli\: "Matteo 1-2" significa il vangelo secondo Matteo, dal capitolo 1 al capitolo 2. - -#: BibleGetHelp.java:262 -For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".)=Per un intervallo di versetti nello stesso capitolo\: "Matteo 1,1-5" significa il vangelo secondo Matteo, capitolo 1, dal versetto 1 al versetto 5. (Nella notazione inglese\: "Matteo 1\:1-5".) - -#: BibleGetHelp.java:263 -For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".)=Per un intervallo di versetti che vanno da un capitolo all'altro\: "Matteo 1,5-2,13" significa il vangelo secondo Matteo, dal capitolo 1, versetto 5 fino al capitolo 2, versetto 13. (Nella notazione inglese\: "Matteo 1\:5-2\:13".) - -#: BibleGetHelp.java:266 -Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".)=Diverse combinazioni di questi delimitatori possono formare delle query più complesse, per esempio "Mt1,1-3.5.7-9" significa il vangelo secondo Matteo, capitolo 1, versetti 1 a 3, versetto 5, e versetti 7 a 9. (Nella notazione inglese\: "Mt1\:1-3,5,7-9".) - -#: BibleGetHelp.java:267 -Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";".=Query multiple possono essere combinate insieme utilizzando un punto e virgola ";". - -#: BibleGetHelp.java:269 -If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time.=Se la query che segue il punto e virgola si riferisce allo stesso libro della query precedente, allora non è necessario indicare nuovamente il libro. - -#: BibleGetHelp.java:271 -For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".)=Per esempio, "Matteo 1,1;2,13" significa il vangelo secondo Matteo, capitolo 1 versetto 1 e capitolo 2 versetto 13. (Nella notazione inglese\: "Matteo 1\:1;2\:13".) - -#: BibleGetHelp.java:273 -Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14").=Ecco un esempio di query complesse combinate in un unica stringa\: "Genesi 1,3-5.7.9-11.13;2,4-9.11-13;Apocalisse 3,10.12-14". (Nella notazione inglese\: "Genesi 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalisse 3\:10,12-14"). - -#: BibleGetHelp.java:274 -It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.=Non ha importanza se si utilizza o no uno spazio tra il libro e il capitolo, la stringa verrà interpretata ugualmente. - -#: BibleGetHelp.java:275 -It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.=Come anche non ha importanza se si utilizza maiuscolo o minuscolo, la stringa verrò interpretata ugualmente. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:285 -Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings.=Ecco di seguito un elenco di libri validi con le relative abbreviazioni (possono essere usati sia gli uni che le altre nelle query). - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:287 -The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions.=Le abbreviazioni non sempre corrispondono a quelle proposte dalle singole edizioni bibliche, perché entrerebbero in conflitto con quelle proposte da altre edizioni. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:289 -For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah").=Per esempio alcune edizioni inglesi propongono "Gn" come abbreviazione per "Genesi", mentre altre edizioni italiane propongono "Gn" come abbreviazione per "Giona". - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:291 -Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\:=Pertanto non sempre si possono utilizzare le abbreviazioni proposte da una singola edizione della Bibbia, bisogna riferirsi all''elenco delle abbreviazioni riconosciute dal motore BibleGet, così come elencate nella seguente tabella\: - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:294 -BOOK=LIBRO - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:294 -ABBREVIATION=ABBREVIAZIONE - -#: BibleGetHelp.java:336 -Instructions=Istruzioni - -#: BibleGetHelp.java:341 -Help=Aiuto - -#: BibleGetSelection.java:118 HTTPCaller.java:225 -You\ cannot\ send\ an\ empty\ query.=Non puoi inviare una query vuota. - -#: HTTPCaller.java:195 -Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation.=Sono state rilevate notazioni miste. Si prega utilizzare o la notazione inglese o la notazione europea. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:236 -#, java-format -The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\!=La prima query <{0}> nella stringa <{1}> deve iniziare con una valida indicazione di libro\! - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:258 -#, java-format -The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators.=L''indicazione del libro <{0}> nella query <{1}> non è valida. Si prega controllare la documentazione per un elenco di valide indicazioni di libro. - -#: HTTPCaller.java:281 -You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\!=Ci dev'essere un valido capitolo che segue l'indicazione del libro\! - -#: HTTPCaller.java:288 -A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\!=Una query che non inizia con un'indicazione di libro deve tuttavia iniziare con una valida indicazione di capitolo\! - -#: HTTPCaller.java:298 -You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma.=Non si può utilizzare un punto prima di una virgola. Un punto è un ponte tra versetti i quali hanno prima una virgola che fa da ponte con il capitolo. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:307 -#, java-format -Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}>=I versetti concatenati da un punto devono essere consecutivi, invece <{0}> è maggiore o uguale a <{1}> nell''espressione <{2}> nella query <{3}> - -#: HTTPCaller.java:314 -A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=Un punto dev'essere preceduto e seguito da un numero che consta al massimo di 3 cifre delle quali la prima non può essere zero. - -#: HTTPCaller.java:332 -A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=Una virgola dev'essere preceduta e seguita da un numero che consta al massimo di 3 cifre delle quali la prima non può essere zero. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:341 HTTPCaller.java:367 HTTPCaller.java:384 -#: HTTPCaller.java:441 -#, java-format -A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}>=Un capitolo nella query è oltre ai limiti\: non ci è nessun capitolo <{0}> nel libro <{1}> nella versione richiesta <{2}>, l''ultimo capitolo possibile è <{3}> - -#: HTTPCaller.java:350 -You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\!=Non puoi avere più di una virgola e non avere un trattino\! - -#: HTTPCaller.java:355 -You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash.=Sembra che la querystring sia malformata, ci dovrebbe essere un solo trattino. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:373 HTTPCaller.java:398 HTTPCaller.java:414 -#: HTTPCaller.java:428 -#, java-format -A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}>=Un versetto nella query è oltre ai limiti\: non c''è nessun versetto <{0}> nel libro <{1}> al capitolo <{2}> nella versione richiesta <{3}>, l''ultimo versetto possibile è <{4}> - -#: HTTPCaller.java:452 -There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots.=Ci sono più trattini nella query, ma non ci sono abbastanza punti. Ci può essere soltanto un trattino in più rispetto ai punti. - -#: HTTPCaller.java:465 -A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.=Un trattino dev'essere preceduto e seguito da un numero che consta al massimo di 3 cifre delle quali la prima non può essere zero. - -#: HTTPCaller.java:476 -If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash.=Se c'è un costrutto capitolo-versetto che segue un trattino, allora ci deve anche essere un costrutto capitolo-versetto che precede il trattino. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:496 -#, java-format -Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}>=I capitoli devono essere consecutivi. Invece l''indicatore di capitolo <{0}> è maggiore o uguale al secondo indicatore di capitolo <{1}> nell''espressione <{2}> - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:510 -#, java-format -Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>=Versetti (o capitoli se è il caso) concatenati dal delimitatore trattino devono essere consecutivi. Invece <{0}> è maggiore o uguale a <{1}> nell''espressione <{2}> - -#: OptionsFrame.java:148 -Genesi=Genesi - -#: OptionsFrame.java:150 -In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth—=In principio Dio creò il cielo e la terra. - -#: OptionsFrame.java:152 -and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters—=La terra era informe e deserta e le tenebre ricoprivano l'abisso e lo spirito di Dio aleggiava sulle acque. - -#: OptionsFrame.java:154 -Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light.=Dio disse\: "Sia la luce\!". E la luce fu. - -#: OptionsFrame.java:253 -User\ Preferences=Preferenze Utente - -#: OptionsFrame.java:261 -Paragraph=Paragrafo - -#: OptionsFrame.java:264 -Alignment=Allineamento - -#: OptionsFrame.java:340 -Indent=Rientro - -#: OptionsFrame.java:380 -Line-spacing=Interlinea - -#: OptionsFrame.java:411 -Font=Carattere - -#: OptionsFrame.java:472 -Book\ /\ Chapter=Libro / Capitolo - -#: OptionsFrame.java:593 -Verse\ Number=Numero del Versetto - -#: OptionsFrame.java:714 -Verse\ Text=Testo del Versetto - -#: OptionsFrame.java:835 -Preview=Anteprima - -#: OptionsFrame.java:862 -line-spacing\ not\ visible\ in\ the\ preview=interlinea non visibile nell'anteprima - -#: OptionsFrame.java:953 -Choose\ Book\ /\ Chapter\ Font\ Color=Scegli il Colore Carattere del Libro / Capitolo - -#: OptionsFrame.java:983 -Choose\ Book\ /\ Chapter\ Background\ Color=Scegli il Colore di Sfondo del Libro / Capitolo - -#: OptionsFrame.java:1013 -Choose\ Verse\ Number\ Font\ Color=Scegli il Colore Carattere del Numero del Versetto - -#: OptionsFrame.java:1043 -Choose\ Verse\ Number\ Background\ Color=Scegli il Colore di Sfondo del Numero del Versetto - -#: OptionsFrame.java:1073 -Choose\ Verse\ Text\ Font\ Color=Scegli il Colore Carattere del Testo del Versetto - -#: OptionsFrame.java:1103 -Choose\ Verse\ Text\ Background\ Color=Scegli il Colore di Sfondo del Testo del Versetto +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = Estensione BibleGet I/O per Open Office Writer +Version = Versione +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = Questa estensione è stata sviluppata da John R. D'Orazio, un sacerdote della Diocesi di Roma, cappellano all'Università Roma Tre. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = Fa parte del Progetto BibleGet a {0}. +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = L'autore ringrazia Giovanni Gregori e Simone Urbinati per i loro contributi. +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = Il Progetto BibleGet è un progetto indipendente nato dall'iniziativa personale di John R. D'Orazio, e non viene sovvenzionato da alcuna società. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = Tutte le spese del server e del dominio di questo progetto ammontano a €200 annuali, e sono sostenute personalmente dall'autore. Tutti i contributi di scrittura di codice e sviluppo tecnico sono interamente volontari. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = Se ti piace questa estensione e la trovi utile, si prega di contribuire anche poco per aiutare a mantenere il progetto. Anche solo €1 può fare una differenza. Puoi contribuire utilizzando l'apposita voce di menu. +About\ this\ plugin = Informazioni su questo plugin +Current\ information\ from\ the\ BibleGet\ Server\: = Informazione attuale dal Server di BibleGet\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = Il database del progetto BibleGeta attualmente supporta {0} versioni della Bibbia in {1} lingue diverse\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = Il motore BibleGet attualmente riconosce i nomi dei libri della Bibbia in {0} lingue diverse\: +RENEW\ SERVER\ DATA = RINNOVA I DATI DEL SERVER +Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Inserisci la Citazione Biblica desiderata utilizzando la notazione standard\: +(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (per. es. Mt 1,1-10.12-15;5,3-4;Gv 3,16) +Choose\ version\ (or\ versions) = Scegli versione (o versioni) +Send\ query = Invia query +Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Invia la richiesta al server e restituisce il risultato nel documento. +Cancel = Annulla +You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = Devi scegliere almeno una versione per effettuare una richiesta. +There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = C'è stato un errore di comunicazione con il server BibleGet. Si prega riprovare più tardi. +Help\ for\ BibleGet\ (Open\ Office\ Writer) = Aiuto per BibleGet (Open Office Writer) +This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = Questa finestra di Aiuto introduce l'utente all'utilizzo dell'estensione BibleGet I/O per Open Office Writer. +The\ Help\ is\ divided\ into\ three\ sections\: = La finestra di Aiuto è suddivisa in tre sezioni\: +Usage\ of\ the\ Plugin = Utilizzo dell'Estensione +Formulation\ of\ the\ Queries = Formulazione delle Query +Biblical\ Books\ and\ Abbreviations = Libri Biblici e Abbreviazioni +AUTHOR = AUTORE +John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = John R. D'Orazio (cappellano all'Università Roma Tre) +COLLABORATORS = COLLABORATORI +Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Giovanni Gregori (informatico) e Simone Urbinati (MUG Roma Tre) +PROJECT\ WEBSITE = SITO WEB DEL PROGETTO +EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = EMAIL PER INFORMAZIONI O FEEDBACK SUL PROGETTO +Insert\ quote\ from\ input\ window = Inserisci citazione da finestra di input +Insert\ quote\ from\ text\ selection = Inserisci citazione a partire da selezione di testo +How\ to\ use\ the\ plugin = Come utilizzare l'estensione +Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Descrizione delle icone / voci del menu e della loro funzionalità. +Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Una volta che è stata installata l'estensione, apparirà un nuovo menu 'BibleGet I/O' nella Barra del Menu, e apparirà anche una nuova Barra di Strumenti flottante. I pulsanti sulla barra degli strumenti corrispondono alle voci di menu del menu 'BibleGet I/O', come in questa immagine\: +The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = La barra di strumenti flottante può essere trascinata e collocata ovunque nell'applicazione. Può essere anche agganciata a certe zone dell'applicazione. Per esempio può essere agganciata alla Barra degli Strumenti sotto la Barra del Menu, come in questa immagine\: +There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = Ci sono due modi per inserire una citazione biblica in un documento. +The\ first\ way\ is\ by\ using\ the\ input\ window. = Il primo modo è quello di utilizzare la finestra di input. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = Se clicchi sulla voce di menu ''{0}'', si aprirà una finestra di input dove puoi inserire la query. Puoi anche scegliere la versione o le versioni da cui trarre la citazione. +This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = La lista delle versioni viene aggiornata dalle versioni disponibili sul server BibleGet, ma siccome questa informazione viene salvata in locale, è necessario rinnovare questa informazione quando una nuova versione viene aggiunta al database del server BibleGet. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = Per rinnovare le informazioni dal server BibleGet, clicca sulla voce di menu ''{0}'', poi clicca sul pulsante ''{1}''. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = Quando scegli una versione o multiple versioni da cui trarre la citazione, questa scelta viene salvata automaticamente come preferenza, e sarà pre-selezionata la prossima volta che apri la voce di menu ''{0}''. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = Il secondo modo è quello di inserire la citazione desiderata direttamente nel documento, poi selezionarla e cliccare sulla voce di menu ''{0}''. Il testo selezionato verrà sostituito dalla Citazione Biblica reperita dal Server BibleGet. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = Saranno utilizzate le versioni bibliche selezionate precedentemente nella finestra ''{0}'', pertanto dovrai aver scelto almeno una volta le versioni preferite nella finestra ''{0}''. +Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Le preferenze di formattazione si possono impostare utilizzando la finestra delle 'Preferenze'. Puoi scegliere il carattere preferito per le citazioni Bibliche oltre all'interlinea preferita, e puoi scegliere una formattazione separata (grandezza di carattere, color carattere, stile carattere) per il libro / capitolo, per i numeri dei versetti, e per il testo dei versetti. Le preferenze vengono salvate automaticamente. +After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = Poi dopo la voce di menu 'Aiuto' che apre questa stessa finestra di aiuto, le ultime tre voci di menu sono\: +Send\ feedback = Invia feedback +This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = Questa voce aprirà l'applicazione predefinita del sistema per l'invio della posta elettronica, con l'indirizzo del destinatario pre-compilato (bibleget.io@gmail.com). +Contribute = Effettua un contributo +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = Questa voce aprirà una pagina Paypal nel browser predefinito del sistema, dalla quale puoi effettuare una donazione per contribuire al progetto. Anche solo €1 può aiutare a coprire le spese del progetto. Soltanto il server e il dominio costano €120 all'anno. +Information\ on\ the\ BibleGet\ I/O\ Project = Informazione sul Progetto BibleGet I/O +This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = Questa voce apre una finestra con alcune informazioni sul progetto e le estensioni, sull'autore e i contributori, e sulle informazioni locali attualmente salvate per quanto riguarda le versioni e le lingue che il server BibleGet attualmente supporta. +How\ to\ formulate\ a\ bible\ query = Come formulare una query biblica +The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = Le query per le citazioni bibliche devono essere formulate utilizzando la notazione standard per le citazioni bibliche. +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = Questa può essere sia la notazione inglese (si veda a proposito\: https\://en.wikipedia.org/wiki/Bible_citation), oppure la notazione europea come descritta qui di seguito. +A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = Una query è costituita principalmente da due elementi\: il libro biblico e il capitolo. +The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = Il libro biblico può essere scritto per intero, o con la forma abbreviata. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = Il motore BibleGet riconosce i nomi dei libri della bibbia in {0} lingue diverse\: {1} +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = Vedi la lista dei libri e delle abbreviazioni valide nella sezione {0}. +For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = Per esempio, la query "Matteo 1" significa il libro di Matteo (o meglio, il vangelo secondo Matteo) al capitolo 1. +This\ can\ also\ be\ written\ as\ "Mt\ 1". = Si può scrivere anche in questo modo\: "Mt1". +Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Diverse combinazioni di libri, capitoli e versetti possono essere formate utilizzando il delimitatore virgola e il delimitatore punto (nella notazione europea perlomeno; nella notazione inglese vengono utilizzati due punti al posto della virgola, e una virgola al posto del punto)\: +","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: la virgola è il delimitatore capitolo-versetto. "Matteo 1,5" significa il libro (vangelo) di Matteo, capitolo 1, versetto 5. (Nella notazione inglese\: "Matteo 1\:5".) +"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: il punto è il delimitatore tra versetti. "Matteo 1,5.7" significa il libro (vangelo) di Matteo, capitolo 1, versetti 5 e 7. (Nella notazione inglese\: "Matteo 1\:5,7".) +"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: il trattino è il delimitatore di intervallo, e può essere utilizzato in vari modi\: +For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = Per un intervallo di capitoli\: "Matteo 1-2" significa il vangelo secondo Matteo, dal capitolo 1 al capitolo 2. +For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = Per un intervallo di versetti nello stesso capitolo\: "Matteo 1,1-5" significa il vangelo secondo Matteo, capitolo 1, dal versetto 1 al versetto 5. (Nella notazione inglese\: "Matteo 1\:1-5".) +For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = Per un intervallo di versetti che vanno da un capitolo all'altro\: "Matteo 1,5-2,13" significa il vangelo secondo Matteo, dal capitolo 1, versetto 5 fino al capitolo 2, versetto 13. (Nella notazione inglese\: "Matteo 1\:5-2\:13".) +Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Diverse combinazioni di questi delimitatori possono formare delle query più complesse, per esempio "Mt1,1-3.5.7-9" significa il vangelo secondo Matteo, capitolo 1, versetti 1 a 3, versetto 5, e versetti 7 a 9. (Nella notazione inglese\: "Mt1\:1-3,5,7-9".) +Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Query multiple possono essere combinate insieme utilizzando un punto e virgola ";". +If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = Se la query che segue il punto e virgola si riferisce allo stesso libro della query precedente, allora non è necessario indicare nuovamente il libro. +For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = Per esempio, "Matteo 1,1;2,13" significa il vangelo secondo Matteo, capitolo 1 versetto 1 e capitolo 2 versetto 13. (Nella notazione inglese\: "Matteo 1\:1;2\:13".) +Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Ecco un esempio di query complesse combinate in un unica stringa\: "Genesi 1,3-5.7.9-11.13;2,4-9.11-13;Apocalisse 3,10.12-14". (Nella notazione inglese\: "Genesi 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalisse 3\:10,12-14"). +It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = Non ha importanza se si utilizza o no uno spazio tra il libro e il capitolo, la stringa verrà interpretata ugualmente. +It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = Come anche non ha importanza se si utilizza maiuscolo o minuscolo, la stringa verrò interpretata ugualmente. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Ecco di seguito un elenco di libri validi con le relative abbreviazioni (possono essere usati sia gli uni che le altre nelle query). +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = Le abbreviazioni non sempre corrispondono a quelle proposte dalle singole edizioni bibliche, perché entrerebbero in conflitto con quelle proposte da altre edizioni. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = Per esempio alcune edizioni inglesi propongono "Gn" come abbreviazione per "Genesi", mentre altre edizioni italiane propongono "Gn" come abbreviazione per "Giona". +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Pertanto non sempre si possono utilizzare le abbreviazioni proposte da una singola edizione della Bibbia, bisogna riferirsi all''elenco delle abbreviazioni riconosciute dal motore BibleGet, così come elencate nella seguente tabella\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +BOOK = LIBRO +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +ABBREVIATION = ABBREVIAZIONE +Instructions = Istruzioni +Help = Aiuto +You\ cannot\ send\ an\ empty\ query. = Non puoi inviare una query vuota. +Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Sono state rilevate notazioni miste. Si prega utilizzare o la notazione inglese o la notazione europea. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = La prima query <{0}> nella stringa <{1}> deve iniziare con una valida indicazione di libro\! +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = L''indicazione del libro <{0}> nella query <{1}> non è valida. Si prega controllare la documentazione per un elenco di valide indicazioni di libro. +You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = Ci dev'essere un valido capitolo che segue l'indicazione del libro\! +A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = Una query che non inizia con un'indicazione di libro deve tuttavia iniziare con una valida indicazione di capitolo\! +You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = Non si può utilizzare un punto prima di una virgola. Un punto è un ponte tra versetti i quali hanno prima una virgola che fa da ponte con il capitolo. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = I versetti concatenati da un punto devono essere consecutivi, invece <{0}> è maggiore o uguale a <{1}> nell''espressione <{2}> nella query <{3}> +A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Un punto dev'essere preceduto e seguito da un numero che consta al massimo di 3 cifre delle quali la prima non può essere zero. +A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Una virgola dev'essere preceduta e seguita da un numero che consta al massimo di 3 cifre delle quali la prima non può essere zero. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = Un capitolo nella query è oltre ai limiti\: non ci è nessun capitolo <{0}> nel libro <{1}> nella versione richiesta <{2}>, l''ultimo capitolo possibile è <{3}> +You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = Non puoi avere più di una virgola e non avere un trattino\! +You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = Sembra che la querystring sia malformata, ci dovrebbe essere un solo trattino. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = Un versetto nella query è oltre ai limiti\: non c''è nessun versetto <{0}> nel libro <{1}> al capitolo <{2}> nella versione richiesta <{3}>, l''ultimo versetto possibile è <{4}> +There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = Ci sono più trattini nella query, ma non ci sono abbastanza punti. Ci può essere soltanto un trattino in più rispetto ai punti. +A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Un trattino dev'essere preceduto e seguito da un numero che consta al massimo di 3 cifre delle quali la prima non può essere zero. +If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = Se c'è un costrutto capitolo-versetto che segue un trattino, allora ci deve anche essere un costrutto capitolo-versetto che precede il trattino. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = I capitoli devono essere consecutivi. Invece l''indicatore di capitolo <{0}> è maggiore o uguale al secondo indicatore di capitolo <{1}> nell''espressione <{2}> +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Versetti (o capitoli se è il caso) concatenati dal delimitatore trattino devono essere consecutivi. Invece <{0}> è maggiore o uguale a <{1}> nell''espressione <{2}> +Genesi = Genesi +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth— = In principio Dio creò il cielo e la terra. +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters— = La terra era informe e deserta e le tenebre ricoprivano l'abisso e lo spirito di Dio aleggiava sulle acque. +Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Dio disse\: "Sia la luce\!". E la luce fu. +User\ Preferences = Preferenze Utente +Paragraph = Paragrafo +Alignment = Allineamento +Indent = Rientro +Line-spacing = Interlinea +Font = Carattere +Book\ /\ Chapter = Libro / Capitolo +Verse\ Number = Numero del Versetto +Verse\ Text = Testo del Versetto +Preview = Anteprima +line-spacing\ not\ visible\ in\ the\ preview = interlinea non visibile nell'anteprima +Choose\ Book\ /\ Chapter\ Font\ Color = Scegli il Colore Carattere del Libro / Capitolo +Choose\ Book\ /\ Chapter\ Background\ Color = Scegli il Colore di Sfondo del Libro / Capitolo +Choose\ Verse\ Number\ Font\ Color = Scegli il Colore Carattere del Numero del Versetto +Choose\ Verse\ Number\ Background\ Color = Scegli il Colore di Sfondo del Numero del Versetto +Choose\ Verse\ Text\ Font\ Color = Scegli il Colore Carattere del Testo del Versetto +Choose\ Verse\ Text\ Background\ Color = Scegli il Colore di Sfondo del Testo del Versetto \ No newline at end of file From d3d0946946ad7782f0d4f3aa8d241f5765eef1cf Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 21 Aug 2015 11:08:00 +0200 Subject: [PATCH 09/33] Update messages_es.properties (POEditor.com) --- .../bibleget/resources/messages_es.properties | 645 ++++++------------ 1 file changed, 195 insertions(+), 450 deletions(-) diff --git a/src/io/bibleget/resources/messages_es.properties b/src/io/bibleget/resources/messages_es.properties index 522aa92..eefb4d1 100644 --- a/src/io/bibleget/resources/messages_es.properties +++ b/src/io/bibleget/resources/messages_es.properties @@ -1,450 +1,195 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -!=Project-Id-Version\: PACKAGE VERSION es\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2015-03-09 15\:08+0100\nPO-Revision-Date\: 2015-03-09 16\:48+0100\nLast-Translator\: John R. D'Orazio \nLanguage-Team\: LANGUAGE spanish \nLanguage\: es\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Generator\: Poedit 1.5.4\nX-Poedit-SourceCharset\: UTF-8\n - -#: BibleGetAbout.java:101 -BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer=Extensión BibleGet I/O para Open Office Writer - -#: BibleGetAbout.java:103 BibleGetHelp.java:165 -Version=Versión - -#: BibleGetAbout.java:105 -This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University.=Esta extensión fue desarrollada por John R. D'Orazio, un sacerdote de la diócesis de Roma, capellán en la Universidad Roma Tre. - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetAbout.java:107 -#, java-format -It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}.=Pertenece al Proyecto BibleGet a {0}. - -#: BibleGetAbout.java:109 -The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions.=El autor desea agradecer a Giovanni Gregori y Simone Urbinati en sus contribuciones de código. - -#: BibleGetAbout.java:111 -The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation.=El Proyecto BibleGet es un proyecto independiente que nace de la iniciativa personal de John R. D'Orazio, y no está financiado por ningún tipo de corporación. - -#: BibleGetAbout.java:113 -All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered.=Todos los gastos del servidor y del dominio del proyecto, que ascienden a €200 al año, se contabilizan personalmente por el autor. Todas las contribuciones de código y de desarrollo son totalmente voluntarios. - -#: BibleGetAbout.java:115 -If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu.=Si te gusta el plugin y si le resulta útil, por favor considere de contribuir incluso una pequeña cantidad para ayudar a mantener este proyecto. Incluso acaba de €1 puede hacer la diferencia. Usted puede contribuir mediante el uso de la opción de menú correspondiente en el menú de este plugin. - -#: BibleGetAbout.java:152 BibleGetHelp.java:171 -About\ this\ plugin=Acerca de esta extensión - -#: BibleGetAbout.java:173 -Current\ information\ from\ the\ BibleGet\ Server\:=Informes actuales del Servidor BibleGet\: - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetAbout.java:175 -#, java-format -!The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\:= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetAbout.java:180 -#, java-format -!The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\:= - -#: BibleGetAbout.java:193 BibleGetHelp.java:172 -!RENEW\ SERVER\ DATA= - -#: BibleGetFrame.java:171 -!Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\:= - -#: BibleGetFrame.java:178 -!(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16)= - -#: BibleGetFrame.java:180 -!Choose\ version\ (or\ versions)= - -#: BibleGetFrame.java:190 -!Send\ query= - -#: BibleGetFrame.java:191 -!Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document.= - -#: BibleGetFrame.java:198 -!Cancel= - -#: BibleGetFrame.java:249 -!You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request.= - -#: BibleGetFrame.java:283 BibleGetSelection.java:106 -!There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again.= - -#: BibleGetHelp.java:155 -!Help\ for\ BibleGet\ (Open\ Office\ Writer)= - -#: BibleGetHelp.java:156 -!This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer.= - -#: BibleGetHelp.java:157 -!The\ Help\ is\ divided\ into\ three\ sections\:= - -#: BibleGetHelp.java:159 BibleGetHelp.java:342 -!Usage\ of\ the\ Plugin= - -#: BibleGetHelp.java:160 BibleGetHelp.java:345 -!Formulation\ of\ the\ Queries= - -#: BibleGetHelp.java:161 BibleGetHelp.java:231 BibleGetHelp.java:284 -#: BibleGetHelp.java:347 -!Biblical\ Books\ and\ Abbreviations= - -#: BibleGetHelp.java:163 -!AUTHOR= - -#: BibleGetHelp.java:163 -!John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University)= - -#: BibleGetHelp.java:164 -!COLLABORATORS= - -#: BibleGetHelp.java:164 -!Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre)= - -#: BibleGetHelp.java:167 -!PROJECT\ WEBSITE= - -#: BibleGetHelp.java:167 -!EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT= - -#: BibleGetHelp.java:170 BibleGetFrame.java:166 -!Insert\ quote\ from\ input\ window= - -#: BibleGetHelp.java:174 -!Insert\ quote\ from\ text\ selection= - -#: BibleGetHelp.java:178 -!How\ to\ use\ the\ plugin= - -#: BibleGetHelp.java:179 -!Description\ of\ the\ menu\ icons\ and\ their\ functionality.= - -#: BibleGetHelp.java:180 -!Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\:= - -#: BibleGetHelp.java:182 -!The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\:= - -#: BibleGetHelp.java:184 -!There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document.= - -#: BibleGetHelp.java:186 -!The\ first\ way\ is\ by\ using\ the\ input\ window.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:188 -#, java-format -!If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from.= - -#: BibleGetHelp.java:190 -!This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:192 -#, java-format -!In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:194 -#, java-format -!When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:197 -#, java-format -!The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:199 -#, java-format -!The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window.= - -#: BibleGetHelp.java:203 -!Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically.= - -#: BibleGetHelp.java:207 -!After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\:= - -#: BibleGetHelp.java:212 -!Send\ feedback= - -#: BibleGetHelp.java:214 -!This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in.= - -#: BibleGetHelp.java:218 -!Contribute= - -#: BibleGetHelp.java:220 -!This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year.= - -#: BibleGetHelp.java:224 -!Information\ on\ the\ BibleGet\ I/O\ Project= - -#: BibleGetHelp.java:226 -!This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports.= - -#: BibleGetHelp.java:236 -!How\ to\ formulate\ a\ bible\ query= - -#: BibleGetHelp.java:238 -!The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation.= - -#: BibleGetHelp.java:240 -!This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below.= - -#: BibleGetHelp.java:243 -!A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter.= - -#: BibleGetHelp.java:245 -!The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:247 -#, java-format -!The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1}= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:249 -#, java-format -!See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}.= - -#: BibleGetHelp.java:251 -!For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1.= - -#: BibleGetHelp.java:253 -!This\ can\ also\ be\ written\ as\ "Mt\ 1".= - -#: BibleGetHelp.java:255 -!Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\:= - -#: BibleGetHelp.java:257 -!","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".)= - -#: BibleGetHelp.java:258 -!"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".)= - -#: BibleGetHelp.java:259 -!"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\:= - -#: BibleGetHelp.java:261 -!For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2.= - -#: BibleGetHelp.java:262 -!For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".)= - -#: BibleGetHelp.java:263 -!For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".)= - -#: BibleGetHelp.java:266 -!Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".)= - -#: BibleGetHelp.java:267 -!Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";".= - -#: BibleGetHelp.java:269 -!If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time.= - -#: BibleGetHelp.java:271 -!For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".)= - -#: BibleGetHelp.java:273 -!Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14").= - -#: BibleGetHelp.java:274 -!It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.= - -#: BibleGetHelp.java:275 -!It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:285 -!Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:287 -!The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:289 -!For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah").= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:291 -!Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\:= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:294 -!BOOK= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: BibleGetHelp.java:294 -!ABBREVIATION= - -#: BibleGetHelp.java:336 -!Instructions= - -#: BibleGetHelp.java:341 -!Help= - -#: BibleGetSelection.java:118 HTTPCaller.java:225 -!You\ cannot\ send\ an\ empty\ query.= - -#: HTTPCaller.java:195 -!Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:236 -#, java-format -!The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\!= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:258 -#, java-format -!The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators.= - -#: HTTPCaller.java:281 -!You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\!= - -#: HTTPCaller.java:288 -!A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\!= - -#: HTTPCaller.java:298 -!You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:307 -#, java-format -!Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}>= - -#: HTTPCaller.java:314 -!A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.= - -#: HTTPCaller.java:332 -!A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:341 HTTPCaller.java:367 HTTPCaller.java:384 -#: HTTPCaller.java:441 -#, java-format -!A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}>= - -#: HTTPCaller.java:350 -!You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\!= - -#: HTTPCaller.java:355 -!You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:373 HTTPCaller.java:398 HTTPCaller.java:414 -#: HTTPCaller.java:428 -#, java-format -!A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}>= - -#: HTTPCaller.java:452 -!There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots.= - -#: HTTPCaller.java:465 -!A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero.= - -#: HTTPCaller.java:476 -!If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash.= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:496 -#, java-format -!Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}>= - -#. TRANSLATORS: This message is used by MessageFormat, make sure that translations -#. double up any single quotes or apostrophes. -#: HTTPCaller.java:510 -#, java-format -!Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>= - -#: OptionsFrame.java:148 -!Genesi= - -#: OptionsFrame.java:150 -!In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth—= - -#: OptionsFrame.java:152 -!and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters—= - -#: OptionsFrame.java:154 -!Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light.= - -#: OptionsFrame.java:253 -!User\ Preferences= - -#: OptionsFrame.java:261 -!Paragraph= - -#: OptionsFrame.java:264 -!Alignment= - -#: OptionsFrame.java:340 -!Indent= - -#: OptionsFrame.java:380 -!Line-spacing= - -#: OptionsFrame.java:411 -!Font= - -#: OptionsFrame.java:472 -!Book\ /\ Chapter= - -#: OptionsFrame.java:593 -!Verse\ Number= - -#: OptionsFrame.java:714 -!Verse\ Text= - -#: OptionsFrame.java:835 -!Preview= - -#: OptionsFrame.java:862 -!line-spacing\ not\ visible\ in\ the\ preview= - -#: OptionsFrame.java:953 -!Choose\ Book\ /\ Chapter\ Font\ Color= - -#: OptionsFrame.java:983 -!Choose\ Book\ /\ Chapter\ Background\ Color= - -#: OptionsFrame.java:1013 -!Choose\ Verse\ Number\ Font\ Color= - -#: OptionsFrame.java:1043 -!Choose\ Verse\ Number\ Background\ Color= - -#: OptionsFrame.java:1073 -!Choose\ Verse\ Text\ Font\ Color= - -#: OptionsFrame.java:1103 -!Choose\ Verse\ Text\ Background\ Color= +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = Extensión BibleGet I/O para Open Office Writer +Version = Versión +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = Esta extensión fue desarrollada por John R. D'Orazio, un sacerdote de la diócesis de Roma, capellán en la Universidad Roma Tre. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = Pertenece al Proyecto BibleGet a {0}. +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = El autor desea agradecer a Giovanni Gregori y Simone Urbinati en sus contribuciones de código. +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = El Proyecto BibleGet es un proyecto independiente que nace de la iniciativa personal de John R. D'Orazio, y no está financiado por ningún tipo de corporación. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = Todos los gastos del servidor y del dominio del proyecto, que ascienden a €200 al año, se contabilizan personalmente por el autor. Todas las contribuciones de código y de desarrollo son totalmente voluntarios. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = Si te gusta el plugin y si le resulta útil, por favor considere de contribuir incluso una pequeña cantidad para ayudar a mantener este proyecto. Incluso acaba de €1 puede hacer la diferencia. Usted puede contribuir mediante el uso de la opción de menú correspondiente en el menú de este plugin. +About\ this\ plugin = Acerca de esta extensión +Current\ information\ from\ the\ BibleGet\ Server\: = Informes actuales del Servidor BibleGet\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = La base de datos de BibleGet actualmente soporta {0} versiones de la Biblia en {1} diferentes idiomas\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = El motor de BibleGet actualmente entiende los nombres de los libros de la Biblia en {0} diferentes idiomas\: +RENEW\ SERVER\ DATA = RENOVAR LOS DATOS DEL SERVIDOR +Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Escriba la cita de Biblia deseada utilizando la notación estándar\: +(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (por ejemplo Mt 1,1-10.12-15; 5,3-4; Jn 3,16) +Choose\ version\ (or\ versions) = Elegir la versión (o versiones) +Send\ query = Enviar consulta +Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Envía la solicitud al servidor y devuelve los resultados en el documento. +Cancel = Cancelar +You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = Debe seleccionar al menos una versión para hacer una solicitud. +There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = Hubo un problema de comunicación con el servidor de BibleGet. Por favor, inténtelo de nuevo. +Help\ for\ BibleGet\ (Open\ Office\ Writer) = Ayuda para BibleGet (Open Office Writer) +This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = Esta ventana de diálogo de ayuda presenta al usuario el uso de la extensión BibleGet para Open Office Writer. +The\ Help\ is\ divided\ into\ three\ sections\: = La ayuda se divide en tres secciones\: +Usage\ of\ the\ Plugin = Uso de la Extensión +Formulation\ of\ the\ Queries = Formulación de las consultas +Biblical\ Books\ and\ Abbreviations = Abreviaturas y libros bíblicos +AUTHOR = AUTOR +John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = John R. D'Orazio (capellán de la Universidad de Roma Tre) +COLLABORATORS = COLABORADORES +Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Giovanni Gregori (informática) y Simone Urbinati (MUG Roma Tre) +PROJECT\ WEBSITE = SITIO WEB DEL PROYECTO +EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = DIRECCIÓN DE CORREO ELECTRÓNICO PARA INFORMACIÓN O COMENTARIOS SOBRE EL PROYECTO +Insert\ quote\ from\ input\ window = Introduzca cotización de ventana de entrada +Insert\ quote\ from\ text\ selection = Introduzca cotización de selección de texto +How\ to\ use\ the\ plugin = Cómo usar el plugin +Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Descripción de los iconos del menú y su funcionalidad. +Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Una vez instalada la extensión, un nuevo menú 'BibleGet I/O' aparecerá en la barra de menús. También aparecerá una nueva barra de herramientas flotante. Los botones de la barra de herramientas flotante corresponden a los elementos de menú en el menú nuevo, como puede verse en esta imagen\: +The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = La barra de herramientas flotante puede ser arrastrado y colocado en cualquier lugar de la pantalla. Se puede también ser apilado a ciertas áreas del espacio de trabajo, por ejemplo, en la barra de herramientas debajo de la barra de menú, como en esta imagen\: +There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = Hay dos maneras de insertar una cita de la Biblia en un documento. +The\ first\ way\ is\ by\ using\ the\ input\ window. = La primera manera es mediante la ventana de entrada. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = Si haces clic en el menú ''{0}'', se abrirá una ventana de entrada donde pueden ingresar su consulta y elegir la versión o versiones de que le gustaría tomar la cita. +This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = Se actualiza esta lista de versiones de las versiones disponibles en el servidor BibleGet, pero puesto que la información se almacena localmente puede que sea necesario renovar la información del servidor cuando se agregan nuevas versiones para la base de datos del servidor de BibleGet. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = Con el fin de renovar la información desde el servidor de BibleGet, haga clic en el elemento de menú ''{0}'' y luego haga clic en el botón ''{1}''. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = Cuando usted elige una versión o versiones múltiples para citar, esta opción se guarda automáticamente como una preferencia y será previamente seleccionada la próxima vez que abra el elemento de menú ''{0}''. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = La segunda forma es por escrito el presupuesto deseado directamente en el documento y luego seleccionarlo y elegir el menú ''{0}''. El texto seleccionado será sustituido por la cita Biblica obtenida desde el servidor de BibleGet. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = Se utilizarán las versiones previamente seleccionadas en la ventana de ''{0}'', entonces es necesario haber seleccionado su versión preferida al menos una vez desde la ventana de ''{0}''. +Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Preferencias de formato se pueden definir mediante la ventana de 'Preferencias'. Usted puede elegir la fuente deseada para la cita de la Biblia, así como el interlineado deseado, y usted puede elegir aparte de formato (tamaño de fuente, color de fuente, estilo de fuente) para el libro / capítulo, para los números del verso y el texto del versículo. Preferencias se guardan automáticamente. +After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = Después de la opción de menú 'Ayuda' que se abre esta misma ventana de ayuda, los tres últimos elementos son\: +Send\ feedback = Enviar comentarios +This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = Esto abrirá la aplicación de correo electrónico predeterminada de su sistema con la dirección de feedback bibleget.io@gmail.com ya rellenada. +Contribute = Contribuir +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = Esto abrirá una página de Paypal en el navegador predeterminado de su sistema, donde se puede hacer una donación para contribuir al proyecto. Incluso sólo €1 puede ayudar a cubrir los gastos de este proyecto. Sólo el servidor cuesta €120 al año. +Information\ on\ the\ BibleGet\ I/O\ Project = Información sobre el proyecto BibleGet I/O +This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = Esto abre una ventana de diálogo con información sobre el proyecto y sus extensiones, sobre el autor y los colaboradores, y sobre la información actualmente almacenada localmente acerca de las versiones y idiomas que admite el servidor de BibleGet. +How\ to\ formulate\ a\ bible\ query = Cómo formular una consulta de la Biblia +The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = Las consultas de citas de la Biblia deben formularse utilizando la notación estándar de citación de la Biblia. +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = Esto puede ser tanto la notación inglesa (como se explica aquí\: https\://en.wikipedia.org/wiki/Bible_citation), o la notación Europea como explicado aquí abajo. +A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = Una consulta básica consta de al menos dos elementos\: el libro de la Biblia y el capítulo. +The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = El libro de la Biblia puede ser escrito en su totalidad o en forma abreviada. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = El motor BibleGet reconoce los nombres de los libros de la Biblia en {0} diferentes idiomas\: {1} +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = Ver la lista de libros válidos y abreviaturas en la sección {0}. +For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = Por ejemplo, la consulta "Mateo 1" significa que el libro de Mateo (o mejor el Evangelio de Mateo) en el capítulo 1. +This\ can\ also\ be\ written\ as\ "Mt\ 1". = Esto se puede escribir también "Mt 1". +Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Combinaciones diferentes de libros, capítulos y versículos se pueden formar utilizando el delimitador de coma y el delimitador de punto (en notación Europea; mientre en la notación inglesa se utilizan los dos puntos en lugar de una coma, y se utiliza una coma en lugar de un punto)\: +","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: la coma es el delimitador capítulo - versículo. "Mateo 1,5" significa el libro (Evangelio) de Mateo, capítulo 1, versículo 5. (En notación inglesa\: "Mateo 1\:5".) +"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: el punto es un delimitador entre los versículos. "Mateo 1,5.7" significa el libro (Evangelio) de Mateo, capítulo 1, versículos 5 y 7. (En notación inglesa\: "Mateo 1\:5,7".) +"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: el guión es un delimitador de la gama, que puede ser utilizado en una variedad de maneras\: +For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = Para una gama de los capítulos\: "Mateo 1-2" significa el Evangelio de Mateo, desde capítulo 1 hace capítulo 2. +For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = Para un rango de versículos en el mismo capítulo\: "Mateo 1.1-5" significa el Evangelio de Mateo, capítulo 1, del versículo 1 al versículo 5. (En notación inglesa\: "Mateo 1\:1-5".) +For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = Para una serie de versículos que se extienden en diferentes capítulos\: "Mateo 1,5-2,13" significa el Evangelio de Mateo, capítulo 1, versículo 5 al capítulo 2, versículo 13. (En notación inglesa\: "Mateo 1\:5-2\:13".) +Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Diferentes combinaciones de estos delimitadores pueden formar consultas muy complejas, por ejemplo "Mt1, 1-3.5.7-9" significa el Evangelio de Mateo, capítulo 1, versículos 1 al 3, versículo 5 y versículos 7 a 9. (En notación inglesa\: "Mt1\:1-3,5,7-9".) +Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Varias consultas pueden combinarse con un punto y coma ";". +If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = Si la consulta tras el punto y coma se refiere al mismo libro como la consulta anterior, no es necesario indicar el libro una segunda vez. +For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = Por ejemplo, "Mateo 1,1; 2,13" significa el Evangelio de Mateo, capítulo 1 versículo 1 y capítulo 2 versículo 13. (En notación inglesa\: "Mateo 1\:1; 2\:13".) +Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Aquí está un ejemplo de múltiples consultas complejas combinadas en una sola consulta\: "Génesis 1.3-5.7.9-11.13; 2,4-9.11-13; Apocalipsis 3,10.12-14 ". (En notación inglesa\: "Génesis 1\:3-5,7,9-11,13; 2\:4-9,11-13; Apocalipsis 3\:10, 12-14"). +It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = No importa si no usas un espacio entre el libro y el capítulo, la cadena de consulta se interpretará de la misma. +It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = También es indiferente si usas mayúsculas o minúsculas, la cadena de consulta se interpretará de la misma. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Aquí está una lista de libros válidos y sus abreviaturas correspondientes, cualquiera de que puede ser utilizado en las consultas. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = Las abreviaturas no siempre se corresponden con los propuestos por las distintas ediciones de la Biblia, porque entraría en conflicto con las propuestas de otras ediciones. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = Por ejemplo algunas ediciones inglesas proponen "Gn" como una abreviatura de "Génesis", mientras que algunas ediciones italianas proponen "Gn" como una abreviatura para "Giona" (\= "Jonás"). +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Por lo tanto, usted no siempre será capaz de usar las abreviaturas propuestas por cualquier sola edición de la Biblia, usted debe usar las abreviaturas que son reconocidas por el motor BibleGet que se enumeran en la tabla siguiente\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +BOOK = LIBRO +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +ABBREVIATION = ABREVIATURA +Instructions = Instrucciones +Help = Ayuda +You\ cannot\ send\ an\ empty\ query. = No puede enviar una consulta vacía. +Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Notaciones mixtas se han detectado. Utilice notación inglesa o notación Europea. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = La primera consulta <{0}> en la cadena de consulta <{1}> debe comenzar con un indicador válido del libro\! +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = El indicador de libro <{0}> en la consulta <{1}> no es válido. Por favor consulte la documentación de una lista de indicadores de libro válida. +You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = Usted debe tener un capítulo válido siguiendo el indicador de libro\! +A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = Sin embargo, una consulta que no arranca con un indicador de libro debe comenzar con un indicador válido del capítulo\! +You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = No se puede utilizar un punto sin utilizar primero una coma o un guión. Un punto es un enlace entre los versículos, que son separados del capítulo por una coma. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = Versos concatenados por un punto deben ser consecutivas, pero <{0}> es mayor o igual a <{1}> en la expresión <{2}> en la consulta <{3}> +A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Un punto debe ser precedido y seguido por 1 a 3 dígitos de los cuales el primer dígito no puede ser cero. +A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Una coma debe ser precedida y seguida por 1 a 3 dígitos de los cuales el primer dígito no puede ser cero. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = Un capítulo en la consulta está fuera de límites\: no hay ningún capítulo <{0}> en el libro <{1}> en la versión solicitada <{2}>, el último capítulo posible es <{3}> +You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = No puede tener más comas y no tener un guión\! +You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = Pareces tener una cadena con formato incorrecto, debería ser solamente un guión. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = Un verso en la consulta está fuera de límites\: no hay ningún versículo <{0}> en el libro <{1}> en el capítulo <{2}> en la versión solicitada <{3}>, el último versículo posible es <{4}> +There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = Hay varios guiones en la consulta, pero no hay suficientes puntos. Sólo puede haber un guión más que puntos. +A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Un guión debe ser precedido y seguido por 1 a 3 dígitos de los cuales el primer dígito no puede ser cero. +If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = Si hay una construcción capítulo versículo siguiendo un guión, también debe ser una construcción capítulo versículo precedente del mismo guión. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = Capítulos deben ser consecutivos. pero el primer indicador de capítulo <{0}> es mayor o igual que el segundo indicador de capítulo <{1}> en la expresión <{2}> +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Versículos (o capítulos de caso) alrededor del guión deben ser consecutivos. En cambio <{0}> es mayor o igual a <{1}> en la expresión <{2}> +Genesi = Genesi +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth— = Al principio, cuando Dios creó los cielos y la tierra — +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters— = y la tierra estaba sin forma, con las tinieblas sobre el abismo y un viento barriendo sobre las aguas, +Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Entonces Dios dijo\: Hágase la luz y hubo luz. +User\ Preferences = Preferencias de usuario +Paragraph = Párrafo +Alignment = Alineación +Indent = Guión +Line-spacing = Interlineado +Font = Fuente +Book\ /\ Chapter = Libro / capítulo +Verse\ Number = Número de verso +Verse\ Text = Texto del verso +Preview = Vista previa +line-spacing\ not\ visible\ in\ the\ preview = interlineado no visible en la vista previa +Choose\ Book\ /\ Chapter\ Font\ Color = Elegir libro capítulo Font color +Choose\ Book\ /\ Chapter\ Background\ Color = Elegir libro / capítulo Color de fondo +Choose\ Verse\ Number\ Font\ Color = Elegir Color de fuente número de verso +Choose\ Verse\ Number\ Background\ Color = Elegir Color de fondo número de verso +Choose\ Verse\ Text\ Font\ Color = Elegir Color de fuente de texto verso +Choose\ Verse\ Text\ Background\ Color = Elegir Color de fondo de texto verso \ No newline at end of file From 8bc952e5965c8f0dc289951841ed60cde2779b8e Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 21 Aug 2015 17:02:17 +0200 Subject: [PATCH 10/33] Updated translations. --- src/description.xml | 14 +- src/io/bibleget/OptionsFrame.form | 8 +- src/io/bibleget/OptionsFrame.java | 8 +- .../bibleget/resources/messages_de.properties | 198 ++++++++++++++++++ .../bibleget/resources/messages_en.properties | 4 +- .../bibleget/resources/messages_es.properties | 4 +- .../bibleget/resources/messages_fr.properties | 4 +- .../bibleget/resources/messages_it.properties | 4 +- 8 files changed, 227 insertions(+), 17 deletions(-) create mode 100644 src/io/bibleget/resources/messages_de.properties diff --git a/src/description.xml b/src/description.xml index ed2931f..c61ed85 100644 --- a/src/description.xml +++ b/src/description.xml @@ -8,33 +8,33 @@ - BibleGet I/O - BibleGet I/O BibleGet I/O + BibleGet I/O BibleGet I/O BibleGet I/O + BibleGet I/O - John R. D'Orazio, Giovanni Gregori, Simone Urbinati - John R. D'Orazio, Giovanni Gregori, Simone Urbinati John R. D'Orazio, Giovanni Gregori, Simone Urbinati + John R. D'Orazio, Giovanni Gregori, Simone Urbinati + John R. D'Orazio, Giovanni Gregori, Simone Urbinati John R. D'Orazio, Giovanni Gregori, Simone Urbinati John R. D'Orazio, Giovanni Gregori, Simone Urbinati - - + + - + diff --git a/src/io/bibleget/OptionsFrame.form b/src/io/bibleget/OptionsFrame.form index ab77c85..a9950b2 100644 --- a/src/io/bibleget/OptionsFrame.form +++ b/src/io/bibleget/OptionsFrame.form @@ -1263,7 +1263,9 @@ - + + + @@ -1272,7 +1274,9 @@ - + + + diff --git a/src/io/bibleget/OptionsFrame.java b/src/io/bibleget/OptionsFrame.java index 5f4d099..8af806d 100644 --- a/src/io/bibleget/OptionsFrame.java +++ b/src/io/bibleget/OptionsFrame.java @@ -865,7 +865,7 @@ public void itemStateChanged(java.awt.event.ItemEvent evt) { jLabel1.setText("(*"+__("line-spacing not visible in the preview")+")"); jCheckBox1.setSelected(noVersionFormatting); - jCheckBox1.setText("Override Bible Version Formatting"); + jCheckBox1.setText(__("Override Bible Version Formatting")); jCheckBox1.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(java.awt.event.ItemEvent evt) { jCheckBox1ItemStateChanged(evt); @@ -877,7 +877,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { } }); - jLabel2.setText("Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting."); + jLabel2.setText(""+__("Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting.")+""); jLabel2.setOpaque(true); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); @@ -897,7 +897,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jLabel1) - .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jCheckBox1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); @@ -920,7 +920,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jSeparator7, javax.swing.GroupLayout.PREFERRED_SIZE, 9, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jCheckBox1) .addContainerGap()) diff --git a/src/io/bibleget/resources/messages_de.properties b/src/io/bibleget/resources/messages_de.properties new file mode 100644 index 0000000..b137ed7 --- /dev/null +++ b/src/io/bibleget/resources/messages_de.properties @@ -0,0 +1,198 @@ +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = BibleGet I/O plugin for Open Office Writer +Version = Version +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = This plugin was developed by John R. D'Orazio, a priest in the diocese of Rome, chaplain at Roma Tre University. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = It is a part of the BibleGet Project at {0}. +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = The author would like to thank Giovanni Gregori and Simone Urbinati for their code contributions. +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = The BibleGet Project is an independent project born from the personal initiative of John R. D'Orazio, and is not funded by any kind of corporation. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = All of the expenses of the project server and domain, which amount to €200 a year, are accounted for personally by the author. All code contributions and development are entirely volunteered. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = If you like the plugin and find it useful, please consider contributing even a small amount to help keep this project running. Even just €1 can make a difference. You can contribute using the appropriate menu item in this plugin's menu. +About\ this\ plugin = About this plugin +Current\ information\ from\ the\ BibleGet\ Server\: = Current information from the BibleGet Server\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = The BibleGet database currently supports {0} versions of the Bible in {1} different languages\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = The BibleGet engine currently understands the names of the books of the Bible in {0} different languages\: +RENEW\ SERVER\ DATA = RENEW SERVER DATA +Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Type the desired Bible Quote using standard notation\: +(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (e.g. Mt 1,1-10.12-15;5,3-4;Jn 3,16) +Choose\ version\ (or\ versions) = Choose version (or versions) +Send\ query = Send query +Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Sends the request to the server and returns the results to the document. +Cancel = Cancel +You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = You must select at least one version in order to make a request. +There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = There was a problem communicating with the BibleGet server. Please try again. +Help\ for\ BibleGet\ (Open\ Office\ Writer) = Help for BibleGet (Open Office Writer) +This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = This Help dialog window introduces the user to the usage of the BibleGet I/O plugin for Open Office Writer. +The\ Help\ is\ divided\ into\ three\ sections\: = The Help is divided into three sections\: +Usage\ of\ the\ Plugin = Usage of the Plugin +Formulation\ of\ the\ Queries = Formulation of the Queries +Biblical\ Books\ and\ Abbreviations = Biblical Books and Abbreviations +AUTHOR = AUTHOR +John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = John R. D'Orazio (chaplain at Roma Tre University) +COLLABORATORS = COLLABORATORS +Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Giovanni Gregori (computing) and Simone Urbinati (MUG Roma Tre) +PROJECT\ WEBSITE = PROJECT WEBSITE +EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = EMAIL ADDRESS FOR INFORMATION OR FEEDBACK ON THE PROJECT +Insert\ quote\ from\ input\ window = Insert quote from input window +Insert\ quote\ from\ text\ selection = Insert quote from text selection +How\ to\ use\ the\ plugin = How to use the plugin +Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Description of the menu icons and their functionality. +Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Once the extension is installed, a new menu 'BibleGet I/O' will appear on the menu bar. Also a new floating toolbar will appear. The buttons on the floating toolbar correspond to the menu items in the new menu, as can be seen in this image\: +The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = The floating toolbar can be dragged and placed anywhere on the screen. It can also be docked to certain areas of the workspace, for example on the toolbar below the menu bar, like in this image\: +There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = There are two ways of inserting a bible quote into a document. +The\ first\ way\ is\ by\ using\ the\ input\ window. = The first way is by using the input window. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = If you click on the menu item ''{0}'', an input window will open where you can input your query and choose the version or versions you would like to take the quote from. +This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = This list of versions is updated from the available versions on the BibleGet server, but since the information is stored locally it may be necessary to renew the server information when new versions are added to the BibleGet server database. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = In order to renew the information from the BibleGet server, click on the ''{0}'' menu item, and then click on the button ''{1}''. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = When you choose a version or multiple versions to quote from, this choice is automatically saved as a preference, and will be pre-selected the next time you open the ''{0}'' menu item. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = The second way is by writing your desired quote directly in the document, and then selecting it and choosing the menu item ''{0}''. The selected text will be substituted by the Bible Quote retrieved from the BibleGet server. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = The versions previously selected in the ''{0}'' window will be used, so you must have selected your preferred versions at least once from the ''{0}'' window. +Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Formatting preferences can be set using the 'Preferences' window. You can choose the desired font for the Bible quotes as well as the desired line-spacing, and you can choose separate formatting (font size, font color, font style) for the book / chapter, for the verse numbers, and for the verse text. Preferences are saved automatically. +After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = After the 'Help' menu item that opens up this same help window, the last three menu items are\: +Send\ feedback = Send feedback +This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = This will open up your system's default email application with the bibleget.io@gmail.com feedback address already filled in. +Contribute = Contribute +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = This will open a Paypal page in the system's default browser where you can make a donation to contribute to the project. Even just €1 can help to cover the expenses of this project. Just the server costs €120 a year. +Information\ on\ the\ BibleGet\ I/O\ Project = Information on the BibleGet I/O Project +This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = This opens a dialog window with some information on the project and it's plugins, on the author and contributors, and on the current locally stored information about the versions and languages that the BibleGet server supports. +How\ to\ formulate\ a\ bible\ query = How to formulate a bible query +The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = The queries for bible quotes must be formulated using standard notation for bible citation. +# Fuzzy +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = This can be either the english notation (as explained here\: https\://en.wikipedia.org/wiki/Bible_citation), or the european notation as explained here below. +A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = A basic query consists of at least two elements\: the bible book and the chapter. +The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = The bible book can be written out in full, or in an abbreviated form. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = The BibleGet engine recognizes the names of the books of the bible in {0} different languages\: {1} +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = See the list of valid books and abbreviations in the section {0}. +For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = For example, the query "Matthew 1" means the book of Matthew (or better the gospel according to Matthew) at chapter 1. +This\ can\ also\ be\ written\ as\ "Mt\ 1". = This can also be written as "Mt 1". +Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Different combinations of books, chapters, and verses can be formed using the comma delimiter and the dot delimiter (in european notation, in english notation instead a colon is used instead of a comma and a comma is used instead of a dot)\: +","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: the comma is the chapter-verse delimiter. "Matthew 1,5" means the book (gospel) of Matthew, chapter 1, verse 5. (In English notation\: "Matthew 1\:5".) +"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: the dot is a delimiter between verses. "Matthew 1,5.7" means the book (gospel) of Matthew, chapter 1, verses 5 and 7. (In English notation\: "Matthew 1\:5,7".) +"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: the dash is a range delimiter, which can be used in a variety of ways\: +For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = For a range of chapters\: "Matthew 1-2" means the gospel according to Matthew, from chapter 1 to chapter 2. +For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = For a range of verses within the same chapter\: "Matthew 1,1-5" means the gospel according to Matthew, chapter 1, from verse 1 to verse 5. (In English notation\: "Matthew 1\:1-5".) +For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = For a range of verses that span over different chapters\: "Matthew 1,5-2,13" means the gospel according to Matthew, from chapter 1, verse 5 to chapter 2, verse 13. (In English notation\: "Matthew 1\:5-2\:13".) +Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Different combinations of these delimiters can form fairly complex queries, for example "Mt1,1-3.5.7-9" means the gospel according to Matthew, chapter 1, verses 1 to 3, verse 5, and verses 7 to 9. (In English notation\: "Mt1\:1-3,5,7-9".) +Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Multiple queries can be combined together using a semi-colon ";". +If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = If the query following the semi-colon refers to the same book as the preceding query, it is not necessary to indicate the book a second time. +For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = For example, "Matthew 1,1;2,13" means the gospel according to Matthew, chapter 1 verse 1 and chapter 2 verse 13. (In English notation\: "Matthew 1\:1;2\:13".) +Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Here is an example of multiple complex queries combined into a single querystring\: "Genesis 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse 3,10.12-14". (In English notation\: "Genesis 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse 3\:10,12-14"). +It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It doesn't matter whether or not you use a space between the book and the chapter, the querystring will be interpreted just the same. +It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It is also indifferent whether you use uppercase or lowercase letters, the querystring will be interpreted just the same. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Here is a list of valid books and their corresponding abbreviations, either of which can be used in the querystrings. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = The abbreviations do not always correspond with those proposed by the various editions of the Bible, because they would conflict with those proposed by other editions. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = For example some english editions propose "Gn" as an abbreviation for "Genesis", while some italian editions propose "Gn" as an abbreviation for "Giona" (\= "Jonah"). +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Therefore you will not always be able to use the abbreviations proposed by any single edition of the Bible, you must use the abbreviations that are recognized by the BibleGet engine as listed in the following table\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +BOOK = BOOK +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +ABBREVIATION = ABBREVIATION +Instructions = Instructions +Help = Help +You\ cannot\ send\ an\ empty\ query. = You cannot send an empty query. +Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Mixed notations have been detected. Please use either english notation or european notation. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = The first query <{0}> in the querystring <{1}> must start with a valid book indicator\! +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = The book indicator <{0}> in the query <{1}> is not valid. Please check the documentation for a list of valid book indicators. +You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = You must have a valid chapter following the book indicator\! +A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = A query that doesn't start with a book indicator must however start with a valid chapter indicator\! +You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = You cannot use a dot without first using a comma or a dash. A dot is a liason between verses, which are separated from the chapter by a comma. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = Verses concatenated by a dot must be consecutive, instead <{0}> is greater than or equal to <{1}> in the expression <{2}> in the query <{3}> +A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dot must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A comma must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = A chapter in the query is out of bounds\: there is no chapter <{0}> in the book <{1}> in the requested version <{2}>, the last possible chapter is <{3}> +You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = You cannot have more than one comma and not have a dash\! +You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = You seem to have a malformed querystring, there should be only one dash. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = A verse in the query is out of bounds\: there is no verse <{0}> in the book <{1}> at chapter <{2}> in the requested version <{3}>, the last possible verse is <{4}> +There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = There are multiple dashes in the query, but there are not enough dots. There can only be one more dash than dots. +A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dash must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = If there is a chapter-verse construct following a dash, there must also be a chapter-verse construct preceding the same dash. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = Chapters must be consecutive. Instead the first chapter indicator <{0}> is greater than or equal to the second chapter indicator <{1}> in the expression <{2}> +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Verses (or chapters if applicable) around the dash operator must be consecutive. Instead <{0}> is greater than or equal to <{1}> in the expression <{2}> +Genesi = Genesi +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth— = In the beginning, when God created the heavens and the earth— +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters— = and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters— +Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Then God said\: Let there be light, and there was light. +User\ Preferences = User Preferences +Paragraph = Paragraph +Alignment = Alignment +Indent = Indent +Line-spacing = Line-spacing +Font = Font +Book\ /\ Chapter = Book / Chapter +Verse\ Number = Verse Number +Verse\ Text = Verse Text +Preview = Preview +line-spacing\ not\ visible\ in\ the\ preview = line-spacing not visible in the preview +Choose\ Book\ /\ Chapter\ Font\ Color = Choose Book / Chapter Font Color +Choose\ Book\ /\ Chapter\ Background\ Color = Choose Book / Chapter Background Color +Choose\ Verse\ Number\ Font\ Color = Choose Verse Number Font Color +Choose\ Verse\ Number\ Background\ Color = Choose Verse Number Background Color +Choose\ Verse\ Text\ Font\ Color = Choose Verse Text Font Color +Choose\ Verse\ Text\ Background\ Color = Choose Verse Text Background Color +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting.=Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. +Override\ Bible\ Version\ Formatting=Override Bible Version Formatting diff --git a/src/io/bibleget/resources/messages_en.properties b/src/io/bibleget/resources/messages_en.properties index fe4916b..b137ed7 100644 --- a/src/io/bibleget/resources/messages_en.properties +++ b/src/io/bibleget/resources/messages_en.properties @@ -193,4 +193,6 @@ Choose\ Book\ /\ Chapter\ Background\ Color = Choose Book / Chapter Background C Choose\ Verse\ Number\ Font\ Color = Choose Verse Number Font Color Choose\ Verse\ Number\ Background\ Color = Choose Verse Number Background Color Choose\ Verse\ Text\ Font\ Color = Choose Verse Text Font Color -Choose\ Verse\ Text\ Background\ Color = Choose Verse Text Background Color \ No newline at end of file +Choose\ Verse\ Text\ Background\ Color = Choose Verse Text Background Color +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting.=Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. +Override\ Bible\ Version\ Formatting=Override Bible Version Formatting diff --git a/src/io/bibleget/resources/messages_es.properties b/src/io/bibleget/resources/messages_es.properties index eefb4d1..2a7deea 100644 --- a/src/io/bibleget/resources/messages_es.properties +++ b/src/io/bibleget/resources/messages_es.properties @@ -192,4 +192,6 @@ Choose\ Book\ /\ Chapter\ Background\ Color = Elegir libro / capítulo Color de Choose\ Verse\ Number\ Font\ Color = Elegir Color de fuente número de verso Choose\ Verse\ Number\ Background\ Color = Elegir Color de fondo número de verso Choose\ Verse\ Text\ Font\ Color = Elegir Color de fuente de texto verso -Choose\ Verse\ Text\ Background\ Color = Elegir Color de fondo de texto verso \ No newline at end of file +Choose\ Verse\ Text\ Background\ Color = Elegir Color de fondo de texto verso +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting.=Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. +Override\ Bible\ Version\ Formatting=Override Bible Version Formatting diff --git a/src/io/bibleget/resources/messages_fr.properties b/src/io/bibleget/resources/messages_fr.properties index 641c295..1d6dd4d 100644 --- a/src/io/bibleget/resources/messages_fr.properties +++ b/src/io/bibleget/resources/messages_fr.properties @@ -192,4 +192,6 @@ Choose\ Book\ /\ Chapter\ Background\ Color = Choisissez livre / chapitre couleu Choose\ Verse\ Number\ Font\ Color = Choisissez la couleur de police numéro de verset Choose\ Verse\ Number\ Background\ Color = Choisissez la couleur d'arrière-plan numéro de verset Choose\ Verse\ Text\ Font\ Color = Choisissez la couleur de police pour le texte verset -Choose\ Verse\ Text\ Background\ Color = Choisissez la couleur de fond pour le texte verset \ No newline at end of file +Choose\ Verse\ Text\ Background\ Color = Choisissez la couleur de fond pour le texte verset +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting.=Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. +Override\ Bible\ Version\ Formatting=Override Bible Version Formatting diff --git a/src/io/bibleget/resources/messages_it.properties b/src/io/bibleget/resources/messages_it.properties index 109fcff..7ebd05b 100644 --- a/src/io/bibleget/resources/messages_it.properties +++ b/src/io/bibleget/resources/messages_it.properties @@ -192,4 +192,6 @@ Choose\ Book\ /\ Chapter\ Background\ Color = Scegli il Colore di Sfondo del Lib Choose\ Verse\ Number\ Font\ Color = Scegli il Colore Carattere del Numero del Versetto Choose\ Verse\ Number\ Background\ Color = Scegli il Colore di Sfondo del Numero del Versetto Choose\ Verse\ Text\ Font\ Color = Scegli il Colore Carattere del Testo del Versetto -Choose\ Verse\ Text\ Background\ Color = Scegli il Colore di Sfondo del Testo del Versetto \ No newline at end of file +Choose\ Verse\ Text\ Background\ Color = Scegli il Colore di Sfondo del Testo del Versetto +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting.=Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. +Override\ Bible\ Version\ Formatting=Override Bible Version Formatting From ede81e20c163e9a8bb83ef0b2931e4fd98de4d0f Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 21 Aug 2015 17:31:59 +0200 Subject: [PATCH 11/33] Update messages_en.properties (POEditor.com) --- src/io/bibleget/resources/messages_en.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/io/bibleget/resources/messages_en.properties b/src/io/bibleget/resources/messages_en.properties index b137ed7..6d26d31 100644 --- a/src/io/bibleget/resources/messages_en.properties +++ b/src/io/bibleget/resources/messages_en.properties @@ -194,5 +194,5 @@ Choose\ Verse\ Number\ Font\ Color = Choose Verse Number Font Color Choose\ Verse\ Number\ Background\ Color = Choose Verse Number Background Color Choose\ Verse\ Text\ Font\ Color = Choose Verse Text Font Color Choose\ Verse\ Text\ Background\ Color = Choose Verse Text Background Color -Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting.=Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. -Override\ Bible\ Version\ Formatting=Override Bible Version Formatting +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting. = Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. +Override\ Bible\ Version\ Formatting = Override Bible Version Formatting \ No newline at end of file From 4b091ec57c4262ae8db674d81475e8365fb33e12 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 21 Aug 2015 17:32:01 +0200 Subject: [PATCH 12/33] Update messages_fr.properties (POEditor.com) --- src/io/bibleget/resources/messages_fr.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/io/bibleget/resources/messages_fr.properties b/src/io/bibleget/resources/messages_fr.properties index 1d6dd4d..6fc1c54 100644 --- a/src/io/bibleget/resources/messages_fr.properties +++ b/src/io/bibleget/resources/messages_fr.properties @@ -193,5 +193,5 @@ Choose\ Verse\ Number\ Font\ Color = Choisissez la couleur de police numéro de Choose\ Verse\ Number\ Background\ Color = Choisissez la couleur d'arrière-plan numéro de verset Choose\ Verse\ Text\ Font\ Color = Choisissez la couleur de police pour le texte verset Choose\ Verse\ Text\ Background\ Color = Choisissez la couleur de fond pour le texte verset -Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting.=Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. -Override\ Bible\ Version\ Formatting=Override Bible Version Formatting +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting. = Certaines versions de la Bible ont leur propre formatage. Ceci est laissé par défaut pour conserver le texte aussi proche que possible de l'original.
Si toutefois vous avez besoin d'avoir un formatage cohérent dans votre document, vous pouvez outrepasser le formatage propre de la version de la Bible. +Override\ Bible\ Version\ Formatting = Ignorer le Formatage propre de la Version Biblique \ No newline at end of file From 2d771c3c628c3580686aad403ccbcc1f81607f38 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 21 Aug 2015 17:32:02 +0200 Subject: [PATCH 13/33] Update messages_de.properties (POEditor.com) --- .../bibleget/resources/messages_de.properties | 253 +++++++++--------- 1 file changed, 126 insertions(+), 127 deletions(-) diff --git a/src/io/bibleget/resources/messages_de.properties b/src/io/bibleget/resources/messages_de.properties index b137ed7..bb321af 100644 --- a/src/io/bibleget/resources/messages_de.properties +++ b/src/io/bibleget/resources/messages_de.properties @@ -1,198 +1,197 @@ -BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = BibleGet I/O plugin for Open Office Writer +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = BibleGet I/O-Plugin für Open Office Writer Version = Version -This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = This plugin was developed by John R. D'Orazio, a priest in the diocese of Rome, chaplain at Roma Tre University. +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = Dieses Plugin wurde von John R. D'Orazio, ein Priester in der Diözese Rom, Kaplan an der Roma Tre-Universität entwickelt. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = It is a part of the BibleGet Project at {0}. -The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = The author would like to thank Giovanni Gregori and Simone Urbinati for their code contributions. -The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = The BibleGet Project is an independent project born from the personal initiative of John R. D'Orazio, and is not funded by any kind of corporation. -All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = All of the expenses of the project server and domain, which amount to €200 a year, are accounted for personally by the author. All code contributions and development are entirely volunteered. -If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = If you like the plugin and find it useful, please consider contributing even a small amount to help keep this project running. Even just €1 can make a difference. You can contribute using the appropriate menu item in this plugin's menu. -About\ this\ plugin = About this plugin -Current\ information\ from\ the\ BibleGet\ Server\: = Current information from the BibleGet Server\: +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = Es ist ein Teil des BibleGet-Projekts an der {0}. +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = Der Autor möchte Giovanni Gregori und Simone Urbinati für ihre Code-Beiträge danken. +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = Das BibleGet Projekt ist ein unabhängiges Projekt, das aus der persönlichen Initiative von John R. D'Orazio geboren und wird nicht von jeder Art der Corporation finanziert. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = Alle Ausgaben von der Projektserver und Domäne, die 200 € pro Jahr ausmachen, werden persönlich vom Autor bilanziert. Alle Code-Beiträge und Entwicklung sind völlig freiwillig. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = Wenn Sie mögen das Plugin und es hilfreich sein, beachten Sie bitte, trägt sogar eine kleine Menge um dieses Projekt am laufen zu halten. Auch nur €1 kann einen Unterschied machen. Sie können dazu beitragen, mit den entsprechenden Menüpunkt im dieses Plugin-Menü. +About\ this\ plugin = Über dieses plugin +Current\ information\ from\ the\ BibleGet\ Server\: = Aktuelle Informationen aus dem BibleGet-Server\: # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = The BibleGet database currently supports {0} versions of the Bible in {1} different languages\: +The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = Die BibleGet-Datenbank unterstützt derzeit {0} Versionen der Bibel in {1} verschiedenen Sprachen\: # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = The BibleGet engine currently understands the names of the books of the Bible in {0} different languages\: -RENEW\ SERVER\ DATA = RENEW SERVER DATA -Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Type the desired Bible Quote using standard notation\: -(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (e.g. Mt 1,1-10.12-15;5,3-4;Jn 3,16) -Choose\ version\ (or\ versions) = Choose version (or versions) -Send\ query = Send query -Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Sends the request to the server and returns the results to the document. -Cancel = Cancel -You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = You must select at least one version in order to make a request. -There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = There was a problem communicating with the BibleGet server. Please try again. -Help\ for\ BibleGet\ (Open\ Office\ Writer) = Help for BibleGet (Open Office Writer) -This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = This Help dialog window introduces the user to the usage of the BibleGet I/O plugin for Open Office Writer. -The\ Help\ is\ divided\ into\ three\ sections\: = The Help is divided into three sections\: -Usage\ of\ the\ Plugin = Usage of the Plugin -Formulation\ of\ the\ Queries = Formulation of the Queries -Biblical\ Books\ and\ Abbreviations = Biblical Books and Abbreviations -AUTHOR = AUTHOR -John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = John R. D'Orazio (chaplain at Roma Tre University) -COLLABORATORS = COLLABORATORS -Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Giovanni Gregori (computing) and Simone Urbinati (MUG Roma Tre) -PROJECT\ WEBSITE = PROJECT WEBSITE -EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = EMAIL ADDRESS FOR INFORMATION OR FEEDBACK ON THE PROJECT -Insert\ quote\ from\ input\ window = Insert quote from input window -Insert\ quote\ from\ text\ selection = Insert quote from text selection -How\ to\ use\ the\ plugin = How to use the plugin -Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Description of the menu icons and their functionality. -Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Once the extension is installed, a new menu 'BibleGet I/O' will appear on the menu bar. Also a new floating toolbar will appear. The buttons on the floating toolbar correspond to the menu items in the new menu, as can be seen in this image\: -The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = The floating toolbar can be dragged and placed anywhere on the screen. It can also be docked to certain areas of the workspace, for example on the toolbar below the menu bar, like in this image\: -There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = There are two ways of inserting a bible quote into a document. -The\ first\ way\ is\ by\ using\ the\ input\ window. = The first way is by using the input window. +The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = Die BibleGet-Engine versteht derzeit die Namen der Bücher der Bibel in {0} verschiedenen Sprachen\: +RENEW\ SERVER\ DATA = SERVERDATEN ZU ERNEUERN +Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Geben Sie die gewünschte Bibel zitieren mit standard-Notation\: +(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (z.B. Mt 1,1-10.12.-15; 5,3-4; Joh 3,16) +Choose\ version\ (or\ versions) = Wählen Sie Version (oder Versionen) +Send\ query = Anfrage senden +Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Sendet die Anforderung an den Server und gibt die Ergebnisse an das Dokument. +Cancel = Abbrechen +You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = Sie müssen mindestens eine Version auswählen, um einen Antrag zu stellen. +There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = Es gab ein Problem mit dem BibleGet-Server kommunizieren. Bitte versuchen Sie es erneut. +Help\ for\ BibleGet\ (Open\ Office\ Writer) = Hilfe für BibleGet (Open Office Writer) +This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = Dieses Hilfe-Dialog-Fenster führt den Benutzer auf die Verwendung von BibleGet I/O-Plugin für Open Office Writer. +The\ Help\ is\ divided\ into\ three\ sections\: = Die Hilfe ist in drei Abschnitte unterteilt\: +Usage\ of\ the\ Plugin = Nutzung des Plugins +Formulation\ of\ the\ Queries = Formulierung von Abfragen +Biblical\ Books\ and\ Abbreviations = Biblische Bücher und Abkürzungen +AUTHOR = AUTOR +John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = John R. D'Orazio (Kaplan an Roma Tre-Universität) +COLLABORATORS = MITARBEITER +Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Giovanni Gregori (Datenverarbeitung) und Simone Urbinati (MUG Roma Tre) +PROJECT\ WEBSITE = WEBSITE DES PROJEKTS +EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = E-MAIL-ADRESSE FÜR INFORMATIONEN ODER ANREGUNGEN ZUM PROJEKT +Insert\ quote\ from\ input\ window = Zitat von Eingabefenster einfügen +Insert\ quote\ from\ text\ selection = Zitat von markierten Text einfügen +How\ to\ use\ the\ plugin = Gewusst wie\: Verwenden Sie das plugin +Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Beschreibung der Menü-Icons und ihrer Funktionalität. +Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Sobald die Erweiterung installiert ist, erscheint ein neues Menü 'BibleGet I/O' in der Menüleiste. Auch wird eine neue unverankerte Symbolleiste angezeigt. Die Tasten auf der unverankerten Symbolleiste entsprechen die Menüpunkte im Menü "neu", wie in diesem Bild zu sehen ist\: +The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = Die unverankerte Symbolleiste kann gezogen und überall auf dem Bildschirm platziert werden. Es kann auch für bestimmte Bereiche des Arbeitsbereichs, zum Beispiel auf der Symbolleiste unterhalb der Menüleiste, wie in diesem Bild angedockt werden\: +There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = Es gibt zwei Möglichkeiten ein Bibel-Zitat in ein Dokument einzufügen. +The\ first\ way\ is\ by\ using\ the\ input\ window. = Die erste Möglichkeit ist die Verwendung des Eingabefenster. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = If you click on the menu item ''{0}'', an input window will open where you can input your query and choose the version or versions you would like to take the quote from. -This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = This list of versions is updated from the available versions on the BibleGet server, but since the information is stored locally it may be necessary to renew the server information when new versions are added to the BibleGet server database. +If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = Wenn Sie auf den Menüpunkt ''{0}'' klicken, öffnet sich ein Eingabefenster können Sie Ihre Abfrage eingeben und wählen Sie die Version oder Versionen, die, denen Sie möchten, nehmen das Zitat aus. +This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = Diese Liste der Versionen von den verfügbaren Versionen auf dem BibleGet-Server aktualisiert, aber da die Informationen lokal gespeichert ist es möglicherweise erforderlich, die Serverinformationen zu erneuern, wenn neue Versionen der BibleGet-Datenbank hinzugefügt werden. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = In order to renew the information from the BibleGet server, click on the ''{0}'' menu item, and then click on the button ''{1}''. +In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = Um die Informationen aus dem BibleGet-Server zu erneuern, klicken Sie auf den Menüpunkt ''{0}'', und klicken Sie dann auf die Schaltfläche ''{1}''. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = When you choose a version or multiple versions to quote from, this choice is automatically saved as a preference, and will be pre-selected the next time you open the ''{0}'' menu item. +When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = Wenn Sie eine oder mehrere Versionen von zitieren auswählen, diese Wahl ist als Einstellung automatisch gespeichert und werden vorgewählte beim nächsten Öffnen der Menüpunkt ''{0}''. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = The second way is by writing your desired quote directly in the document, and then selecting it and choosing the menu item ''{0}''. The selected text will be substituted by the Bible Quote retrieved from the BibleGet server. +The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = Die zweite Möglichkeit ist von Ihrem gewünschten Angebot direkt im Dokument, schreiben und dann auswählen und Auswahl des Menüpunktes ''{0}''. Der markierte Text wird ersetzt durch die Bibel zitieren aus dem BibleGet-Server abgerufen. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = The versions previously selected in the ''{0}'' window will be used, so you must have selected your preferred versions at least once from the ''{0}'' window. -Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Formatting preferences can be set using the 'Preferences' window. You can choose the desired font for the Bible quotes as well as the desired line-spacing, and you can choose separate formatting (font size, font color, font style) for the book / chapter, for the verse numbers, and for the verse text. Preferences are saved automatically. -After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = After the 'Help' menu item that opens up this same help window, the last three menu items are\: -Send\ feedback = Send feedback -This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = This will open up your system's default email application with the bibleget.io@gmail.com feedback address already filled in. -Contribute = Contribute -This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = This will open a Paypal page in the system's default browser where you can make a donation to contribute to the project. Even just €1 can help to cover the expenses of this project. Just the server costs €120 a year. -Information\ on\ the\ BibleGet\ I/O\ Project = Information on the BibleGet I/O Project -This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = This opens a dialog window with some information on the project and it's plugins, on the author and contributors, and on the current locally stored information about the versions and languages that the BibleGet server supports. -How\ to\ formulate\ a\ bible\ query = How to formulate a bible query -The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = The queries for bible quotes must be formulated using standard notation for bible citation. -# Fuzzy -This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = This can be either the english notation (as explained here\: https\://en.wikipedia.org/wiki/Bible_citation), or the european notation as explained here below. -A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = A basic query consists of at least two elements\: the bible book and the chapter. -The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = The bible book can be written out in full, or in an abbreviated form. +The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = Die Versionen zuvor ausgewählt im Fenster ''{0}'' werden verwendet, damit Sie Ihre bevorzugten Versionen mindestens einmal vom Fenster ''{0}'' ausgewählt haben müssen. +Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Formateinstellungen einstellbar über das Fenster "Einstellungen". Sie können die gewünschte Schriftart für die Bibel-Zitate sowie den gewünschten Zeilenabstand, und Sie können separate Formatierung (Schriftfarbe, Schriftgröße, Schriftschnitt) für das Buch / Kapitel, Vers-Zahlen und den Vers Text. Einstellungen werden automatisch gespeichert. +After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = Nach dem 'Hilfe'-Menüelement, das diese gleichen Hilfefenster eröffnet, sind die letzten drei Menüpunkte\: +Send\ feedback = Senden Sie Ihr feedback +This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = Es öffnet sich Ihr System Standard e-Mail-Programm mit der bibleget.io@gmail.com Rückmeldungen-Adresse bereits ausgefüllt. +Contribute = Beitragen +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = Dies öffnet eine Paypal-Seite im Standardbrowser des Systems, wo man, eine Spende machen kann an das Projekt beizutragen. Auch nur €1 kann zur Deckung der Ausgaben des Projektes helfen. Nur der Server kostet €120 pro Jahr. +Information\ on\ the\ BibleGet\ I/O\ Project = Informationen zum BibleGet-I/O-Projekt +This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = Dies öffnet ein Dialogfenster mit einigen Informationen über das Projekt und es ist Plugins auf den Autor und die Mitwirkenden, und auf dem aktuellen lokal gespeicherten Informationen über die Versionen und Sprachen, die der BibleGet-Server unterstützt. +How\ to\ formulate\ a\ bible\ query = Eine Bibel-Abfrage formulieren +The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = Abfragen für Bibel-Zitate müssen mit Standardnotation für Bibel-Zitat formuliert werden. +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = Dies kann entweder die englische Notation (wie hier beschrieben\: https\://en.wikipedia.org/wiki/Bible_citation), oder die Europäische Notation als hier unten erklärt. +A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = Eine einfache Abfrage besteht aus mindestens zwei Elementen\: das Bibel-Buch und das Kapitel. +The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = Das Bibel-Buch kann vollständig oder in abgekürzter Form geschrieben werden. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = The BibleGet engine recognizes the names of the books of the bible in {0} different languages\: {1} +The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = Die BibleGet-Engine erkennt die Namen der Bücher der Bibel in verschiedenen Sprachen {0}\: {1} # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = See the list of valid books and abbreviations in the section {0}. -For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = For example, the query "Matthew 1" means the book of Matthew (or better the gospel according to Matthew) at chapter 1. -This\ can\ also\ be\ written\ as\ "Mt\ 1". = This can also be written as "Mt 1". -Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Different combinations of books, chapters, and verses can be formed using the comma delimiter and the dot delimiter (in european notation, in english notation instead a colon is used instead of a comma and a comma is used instead of a dot)\: -","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: the comma is the chapter-verse delimiter. "Matthew 1,5" means the book (gospel) of Matthew, chapter 1, verse 5. (In English notation\: "Matthew 1\:5".) -"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: the dot is a delimiter between verses. "Matthew 1,5.7" means the book (gospel) of Matthew, chapter 1, verses 5 and 7. (In English notation\: "Matthew 1\:5,7".) -"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: the dash is a range delimiter, which can be used in a variety of ways\: -For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = For a range of chapters\: "Matthew 1-2" means the gospel according to Matthew, from chapter 1 to chapter 2. -For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = For a range of verses within the same chapter\: "Matthew 1,1-5" means the gospel according to Matthew, chapter 1, from verse 1 to verse 5. (In English notation\: "Matthew 1\:1-5".) -For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = For a range of verses that span over different chapters\: "Matthew 1,5-2,13" means the gospel according to Matthew, from chapter 1, verse 5 to chapter 2, verse 13. (In English notation\: "Matthew 1\:5-2\:13".) -Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Different combinations of these delimiters can form fairly complex queries, for example "Mt1,1-3.5.7-9" means the gospel according to Matthew, chapter 1, verses 1 to 3, verse 5, and verses 7 to 9. (In English notation\: "Mt1\:1-3,5,7-9".) -Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Multiple queries can be combined together using a semi-colon ";". -If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = If the query following the semi-colon refers to the same book as the preceding query, it is not necessary to indicate the book a second time. -For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = For example, "Matthew 1,1;2,13" means the gospel according to Matthew, chapter 1 verse 1 and chapter 2 verse 13. (In English notation\: "Matthew 1\:1;2\:13".) -Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Here is an example of multiple complex queries combined into a single querystring\: "Genesis 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse 3,10.12-14". (In English notation\: "Genesis 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse 3\:10,12-14"). -It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It doesn't matter whether or not you use a space between the book and the chapter, the querystring will be interpreted just the same. -It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It is also indifferent whether you use uppercase or lowercase letters, the querystring will be interpreted just the same. +See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = Siehe Liste der gültigen Bücher und Abkürzungen im Abschnitt {0}. +For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = Z. B. die Abfrage "Matthew 1" heißt das Buch von Matthew (oder besser das Evangelium entsprechend Matthew) in Kapitel 1. +This\ can\ also\ be\ written\ as\ "Mt\ 1". = Dies kann auch geschrieben werden als "Mt 1". +Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Verschiedene Kombinationen von Bücher, Kapitel und Verse über das Kommatrennzeichen und das Trennzeichen Punkt gebildet werden können (in der Europäischen Schreibweise in englischer Schreibweise stattdessen ein Doppelpunkt ist anstelle eines Kommas und ein Komma verwendet anstelle des Punktes)\: +","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: das Komma ist das Kapitel-Vers-Trennzeichen. "Matthew 1,5" heißt das Buch (Evangelium) von Matthew, Kapitel 1, Vers 5. (In englischer Schreibweise\: "Matthew 1\:5".) +"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: der Punkt ist ein Trennzeichen zwischen Versen. "Matthew 1,5.7" heißt das Buch (Evangelium) von Matthew, Kapitel 1, Vers 5 und 7. (In englischer Schreibweise\: "Matthew 1\:5, 7".) +"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: das Armaturenbrett ist ein Bereich Trennzeichen, die in verschiedenster Weise verwendet werden können\: +For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = Für eine Reihe von Kapiteln\: "Matthew 1-2" bedeutet das Evangelium entsprechend Matthew, von Kapitel 1, Kapitel 2. +For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = Für eine Reihe von Strophen innerhalb des gleichen Kapitels\: "Matthew 1,1-5" bedeutet das Evangelium entsprechend Matthew, Kapitel 1, von Vers 1 bis Vers 5. (In englischer Schreibweise\: "Matthew 1\:1-5".) +For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = Für eine Reihe von Versen, die über verschiedene Kapitel umfassen\: "Matthew 1,5-2,13" bedeutet das Evangelium entsprechend Matthew, von Kapitel 1, Vers 5 zu Kapitel 2, Vers 13. (In englischer Schreibweise\: "Matthew 1\:5-2\:13".) +Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Verschiedene Kombinationen von diesen Trennzeichen ziemlich komplexe Abfragen bilden können zum Beispiel "Mt1, 3.5.7-1-9" bedeutet das Evangelium entsprechend Matthew, Kapitel 1, Verse 1 bis 3, Vers 5, und Verse 08\:53. (In englischer Schreibweise\: "Mt1\:1-3,5,7-9".) +Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Mehrere Abfragen können kombiniert werden, zusammen mit einem Semikolon ";". +If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = Wenn die Abfrage nach dem Semikolon auf das gleiche Buch wie die vorhergehenden Abfrage verweist, ist es nicht notwendig, das Buch ein zweites Mal geben. +For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = Z. B. "Matthew 1,1; 2,13" bedeutet das Evangelium entsprechend Matthew, Kapitel 1 Vers 1 und Kapitel 2 Vers 13. (In englischer Schreibweise\: "Matthew 1,1; 02\:13".) +Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Hier ist ein Beispiel für mehrere komplexe Abfragen in einer einzigen Querystring zusammengefasst\: "Genesis 1,3-5.7.9-11.13; 2,4-9,11-13; Apokalypse 3,10.12-14 ". (In englischer Schreibweise\: "Genesis 1\:3-5,7,9-11,13; 2\:4-9,11-13; Apokalypse 3\:10, 12-14"). +It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = Es spielt keine Rolle, ob Sie ein Leerzeichen zwischen das Buch und das Kapitel verwenden, Querystring genauso interpretiert werden. +It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = Es ist auch gleichgültig, ob Sie Großbuchstaben verwenden oder Kleinbuchstaben, Querystring genauso interpretiert werden. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Here is a list of valid books and their corresponding abbreviations, either of which can be used in the querystrings. +Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Hier ist eine Liste der gültigen Bücher und ihre entsprechenden Abkürzungen, die in die Formularwerte verwendet werden können. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = The abbreviations do not always correspond with those proposed by the various editions of the Bible, because they would conflict with those proposed by other editions. +The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = Die Abkürzungen entsprechen nicht immer mit von der unterschiedlichen Versionen der Bibel, da sie mit denen von anderen Editionen vorgeschlagenen Konflikt stehen würde. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = For example some english editions propose "Gn" as an abbreviation for "Genesis", while some italian editions propose "Gn" as an abbreviation for "Giona" (\= "Jonah"). +For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = Zum Beispiel schlagen einige englischen Ausgaben "Gn" als Abkürzung für "Genesis", während einige italienischen Ausgaben vorschlagen "Gn" als Abkürzung für "Giona" (\= "Jonah"). # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Therefore you will not always be able to use the abbreviations proposed by any single edition of the Bible, you must use the abbreviations that are recognized by the BibleGet engine as listed in the following table\: +Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Daher Sie werden nicht immer die Abkürzungen vorgeschlagen durch jede einzelne Ausgabe der Bibel zu nutzen, müssen Sie verwenden die Abkürzungen, die von der BibleGet-Engine erkannt werden, wie in der folgenden Tabelle aufgeführt\: # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -BOOK = BOOK +BOOK = BUCH # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -ABBREVIATION = ABBREVIATION -Instructions = Instructions -Help = Help -You\ cannot\ send\ an\ empty\ query. = You cannot send an empty query. -Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Mixed notations have been detected. Please use either english notation or european notation. +ABBREVIATION = ABKÜRZUNG +Instructions = Anweisungen +Help = Hilfe +You\ cannot\ send\ an\ empty\ query. = Eine leere Abfrage können nicht gesendet werden. +Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Gemischte Notationen sind ermittelt worden. Bitte verwenden Sie englische Schreibweise oder europäische Schreibweise. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = The first query <{0}> in the querystring <{1}> must start with a valid book indicator\! +The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = Die erste Abfrage <{0}> im Querystring <{1}> muss mit einem gültigen Buch-Indikator beginnen\! # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = The book indicator <{0}> in the query <{1}> is not valid. Please check the documentation for a list of valid book indicators. -You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = You must have a valid chapter following the book indicator\! -A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = A query that doesn't start with a book indicator must however start with a valid chapter indicator\! -You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = You cannot use a dot without first using a comma or a dash. A dot is a liason between verses, which are separated from the chapter by a comma. +The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = Die Buch-Anzeige <{0}> in der Abfrage <{1}> ist nicht gültig. Bitte überprüfen Sie die Dokumentation eine Liste der gültigen Buch Indikatoren. +You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = Sie müssen eine gültige Kapitel nach der Buch-Indikator\! +A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = Eine Abfrage, die nicht mit einem Buch-Indikator startet muss jedoch mit einem gültigen Kapitel Indikator beginnen\! +You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = Sie können einen Punkt nicht verwenden, muss zunächst einmal mit einem Komma oder einem Bindestrich. Ein Punkt ist eine Liason zwischen Versen, die aus dem Kapitel durch ein Komma getrennt sind. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = Verses concatenated by a dot must be consecutive, instead <{0}> is greater than or equal to <{1}> in the expression <{2}> in the query <{3}> -A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dot must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. -A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A comma must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = Verse, die durch einen Punkt verkettet müssen in Folge, stattdessen <{0}> ist größer als oder gleich <{1}> im Ausdruck <{2}> in der Abfrage <{3}> +A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Ein Punkt muss vorausgehen und Folgen von 1 bis 3 Ziffern, von denen die erste Ziffer Null sein kann. +A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Ein Komma muss vorausgehen und Folgen von 1 bis 3 Ziffern, von denen die erste Ziffer Null sein kann. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = A chapter in the query is out of bounds\: there is no chapter <{0}> in the book <{1}> in the requested version <{2}>, the last possible chapter is <{3}> -You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = You cannot have more than one comma and not have a dash\! -You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = You seem to have a malformed querystring, there should be only one dash. +A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = Ein Kapitel in der Abfrage ist out of Bounds\: Es gibt kein Kapitel <{0}> im Buch <{1}> der gewünschten Ausführung <{2}>, das letzte mögliche Kapitel ist <{3}> +You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = Sie können nicht mehr als ein Komma und keinen Bindestrich\! +You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = Sie scheinen eine fehlerhafte Querystring haben, es sollte nur ein Strich. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = A verse in the query is out of bounds\: there is no verse <{0}> in the book <{1}> at chapter <{2}> in the requested version <{3}>, the last possible verse is <{4}> -There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = There are multiple dashes in the query, but there are not enough dots. There can only be one more dash than dots. -A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dash must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. -If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = If there is a chapter-verse construct following a dash, there must also be a chapter-verse construct preceding the same dash. +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = Ein Vers in der Abfrage ist out of Bounds\: gibt es derzeit kein Vers <{0}> im Buch <{1}> Kapitel <{2}> der gewünschten Ausführung <{3}>, der letzte mögliche Vers ist <{4}> +There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = Es gibt mehrere Bindestriche in der Abfrage, aber es gibt nicht genügend Punkte. Es darf nur eine weitere Bindestrich als Punkte. +A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Ein Bindestrich muss vorausgehen und Folgen von 1 bis 3 Ziffern, von denen die erste Ziffer Null sein kann. +If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = Wenn es ein Kapitel-Vers-Konstrukt, das nach einem Bindestrich gibt, auch darf ein Kapitel-Vers-Konstrukt, das gleiche Armaturenbrett vor. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = Chapters must be consecutive. Instead the first chapter indicator <{0}> is greater than or equal to the second chapter indicator <{1}> in the expression <{2}> +Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = Kapitel müssen lückenlos sein. Stattdessen ist das erste Kapitel Kennzeichen <{0}> größer oder gleich der zweiten Kapitel Indikator <{1}> im Ausdruck <{2}> # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Verses (or chapters if applicable) around the dash operator must be consecutive. Instead <{0}> is greater than or equal to <{1}> in the expression <{2}> +Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Verse (oder Kapitel falls zutreffend) rund um die Dash-Operator muss in Folge sein. Stattdessen <{0}> ist größer als oder gleich <{1}> im Ausdruck <{2}> Genesi = Genesi -In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth— = In the beginning, when God created the heavens and the earth— -and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters— = and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters— -Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Then God said\: Let there be light, and there was light. -User\ Preferences = User Preferences -Paragraph = Paragraph -Alignment = Alignment -Indent = Indent -Line-spacing = Line-spacing -Font = Font -Book\ /\ Chapter = Book / Chapter -Verse\ Number = Verse Number -Verse\ Text = Verse Text -Preview = Preview -line-spacing\ not\ visible\ in\ the\ preview = line-spacing not visible in the preview -Choose\ Book\ /\ Chapter\ Font\ Color = Choose Book / Chapter Font Color -Choose\ Book\ /\ Chapter\ Background\ Color = Choose Book / Chapter Background Color -Choose\ Verse\ Number\ Font\ Color = Choose Verse Number Font Color -Choose\ Verse\ Number\ Background\ Color = Choose Verse Number Background Color -Choose\ Verse\ Text\ Font\ Color = Choose Verse Text Font Color -Choose\ Verse\ Text\ Background\ Color = Choose Verse Text Background Color -Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting.=Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. -Override\ Bible\ Version\ Formatting=Override Bible Version Formatting +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth— = Am Anfang schuf Gott Himmel und Erde. +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters— = Und die Erde war wüst und leer, und es war finster auf der Tiefe; und der Geist Gottes schwebte auf dem Wasser. +Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Und Gott sprach\: Es werde Licht\! und es ward Licht. +User\ Preferences = Benutzereinstellungen +Paragraph = Absatz +Alignment = Ausrichtung +Indent = Gedankenstrich +Line-spacing = Zeilenabstand +Font = Schriften +Book\ /\ Chapter = Buch / Kapitel +Verse\ Number = Vers-Anzahl +Verse\ Text = Vers Text +Preview = Vorschau +line-spacing\ not\ visible\ in\ the\ preview = Zeilenabstand in der Vorschau nicht sichtbar +Choose\ Book\ /\ Chapter\ Font\ Color = Wählen Sie Buch / Kapitel Font Color +Choose\ Book\ /\ Chapter\ Background\ Color = Wählen Sie Buch / Kapitel Hintergrund Farbe +Choose\ Verse\ Number\ Font\ Color = Wählen Sie Vers Nummer Schriftfarbe +Choose\ Verse\ Number\ Background\ Color = Wählen Sie Vers Nummer Hintergrundfarbe +Choose\ Verse\ Text\ Font\ Color = Wählen Sie Vers Text Schriftfarbe +Choose\ Verse\ Text\ Background\ Color = Wählen Sie Vers Texthintergrundfarbe +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting. = Einige Bibelübersetzungen haben ihre eigene Formatierung. Dies ist standardmäßig aktiviert , um nach links , um den Text so nahe wie möglich am Original zu halten.
Aber wenn Sie benötigen, um konsistente Formatierung in Ihrem Dokument haben, können Sie die Formatierung der Bibel -Version ignorieren. +Override\ Bible\ Version\ Formatting = Überschreiben Sie Bibel Version Formatierung \ No newline at end of file From 6f3c76e4efe1500abddbe95911d0541d0e119690 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 21 Aug 2015 17:32:04 +0200 Subject: [PATCH 14/33] Update messages_it.properties (POEditor.com) --- src/io/bibleget/resources/messages_it.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/io/bibleget/resources/messages_it.properties b/src/io/bibleget/resources/messages_it.properties index 7ebd05b..bfe336c 100644 --- a/src/io/bibleget/resources/messages_it.properties +++ b/src/io/bibleget/resources/messages_it.properties @@ -193,5 +193,5 @@ Choose\ Verse\ Number\ Font\ Color = Scegli il Colore Carattere del Numero del V Choose\ Verse\ Number\ Background\ Color = Scegli il Colore di Sfondo del Numero del Versetto Choose\ Verse\ Text\ Font\ Color = Scegli il Colore Carattere del Testo del Versetto Choose\ Verse\ Text\ Background\ Color = Scegli il Colore di Sfondo del Testo del Versetto -Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting.=Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. -Override\ Bible\ Version\ Formatting=Override Bible Version Formatting +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting. = Alcune versioni bibliche hanno formattazione propria. Questa viene lasciata in modo predefinito per mantenere il testo il più vicino possibile all'originale.
Se tuttavia hai bisogno di una formattazione coerente nel tuo documento, puoi ignorare la formattazione della versione biblica. +Override\ Bible\ Version\ Formatting = Ignora la formattazione della versione biblica \ No newline at end of file From 148a9195419d189bbbd57ee4dea676a9b39618fe Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 21 Aug 2015 17:32:05 +0200 Subject: [PATCH 15/33] Update messages_es.properties (POEditor.com) --- src/io/bibleget/resources/messages_es.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/io/bibleget/resources/messages_es.properties b/src/io/bibleget/resources/messages_es.properties index 2a7deea..f43dfc8 100644 --- a/src/io/bibleget/resources/messages_es.properties +++ b/src/io/bibleget/resources/messages_es.properties @@ -193,5 +193,5 @@ Choose\ Verse\ Number\ Font\ Color = Elegir Color de fuente número de verso Choose\ Verse\ Number\ Background\ Color = Elegir Color de fondo número de verso Choose\ Verse\ Text\ Font\ Color = Elegir Color de fuente de texto verso Choose\ Verse\ Text\ Background\ Color = Elegir Color de fondo de texto verso -Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting.=Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. -Override\ Bible\ Version\ Formatting=Override Bible Version Formatting +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting. = Algunas versiones de la Biblia tienen su propio formateo. Esto se deja por defecto para mantener el texto lo más cerca posible a la original.
Sin embargo, si usted necesita tener un formateo coherente en su documento, puede anular el formateo propio de la versión de la Biblia. +Override\ Bible\ Version\ Formatting = Ignorar el Formateo propio de la Versión Biblica \ No newline at end of file From 4b047bce606f7877d0afc9d21146a6833a116aa8 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Sat, 22 Aug 2015 01:32:17 +0200 Subject: [PATCH 16/33] Update messages_en.properties (POEditor.com) --- src/io/bibleget/resources/messages_en.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/io/bibleget/resources/messages_en.properties b/src/io/bibleget/resources/messages_en.properties index 6d26d31..526e3ce 100644 --- a/src/io/bibleget/resources/messages_en.properties +++ b/src/io/bibleget/resources/messages_en.properties @@ -174,8 +174,8 @@ Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}> # double up any single quotes or apostrophes. Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Verses (or chapters if applicable) around the dash operator must be consecutive. Instead <{0}> is greater than or equal to <{1}> in the expression <{2}> Genesi = Genesi -In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth— = In the beginning, when God created the heavens and the earth— -and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters— = and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters— +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth = In the beginning, when God created the heavens and the earth— +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters = and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters— Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Then God said\: Let there be light, and there was light. User\ Preferences = User Preferences Paragraph = Paragraph From fed0be1c4584640b4dcda900def4f8fe6d28d8cd Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Sat, 22 Aug 2015 01:32:19 +0200 Subject: [PATCH 17/33] Update messages_fr.properties (POEditor.com) --- src/io/bibleget/resources/messages_fr.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/io/bibleget/resources/messages_fr.properties b/src/io/bibleget/resources/messages_fr.properties index 6fc1c54..6f06e80 100644 --- a/src/io/bibleget/resources/messages_fr.properties +++ b/src/io/bibleget/resources/messages_fr.properties @@ -173,8 +173,8 @@ Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}> # double up any single quotes or apostrophes. Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Versets (ou chapitres, le cas échéant) dans le tiret doit être consécutive. Mais <{0}> est supérieur ou égal à <{1}> dans l''expression <{2}> Genesi = Genesi -In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth— = Au commencement, Dieu créa le ciel et la terre. -and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters— = Or, la terre était alors informe et vide. Les ténèbres couvraient l'abîme, et l'Esprit de Dieu planait au-dessus des eaux. +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth = Au commencement, Dieu créa le ciel et la terre. +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters = Or, la terre était alors informe et vide. Les ténèbres couvraient l'abîme, et l'Esprit de Dieu planait au-dessus des eaux. Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Et Dieu dit alors\: —Que la lumière soit\! Et la lumière fut. User\ Preferences = Préférences de l'utilisateur Paragraph = Paragraphe From c851014fe5e6162f81582d32f77040feb0fd9b9a Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Sat, 22 Aug 2015 01:32:21 +0200 Subject: [PATCH 18/33] Update messages_de.properties (POEditor.com) --- src/io/bibleget/resources/messages_de.properties | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/io/bibleget/resources/messages_de.properties b/src/io/bibleget/resources/messages_de.properties index bb321af..43e037b 100644 --- a/src/io/bibleget/resources/messages_de.properties +++ b/src/io/bibleget/resources/messages_de.properties @@ -160,7 +160,7 @@ You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ d # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = Ein Vers in der Abfrage ist out of Bounds\: gibt es derzeit kein Vers <{0}> im Buch <{1}> Kapitel <{2}> der gewünschten Ausführung <{3}>, der letzte mögliche Vers ist <{4}> +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = Ein Vers in der Abfrage ist außerhalb der Grenzen\: gibt es derzeit kein Vers <{0}> im Buch <{1}> Kapitel <{2}> der gewünschten Ausführung <{3}>, der letzte mögliche Vers ist <{4}> There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = Es gibt mehrere Bindestriche in der Abfrage, aber es gibt nicht genügend Punkte. Es darf nur eine weitere Bindestrich als Punkte. A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Ein Bindestrich muss vorausgehen und Folgen von 1 bis 3 Ziffern, von denen die erste Ziffer Null sein kann. If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = Wenn es ein Kapitel-Vers-Konstrukt, das nach einem Bindestrich gibt, auch darf ein Kapitel-Vers-Konstrukt, das gleiche Armaturenbrett vor. @@ -173,8 +173,8 @@ Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}> # double up any single quotes or apostrophes. Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Verse (oder Kapitel falls zutreffend) rund um die Dash-Operator muss in Folge sein. Stattdessen <{0}> ist größer als oder gleich <{1}> im Ausdruck <{2}> Genesi = Genesi -In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth— = Am Anfang schuf Gott Himmel und Erde. -and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters— = Und die Erde war wüst und leer, und es war finster auf der Tiefe; und der Geist Gottes schwebte auf dem Wasser. +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth = Am Anfang schuf Gott Himmel und Erde. +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters = Und die Erde war wüst und leer, und es war finster auf der Tiefe; und der Geist Gottes schwebte auf dem Wasser. Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Und Gott sprach\: Es werde Licht\! und es ward Licht. User\ Preferences = Benutzereinstellungen Paragraph = Absatz From 34267c48656f21f675ae709f14328738ae872996 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Sat, 22 Aug 2015 01:32:22 +0200 Subject: [PATCH 19/33] Update messages_it.properties (POEditor.com) --- src/io/bibleget/resources/messages_it.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/io/bibleget/resources/messages_it.properties b/src/io/bibleget/resources/messages_it.properties index bfe336c..f59660c 100644 --- a/src/io/bibleget/resources/messages_it.properties +++ b/src/io/bibleget/resources/messages_it.properties @@ -173,8 +173,8 @@ Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}> # double up any single quotes or apostrophes. Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Versetti (o capitoli se è il caso) concatenati dal delimitatore trattino devono essere consecutivi. Invece <{0}> è maggiore o uguale a <{1}> nell''espressione <{2}> Genesi = Genesi -In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth— = In principio Dio creò il cielo e la terra. -and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters— = La terra era informe e deserta e le tenebre ricoprivano l'abisso e lo spirito di Dio aleggiava sulle acque. +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth = In principio Dio creò il cielo e la terra. +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters = La terra era informe e deserta e le tenebre ricoprivano l'abisso e lo spirito di Dio aleggiava sulle acque. Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Dio disse\: "Sia la luce\!". E la luce fu. User\ Preferences = Preferenze Utente Paragraph = Paragrafo From 3e195cb8d7d0a1bd88b7e320b9e6b81f81f39dcb Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Sat, 22 Aug 2015 01:32:24 +0200 Subject: [PATCH 20/33] Update messages_es.properties (POEditor.com) --- src/io/bibleget/resources/messages_es.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/io/bibleget/resources/messages_es.properties b/src/io/bibleget/resources/messages_es.properties index f43dfc8..0219237 100644 --- a/src/io/bibleget/resources/messages_es.properties +++ b/src/io/bibleget/resources/messages_es.properties @@ -173,8 +173,8 @@ Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}> # double up any single quotes or apostrophes. Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Versículos (o capítulos de caso) alrededor del guión deben ser consecutivos. En cambio <{0}> es mayor o igual a <{1}> en la expresión <{2}> Genesi = Genesi -In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth— = Al principio, cuando Dios creó los cielos y la tierra — -and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters— = y la tierra estaba sin forma, con las tinieblas sobre el abismo y un viento barriendo sobre las aguas, +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth = Al principio, cuando Dios creó los cielos y la tierra— +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters = y la tierra estaba sin forma, con las tinieblas sobre el abismo y un viento barriendo sobre las aguas, Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Entonces Dios dijo\: Hágase la luz y hubo luz. User\ Preferences = Preferencias de usuario Paragraph = Párrafo From e5c45772a3618ab6b6d6be1250fd642458ff7611 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Sat, 22 Aug 2015 01:35:42 +0200 Subject: [PATCH 21/33] Fixed problems with encoding and decoding streams for translation... --- src/io/bibleget/BibleGetAbout.java | 10 +++--- src/io/bibleget/BibleGetFrame.java | 4 +-- src/io/bibleget/BibleGetHelp.java | 16 ++++++---- src/io/bibleget/BibleGetI18N.java | 20 +++++++++++- src/io/bibleget/BibleGetIO.java | 9 +++--- src/io/bibleget/HTTPCaller.java | 3 +- src/io/bibleget/OptionsFrame.java | 50 +++++++++++++++++------------- 7 files changed, 71 insertions(+), 41 deletions(-) diff --git a/src/io/bibleget/BibleGetAbout.java b/src/io/bibleget/BibleGetAbout.java index 1db7f36..a351854 100644 --- a/src/io/bibleget/BibleGetAbout.java +++ b/src/io/bibleget/BibleGetAbout.java @@ -9,6 +9,7 @@ import java.awt.Image; import java.awt.Toolkit; import java.io.StringReader; +import java.io.UnsupportedEncodingException; import java.text.MessageFormat; import java.util.ArrayList; import java.util.List; @@ -53,7 +54,7 @@ public class BibleGetAbout extends javax.swing.JFrame { /** * Creates new form BibleGetAbout */ - private BibleGetAbout() throws ClassNotFoundException { + private BibleGetAbout() throws ClassNotFoundException, UnsupportedEncodingException { //jTextPane does not initialize correctly, it causes a Null Exception Pointer //Following line keeps this from crashing the program Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); @@ -95,7 +96,7 @@ private BibleGetAbout() throws ClassNotFoundException { initComponents(); } - public static BibleGetAbout getInstance() throws ClassNotFoundException{ + public static BibleGetAbout getInstance() throws ClassNotFoundException, UnsupportedEncodingException{ if(instance == null){ instance = new BibleGetAbout(); } @@ -263,10 +264,9 @@ private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRS } catch (ClassNotFoundException ex) { Logger.getLogger(BibleGetAbout.class.getName()).log(Level.SEVERE, null, ex); } - //initComponents(); jLabel2.setText(MessageFormat.format(__("The BibleGet database currently supports {0} versions of the Bible in {1} different languages:"),versionCount,versionLangs)); jLabel2.revalidate(); - jLabel4.setText(MessageFormat.format(__("The BibleGet engine currently understands the names of the books of the Bible in {0} different languages:"),booksLangs)); + jLabel4.setText(MessageFormat.format(__("The BibleGet engine currently understands the names of the books of the Bible in {0} different languages:"),booksLangs)); jLabel4.revalidate(); jScrollPane2.setViewportView(jList1); jScrollPane2.revalidate(); @@ -355,7 +355,7 @@ public static void main(String args[]) { public void run() { try { new BibleGetAbout().setVisible(true); - } catch (ClassNotFoundException ex) { + } catch (ClassNotFoundException | UnsupportedEncodingException ex) { Logger.getLogger(BibleGetAbout.class.getName()).log(Level.SEVERE, null, ex); } } diff --git a/src/io/bibleget/BibleGetFrame.java b/src/io/bibleget/BibleGetFrame.java index e6f73c0..6827376 100644 --- a/src/io/bibleget/BibleGetFrame.java +++ b/src/io/bibleget/BibleGetFrame.java @@ -20,6 +20,7 @@ import java.awt.Font; import java.awt.HeadlessException; import java.io.StringReader; +import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; @@ -269,7 +270,6 @@ private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:ev if (jList1.isSelectionEmpty()) { JOptionPane.showMessageDialog(null, __("You must select at least one version in order to make a request."), "ERROR >> NO VERSIONS SELECTED", JOptionPane.ERROR_MESSAGE); return; - // } else { // Find out which indexes are selected. int minIndex = jList1.getMinSelectionIndex(); @@ -309,7 +309,7 @@ private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:ev String errorDialog = StringUtils.join(errorMessages,"\n\n"); JOptionPane.showMessageDialog(null, errorDialog, "ERROR >> MALFORMED QUERYSTRING", JOptionPane.ERROR_MESSAGE); } - } catch (HeadlessException | ClassNotFoundException | UnknownPropertyException | PropertyVetoException | IllegalArgumentException | WrappedTargetException ex) { + } catch (HeadlessException | ClassNotFoundException | UnknownPropertyException | PropertyVetoException | IllegalArgumentException | WrappedTargetException | UnsupportedEncodingException ex) { Logger.getLogger(BibleGetFrame.class.getName()).log(Level.SEVERE, null, ex); } diff --git a/src/io/bibleget/BibleGetHelp.java b/src/io/bibleget/BibleGetHelp.java index 40b4a9e..931bfe6 100644 --- a/src/io/bibleget/BibleGetHelp.java +++ b/src/io/bibleget/BibleGetHelp.java @@ -14,6 +14,7 @@ import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; import java.io.StringReader; +import java.io.UnsupportedEncodingException; import java.text.MessageFormat; import java.util.ArrayList; import java.util.HashMap; @@ -75,7 +76,7 @@ public class BibleGetHelp extends javax.swing.JFrame { /** * Creates new form BibleGetHelp */ - private BibleGetHelp() throws ClassNotFoundException { + private BibleGetHelp() throws ClassNotFoundException, UnsupportedEncodingException { //jTextPane does not initialize correctly, it causes a Null Exception Pointer //Following line keeps this from crashing the program Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); @@ -119,15 +120,18 @@ private BibleGetHelp() throws ClassNotFoundException { curLang = (bibleVersionsObj.getString(q) != null) ? BibleGetI18N.localizeLanguage(bibleVersionsObj.getString(q)).toUpperCase() : ""; buildStr = ""; for(int i=0;i<73;i++) { + String styleStr = ""; if(bibleVersionsObj.getString(q).equals("TAMIL") || bibleVersionsObj.getString(q).equals("KOREAN")) { styleStr = " style=\"font-family:'Arial Unicode MS';\""; } + JsonArray curBook = bibleBooksTemp.get(i); JsonArray curBookCurLang = curBook.getJsonArray(q); String str1 = (curBookCurLang.getString(0) != null) ? curBookCurLang.getString(0) : ""; String str2 = (curBookCurLang.getString(1) != null) ? curBookCurLang.getString(1) : ""; buildStr += ""+str1+""+str2+""; + //buildStr += ""+str1+""+str2+""; } booksAndAbbreviations.put(curLang,buildStr); } @@ -308,7 +312,7 @@ private BibleGetHelp() throws ClassNotFoundException { initComponents(); } - public static BibleGetHelp getInstance() throws ClassNotFoundException + public static BibleGetHelp getInstance() throws ClassNotFoundException, UnsupportedEncodingException { if(instance == null) { @@ -388,7 +392,7 @@ public void mouseClicked(java.awt.event.MouseEvent evt) { private void jTree1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTree1MouseClicked // TODO add your handling code here: int tp = jTree1.getRowForLocation(evt.getX(), evt.getY()); - System.out.println(tp); + //System.out.println(tp); if (tp != -1 && tp < 4){ switch(tp){ case 0: jTextPane2.setDocument(doc); jTextPane2.setText(HTMLStr0); jTextPane2.setCaretPosition(0); break; @@ -396,7 +400,7 @@ private void jTree1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:even case 2: jTextPane2.setDocument(doc); jTextPane2.setText(HTMLStr2); jTextPane2.setCaretPosition(0); break; case 3: String curLang = Locale.getDefault().getDisplayLanguage().toUpperCase(); - System.out.println(curLang); + //System.out.println(curLang); jTextPane2.setDocument(doc); jTextPane2.setText(MessageFormat.format(HTMLStr3,booksAndAbbreviations.get(curLang),curLang)); jTextPane2.setCaretPosition(0); @@ -407,7 +411,7 @@ private void jTree1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:even else if(tp > 3){ TreePath treePath = jTree1.getPathForLocation(evt.getX(), evt.getY()); String curPath = treePath.getLastPathComponent().toString().toUpperCase(Locale.ENGLISH); - System.out.println(curPath); + //System.out.println(curPath); if(booksAndAbbreviations.get(curPath) != null) { jTextPane2.setDocument(doc); jTextPane2.setText(MessageFormat.format(HTMLStr3,booksAndAbbreviations.get(curPath),curPath)); @@ -558,7 +562,7 @@ public static void main(String args[]) { public void run() { try { new BibleGetHelp().setVisible(true); - } catch (ClassNotFoundException ex) { + } catch (ClassNotFoundException | UnsupportedEncodingException ex) { Logger.getLogger(BibleGetHelp.class.getName()).log(Level.SEVERE, null, ex); } } diff --git a/src/io/bibleget/BibleGetI18N.java b/src/io/bibleget/BibleGetI18N.java index 0cb05da..7165987 100644 --- a/src/io/bibleget/BibleGetI18N.java +++ b/src/io/bibleget/BibleGetI18N.java @@ -5,11 +5,14 @@ */ package io.bibleget; +import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.Locale; import java.util.Map; import java.util.MissingResourceException; import java.util.ResourceBundle; +import java.util.logging.Level; +import java.util.logging.Logger; import org.apache.commons.lang3.text.WordUtils; /** @@ -43,11 +46,21 @@ public static String __(String s) { } if(myResource.containsKey(s)){ - return myResource.getString(s); + try { + String val = myResource.getString(s); + return new String(val.getBytes("ISO-8859-1"), "UTF-8"); + } catch (UnsupportedEncodingException ex) { + Logger.getLogger(BibleGetI18N.class.getName()).log(Level.SEVERE, null, ex); + } } else{ return s; } + return null; } + /** + * + * @return + */ public static ResourceBundle getMessages() { lcl = BibleGetIO.getLocale(); Locale myLocale; @@ -60,6 +73,11 @@ public static ResourceBundle getMessages() { return myResource; } + /** + * + * @param language + * @return + */ public static String localizeLanguage(String language) { Map langcodes = new HashMap<>(); langcodes.put("AFRIKAANS","af"); diff --git a/src/io/bibleget/BibleGetIO.java b/src/io/bibleget/BibleGetIO.java index 655814d..0255310 100644 --- a/src/io/bibleget/BibleGetIO.java +++ b/src/io/bibleget/BibleGetIO.java @@ -16,6 +16,7 @@ import java.awt.Desktop; import java.awt.GraphicsEnvironment; import java.io.IOException; +import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; @@ -210,7 +211,7 @@ public void dispatch( com.sun.star.util.URL aURL, BibleGetIO.myOptionFrame = OptionsFrame.getInstance(); BibleGetIO.myOptionFrame.setVisible(true); } - } catch (ClassNotFoundException ex) { + } catch (ClassNotFoundException | UnsupportedEncodingException ex) { Logger.getLogger(BibleGetIO.class.getName()).log(Level.SEVERE, null, ex); } return; @@ -227,7 +228,7 @@ public void dispatch( com.sun.star.util.URL aURL, BibleGetIO.bibleGetAbout = BibleGetAbout.getInstance(); BibleGetIO.bibleGetAbout.setVisible(true); } - } catch (ClassNotFoundException ex) { + } catch (ClassNotFoundException | UnsupportedEncodingException ex) { Logger.getLogger(BibleGetIO.class.getName()).log(Level.SEVERE, null, ex); } return; @@ -254,7 +255,7 @@ public void dispatch( com.sun.star.util.URL aURL, try { BibleGetIO.myHelpFrame = BibleGetHelp.getInstance(); BibleGetIO.myHelpFrame.setVisible(true); - } catch (ClassNotFoundException ex) { + } catch (ClassNotFoundException | UnsupportedEncodingException ex) { Logger.getLogger(BibleGetIO.class.getName()).log(Level.SEVERE, null, ex); } } @@ -459,7 +460,7 @@ public void initialize( Object[] object ) BibleGetIO.myHelpFrame = BibleGetHelp.getInstance(); BibleGetIO.bibleGetAbout = BibleGetAbout.getInstance(); //System.out.println("Assigning myFrame and myOptionFrame while we create instance"); - } catch (ClassNotFoundException ex) { + } catch (ClassNotFoundException | UnsupportedEncodingException ex) { Logger.getLogger(BibleGetIO.class.getName()).log(Level.SEVERE, null, ex); } } diff --git a/src/io/bibleget/HTTPCaller.java b/src/io/bibleget/HTTPCaller.java index 5003b36..ee8aaec 100644 --- a/src/io/bibleget/HTTPCaller.java +++ b/src/io/bibleget/HTTPCaller.java @@ -160,8 +160,9 @@ public int isValidBook(String book){ * @param selectedVersions * @return * @throws java.lang.ClassNotFoundException + * @throws java.io.UnsupportedEncodingException */ - public boolean integrityCheck(String myQuery,List selectedVersions) throws ClassNotFoundException + public boolean integrityCheck(String myQuery,List selectedVersions) throws ClassNotFoundException, UnsupportedEncodingException { String versionsStr = StringUtils.join(selectedVersions.toArray(), ','); //System.out.println("Starting integrity check on query "+myQuery+" for versions: "+versionsStr); diff --git a/src/io/bibleget/OptionsFrame.java b/src/io/bibleget/OptionsFrame.java index 8af806d..f6ab0c0 100644 --- a/src/io/bibleget/OptionsFrame.java +++ b/src/io/bibleget/OptionsFrame.java @@ -13,6 +13,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; +import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; @@ -110,7 +111,7 @@ public class OptionsFrame extends javax.swing.JFrame { * Creates new form OptionsFrame * @param pkgPath */ - private OptionsFrame() throws ClassNotFoundException { + private OptionsFrame() throws ClassNotFoundException, UnsupportedEncodingException { //jTextPane does not initialize correctly, it causes a Null Exception Pointer //Following line keeps this from crashing the program @@ -149,9 +150,9 @@ private OptionsFrame() throws ClassNotFoundException { tempStr += "

"; @@ -172,7 +173,7 @@ private OptionsFrame() throws ClassNotFoundException { } - public static OptionsFrame getInstance() throws ClassNotFoundException + public static OptionsFrame getInstance() throws ClassNotFoundException, UnsupportedEncodingException { if(instance == null) { @@ -975,12 +976,12 @@ public void actionPerformed(ActionEvent actionEvent){ ActionListener cancelActionListener = new ActionListener(){ @Override public void actionPerformed(ActionEvent actionEvent){ - - } + + } }; final JDialog jDialog = JColorChooser.createDialog(null, __("Choose Book / Chapter Font Color"), true, jColorChooser, okActionListener, cancelActionListener); jDialog.setIconImages(setIconImagesTextColor()); - jDialog.setVisible(true); + jDialog.setVisible(true); }//GEN-LAST:event_jButton1MouseClicked private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton2MouseClicked @@ -1002,15 +1003,16 @@ public void actionPerformed(ActionEvent actionEvent){ } } }; - ActionListener cancelActionListener = new ActionListener(){ + ActionListener cancelActionListener; + cancelActionListener = new ActionListener(){ @Override public void actionPerformed(ActionEvent actionEvent){ - - } + + } }; final JDialog jDialog = JColorChooser.createDialog(null, __("Choose Book / Chapter Background Color"), true, jColorChooser, okActionListener, cancelActionListener); jDialog.setIconImages(setIconImagesBGColor()); - jDialog.setVisible(true); + jDialog.setVisible(true); }//GEN-LAST:event_jButton2MouseClicked private void jButton5MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton5MouseClicked @@ -1032,10 +1034,11 @@ public void actionPerformed(ActionEvent actionEvent){ } } }; - ActionListener cancelActionListener = new ActionListener(){ + ActionListener cancelActionListener; + cancelActionListener = new ActionListener(){ @Override public void actionPerformed(ActionEvent actionEvent){ - + } }; final JDialog jDialog = JColorChooser.createDialog(null, __("Choose Verse Number Font Color"), true, jColorChooser, okActionListener, cancelActionListener); @@ -1062,15 +1065,16 @@ public void actionPerformed(ActionEvent actionEvent){ } } }; - ActionListener cancelActionListener = new ActionListener(){ + ActionListener cancelActionListener; + cancelActionListener = new ActionListener(){ @Override public void actionPerformed(ActionEvent actionEvent){ - - } + + } }; final JDialog jDialog = JColorChooser.createDialog(null, __("Choose Verse Number Background Color"), true, jColorChooser, okActionListener, cancelActionListener); jDialog.setIconImages(setIconImagesBGColor()); - jDialog.setVisible(true); + jDialog.setVisible(true); }//GEN-LAST:event_jButton6MouseClicked private void jButton7MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton7MouseClicked @@ -1092,10 +1096,11 @@ public void actionPerformed(ActionEvent actionEvent){ } } }; - ActionListener cancelActionListener = new ActionListener(){ + ActionListener cancelActionListener; + cancelActionListener = new ActionListener(){ @Override public void actionPerformed(ActionEvent actionEvent){ - + } }; final JDialog jDialog = JColorChooser.createDialog(null, __("Choose Verse Text Font Color"), true, jColorChooser, okActionListener, cancelActionListener); @@ -1122,10 +1127,11 @@ public void actionPerformed(ActionEvent actionEvent){ } } }; - ActionListener cancelActionListener = new ActionListener(){ + ActionListener cancelActionListener; + cancelActionListener = new ActionListener(){ @Override public void actionPerformed(ActionEvent actionEvent){ - + } }; final JDialog jDialog = JColorChooser.createDialog(null, __("Choose Verse Text Background Color"), true, jColorChooser, okActionListener, cancelActionListener); @@ -1900,7 +1906,7 @@ public static void main(String args[]) { public void run() { try { new OptionsFrame().setVisible(true); - } catch (ClassNotFoundException ex) { + } catch (ClassNotFoundException | UnsupportedEncodingException ex) { Logger.getLogger(OptionsFrame.class.getName()).log(Level.SEVERE, null, ex); } } From ca1a35e2d92ab5be76ad2ee3cb5b9c445021b45c Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Tue, 1 Sep 2015 18:56:24 +0200 Subject: [PATCH 22/33] Added greek translation resource file --- .../bibleget/resources/messages_el.properties | 198 ++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 src/io/bibleget/resources/messages_el.properties diff --git a/src/io/bibleget/resources/messages_el.properties b/src/io/bibleget/resources/messages_el.properties new file mode 100644 index 0000000..526e3ce --- /dev/null +++ b/src/io/bibleget/resources/messages_el.properties @@ -0,0 +1,198 @@ +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = BibleGet I/O plugin for Open Office Writer +Version = Version +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = This plugin was developed by John R. D'Orazio, a priest in the diocese of Rome, chaplain at Roma Tre University. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = It is a part of the BibleGet Project at {0}. +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = The author would like to thank Giovanni Gregori and Simone Urbinati for their code contributions. +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = The BibleGet Project is an independent project born from the personal initiative of John R. D'Orazio, and is not funded by any kind of corporation. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = All of the expenses of the project server and domain, which amount to €200 a year, are accounted for personally by the author. All code contributions and development are entirely volunteered. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = If you like the plugin and find it useful, please consider contributing even a small amount to help keep this project running. Even just €1 can make a difference. You can contribute using the appropriate menu item in this plugin's menu. +About\ this\ plugin = About this plugin +Current\ information\ from\ the\ BibleGet\ Server\: = Current information from the BibleGet Server\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = The BibleGet database currently supports {0} versions of the Bible in {1} different languages\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = The BibleGet engine currently understands the names of the books of the Bible in {0} different languages\: +RENEW\ SERVER\ DATA = RENEW SERVER DATA +Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Type the desired Bible Quote using standard notation\: +(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (e.g. Mt 1,1-10.12-15;5,3-4;Jn 3,16) +Choose\ version\ (or\ versions) = Choose version (or versions) +Send\ query = Send query +Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Sends the request to the server and returns the results to the document. +Cancel = Cancel +You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = You must select at least one version in order to make a request. +There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = There was a problem communicating with the BibleGet server. Please try again. +Help\ for\ BibleGet\ (Open\ Office\ Writer) = Help for BibleGet (Open Office Writer) +This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = This Help dialog window introduces the user to the usage of the BibleGet I/O plugin for Open Office Writer. +The\ Help\ is\ divided\ into\ three\ sections\: = The Help is divided into three sections\: +Usage\ of\ the\ Plugin = Usage of the Plugin +Formulation\ of\ the\ Queries = Formulation of the Queries +Biblical\ Books\ and\ Abbreviations = Biblical Books and Abbreviations +AUTHOR = AUTHOR +John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = John R. D'Orazio (chaplain at Roma Tre University) +COLLABORATORS = COLLABORATORS +Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Giovanni Gregori (computing) and Simone Urbinati (MUG Roma Tre) +PROJECT\ WEBSITE = PROJECT WEBSITE +EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = EMAIL ADDRESS FOR INFORMATION OR FEEDBACK ON THE PROJECT +Insert\ quote\ from\ input\ window = Insert quote from input window +Insert\ quote\ from\ text\ selection = Insert quote from text selection +How\ to\ use\ the\ plugin = How to use the plugin +Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Description of the menu icons and their functionality. +Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Once the extension is installed, a new menu 'BibleGet I/O' will appear on the menu bar. Also a new floating toolbar will appear. The buttons on the floating toolbar correspond to the menu items in the new menu, as can be seen in this image\: +The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = The floating toolbar can be dragged and placed anywhere on the screen. It can also be docked to certain areas of the workspace, for example on the toolbar below the menu bar, like in this image\: +There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = There are two ways of inserting a bible quote into a document. +The\ first\ way\ is\ by\ using\ the\ input\ window. = The first way is by using the input window. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = If you click on the menu item ''{0}'', an input window will open where you can input your query and choose the version or versions you would like to take the quote from. +This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = This list of versions is updated from the available versions on the BibleGet server, but since the information is stored locally it may be necessary to renew the server information when new versions are added to the BibleGet server database. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = In order to renew the information from the BibleGet server, click on the ''{0}'' menu item, and then click on the button ''{1}''. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = When you choose a version or multiple versions to quote from, this choice is automatically saved as a preference, and will be pre-selected the next time you open the ''{0}'' menu item. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = The second way is by writing your desired quote directly in the document, and then selecting it and choosing the menu item ''{0}''. The selected text will be substituted by the Bible Quote retrieved from the BibleGet server. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = The versions previously selected in the ''{0}'' window will be used, so you must have selected your preferred versions at least once from the ''{0}'' window. +Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Formatting preferences can be set using the 'Preferences' window. You can choose the desired font for the Bible quotes as well as the desired line-spacing, and you can choose separate formatting (font size, font color, font style) for the book / chapter, for the verse numbers, and for the verse text. Preferences are saved automatically. +After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = After the 'Help' menu item that opens up this same help window, the last three menu items are\: +Send\ feedback = Send feedback +This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = This will open up your system's default email application with the bibleget.io@gmail.com feedback address already filled in. +Contribute = Contribute +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = This will open a Paypal page in the system's default browser where you can make a donation to contribute to the project. Even just €1 can help to cover the expenses of this project. Just the server costs €120 a year. +Information\ on\ the\ BibleGet\ I/O\ Project = Information on the BibleGet I/O Project +This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = This opens a dialog window with some information on the project and it's plugins, on the author and contributors, and on the current locally stored information about the versions and languages that the BibleGet server supports. +How\ to\ formulate\ a\ bible\ query = How to formulate a bible query +The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = The queries for bible quotes must be formulated using standard notation for bible citation. +# Fuzzy +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = This can be either the english notation (as explained here\: https\://en.wikipedia.org/wiki/Bible_citation), or the european notation as explained here below. +A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = A basic query consists of at least two elements\: the bible book and the chapter. +The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = The bible book can be written out in full, or in an abbreviated form. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = The BibleGet engine recognizes the names of the books of the bible in {0} different languages\: {1} +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = See the list of valid books and abbreviations in the section {0}. +For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = For example, the query "Matthew 1" means the book of Matthew (or better the gospel according to Matthew) at chapter 1. +This\ can\ also\ be\ written\ as\ "Mt\ 1". = This can also be written as "Mt 1". +Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Different combinations of books, chapters, and verses can be formed using the comma delimiter and the dot delimiter (in european notation, in english notation instead a colon is used instead of a comma and a comma is used instead of a dot)\: +","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: the comma is the chapter-verse delimiter. "Matthew 1,5" means the book (gospel) of Matthew, chapter 1, verse 5. (In English notation\: "Matthew 1\:5".) +"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: the dot is a delimiter between verses. "Matthew 1,5.7" means the book (gospel) of Matthew, chapter 1, verses 5 and 7. (In English notation\: "Matthew 1\:5,7".) +"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: the dash is a range delimiter, which can be used in a variety of ways\: +For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = For a range of chapters\: "Matthew 1-2" means the gospel according to Matthew, from chapter 1 to chapter 2. +For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = For a range of verses within the same chapter\: "Matthew 1,1-5" means the gospel according to Matthew, chapter 1, from verse 1 to verse 5. (In English notation\: "Matthew 1\:1-5".) +For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = For a range of verses that span over different chapters\: "Matthew 1,5-2,13" means the gospel according to Matthew, from chapter 1, verse 5 to chapter 2, verse 13. (In English notation\: "Matthew 1\:5-2\:13".) +Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Different combinations of these delimiters can form fairly complex queries, for example "Mt1,1-3.5.7-9" means the gospel according to Matthew, chapter 1, verses 1 to 3, verse 5, and verses 7 to 9. (In English notation\: "Mt1\:1-3,5,7-9".) +Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Multiple queries can be combined together using a semi-colon ";". +If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = If the query following the semi-colon refers to the same book as the preceding query, it is not necessary to indicate the book a second time. +For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = For example, "Matthew 1,1;2,13" means the gospel according to Matthew, chapter 1 verse 1 and chapter 2 verse 13. (In English notation\: "Matthew 1\:1;2\:13".) +Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Here is an example of multiple complex queries combined into a single querystring\: "Genesis 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse 3,10.12-14". (In English notation\: "Genesis 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse 3\:10,12-14"). +It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It doesn't matter whether or not you use a space between the book and the chapter, the querystring will be interpreted just the same. +It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It is also indifferent whether you use uppercase or lowercase letters, the querystring will be interpreted just the same. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Here is a list of valid books and their corresponding abbreviations, either of which can be used in the querystrings. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = The abbreviations do not always correspond with those proposed by the various editions of the Bible, because they would conflict with those proposed by other editions. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = For example some english editions propose "Gn" as an abbreviation for "Genesis", while some italian editions propose "Gn" as an abbreviation for "Giona" (\= "Jonah"). +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Therefore you will not always be able to use the abbreviations proposed by any single edition of the Bible, you must use the abbreviations that are recognized by the BibleGet engine as listed in the following table\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +BOOK = BOOK +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +ABBREVIATION = ABBREVIATION +Instructions = Instructions +Help = Help +You\ cannot\ send\ an\ empty\ query. = You cannot send an empty query. +Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Mixed notations have been detected. Please use either english notation or european notation. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = The first query <{0}> in the querystring <{1}> must start with a valid book indicator\! +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = The book indicator <{0}> in the query <{1}> is not valid. Please check the documentation for a list of valid book indicators. +You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = You must have a valid chapter following the book indicator\! +A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = A query that doesn't start with a book indicator must however start with a valid chapter indicator\! +You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = You cannot use a dot without first using a comma or a dash. A dot is a liason between verses, which are separated from the chapter by a comma. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = Verses concatenated by a dot must be consecutive, instead <{0}> is greater than or equal to <{1}> in the expression <{2}> in the query <{3}> +A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dot must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A comma must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = A chapter in the query is out of bounds\: there is no chapter <{0}> in the book <{1}> in the requested version <{2}>, the last possible chapter is <{3}> +You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = You cannot have more than one comma and not have a dash\! +You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = You seem to have a malformed querystring, there should be only one dash. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = A verse in the query is out of bounds\: there is no verse <{0}> in the book <{1}> at chapter <{2}> in the requested version <{3}>, the last possible verse is <{4}> +There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = There are multiple dashes in the query, but there are not enough dots. There can only be one more dash than dots. +A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dash must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = If there is a chapter-verse construct following a dash, there must also be a chapter-verse construct preceding the same dash. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = Chapters must be consecutive. Instead the first chapter indicator <{0}> is greater than or equal to the second chapter indicator <{1}> in the expression <{2}> +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Verses (or chapters if applicable) around the dash operator must be consecutive. Instead <{0}> is greater than or equal to <{1}> in the expression <{2}> +Genesi = Genesi +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth = In the beginning, when God created the heavens and the earth— +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters = and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters— +Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Then God said\: Let there be light, and there was light. +User\ Preferences = User Preferences +Paragraph = Paragraph +Alignment = Alignment +Indent = Indent +Line-spacing = Line-spacing +Font = Font +Book\ /\ Chapter = Book / Chapter +Verse\ Number = Verse Number +Verse\ Text = Verse Text +Preview = Preview +line-spacing\ not\ visible\ in\ the\ preview = line-spacing not visible in the preview +Choose\ Book\ /\ Chapter\ Font\ Color = Choose Book / Chapter Font Color +Choose\ Book\ /\ Chapter\ Background\ Color = Choose Book / Chapter Background Color +Choose\ Verse\ Number\ Font\ Color = Choose Verse Number Font Color +Choose\ Verse\ Number\ Background\ Color = Choose Verse Number Background Color +Choose\ Verse\ Text\ Font\ Color = Choose Verse Text Font Color +Choose\ Verse\ Text\ Background\ Color = Choose Verse Text Background Color +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting. = Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. +Override\ Bible\ Version\ Formatting = Override Bible Version Formatting \ No newline at end of file From 35edf8149fa8f4a3dee7e73fbd4f9acf6767e14e Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Tue, 1 Sep 2015 18:59:04 +0200 Subject: [PATCH 23/33] Update messages_el.properties (POEditor.com) --- .../bibleget/resources/messages_el.properties | 257 +++++++++--------- 1 file changed, 128 insertions(+), 129 deletions(-) diff --git a/src/io/bibleget/resources/messages_el.properties b/src/io/bibleget/resources/messages_el.properties index 526e3ce..0e32ec6 100644 --- a/src/io/bibleget/resources/messages_el.properties +++ b/src/io/bibleget/resources/messages_el.properties @@ -1,198 +1,197 @@ -BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = BibleGet I/O plugin for Open Office Writer -Version = Version -This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = This plugin was developed by John R. D'Orazio, a priest in the diocese of Rome, chaplain at Roma Tre University. +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = BibleGet I/O plugin για Open Office Writer +Version = Έκδοση +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = Αυτό το plugin αναπτύχθηκε από John R. D'Orazio, ένας ιερέας στην Επισκοπή της Ρώμης, εφημέριος στο Πανεπιστήμιο Tre Ρομ. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = It is a part of the BibleGet Project at {0}. -The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = The author would like to thank Giovanni Gregori and Simone Urbinati for their code contributions. -The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = The BibleGet Project is an independent project born from the personal initiative of John R. D'Orazio, and is not funded by any kind of corporation. -All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = All of the expenses of the project server and domain, which amount to €200 a year, are accounted for personally by the author. All code contributions and development are entirely volunteered. -If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = If you like the plugin and find it useful, please consider contributing even a small amount to help keep this project running. Even just €1 can make a difference. You can contribute using the appropriate menu item in this plugin's menu. -About\ this\ plugin = About this plugin -Current\ information\ from\ the\ BibleGet\ Server\: = Current information from the BibleGet Server\: +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = Είναι ένα μέρος του BibleGet έργου στο {0}. +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = Ο συγγραφέας θα ήθελε να ευχαριστήσω Giovanni Gregori και Simone Urbinati για τις συνεισφορές τους κώδικα. +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = Το Έργο BibleGet είναι ένα ανεξάρτητο έργο που γεννήθηκε από την προσωπική πρωτοβουλία του John R. D'Orazio, και δεν χρηματοδοτείται από κάθε είδους corporation. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = Όλα τα έξοδα του έργου διακομιστή και τομέα, που ανέρχονται σε €200 το χρόνο, καταχωρίζονται λογιστικώς προσωπικά από τον συγγραφέα. Όλα κώδικα συνεισφορές και ανάπτυξης είναι εξ ολοκλήρου εθελοντικά. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = Αν σας αρέσει το plugin και να το βρείτε χρήσιμο, παρακαλούμε να εξετάσει την συμβάλλουν ακόμη και ένα μικρό ποσό για να βοηθήσει να κρατήσει το έργο που εκτελεί. Ακόμη και μόνο €1 μπορεί να κάνει τη διαφορά. Μπορείτε να συνεισφέρετε χρησιμοποιώντας το κατάλληλο στοιχείο επιλογών στο μενού αυτό το plugin. +About\ this\ plugin = Σχετικά με αυτό το plugin +Current\ information\ from\ the\ BibleGet\ Server\: = Τρέχουσες πληροφορίες από το BibleGet διακομιστή\: # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = The BibleGet database currently supports {0} versions of the Bible in {1} different languages\: +The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = Η BibleGet βάση δεδομένων υποστηρίζει {0} εκδόσεις της Βίβλου σε {1} διάφορες γλώσσες\: # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = The BibleGet engine currently understands the names of the books of the Bible in {0} different languages\: -RENEW\ SERVER\ DATA = RENEW SERVER DATA -Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Type the desired Bible Quote using standard notation\: -(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (e.g. Mt 1,1-10.12-15;5,3-4;Jn 3,16) -Choose\ version\ (or\ versions) = Choose version (or versions) -Send\ query = Send query -Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Sends the request to the server and returns the results to the document. -Cancel = Cancel -You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = You must select at least one version in order to make a request. -There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = There was a problem communicating with the BibleGet server. Please try again. -Help\ for\ BibleGet\ (Open\ Office\ Writer) = Help for BibleGet (Open Office Writer) -This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = This Help dialog window introduces the user to the usage of the BibleGet I/O plugin for Open Office Writer. -The\ Help\ is\ divided\ into\ three\ sections\: = The Help is divided into three sections\: -Usage\ of\ the\ Plugin = Usage of the Plugin -Formulation\ of\ the\ Queries = Formulation of the Queries -Biblical\ Books\ and\ Abbreviations = Biblical Books and Abbreviations -AUTHOR = AUTHOR -John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = John R. D'Orazio (chaplain at Roma Tre University) -COLLABORATORS = COLLABORATORS -Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Giovanni Gregori (computing) and Simone Urbinati (MUG Roma Tre) -PROJECT\ WEBSITE = PROJECT WEBSITE -EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = EMAIL ADDRESS FOR INFORMATION OR FEEDBACK ON THE PROJECT -Insert\ quote\ from\ input\ window = Insert quote from input window -Insert\ quote\ from\ text\ selection = Insert quote from text selection -How\ to\ use\ the\ plugin = How to use the plugin -Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Description of the menu icons and their functionality. -Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Once the extension is installed, a new menu 'BibleGet I/O' will appear on the menu bar. Also a new floating toolbar will appear. The buttons on the floating toolbar correspond to the menu items in the new menu, as can be seen in this image\: -The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = The floating toolbar can be dragged and placed anywhere on the screen. It can also be docked to certain areas of the workspace, for example on the toolbar below the menu bar, like in this image\: -There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = There are two ways of inserting a bible quote into a document. -The\ first\ way\ is\ by\ using\ the\ input\ window. = The first way is by using the input window. +The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = Ο BibleGet κινητήρας καταλαβαίνει σήμερα τα ονόματα των βιβλίων της Αγίας Γραφής σε {0} διαφορετικές γλώσσες\: +RENEW\ SERVER\ DATA = ΑΝΑΝΈΩΣΗ ΔΕΔΟΜΈΝΩΝ ΔΙΑΚΟΜΙΣΤΉ +Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Πληκτρολογήστε την επιθυμητή Βίβλο επί λέξει χρησιμοποιώντας τυποποιημένη σημειογραφία\: +(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (π.χ. Mt 1,1-10.12-15; 5,3-4? JN 3,16) +Choose\ version\ (or\ versions) = Επιλέξτε την έκδοση (ή εκδόσεις) +Send\ query = Αποστολή ερωτήματος +Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Στέλνει την αίτηση στο διακομιστή και επιστρέφει τα αποτελέσματα στο έγγραφο. +Cancel = Άκυρο +You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = Πρέπει να επιλέξετε τουλάχιστον μία έκδοση προκειμένου να κάνουν μια αίτηση. +There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = Υπήρξε ένα πρόβλημα κατά την επικοινωνία με το διακομιστή BibleGet. Παρακαλώ ξαναπροσπαθήστε. +Help\ for\ BibleGet\ (Open\ Office\ Writer) = Βοήθεια για BibleGet (συγγραφέας του Open Office) +This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = Αυτό το παράθυρο διαλόγου βοήθεια εισάγει ο χρήστης για τη χρήση του plugin BibleGet I/O για Open Office συγγραφέας. +The\ Help\ is\ divided\ into\ three\ sections\: = Τη βοήθεια χωρίζεται σε τρία τμήματα\: +Usage\ of\ the\ Plugin = Χρήση του Plugin +Formulation\ of\ the\ Queries = Διατύπωση των ερωτημάτων +Biblical\ Books\ and\ Abbreviations = Βιβλική βιβλία και συντομογραφίες +AUTHOR = ΣΥΓΓΡΑΦΈΑΣ +John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = John R. D'Orazio (εφημέριος στο Πανεπιστήμιο Roma Tre) +COLLABORATORS = ΣΥΝΕΡΓΆΤΕΣ +Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Giovanni Gregori (πληροφορική) και Simone Urbinati (MUG Roma Tre) +PROJECT\ WEBSITE = ΙΣΤΟΣΕΛΊΔΑ ΈΡΓΟΥ +EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = ΔΙΕΎΘΥΝΣΗ ΗΛΕΚΤΡΟΝΙΚΟΎ ΤΑΧΥΔΡΟΜΕΊΟΥ ΓΙΑ ΠΛΗΡΟΦΟΡΊΕΣ Ή ΣΧΌΛΙΑ ΣΧΕΤΙΚΆ ΜΕ ΤΟ ΈΡΓΟ +Insert\ quote\ from\ input\ window = Τοποθετήστε το απόσπασμα από το παράθυρο εισαγωγής +Insert\ quote\ from\ text\ selection = Τοποθετήστε το απόσπασμα από την επιλογή κειμένου +How\ to\ use\ the\ plugin = Πώς να χρησιμοποιήσει το plugin +Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Περιγραφή τα εικονίδια μενού και τη λειτουργικότητά τους. +Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Μόλις εγκατασταθεί η επέκταση, ένα νέο μενού «BibleGet I/O» θα εμφανιστεί στη γραμμή μενού. Επίσης μια νέα κινητή γραμμή εργαλείων θα εμφανιστεί. Τα κουμπιά στη γραμμή εργαλείων πλωτή αντιστοιχούν στα στοιχεία μενού στο μενού "δημιουργία", όπως μπορεί να δει σε αυτή την εικόνα\: +The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = Την επιπλέουσα ράβδο εργαλείων μπορούν να συρθούν και να τοποθετηθεί οπουδήποτε στην οθόνη. Αυτό μπορεί επίσης να αναδιπλώνονται σε ορισμένες περιοχές του χώρου εργασίας, για παράδειγμα, στη γραμμή εργαλείων κάτω από τη γραμμή μενού, όπως σε αυτή την εικόνα\: +There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = Υπάρχουν δύο τρόποι για να εισαγάγετε ένα απόσπασμα της Βίβλου σε ένα έγγραφο. +The\ first\ way\ is\ by\ using\ the\ input\ window. = Ο πρώτος τρόπος είναι με τη χρησιμοποίηση του παράθυρο εισαγωγής. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = If you click on the menu item ''{0}'', an input window will open where you can input your query and choose the version or versions you would like to take the quote from. -This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = This list of versions is updated from the available versions on the BibleGet server, but since the information is stored locally it may be necessary to renew the server information when new versions are added to the BibleGet server database. +If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = Εάν κάνετε κλικ στο στοιχείο μενού ''{0}'', ένα εισόδου θα ανοίξει το παράθυρο όπου μπορείτε να εισάγετε το ερώτημά σας και να επιλέξετε την έκδοση ή εκδόσεις που θα θέλατε να αναλάβει το απόσπασμα από το. +This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = Αυτόν τον κατάλογο των εκδόσεων ενημερώνεται από τις διαθέσιμες εκδόσεις στο διακομιστή BibleGet, αλλά δεδομένου ότι οι πληροφορίες αποθηκεύονται σε τοπικό επίπεδο μπορεί να χρειαστεί να ανανεώσουν τις πληροφορίες του διακομιστή, όταν προστίθενται νέες εκδόσεις με τη βάση δεδομένων του διακομιστή BibleGet. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = In order to renew the information from the BibleGet server, click on the ''{0}'' menu item, and then click on the button ''{1}''. +In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = Για να ανανεώσετε τις πληροφορίες από το BibleGet διακομιστή, κάντε κλικ στο στοιχείο μενού ''{0}'', και στη συνέχεια κάντε κλικ στο κουμπί ''{1}''. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = When you choose a version or multiple versions to quote from, this choice is automatically saved as a preference, and will be pre-selected the next time you open the ''{0}'' menu item. +When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = Όταν επιλέγετε μια έκδοση ή πολλαπλές εκδόσεις για να παραθέσω από, αυτή η επιλογή είναι αποθηκεύονται αυτόματα ως προτίμηση, και θα είναι προ-επιλεγμένο την επόμενη φορά που ανοίγετε το στοιχείο μενού ''{0}''. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = The second way is by writing your desired quote directly in the document, and then selecting it and choosing the menu item ''{0}''. The selected text will be substituted by the Bible Quote retrieved from the BibleGet server. +The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = Ο δεύτερος τρόπος είναι από γράφοντας επιθυμητά απόσπασμά σας απευθείας στο έγγραφο, και έπειτα επιλέγοντάς το και επιλέγοντας το στοιχείο μενού ''{0}''. Το επιλεγμένο κείμενο θα αντικαθίστανται από την Αγία Γραφή να παραθέσω retrieved από το υπηρετώ BibleGet. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = The versions previously selected in the ''{0}'' window will be used, so you must have selected your preferred versions at least once from the ''{0}'' window. -Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Formatting preferences can be set using the 'Preferences' window. You can choose the desired font for the Bible quotes as well as the desired line-spacing, and you can choose separate formatting (font size, font color, font style) for the book / chapter, for the verse numbers, and for the verse text. Preferences are saved automatically. -After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = After the 'Help' menu item that opens up this same help window, the last three menu items are\: -Send\ feedback = Send feedback -This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = This will open up your system's default email application with the bibleget.io@gmail.com feedback address already filled in. -Contribute = Contribute -This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = This will open a Paypal page in the system's default browser where you can make a donation to contribute to the project. Even just €1 can help to cover the expenses of this project. Just the server costs €120 a year. -Information\ on\ the\ BibleGet\ I/O\ Project = Information on the BibleGet I/O Project -This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = This opens a dialog window with some information on the project and it's plugins, on the author and contributors, and on the current locally stored information about the versions and languages that the BibleGet server supports. -How\ to\ formulate\ a\ bible\ query = How to formulate a bible query -The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = The queries for bible quotes must be formulated using standard notation for bible citation. -# Fuzzy -This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = This can be either the english notation (as explained here\: https\://en.wikipedia.org/wiki/Bible_citation), or the european notation as explained here below. -A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = A basic query consists of at least two elements\: the bible book and the chapter. -The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = The bible book can be written out in full, or in an abbreviated form. +The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = Οι εκδόσεις που είχε επιλεγεί παλαιότερα στο παράθυρο ''{0}'' θα χρησιμοποιηθεί, έτσι πρέπει να έχετε επιλέξει προτιμώμενη εκδόσεις σας τουλάχιστον μία φορά από το παράθυρο ''{0}''. +Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Οι προτιμήσεις μορφοποίησης μπορεί να ρυθμιστεί χρησιμοποιώντας το παράθυρο "Προτιμήσεις". Μπορείτε να επιλέξετε την επιθυμητή γραμματοσειρά για τα αποσπάσματα της Αγίας Γραφής, καθώς και η επιθυμητή απόσταση γραμμών, και μπορείτε να επιλέξετε ξεχωριστά μορφοποίηση (μέγεθος γραμματοσειράς, χρώμα γραμματοσειράς, στυλ γραμματοσειράς) για το βιβλίο / κεφάλαιο, για τους αριθμούς του στίχο, και για το κείμενο του στίχο. Προτιμήσεις αποθηκεύονται αυτόματα. +After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = Μετά από το στοιχείο μενού "Βοήθεια" που ανοίγει το ίδιο παράθυρο βοήθεια, τα στοιχεία τριών τελευταίων μενού είναι\: +Send\ feedback = Αποστολή σχολίων +This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = Αυτό θα ανοίξει το σύστημά σας προεπιλεγμένη εφαρμογή ηλεκτρονικού ταχυδρομείου με τη διεύθυνση bibleget.io@gmail.com ανατροφοδότηση που ήδη συμπληρωθεί. +Contribute = Συμβάλει +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = Αυτό θα ανοίξει μια σελίδα του Paypal στο προεπιλεγμένο πρόγραμμα περιήγησης του συστήματος όπου μπορείτε να κάνετε μια δωρεά για να συμβάλει στο έργο. Ακόμη και μόνο €1 μπορεί να βοηθήσει να καλύψει τα έξοδα αυτού του έργου. Μόλις ο διακομιστής κοστίζει €120 ετησίως. +Information\ on\ the\ BibleGet\ I/O\ Project = Πληροφορίες σχετικά με το έργο BibleGet I/O +This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = Αυτό ανοίγει ένα παράθυρο διαλόγου με κάποιες πληροφορίες για το έργο και είναι plugins, σχετικά με τον συγγραφέα και συνεισφέροντες, και για την τρέχουσα τοπικά αποθηκεύονται πληροφορίες σχετικά με τις εκδόσεις και οι γλώσσες που υποστηρίζει ο διακομιστής BibleGet. +How\ to\ formulate\ a\ bible\ query = Πώς μπορεί να διαμορφωθεί ένα ερώτημα Αγία Γραφή +The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = Τα ερωτήματα για την Αγία Γραφή αποσπάσματα πρέπει να διατυπωθούν τυποποιημένη σημειογραφία για παραπομπή που Αγία Γραφή. +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = Αυτό μπορεί να είναι είτε η αγγλική σημειογραφία (όπως εξηγείται εδώ\: https\://en.wikipedia.org/wiki/Bible_citation), ή η ευρωπαϊκή σημειογραφία όπως εξηγείται παρακάτω. +A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = Ένα βασικό ερώτημα αποτελείται από τουλάχιστον δύο στοιχεία\: το βιβλίο της Αγίας Γραφής και το κεφάλαιο. +The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = Η Αγία Γραφή βιβλίο μπορεί να γραφτεί πλήρως, ή σε συντετμημένη μορφή. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = The BibleGet engine recognizes the names of the books of the bible in {0} different languages\: {1} +The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = Ο κινητήρας BibleGet αναγνωρίζει τα ονόματα των βιβλίων της Αγίας Γραφής σε {0} διαφορετικές γλώσσες\: {1} # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = See the list of valid books and abbreviations in the section {0}. -For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = For example, the query "Matthew 1" means the book of Matthew (or better the gospel according to Matthew) at chapter 1. -This\ can\ also\ be\ written\ as\ "Mt\ 1". = This can also be written as "Mt 1". -Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Different combinations of books, chapters, and verses can be formed using the comma delimiter and the dot delimiter (in european notation, in english notation instead a colon is used instead of a comma and a comma is used instead of a dot)\: -","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: the comma is the chapter-verse delimiter. "Matthew 1,5" means the book (gospel) of Matthew, chapter 1, verse 5. (In English notation\: "Matthew 1\:5".) -"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: the dot is a delimiter between verses. "Matthew 1,5.7" means the book (gospel) of Matthew, chapter 1, verses 5 and 7. (In English notation\: "Matthew 1\:5,7".) -"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: the dash is a range delimiter, which can be used in a variety of ways\: -For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = For a range of chapters\: "Matthew 1-2" means the gospel according to Matthew, from chapter 1 to chapter 2. -For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = For a range of verses within the same chapter\: "Matthew 1,1-5" means the gospel according to Matthew, chapter 1, from verse 1 to verse 5. (In English notation\: "Matthew 1\:1-5".) -For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = For a range of verses that span over different chapters\: "Matthew 1,5-2,13" means the gospel according to Matthew, from chapter 1, verse 5 to chapter 2, verse 13. (In English notation\: "Matthew 1\:5-2\:13".) -Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Different combinations of these delimiters can form fairly complex queries, for example "Mt1,1-3.5.7-9" means the gospel according to Matthew, chapter 1, verses 1 to 3, verse 5, and verses 7 to 9. (In English notation\: "Mt1\:1-3,5,7-9".) -Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Multiple queries can be combined together using a semi-colon ";". -If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = If the query following the semi-colon refers to the same book as the preceding query, it is not necessary to indicate the book a second time. -For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = For example, "Matthew 1,1;2,13" means the gospel according to Matthew, chapter 1 verse 1 and chapter 2 verse 13. (In English notation\: "Matthew 1\:1;2\:13".) -Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Here is an example of multiple complex queries combined into a single querystring\: "Genesis 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse 3,10.12-14". (In English notation\: "Genesis 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse 3\:10,12-14"). -It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It doesn't matter whether or not you use a space between the book and the chapter, the querystring will be interpreted just the same. -It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It is also indifferent whether you use uppercase or lowercase letters, the querystring will be interpreted just the same. +See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = Δείτε τη λίστα των έγκυρα βιβλία και συντομογραφίες στην ενότητα {0}. +For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = Για παράδειγμα, το ερώτημα "Ματθαίος 1" σημαίνει το βιβλίο του Ματθαίου (ή καλύτερα το Ευαγγέλιο σύμφωνα με τον Ματθαίον) στο κεφάλαιο 1. +This\ can\ also\ be\ written\ as\ "Mt\ 1". = Αυτό μπορεί επίσης να γραφτεί ως "Μτ 1". +Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Διαφορετικούς συνδυασμούς, βιβλία, κεφάλαια και στίχους μπορούν να διαμορφωθούν χρησιμοποιώντας το διαχωριστικό κόμμα και ο οριοθέτης dot (σε ευρωπαϊκή σημειογραφία, στην αγγλική σημειογραφία αντί άνω και κάτω τελεία χρησιμοποιείται αντί για ένα κόμμα και ένα κόμμα χρησιμοποιείται αντί για μια τελεία)\: +","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: το κόμμα είναι ο οριοθέτης κεφάλαιο-στίχο. "Ματθαίος 1,5" σημαίνει το βιβλίο (Ευαγγέλιο) του Ματθαίου, κεφάλαιο 1, στίχος 5. (Στην αγγλική σημειογραφία\: "Ματθαίος 1\:5".) +"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: η τελεία είναι ένα διαχωριστικό μεταξύ στίχους. "Ματθαίος 1,5.7" σημαίνει το βιβλίο (Ευαγγέλιο) του Ματθαίου, κεφάλαιο 1, στίχοι 5 και 7. (Στην αγγλική σημειογραφία\: "Ματθαίος 1\:5,7".) +"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: την εξόρμηση είναι το φάσμα οριοθέτης, η οποία μπορεί να χρησιμοποιηθεί με ποικίλους τρόπους\: +For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = Για μια σειρά από κεφάλαια\: "Ματθαίος 1-2" σημαίνει το Ευαγγέλιο σύμφωνα με τον Ματθαίον, από το κεφάλαιο 1, κεφάλαιο 2. +For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = Για μια σειρά από στίχους πλαίσιο του ίδιου κεφαλαίου\: "Ματθαίος 1,1-5" σημαίνει το Ευαγγέλιο σύμφωνα με τον Ματθαίον, κεφάλαιο 1, στίχο από 1 στίχο 5. (Στην αγγλική σημειογραφία\: "Ματθαίος 1\:1-5".) +For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = Για μια σειρά από στίχους που εκτείνονται πέρα από τα διάφορα κεφάλαια\: "Ματθαίος 1,5-2,13" σημαίνει το Ευαγγέλιο σύμφωνα με τον Ματθαίον, από το κεφάλαιο 1, στίχος 5, κεφάλαιο 2, στίχος 13. (Στην αγγλική σημειογραφία\: "Ματθαίος 1\:5-2\:13".) +Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Διαφορετικοί συνδυασμοί αυτά τα προσδιοριστικά μπορούν να διαμορφώσουν αρκετά σύνθετα ερωτήματα, για παράδειγμα "Μτ1, 1-3.5.7-9" σημαίνει το Ευαγγέλιο σύμφωνα με τον Ματθαίον, κεφάλαιο 1, εδάφια 1 έως 3, 5, στίχος και στίχους 7 έως 9. (Στην αγγλική σημειογραφία\: "Μτ1\:1-3,5,7-9".) +Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Πολλαπλά ερωτήματα μπορούν να συνδυαστούν μαζί με ένα ελληνικό ερωτηματικό ";". +If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = Αν το ερώτημα της μετά το ελληνικό ερωτηματικό αναφέρεται στο ίδιο βιβλίο ως το προηγούμενο ερώτημα, δεν είναι απαραίτητο να δηλώσετε το βιβλίο μια δεύτερη φορά. +For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = Για παράδειγμα, "Ματθαίος 1,1;2,13" σημαίνει το Ευαγγέλιο σύμφωνα με τον Ματθαίον, κεφάλαιο, 1 στίχος 1 και κεφάλαιο, 2 στίχος 13. (Στην αγγλική σημειογραφία\: "Ματθαίος 1\:1;2\:13".) +Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Εδώ είναι ένα παράδειγμα των πολλαπλών σύνθετων αναζητήσεων που συνδυάζονται σε μια ενιαία συμβολοσειρά ερωτήματος\: "Γένεση 1,3-5.7.9-11.13; 2,4-9.11-13. Αποκάλυψη 3,10.12-14". (Στην αγγλική σημειογραφία\: "Γένεση 1\:3-5,7,9-11,13; 2\:4-9,11-13. Αποκάλυψη 3\:10, 12-14"). +It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = Δεν έχει σημασία εάν χρησιμοποιείτε ένα κενό μεταξύ το βιβλίο και το κεφάλαιο ή όχι, η συμβολοσειρά ερωτήματος θα ερμηνευθεί ακριβώς το ίδιο. +It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = Επίσης είναι αδιάφορο αν χρησιμοποιείτε κεφαλαία ή πεζά γράμματα, η συμβολοσειρά ερωτήματος θα ερμηνευθεί ακριβώς το ίδιο. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Here is a list of valid books and their corresponding abbreviations, either of which can be used in the querystrings. +Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Εδώ είναι μια λίστα με έγκυρα βιβλία και αντίστοιχες συντομογραφίες, καθένα από τα οποία μπορεί να χρησιμοποιηθεί σε querystrings το. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = The abbreviations do not always correspond with those proposed by the various editions of the Bible, because they would conflict with those proposed by other editions. +The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = Οι συντομογραφίες δεν αντιστοιχούν πάντα με αυτές που προτάθηκαν από τις διάφορες εκδόσεις της Βίβλου, διότι αυτοί θα ερχόταν σε αντίθεση με αυτές που υπεβλήθησαν από άλλες εκδόσεις. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = For example some english editions propose "Gn" as an abbreviation for "Genesis", while some italian editions propose "Gn" as an abbreviation for "Giona" (\= "Jonah"). +For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = Για παράδειγμα μερικές εκδόσεις Ελληνικά προτείνει «Γν» ως συντομογραφία για "Γένεση", ενώ μερικές ιταλικές εκδόσεις προτείνει «Γν» ως συντομογραφία για το «Giona» (\= "Γκιώνα"). # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Therefore you will not always be able to use the abbreviations proposed by any single edition of the Bible, you must use the abbreviations that are recognized by the BibleGet engine as listed in the following table\: +Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Ως εκ τούτου, σας δεν θα είναι πάντοτε σε θέση να χρησιμοποιήσει τις συντομογραφίες που προτείνεται από κάθε ενιαία έκδοση της Αγίας Γραφής, πρέπει να χρησιμοποιήσετε τις συντομογραφίες που αναγνωρίζονται από τον BibleGet κινητήρα που αναφέρονται στον παρακάτω πίνακα\: # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -BOOK = BOOK +BOOK = ΒΙΒΛΊΟ # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -ABBREVIATION = ABBREVIATION -Instructions = Instructions -Help = Help -You\ cannot\ send\ an\ empty\ query. = You cannot send an empty query. -Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Mixed notations have been detected. Please use either english notation or european notation. +ABBREVIATION = ΣΥΝΤΟΜΟΓΡΑΦΊΑ +Instructions = Οδηγίες +Help = Βοήθεια +You\ cannot\ send\ an\ empty\ query. = Δεν μπορείτε να στείλετε ένα κενό ερώτημα. +Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Μικτές σημειογραφίες έχουν ανιχνευθεί. Παρακαλούμε χρησιμοποιήστε είτε αγγλική σημειογραφία ή ευρωπαϊκή σημειογραφία. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = The first query <{0}> in the querystring <{1}> must start with a valid book indicator\! +The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = Το πρώτο ερώτημα <{0}> σε το querystring <{1}> πρέπει να ξεκινά με ένα δείκτη έγκυρη βιβλίο\! # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = The book indicator <{0}> in the query <{1}> is not valid. Please check the documentation for a list of valid book indicators. -You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = You must have a valid chapter following the book indicator\! -A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = A query that doesn't start with a book indicator must however start with a valid chapter indicator\! -You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = You cannot use a dot without first using a comma or a dash. A dot is a liason between verses, which are separated from the chapter by a comma. +The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = Ο δείκτης βιβλίο <{0}> στο ερώτημα <{1}> δεν είναι έγκυρη. Παρακαλούμε, ελέγξτε την τεκμηρίωση για μια λίστα δεικτών έγκυρη βιβλίο. +You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = Πρέπει να έχετε ένα έγκυρο κεφάλαιο μετά την ένδειξη βιβλίου\! +A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = Ένα ερώτημα δεν ξεκινά με έναν δείκτη βιβλίου αλλα πρέπει ωστόσο να ξεκινήσει με έναν έγκυρο δείκτη κεφαλαίου\! +You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = Δεν μπορείτε να χρησιμοποιήσετε μια κουκκίδα, χωρίς πρώτα να χρησιμοποιήσει ένα κόμμα ή μια παύλα. Μια κουκίδα είναι ένα σύνδεσμο μεταξύ στίχους, που χωρίζονται από το κεφάλαιο, από ένα κόμμα. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = Verses concatenated by a dot must be consecutive, instead <{0}> is greater than or equal to <{1}> in the expression <{2}> in the query <{3}> -A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dot must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. -A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A comma must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = Στίχοι συνεχόμενα από μια κουκίδα πρέπει να είναι συνεχόμενες, αντ ' αυτού <{0}> είναι μεγαλύτερη από ή ίση με <{1}> στην έκφραση <{2}> στο ερώτημα <{3}> +A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Μια τελεία πρέπει να προηγείται ακολουθούμενη από 1-3 ψηφία εκ των οποίων το πρώτο ψηφίο δεν μπορεί να είναι μηδέν. +A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Ένα κόμμα πρέπει να προηγείται ακολουθούμενο από 1 έως 3 ψηφία απο τα οποία το πρώτο ψηφίο δεν μπορεί να είναι μηδέν. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = A chapter in the query is out of bounds\: there is no chapter <{0}> in the book <{1}> in the requested version <{2}>, the last possible chapter is <{3}> -You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = You cannot have more than one comma and not have a dash\! -You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = You seem to have a malformed querystring, there should be only one dash. +A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = Ένα κεφάλαιο στο ερώτημα είναι εκτός ορίων\: υπάρχει κάποιο κεφάλαιο <{0}> στο βιβλίο <{1}> στην έκδοση που ζητήθηκε <{2}>, τελευταίο δυνατό κεφάλαιο είναι <{3}> +You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = Δεν μπορείτε να έχετε περισσότερα από ένα κόμματα και να μην έχετε μια παύλα\! +You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = Φαίνεται να έχετε μια ακατάλληλη συμβολοσειρά ερωτήματος, πρέπει να υπάρχει μόνο μία παύλα. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = A verse in the query is out of bounds\: there is no verse <{0}> in the book <{1}> at chapter <{2}> in the requested version <{3}>, the last possible verse is <{4}> -There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = There are multiple dashes in the query, but there are not enough dots. There can only be one more dash than dots. -A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dash must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. -If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = If there is a chapter-verse construct following a dash, there must also be a chapter-verse construct preceding the same dash. +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = Ένα στίχο στο ερώτημα είναι εκτός ορίων\: δεν το στίχο δεν <{0}> στο βιβλίο <{1}> στο κεφάλαιο <{2}> στην αιτούμενη έκδοση <{3}>, τον τελευταίο δυνατό στίχο είναι <{4}> +There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = Υπάρχουν πολλές παύλες στο ερώτημα, αλλά δεν υπάρχουν αρκετά σημεία. Μπορεί να υπάρχει μόνο μία ακόμη παύλα από τελείες. +A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Μια παύλα πρέπει να προηγείται ακολουθούμενη από 1 έως 3 ψηφία εκ των οποίων το πρώτο ψηφίο δεν μπορεί να είναι μηδέν. +If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = Αν υπάρχει μια δομή κεφαλαίου-στίχου μετά από μια παύλα, πρέπει επίσης να υπάρχει μια δομή κεφαλαίου-στίχου που προηγείται της ίδιας παύλας. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = Chapters must be consecutive. Instead the first chapter indicator <{0}> is greater than or equal to the second chapter indicator <{1}> in the expression <{2}> +Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = Κεφάλαια πρέπει να είναι συνεχόμενες. Αντίθετα η πρώτη ένδειξη κεφάλαιο <{0}> είναι μεγαλύτερο από ή ίσο με τον δεύτερο κεφάλαιο δείκτη <{1}> στην έκφραση <{2}> # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Verses (or chapters if applicable) around the dash operator must be consecutive. Instead <{0}> is greater than or equal to <{1}> in the expression <{2}> -Genesi = Genesi -In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth = In the beginning, when God created the heavens and the earth— -and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters = and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters— -Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Then God said\: Let there be light, and there was light. -User\ Preferences = User Preferences -Paragraph = Paragraph -Alignment = Alignment -Indent = Indent -Line-spacing = Line-spacing -Font = Font -Book\ /\ Chapter = Book / Chapter -Verse\ Number = Verse Number -Verse\ Text = Verse Text -Preview = Preview -line-spacing\ not\ visible\ in\ the\ preview = line-spacing not visible in the preview -Choose\ Book\ /\ Chapter\ Font\ Color = Choose Book / Chapter Font Color -Choose\ Book\ /\ Chapter\ Background\ Color = Choose Book / Chapter Background Color -Choose\ Verse\ Number\ Font\ Color = Choose Verse Number Font Color -Choose\ Verse\ Number\ Background\ Color = Choose Verse Number Background Color -Choose\ Verse\ Text\ Font\ Color = Choose Verse Text Font Color -Choose\ Verse\ Text\ Background\ Color = Choose Verse Text Background Color -Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting. = Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. -Override\ Bible\ Version\ Formatting = Override Bible Version Formatting \ No newline at end of file +Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Στίχοι (ή κεφάλαια κατά περίπτωση) γύρω από την εξόρμηση χειριστής πρέπει να είναι συνεχόμενες. Αντ ' αυτού <{0}> είναι μεγαλύτερη από ή ίση με <{1}> στην έκφραση <{2}> +Genesi = Γένεση +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth = Στην αρχή, όταν ο Θεός δημιούργησε τους ουρανούς και τη γη— +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters = και η γη ήταν χωρίς μορφή ή σχήμα, με το σκοτάδι πάνω από την άβυσσο και ένα ισχυρό άνεμο που σαρώνει πάνω από τα νερά— +Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Τότε ο Θεός είπε\: Γενηθήτω φως, και έγινε φως. +User\ Preferences = Προτιμήσεις χρήστη +Paragraph = Παράγραφο +Alignment = Ευθυγράμμιση +Indent = Περίπτωση +Line-spacing = Διάστιχου +Font = Γραμματοσειρά +Book\ /\ Chapter = Βιβλίο / κεφάλαιο +Verse\ Number = Αριθμός στίχο +Verse\ Text = Κείμενο του στίχο +Preview = Προεπισκόπηση +line-spacing\ not\ visible\ in\ the\ preview = διάστιχο δεν είναι ορατά στην προεπισκόπηση +Choose\ Book\ /\ Chapter\ Font\ Color = Επιλέξτε βιβλίο / χρώμα γραμματοσειράς κεφάλαιο +Choose\ Book\ /\ Chapter\ Background\ Color = Επιλέξτε βιβλίο / κεφάλαιο χρώμα φόντου +Choose\ Verse\ Number\ Font\ Color = Επιλέξτε το στίχο αριθμός χρώμα γραμματοσειράς +Choose\ Verse\ Number\ Background\ Color = Επιλέξετε το στίχο αριθμός χρώμα φόντου +Choose\ Verse\ Text\ Font\ Color = Επιλέξτε χρώμα γραμματοσειράς κειμένου στίχο +Choose\ Verse\ Text\ Background\ Color = Επιλέξτε το χρώμα φόντου κείμενο στίχο +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting. = Ορισμένες εκδόσεις της Βίβλου έχουν τη δική τους μορφοποίηση. Αυτό έχει απομείνει από προεπιλογή για να διατηρηθεί το κείμενο όσο το δυνατόν πιο κοντά στο πρωτότυπο.
Εάν, ωστόσο θα πρέπει να έχετε συνεπείς μορφοποίησης στο έγγραφό σας, μπορείτε να παρακάμψετε τη μορφοποίηση τη Γραφή του εκδοχή. +Override\ Bible\ Version\ Formatting = Αγνοήστε τη μορφοποίηση από την Αγία Γραφή Έκδοση \ No newline at end of file From d8d7b0edb672f320b04418b63c3eeb58c08cad8c Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Tue, 1 Sep 2015 19:03:53 +0200 Subject: [PATCH 24/33] Added polish and serbian translation resource files --- .../bibleget/resources/messages_pl.properties | 198 ++++++++++++++++++ .../bibleget/resources/messages_sr.properties | 198 ++++++++++++++++++ 2 files changed, 396 insertions(+) create mode 100644 src/io/bibleget/resources/messages_pl.properties create mode 100644 src/io/bibleget/resources/messages_sr.properties diff --git a/src/io/bibleget/resources/messages_pl.properties b/src/io/bibleget/resources/messages_pl.properties new file mode 100644 index 0000000..526e3ce --- /dev/null +++ b/src/io/bibleget/resources/messages_pl.properties @@ -0,0 +1,198 @@ +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = BibleGet I/O plugin for Open Office Writer +Version = Version +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = This plugin was developed by John R. D'Orazio, a priest in the diocese of Rome, chaplain at Roma Tre University. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = It is a part of the BibleGet Project at {0}. +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = The author would like to thank Giovanni Gregori and Simone Urbinati for their code contributions. +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = The BibleGet Project is an independent project born from the personal initiative of John R. D'Orazio, and is not funded by any kind of corporation. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = All of the expenses of the project server and domain, which amount to €200 a year, are accounted for personally by the author. All code contributions and development are entirely volunteered. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = If you like the plugin and find it useful, please consider contributing even a small amount to help keep this project running. Even just €1 can make a difference. You can contribute using the appropriate menu item in this plugin's menu. +About\ this\ plugin = About this plugin +Current\ information\ from\ the\ BibleGet\ Server\: = Current information from the BibleGet Server\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = The BibleGet database currently supports {0} versions of the Bible in {1} different languages\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = The BibleGet engine currently understands the names of the books of the Bible in {0} different languages\: +RENEW\ SERVER\ DATA = RENEW SERVER DATA +Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Type the desired Bible Quote using standard notation\: +(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (e.g. Mt 1,1-10.12-15;5,3-4;Jn 3,16) +Choose\ version\ (or\ versions) = Choose version (or versions) +Send\ query = Send query +Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Sends the request to the server and returns the results to the document. +Cancel = Cancel +You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = You must select at least one version in order to make a request. +There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = There was a problem communicating with the BibleGet server. Please try again. +Help\ for\ BibleGet\ (Open\ Office\ Writer) = Help for BibleGet (Open Office Writer) +This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = This Help dialog window introduces the user to the usage of the BibleGet I/O plugin for Open Office Writer. +The\ Help\ is\ divided\ into\ three\ sections\: = The Help is divided into three sections\: +Usage\ of\ the\ Plugin = Usage of the Plugin +Formulation\ of\ the\ Queries = Formulation of the Queries +Biblical\ Books\ and\ Abbreviations = Biblical Books and Abbreviations +AUTHOR = AUTHOR +John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = John R. D'Orazio (chaplain at Roma Tre University) +COLLABORATORS = COLLABORATORS +Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Giovanni Gregori (computing) and Simone Urbinati (MUG Roma Tre) +PROJECT\ WEBSITE = PROJECT WEBSITE +EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = EMAIL ADDRESS FOR INFORMATION OR FEEDBACK ON THE PROJECT +Insert\ quote\ from\ input\ window = Insert quote from input window +Insert\ quote\ from\ text\ selection = Insert quote from text selection +How\ to\ use\ the\ plugin = How to use the plugin +Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Description of the menu icons and their functionality. +Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Once the extension is installed, a new menu 'BibleGet I/O' will appear on the menu bar. Also a new floating toolbar will appear. The buttons on the floating toolbar correspond to the menu items in the new menu, as can be seen in this image\: +The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = The floating toolbar can be dragged and placed anywhere on the screen. It can also be docked to certain areas of the workspace, for example on the toolbar below the menu bar, like in this image\: +There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = There are two ways of inserting a bible quote into a document. +The\ first\ way\ is\ by\ using\ the\ input\ window. = The first way is by using the input window. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = If you click on the menu item ''{0}'', an input window will open where you can input your query and choose the version or versions you would like to take the quote from. +This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = This list of versions is updated from the available versions on the BibleGet server, but since the information is stored locally it may be necessary to renew the server information when new versions are added to the BibleGet server database. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = In order to renew the information from the BibleGet server, click on the ''{0}'' menu item, and then click on the button ''{1}''. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = When you choose a version or multiple versions to quote from, this choice is automatically saved as a preference, and will be pre-selected the next time you open the ''{0}'' menu item. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = The second way is by writing your desired quote directly in the document, and then selecting it and choosing the menu item ''{0}''. The selected text will be substituted by the Bible Quote retrieved from the BibleGet server. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = The versions previously selected in the ''{0}'' window will be used, so you must have selected your preferred versions at least once from the ''{0}'' window. +Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Formatting preferences can be set using the 'Preferences' window. You can choose the desired font for the Bible quotes as well as the desired line-spacing, and you can choose separate formatting (font size, font color, font style) for the book / chapter, for the verse numbers, and for the verse text. Preferences are saved automatically. +After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = After the 'Help' menu item that opens up this same help window, the last three menu items are\: +Send\ feedback = Send feedback +This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = This will open up your system's default email application with the bibleget.io@gmail.com feedback address already filled in. +Contribute = Contribute +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = This will open a Paypal page in the system's default browser where you can make a donation to contribute to the project. Even just €1 can help to cover the expenses of this project. Just the server costs €120 a year. +Information\ on\ the\ BibleGet\ I/O\ Project = Information on the BibleGet I/O Project +This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = This opens a dialog window with some information on the project and it's plugins, on the author and contributors, and on the current locally stored information about the versions and languages that the BibleGet server supports. +How\ to\ formulate\ a\ bible\ query = How to formulate a bible query +The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = The queries for bible quotes must be formulated using standard notation for bible citation. +# Fuzzy +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = This can be either the english notation (as explained here\: https\://en.wikipedia.org/wiki/Bible_citation), or the european notation as explained here below. +A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = A basic query consists of at least two elements\: the bible book and the chapter. +The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = The bible book can be written out in full, or in an abbreviated form. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = The BibleGet engine recognizes the names of the books of the bible in {0} different languages\: {1} +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = See the list of valid books and abbreviations in the section {0}. +For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = For example, the query "Matthew 1" means the book of Matthew (or better the gospel according to Matthew) at chapter 1. +This\ can\ also\ be\ written\ as\ "Mt\ 1". = This can also be written as "Mt 1". +Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Different combinations of books, chapters, and verses can be formed using the comma delimiter and the dot delimiter (in european notation, in english notation instead a colon is used instead of a comma and a comma is used instead of a dot)\: +","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: the comma is the chapter-verse delimiter. "Matthew 1,5" means the book (gospel) of Matthew, chapter 1, verse 5. (In English notation\: "Matthew 1\:5".) +"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: the dot is a delimiter between verses. "Matthew 1,5.7" means the book (gospel) of Matthew, chapter 1, verses 5 and 7. (In English notation\: "Matthew 1\:5,7".) +"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: the dash is a range delimiter, which can be used in a variety of ways\: +For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = For a range of chapters\: "Matthew 1-2" means the gospel according to Matthew, from chapter 1 to chapter 2. +For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = For a range of verses within the same chapter\: "Matthew 1,1-5" means the gospel according to Matthew, chapter 1, from verse 1 to verse 5. (In English notation\: "Matthew 1\:1-5".) +For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = For a range of verses that span over different chapters\: "Matthew 1,5-2,13" means the gospel according to Matthew, from chapter 1, verse 5 to chapter 2, verse 13. (In English notation\: "Matthew 1\:5-2\:13".) +Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Different combinations of these delimiters can form fairly complex queries, for example "Mt1,1-3.5.7-9" means the gospel according to Matthew, chapter 1, verses 1 to 3, verse 5, and verses 7 to 9. (In English notation\: "Mt1\:1-3,5,7-9".) +Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Multiple queries can be combined together using a semi-colon ";". +If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = If the query following the semi-colon refers to the same book as the preceding query, it is not necessary to indicate the book a second time. +For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = For example, "Matthew 1,1;2,13" means the gospel according to Matthew, chapter 1 verse 1 and chapter 2 verse 13. (In English notation\: "Matthew 1\:1;2\:13".) +Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Here is an example of multiple complex queries combined into a single querystring\: "Genesis 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse 3,10.12-14". (In English notation\: "Genesis 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse 3\:10,12-14"). +It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It doesn't matter whether or not you use a space between the book and the chapter, the querystring will be interpreted just the same. +It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It is also indifferent whether you use uppercase or lowercase letters, the querystring will be interpreted just the same. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Here is a list of valid books and their corresponding abbreviations, either of which can be used in the querystrings. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = The abbreviations do not always correspond with those proposed by the various editions of the Bible, because they would conflict with those proposed by other editions. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = For example some english editions propose "Gn" as an abbreviation for "Genesis", while some italian editions propose "Gn" as an abbreviation for "Giona" (\= "Jonah"). +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Therefore you will not always be able to use the abbreviations proposed by any single edition of the Bible, you must use the abbreviations that are recognized by the BibleGet engine as listed in the following table\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +BOOK = BOOK +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +ABBREVIATION = ABBREVIATION +Instructions = Instructions +Help = Help +You\ cannot\ send\ an\ empty\ query. = You cannot send an empty query. +Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Mixed notations have been detected. Please use either english notation or european notation. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = The first query <{0}> in the querystring <{1}> must start with a valid book indicator\! +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = The book indicator <{0}> in the query <{1}> is not valid. Please check the documentation for a list of valid book indicators. +You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = You must have a valid chapter following the book indicator\! +A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = A query that doesn't start with a book indicator must however start with a valid chapter indicator\! +You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = You cannot use a dot without first using a comma or a dash. A dot is a liason between verses, which are separated from the chapter by a comma. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = Verses concatenated by a dot must be consecutive, instead <{0}> is greater than or equal to <{1}> in the expression <{2}> in the query <{3}> +A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dot must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A comma must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = A chapter in the query is out of bounds\: there is no chapter <{0}> in the book <{1}> in the requested version <{2}>, the last possible chapter is <{3}> +You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = You cannot have more than one comma and not have a dash\! +You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = You seem to have a malformed querystring, there should be only one dash. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = A verse in the query is out of bounds\: there is no verse <{0}> in the book <{1}> at chapter <{2}> in the requested version <{3}>, the last possible verse is <{4}> +There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = There are multiple dashes in the query, but there are not enough dots. There can only be one more dash than dots. +A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dash must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = If there is a chapter-verse construct following a dash, there must also be a chapter-verse construct preceding the same dash. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = Chapters must be consecutive. Instead the first chapter indicator <{0}> is greater than or equal to the second chapter indicator <{1}> in the expression <{2}> +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Verses (or chapters if applicable) around the dash operator must be consecutive. Instead <{0}> is greater than or equal to <{1}> in the expression <{2}> +Genesi = Genesi +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth = In the beginning, when God created the heavens and the earth— +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters = and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters— +Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Then God said\: Let there be light, and there was light. +User\ Preferences = User Preferences +Paragraph = Paragraph +Alignment = Alignment +Indent = Indent +Line-spacing = Line-spacing +Font = Font +Book\ /\ Chapter = Book / Chapter +Verse\ Number = Verse Number +Verse\ Text = Verse Text +Preview = Preview +line-spacing\ not\ visible\ in\ the\ preview = line-spacing not visible in the preview +Choose\ Book\ /\ Chapter\ Font\ Color = Choose Book / Chapter Font Color +Choose\ Book\ /\ Chapter\ Background\ Color = Choose Book / Chapter Background Color +Choose\ Verse\ Number\ Font\ Color = Choose Verse Number Font Color +Choose\ Verse\ Number\ Background\ Color = Choose Verse Number Background Color +Choose\ Verse\ Text\ Font\ Color = Choose Verse Text Font Color +Choose\ Verse\ Text\ Background\ Color = Choose Verse Text Background Color +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting. = Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. +Override\ Bible\ Version\ Formatting = Override Bible Version Formatting \ No newline at end of file diff --git a/src/io/bibleget/resources/messages_sr.properties b/src/io/bibleget/resources/messages_sr.properties new file mode 100644 index 0000000..526e3ce --- /dev/null +++ b/src/io/bibleget/resources/messages_sr.properties @@ -0,0 +1,198 @@ +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = BibleGet I/O plugin for Open Office Writer +Version = Version +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = This plugin was developed by John R. D'Orazio, a priest in the diocese of Rome, chaplain at Roma Tre University. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = It is a part of the BibleGet Project at {0}. +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = The author would like to thank Giovanni Gregori and Simone Urbinati for their code contributions. +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = The BibleGet Project is an independent project born from the personal initiative of John R. D'Orazio, and is not funded by any kind of corporation. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = All of the expenses of the project server and domain, which amount to €200 a year, are accounted for personally by the author. All code contributions and development are entirely volunteered. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = If you like the plugin and find it useful, please consider contributing even a small amount to help keep this project running. Even just €1 can make a difference. You can contribute using the appropriate menu item in this plugin's menu. +About\ this\ plugin = About this plugin +Current\ information\ from\ the\ BibleGet\ Server\: = Current information from the BibleGet Server\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = The BibleGet database currently supports {0} versions of the Bible in {1} different languages\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = The BibleGet engine currently understands the names of the books of the Bible in {0} different languages\: +RENEW\ SERVER\ DATA = RENEW SERVER DATA +Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Type the desired Bible Quote using standard notation\: +(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (e.g. Mt 1,1-10.12-15;5,3-4;Jn 3,16) +Choose\ version\ (or\ versions) = Choose version (or versions) +Send\ query = Send query +Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Sends the request to the server and returns the results to the document. +Cancel = Cancel +You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = You must select at least one version in order to make a request. +There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = There was a problem communicating with the BibleGet server. Please try again. +Help\ for\ BibleGet\ (Open\ Office\ Writer) = Help for BibleGet (Open Office Writer) +This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = This Help dialog window introduces the user to the usage of the BibleGet I/O plugin for Open Office Writer. +The\ Help\ is\ divided\ into\ three\ sections\: = The Help is divided into three sections\: +Usage\ of\ the\ Plugin = Usage of the Plugin +Formulation\ of\ the\ Queries = Formulation of the Queries +Biblical\ Books\ and\ Abbreviations = Biblical Books and Abbreviations +AUTHOR = AUTHOR +John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = John R. D'Orazio (chaplain at Roma Tre University) +COLLABORATORS = COLLABORATORS +Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Giovanni Gregori (computing) and Simone Urbinati (MUG Roma Tre) +PROJECT\ WEBSITE = PROJECT WEBSITE +EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = EMAIL ADDRESS FOR INFORMATION OR FEEDBACK ON THE PROJECT +Insert\ quote\ from\ input\ window = Insert quote from input window +Insert\ quote\ from\ text\ selection = Insert quote from text selection +How\ to\ use\ the\ plugin = How to use the plugin +Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Description of the menu icons and their functionality. +Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Once the extension is installed, a new menu 'BibleGet I/O' will appear on the menu bar. Also a new floating toolbar will appear. The buttons on the floating toolbar correspond to the menu items in the new menu, as can be seen in this image\: +The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = The floating toolbar can be dragged and placed anywhere on the screen. It can also be docked to certain areas of the workspace, for example on the toolbar below the menu bar, like in this image\: +There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = There are two ways of inserting a bible quote into a document. +The\ first\ way\ is\ by\ using\ the\ input\ window. = The first way is by using the input window. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = If you click on the menu item ''{0}'', an input window will open where you can input your query and choose the version or versions you would like to take the quote from. +This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = This list of versions is updated from the available versions on the BibleGet server, but since the information is stored locally it may be necessary to renew the server information when new versions are added to the BibleGet server database. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = In order to renew the information from the BibleGet server, click on the ''{0}'' menu item, and then click on the button ''{1}''. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = When you choose a version or multiple versions to quote from, this choice is automatically saved as a preference, and will be pre-selected the next time you open the ''{0}'' menu item. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = The second way is by writing your desired quote directly in the document, and then selecting it and choosing the menu item ''{0}''. The selected text will be substituted by the Bible Quote retrieved from the BibleGet server. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = The versions previously selected in the ''{0}'' window will be used, so you must have selected your preferred versions at least once from the ''{0}'' window. +Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Formatting preferences can be set using the 'Preferences' window. You can choose the desired font for the Bible quotes as well as the desired line-spacing, and you can choose separate formatting (font size, font color, font style) for the book / chapter, for the verse numbers, and for the verse text. Preferences are saved automatically. +After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = After the 'Help' menu item that opens up this same help window, the last three menu items are\: +Send\ feedback = Send feedback +This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = This will open up your system's default email application with the bibleget.io@gmail.com feedback address already filled in. +Contribute = Contribute +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = This will open a Paypal page in the system's default browser where you can make a donation to contribute to the project. Even just €1 can help to cover the expenses of this project. Just the server costs €120 a year. +Information\ on\ the\ BibleGet\ I/O\ Project = Information on the BibleGet I/O Project +This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = This opens a dialog window with some information on the project and it's plugins, on the author and contributors, and on the current locally stored information about the versions and languages that the BibleGet server supports. +How\ to\ formulate\ a\ bible\ query = How to formulate a bible query +The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = The queries for bible quotes must be formulated using standard notation for bible citation. +# Fuzzy +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = This can be either the english notation (as explained here\: https\://en.wikipedia.org/wiki/Bible_citation), or the european notation as explained here below. +A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = A basic query consists of at least two elements\: the bible book and the chapter. +The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = The bible book can be written out in full, or in an abbreviated form. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = The BibleGet engine recognizes the names of the books of the bible in {0} different languages\: {1} +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = See the list of valid books and abbreviations in the section {0}. +For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = For example, the query "Matthew 1" means the book of Matthew (or better the gospel according to Matthew) at chapter 1. +This\ can\ also\ be\ written\ as\ "Mt\ 1". = This can also be written as "Mt 1". +Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Different combinations of books, chapters, and verses can be formed using the comma delimiter and the dot delimiter (in european notation, in english notation instead a colon is used instead of a comma and a comma is used instead of a dot)\: +","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: the comma is the chapter-verse delimiter. "Matthew 1,5" means the book (gospel) of Matthew, chapter 1, verse 5. (In English notation\: "Matthew 1\:5".) +"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: the dot is a delimiter between verses. "Matthew 1,5.7" means the book (gospel) of Matthew, chapter 1, verses 5 and 7. (In English notation\: "Matthew 1\:5,7".) +"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: the dash is a range delimiter, which can be used in a variety of ways\: +For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = For a range of chapters\: "Matthew 1-2" means the gospel according to Matthew, from chapter 1 to chapter 2. +For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = For a range of verses within the same chapter\: "Matthew 1,1-5" means the gospel according to Matthew, chapter 1, from verse 1 to verse 5. (In English notation\: "Matthew 1\:1-5".) +For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = For a range of verses that span over different chapters\: "Matthew 1,5-2,13" means the gospel according to Matthew, from chapter 1, verse 5 to chapter 2, verse 13. (In English notation\: "Matthew 1\:5-2\:13".) +Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Different combinations of these delimiters can form fairly complex queries, for example "Mt1,1-3.5.7-9" means the gospel according to Matthew, chapter 1, verses 1 to 3, verse 5, and verses 7 to 9. (In English notation\: "Mt1\:1-3,5,7-9".) +Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Multiple queries can be combined together using a semi-colon ";". +If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = If the query following the semi-colon refers to the same book as the preceding query, it is not necessary to indicate the book a second time. +For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = For example, "Matthew 1,1;2,13" means the gospel according to Matthew, chapter 1 verse 1 and chapter 2 verse 13. (In English notation\: "Matthew 1\:1;2\:13".) +Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Here is an example of multiple complex queries combined into a single querystring\: "Genesis 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse 3,10.12-14". (In English notation\: "Genesis 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse 3\:10,12-14"). +It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It doesn't matter whether or not you use a space between the book and the chapter, the querystring will be interpreted just the same. +It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It is also indifferent whether you use uppercase or lowercase letters, the querystring will be interpreted just the same. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Here is a list of valid books and their corresponding abbreviations, either of which can be used in the querystrings. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = The abbreviations do not always correspond with those proposed by the various editions of the Bible, because they would conflict with those proposed by other editions. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = For example some english editions propose "Gn" as an abbreviation for "Genesis", while some italian editions propose "Gn" as an abbreviation for "Giona" (\= "Jonah"). +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Therefore you will not always be able to use the abbreviations proposed by any single edition of the Bible, you must use the abbreviations that are recognized by the BibleGet engine as listed in the following table\: +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +BOOK = BOOK +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +ABBREVIATION = ABBREVIATION +Instructions = Instructions +Help = Help +You\ cannot\ send\ an\ empty\ query. = You cannot send an empty query. +Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Mixed notations have been detected. Please use either english notation or european notation. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = The first query <{0}> in the querystring <{1}> must start with a valid book indicator\! +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = The book indicator <{0}> in the query <{1}> is not valid. Please check the documentation for a list of valid book indicators. +You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = You must have a valid chapter following the book indicator\! +A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = A query that doesn't start with a book indicator must however start with a valid chapter indicator\! +You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = You cannot use a dot without first using a comma or a dash. A dot is a liason between verses, which are separated from the chapter by a comma. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = Verses concatenated by a dot must be consecutive, instead <{0}> is greater than or equal to <{1}> in the expression <{2}> in the query <{3}> +A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dot must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A comma must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = A chapter in the query is out of bounds\: there is no chapter <{0}> in the book <{1}> in the requested version <{2}>, the last possible chapter is <{3}> +You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = You cannot have more than one comma and not have a dash\! +You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = You seem to have a malformed querystring, there should be only one dash. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = A verse in the query is out of bounds\: there is no verse <{0}> in the book <{1}> at chapter <{2}> in the requested version <{3}>, the last possible verse is <{4}> +There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = There are multiple dashes in the query, but there are not enough dots. There can only be one more dash than dots. +A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dash must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = If there is a chapter-verse construct following a dash, there must also be a chapter-verse construct preceding the same dash. +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = Chapters must be consecutive. Instead the first chapter indicator <{0}> is greater than or equal to the second chapter indicator <{1}> in the expression <{2}> +# TRANSLATORS: This message is used by MessageFormat, make sure that +# translations +# double up any single quotes or apostrophes. +Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Verses (or chapters if applicable) around the dash operator must be consecutive. Instead <{0}> is greater than or equal to <{1}> in the expression <{2}> +Genesi = Genesi +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth = In the beginning, when God created the heavens and the earth— +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters = and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters— +Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Then God said\: Let there be light, and there was light. +User\ Preferences = User Preferences +Paragraph = Paragraph +Alignment = Alignment +Indent = Indent +Line-spacing = Line-spacing +Font = Font +Book\ /\ Chapter = Book / Chapter +Verse\ Number = Verse Number +Verse\ Text = Verse Text +Preview = Preview +line-spacing\ not\ visible\ in\ the\ preview = line-spacing not visible in the preview +Choose\ Book\ /\ Chapter\ Font\ Color = Choose Book / Chapter Font Color +Choose\ Book\ /\ Chapter\ Background\ Color = Choose Book / Chapter Background Color +Choose\ Verse\ Number\ Font\ Color = Choose Verse Number Font Color +Choose\ Verse\ Number\ Background\ Color = Choose Verse Number Background Color +Choose\ Verse\ Text\ Font\ Color = Choose Verse Text Font Color +Choose\ Verse\ Text\ Background\ Color = Choose Verse Text Background Color +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting. = Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. +Override\ Bible\ Version\ Formatting = Override Bible Version Formatting \ No newline at end of file From 7941f3321dcac7d40d4e86abd1952e9a15c34148 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Tue, 1 Sep 2015 19:06:41 +0200 Subject: [PATCH 25/33] Update messages_pl.properties (POEditor.com) --- .../bibleget/resources/messages_pl.properties | 255 +++++++++--------- 1 file changed, 127 insertions(+), 128 deletions(-) diff --git a/src/io/bibleget/resources/messages_pl.properties b/src/io/bibleget/resources/messages_pl.properties index 526e3ce..504d864 100644 --- a/src/io/bibleget/resources/messages_pl.properties +++ b/src/io/bibleget/resources/messages_pl.properties @@ -1,198 +1,197 @@ -BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = BibleGet I/O plugin for Open Office Writer -Version = Version -This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = This plugin was developed by John R. D'Orazio, a priest in the diocese of Rome, chaplain at Roma Tre University. +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = Wtyczki we/wy BibleGet dla Open Office Writer +Version = Wersja +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = Ten plugin został opracowany przez John R. D'Orazio, ksiądz w diecezji rzymskiej, kapelanem Uniwersytetu Roma Tre. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = It is a part of the BibleGet Project at {0}. -The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = The author would like to thank Giovanni Gregori and Simone Urbinati for their code contributions. -The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = The BibleGet Project is an independent project born from the personal initiative of John R. D'Orazio, and is not funded by any kind of corporation. -All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = All of the expenses of the project server and domain, which amount to €200 a year, are accounted for personally by the author. All code contributions and development are entirely volunteered. -If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = If you like the plugin and find it useful, please consider contributing even a small amount to help keep this project running. Even just €1 can make a difference. You can contribute using the appropriate menu item in this plugin's menu. -About\ this\ plugin = About this plugin -Current\ information\ from\ the\ BibleGet\ Server\: = Current information from the BibleGet Server\: +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = Jest częścią Projektu BibleGet w {0}. +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = Autor pragnie podziękować Giovanni Gregori i Simone Urbinati na ich wkład do kodu. +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = Projekt BibleGet jest niezależnym projektem ur z własna inicjatywa John R. D'Orazio i nie jest finansowany przez wszelkiego rodzaju korporacji. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = Wszystkie koszty projektu serwera i domeny, które wynoszą €200 rocznie, księguje się osobiście przez autora. Wszystkie składki kod i rozwoju są całkowicie dobrowolnie. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = Jeśli lubisz plugin i przydatne, należy rozważyć przyczyniając się nawet niewielkiej ilości wobec współpracownik utrzymywać ten projekt uruchomiony. Nawet tylko €1 może zrobić różnicę. Możesz przyczynić się przy użyciu odpowiedniego menu pozycja w menu tej wtyczki. +About\ this\ plugin = O ten plugin +Current\ information\ from\ the\ BibleGet\ Server\: = Aktualne informacje z serwera BibleGet\: # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = The BibleGet database currently supports {0} versions of the Bible in {1} different languages\: +The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = Silnik BibleGet I/O obecnie obsługuje wersje {0} Biblii w różnych językach {1} # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = The BibleGet engine currently understands the names of the books of the Bible in {0} different languages\: -RENEW\ SERVER\ DATA = RENEW SERVER DATA -Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Type the desired Bible Quote using standard notation\: -(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (e.g. Mt 1,1-10.12-15;5,3-4;Jn 3,16) -Choose\ version\ (or\ versions) = Choose version (or versions) -Send\ query = Send query -Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Sends the request to the server and returns the results to the document. -Cancel = Cancel -You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = You must select at least one version in order to make a request. -There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = There was a problem communicating with the BibleGet server. Please try again. -Help\ for\ BibleGet\ (Open\ Office\ Writer) = Help for BibleGet (Open Office Writer) -This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = This Help dialog window introduces the user to the usage of the BibleGet I/O plugin for Open Office Writer. -The\ Help\ is\ divided\ into\ three\ sections\: = The Help is divided into three sections\: -Usage\ of\ the\ Plugin = Usage of the Plugin -Formulation\ of\ the\ Queries = Formulation of the Queries -Biblical\ Books\ and\ Abbreviations = Biblical Books and Abbreviations -AUTHOR = AUTHOR -John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = John R. D'Orazio (chaplain at Roma Tre University) -COLLABORATORS = COLLABORATORS -Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Giovanni Gregori (computing) and Simone Urbinati (MUG Roma Tre) -PROJECT\ WEBSITE = PROJECT WEBSITE -EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = EMAIL ADDRESS FOR INFORMATION OR FEEDBACK ON THE PROJECT -Insert\ quote\ from\ input\ window = Insert quote from input window -Insert\ quote\ from\ text\ selection = Insert quote from text selection -How\ to\ use\ the\ plugin = How to use the plugin -Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Description of the menu icons and their functionality. -Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Once the extension is installed, a new menu 'BibleGet I/O' will appear on the menu bar. Also a new floating toolbar will appear. The buttons on the floating toolbar correspond to the menu items in the new menu, as can be seen in this image\: -The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = The floating toolbar can be dragged and placed anywhere on the screen. It can also be docked to certain areas of the workspace, for example on the toolbar below the menu bar, like in this image\: -There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = There are two ways of inserting a bible quote into a document. -The\ first\ way\ is\ by\ using\ the\ input\ window. = The first way is by using the input window. +The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = Silnik BibleGet I/O obecnie rozpoznaje nazwy ksiąg biblijnych w {0} różnych językach\: +RENEW\ SERVER\ DATA = ODNOWIĆ DANYCH SERWERA +Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Wpisz żądaną Biblii cytat za pomocą standardowej notacji\: +(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (np. Mt 1,1-10.12-15; 5,3-4; J 3,16) +Choose\ version\ (or\ versions) = Wybierz wersję (lub wersje) +Send\ query = Wyślij zapytanie +Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Wysyła żądanie do serwera i zwraca wyniki do dokumentu. +Cancel = Anuluj +You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = Aby złożyć wniosek należy wybrać co najmniej jedną wersję. +There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = Wystąpił błąd podczas komunikacji z serwerem BibleGet, poczekaj kilka minut i spróbuj ponownie. +Help\ for\ BibleGet\ (Open\ Office\ Writer) = Pomoc dla BibleGet (Open Office Writer) +This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = To okno dialogowe pomocy wprowadza użytkownika do użycia wtyczki BibleGet I/O dla Open Office Writer. +The\ Help\ is\ divided\ into\ three\ sections\: = Pomoc jest podzielony na trzy sekcje\: +Usage\ of\ the\ Plugin = Użycie wtyczki +Formulation\ of\ the\ Queries = Formułowania kwerend +Biblical\ Books\ and\ Abbreviations = Księgi biblijne i skróty +AUTHOR = AUTOR +John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = John R. D'Orazio (kapelan Uniwersytetu Roma Tre) +COLLABORATORS = WSPÓŁPRACOWNICY +Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Giovanni Gregori (informatyka) i Simone Urbinati (MUG Roma Tre) +PROJECT\ WEBSITE = STRONA INTERNETOWA PROJEKTU +EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = ADRES E-MAIL DLA INFORMACJI LUB OPINII NA TEMAT PROJEKTU +Insert\ quote\ from\ input\ window = Wstaw cytat z okna wejściowego +Insert\ quote\ from\ text\ selection = Wstaw cytat z tekstu wybór +How\ to\ use\ the\ plugin = Jak korzystać z wtyczki +Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Opis ikony menu i ich funkcjonalność. +Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Po zainstalowaniu rozszerzenia, nowe menu 'BibleGet I/O' pojawi się na pasku menu. Także pojawią się nowe przestawny pasek narzędzi. Przyciski na pasku narzędzi pływających odnoszą się do elementów menu w menu Nowy, równie mogą być widział w ten obraz\: +The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = Przestawny pasek narzędzi może być przeciągany i umieszczone w dowolnym miejscu na ekranie. To może też być zadokowany na niektórych częściach obszaru roboczego, na przykład na pasku poniżej paska menu, jak w ten obraz\: +There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = Istnieją dwa sposoby wstawiania Biblii cytat w dokumencie. +The\ first\ way\ is\ by\ using\ the\ input\ window. = Pierwszy sposób jest za pomocą okna wejściowego. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = If you click on the menu item ''{0}'', an input window will open where you can input your query and choose the version or versions you would like to take the quote from. -This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = This list of versions is updated from the available versions on the BibleGet server, but since the information is stored locally it may be necessary to renew the server information when new versions are added to the BibleGet server database. +If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = Kliknięcie na element menu ''{0}'', wprowadzania okno zostanie otwarte, gdzie można wpisać zapytanie i wybrać wersję lub wersji, którą chcesz wziąć cytat z. +This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = Lista wersji jest aktualizowana z wersje dostępne na serwerze BibleGet, ale ponieważ dane są przechowywane lokalnie może być konieczne do odnowienia Informacje o serwerze, gdy nowe wersje są dodawane do bazy danych serwera BibleGet. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = In order to renew the information from the BibleGet server, click on the ''{0}'' menu item, and then click on the button ''{1}''. +In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = Aby odnowić informacje z serwera BibleGet, kliknij na element ''{0}'' menu, a następnie kliknij na przycisk "{1}". # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = When you choose a version or multiple versions to quote from, this choice is automatically saved as a preference, and will be pre-selected the next time you open the ''{0}'' menu item. +When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = Po wybraniu wersji lub wielu wersji cytat z, ten wybór jest automatycznie zapisywany jako preferencji i będą wybrane przy następnym otwarciu elementu menu ''{0}''. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = The second way is by writing your desired quote directly in the document, and then selecting it and choosing the menu item ''{0}''. The selected text will be substituted by the Bible Quote retrieved from the BibleGet server. +The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = Drugim sposobem jest pisanie pożądanego cytat bezpośrednio w dokumencie i następnie zaznaczając go i wybranie elementu menu ''{0}''. Zaznaczony tekst zostanie zastąpiony przez Biblii cytat pobierane z serwera BibleGet. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = The versions previously selected in the ''{0}'' window will be used, so you must have selected your preferred versions at least once from the ''{0}'' window. -Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Formatting preferences can be set using the 'Preferences' window. You can choose the desired font for the Bible quotes as well as the desired line-spacing, and you can choose separate formatting (font size, font color, font style) for the book / chapter, for the verse numbers, and for the verse text. Preferences are saved automatically. -After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = After the 'Help' menu item that opens up this same help window, the last three menu items are\: -Send\ feedback = Send feedback -This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = This will open up your system's default email application with the bibleget.io@gmail.com feedback address already filled in. -Contribute = Contribute -This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = This will open a Paypal page in the system's default browser where you can make a donation to contribute to the project. Even just €1 can help to cover the expenses of this project. Just the server costs €120 a year. -Information\ on\ the\ BibleGet\ I/O\ Project = Information on the BibleGet I/O Project -This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = This opens a dialog window with some information on the project and it's plugins, on the author and contributors, and on the current locally stored information about the versions and languages that the BibleGet server supports. -How\ to\ formulate\ a\ bible\ query = How to formulate a bible query -The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = The queries for bible quotes must be formulated using standard notation for bible citation. -# Fuzzy -This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = This can be either the english notation (as explained here\: https\://en.wikipedia.org/wiki/Bible_citation), or the european notation as explained here below. -A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = A basic query consists of at least two elements\: the bible book and the chapter. -The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = The bible book can be written out in full, or in an abbreviated form. +The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = Wersje wcześniej wybrane w oknie ''{0}'' będą używane, więc musi wybrano preferowanej wersji co najmniej raz w oknie ''{0}''. +Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Preferencje formatowania można ustawić za pomocą okna 'Preferencje'. Można wybrać żądaną czcionkę Cytaty biblijne, jak również pożądane Interlinia, i można wybrać oddzielne formatowanie (rozmiar czcionki, kolor czcionki, styl czcionki) książki / rozdział, werset numery, a wiersz tekstu. Ustawienia są zapisywane automatycznie. +After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = Po element menu 'Pomoc', który otwiera ten sam okno pomocy trzy ostatnie pozycje są\: +Send\ feedback = Wyślij opinię +This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = Ten wola otworzyć się twój system domyślnej aplikacji e-mail z adresem opinii bibleget.io@gmail.com już wypełnione. +Contribute = Przyczynić się +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = To otworzy stronę Paypal w domyślnej przeglądarce gdzie można dokonać wpłaty na rzecz projektu. Nawet tylko €1 może przyczynić się do pokrycia kosztów tego projektu. Po prostu serwer kosztuje €120 rocznie. +Information\ on\ the\ BibleGet\ I/O\ Project = Informacje o projekcie BibleGet I/O +This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = Spowoduje to otwarcie okna dialogowego z niektórych informacji na temat projektu i jest wtyczek, autor i współpracowników i na prąd lokalnie przechowywane informacje o wersji i języków obsługiwanych przez serwer BibleGet. +How\ to\ formulate\ a\ bible\ query = Jak formułować zapytanie Biblii +The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = Kwerendy dla biblijne Cytaty muszą być sformułowane w standardowej notacji dla Biblii cytat. +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = Może to być albo angielskiej notacji (jak wyjaśniono tutaj\: https\://en.wikipedia.org/wiki/Bible_citation), lub Europejskiego notacji jak wyjaśniono poniżej. +A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = Kwerenda podstawowa składa się z co najmniej dwóch elementów\: księgi Biblii i rozdział. +The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = Księdze Biblii może być rozpisane w całości, lub w formie skróconej. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = The BibleGet engine recognizes the names of the books of the bible in {0} different languages\: {1} +The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = Silnik BibleGet I/O obecnie rozpoznaje nazwy ksiąg biblijnych w {0} różnych językach\: {1} # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = See the list of valid books and abbreviations in the section {0}. -For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = For example, the query "Matthew 1" means the book of Matthew (or better the gospel according to Matthew) at chapter 1. -This\ can\ also\ be\ written\ as\ "Mt\ 1". = This can also be written as "Mt 1". -Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Different combinations of books, chapters, and verses can be formed using the comma delimiter and the dot delimiter (in european notation, in english notation instead a colon is used instead of a comma and a comma is used instead of a dot)\: -","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: the comma is the chapter-verse delimiter. "Matthew 1,5" means the book (gospel) of Matthew, chapter 1, verse 5. (In English notation\: "Matthew 1\:5".) -"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: the dot is a delimiter between verses. "Matthew 1,5.7" means the book (gospel) of Matthew, chapter 1, verses 5 and 7. (In English notation\: "Matthew 1\:5,7".) -"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: the dash is a range delimiter, which can be used in a variety of ways\: -For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = For a range of chapters\: "Matthew 1-2" means the gospel according to Matthew, from chapter 1 to chapter 2. -For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = For a range of verses within the same chapter\: "Matthew 1,1-5" means the gospel according to Matthew, chapter 1, from verse 1 to verse 5. (In English notation\: "Matthew 1\:1-5".) -For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = For a range of verses that span over different chapters\: "Matthew 1,5-2,13" means the gospel according to Matthew, from chapter 1, verse 5 to chapter 2, verse 13. (In English notation\: "Matthew 1\:5-2\:13".) -Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Different combinations of these delimiters can form fairly complex queries, for example "Mt1,1-3.5.7-9" means the gospel according to Matthew, chapter 1, verses 1 to 3, verse 5, and verses 7 to 9. (In English notation\: "Mt1\:1-3,5,7-9".) -Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Multiple queries can be combined together using a semi-colon ";". -If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = If the query following the semi-colon refers to the same book as the preceding query, it is not necessary to indicate the book a second time. -For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = For example, "Matthew 1,1;2,13" means the gospel according to Matthew, chapter 1 verse 1 and chapter 2 verse 13. (In English notation\: "Matthew 1\:1;2\:13".) -Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Here is an example of multiple complex queries combined into a single querystring\: "Genesis 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse 3,10.12-14". (In English notation\: "Genesis 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse 3\:10,12-14"). -It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It doesn't matter whether or not you use a space between the book and the chapter, the querystring will be interpreted just the same. -It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It is also indifferent whether you use uppercase or lowercase letters, the querystring will be interpreted just the same. +See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = Zobacz listę ważnych książek i skróty w sekcji {0}. +For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = Na przykład, kwerenda "Mateusz 1" oznacza książki Matthew (lub lepiej Ewangelii według Mateusz) w rozdziale 1. +This\ can\ also\ be\ written\ as\ "Mt\ 1". = To również może być zapisany jako "Mt 1". +Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Różne kombinacje książek, rozdziały i wersety mogą być tworzone przy użyciu rozdzielający przecinek i kropka ogranicznik (w notacji europejskich, w angielskiej notacji zamiast dwukropka jest używany zamiast przecinka i przecinek jest używany zamiast kropki)\: +","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: przecinek jest ogranicznik rozdział werset. "Mateusz 1,5" oznacza książki Mateusz, rozdział 1, werset 5 (Ewangelii). (W zapisie angielskim\: "Mateusz 1\:5".) +"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: kropka jest ogranicznik między wersy. "Mateusz 1,5.7" oznacza księgi (Ewangelii) Mateusz , rozdział 1, wersety 5 i 7. (W zapisie angielskim\: "Mateusz 1\:5, 7".) +"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: kreska jest ogranicznika zakresu, które mogą być używane na różne sposoby\: +For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = Na szereg rozdziałów\: "Mateusz 1-2" oznacza Ewangelii według Mateusz, z rozdziału 1, rozdział 2. +For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = Dla wielu wersetów w obrębie samego rozdziału\: "Mateusz 1,1-5" oznacza Ewangelii według Mateusz, rozdział 1, od zwrotka 1 do werset 5. (W zapisie angielskim\: "Mateusz 1\:1-5".) +For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = Dla wielu wersetów, które obejmują ponad różnych rozdziałów\: "Mateusz 1,5-zdolność przewozowa 2,13" oznacza Ewangelii według Mateusz, z rozdziału 1, werset 5 do rozdziału 2, wiersz 13. (W zapisie angielskim\: "Mateusz 1\:5-2\:13".) +Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Różne kombinacje tych ograniczników mogą stanowić dość skomplikowane kwerendy, na przykład "Mt1, 1-3.5.7-9" oznacza Ewangelii według Mateusz, rozdział 1, wersety 1 do 3, werset 5 i wersety 7-9. (W zapisie angielskim\: "Mt1\:1-3,5,7-9".) +Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Wiele kwerendy mogą być połączone ze sobą za pomocą średnik ";". +If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = Jeśli kwerendy po średnik odnosi się do tej samej książki jako poprzedniej kwerendy, nie jest konieczne wskazanie książki po raz drugi. +For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = Na przykład "Mateusz 1,1; 2,13" oznacza Ewangelii według Mateusz, rozdział 1 werset 1 i rozdziale 2 werset 13. (W zapisie angielskim\: "Mateusz 1\:1; 2\:13".) +Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Oto przykład wielu złożonych kwerend połączone w jeden querystring\: "Genesis 1,3-5.7.9-11.13, 2,4-9.11-13; Apokalipsa 3,10.12-14 ". (W zapisie angielskim\: "Genesis 1\:3-5,7,9-11,13; 2\:4-9,11-13; Apokalipsa 3\:10, 12-14"). +It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = Nie ma znaczenia, czy nie można używać spacji między książki i rozdziału, będzie tak samo interpretowany querystring. +It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = Również jest obojętne, czy używać wielkich liter lub małymi literami, kolekcja querystring będzie tak samo interpretowany. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Here is a list of valid books and their corresponding abbreviations, either of which can be used in the querystrings. +Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Oto lista ważnych książek i ich odpowiednie skróty, albo które mogą być używane w querystrings. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = The abbreviations do not always correspond with those proposed by the various editions of the Bible, because they would conflict with those proposed by other editions. +The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = Skróty nie zawsze odpowiadają te zaproponowane przez różne wydania Biblii, bo byłoby sprzeczne z tych proponowanych przez inne wersje. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = For example some english editions propose "Gn" as an abbreviation for "Genesis", while some italian editions propose "Gn" as an abbreviation for "Giona" (\= "Jonah"). +For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = Na przykład niektóre angielskie wersje zaproponować "Gn" jako skrót dla "Genesis", chociaż niektóre wersje włoski zaproponować "Gn", jako skrót do "Giona" (\= "Jonasz"). # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Therefore you will not always be able to use the abbreviations proposed by any single edition of the Bible, you must use the abbreviations that are recognized by the BibleGet engine as listed in the following table\: +Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Dlatego nie zawsze będzie można używać skrótów proponowanych przez jakiekolwiek pojedyncze wydanie Biblii, należy użyć skrótów, które są rozpoznawane przez aparat BibleGet, wymienione w poniższej tabeli\: # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -BOOK = BOOK +BOOK = KSIĄŻKI # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -ABBREVIATION = ABBREVIATION -Instructions = Instructions -Help = Help -You\ cannot\ send\ an\ empty\ query. = You cannot send an empty query. -Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Mixed notations have been detected. Please use either english notation or european notation. +ABBREVIATION = SKRÓT +Instructions = Instrukcje +Help = Pomoc +You\ cannot\ send\ an\ empty\ query. = Nie możesz wysłać pustego zapytania. +Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Zostały wykryte mieszane zapisy. Proszę użyć zapis angielski lub zapis europejski. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = The first query <{0}> in the querystring <{1}> must start with a valid book indicator\! +The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = Pierwsze zapytanie <{0}> w ciągu kwerendy <{1}> musi zaczynać się od ważnego wskaźnika książki\! # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = The book indicator <{0}> in the query <{1}> is not valid. Please check the documentation for a list of valid book indicators. -You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = You must have a valid chapter following the book indicator\! -A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = A query that doesn't start with a book indicator must however start with a valid chapter indicator\! -You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = You cannot use a dot without first using a comma or a dash. A dot is a liason between verses, which are separated from the chapter by a comma. +The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = Wskaźnik książki <{0}> <{1}> nie jest ważny. Proszę sprawdzić dokumentację listy ważnych wskaźników książki. +You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = Musisz mieć ważny rozdział książki po wskaźniku\! +A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = Zapytanie, które nie rozpoczyna się ze wskaźnikiem książki musi jednak zacząć się z ważnym wskaźnikiem rozdziału\! +You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = Nie można używać kropki bez uprzedniego użycia przecinka lub myślnik. Kropka jest łącznik między wersety, które są oddzielone przecinkami z rozdziału. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = Verses concatenated by a dot must be consecutive, instead <{0}> is greater than or equal to <{1}> in the expression <{2}> in the query <{3}> -A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dot must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. -A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A comma must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = Wersety połączone myślnikiem muszą następować kolejno, natomiast <{0}> jest większy lub równy <{1}> w wyrażeniu <{2}> <{3}> +A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Kropka musi być poprzedzona oraz zakończona od 1 do 3 cyfr, z których pierwsza cyfra nie może być zerowa. +A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Przecinek musi być poprzedzony oraz zakończony od 1 do 3 cyfr, z których pierwsza cyfra nie może być zerowa. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = A chapter in the query is out of bounds\: there is no chapter <{0}> in the book <{1}> in the requested version <{2}>, the last possible chapter is <{3}> -You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = You cannot have more than one comma and not have a dash\! -You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = You seem to have a malformed querystring, there should be only one dash. +A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = Rozdział w zapytaniu jest poza zakresem\: nie ma rozdziału <{0}> w książce <{1}> w zapytanej wersji <{2}>, ostatni możliwy rozdział to <{3}> +You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = Nie można postawić więcej niż jeden przecinek bez myślnika\! +You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = Wydaje się ze masz nieprawidłowo utworzony ciąg kwerendy, powinien być tylko jeden myślnik. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = A verse in the query is out of bounds\: there is no verse <{0}> in the book <{1}> at chapter <{2}> in the requested version <{3}>, the last possible verse is <{4}> -There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = There are multiple dashes in the query, but there are not enough dots. There can only be one more dash than dots. -A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dash must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. -If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = If there is a chapter-verse construct following a dash, there must also be a chapter-verse construct preceding the same dash. +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = Werset w zapytaniu jest poza zakresem\: nie ma wersu <{0}> w książce <{1}> w rozdziale <{2}> w zapytanej wersji <{3}>, ostatni możliwy wers to <{4}> +There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = Istnieje wiele myślnikow w zapytaniu, ale nie ma wystarczającej liczby kropek. Może być tylko jeden myślnik wiecej niż kropek. +A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Myślnik musi być poprzedzony oraz zakończony od 1 do 3 cyfr, z których pierwsza cyfra nie może być zerowa. +If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = Jeśli jest konstruktem rozdział-wers następujący po myślniku, musi być również konstruktem rozdział-wers poprzedzający sam myślnik. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = Chapters must be consecutive. Instead the first chapter indicator <{0}> is greater than or equal to the second chapter indicator <{1}> in the expression <{2}> +Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = Rozdziały muszą być kolejne. Natomiast pierwszy wskaźnik rozdziału <{0}> jest większy lub równy drugiemu wskaźnikowi rozdziału <{1}> w wyrażeniu <{2}> # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Verses (or chapters if applicable) around the dash operator must be consecutive. Instead <{0}> is greater than or equal to <{1}> in the expression <{2}> +Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Wersety połączone myślnikiem muszą następować kolejno, natomiast <{0}> jest większy lub równy <{1}> w wyrażeniu <{2}> Genesi = Genesi -In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth = In the beginning, when God created the heavens and the earth— -and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters = and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters— -Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Then God said\: Let there be light, and there was light. -User\ Preferences = User Preferences -Paragraph = Paragraph -Alignment = Alignment -Indent = Indent -Line-spacing = Line-spacing -Font = Font -Book\ /\ Chapter = Book / Chapter -Verse\ Number = Verse Number -Verse\ Text = Verse Text -Preview = Preview -line-spacing\ not\ visible\ in\ the\ preview = line-spacing not visible in the preview -Choose\ Book\ /\ Chapter\ Font\ Color = Choose Book / Chapter Font Color -Choose\ Book\ /\ Chapter\ Background\ Color = Choose Book / Chapter Background Color -Choose\ Verse\ Number\ Font\ Color = Choose Verse Number Font Color -Choose\ Verse\ Number\ Background\ Color = Choose Verse Number Background Color -Choose\ Verse\ Text\ Font\ Color = Choose Verse Text Font Color -Choose\ Verse\ Text\ Background\ Color = Choose Verse Text Background Color -Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting. = Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. -Override\ Bible\ Version\ Formatting = Override Bible Version Formatting \ No newline at end of file +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth = Na początku, gdy Bóg stworzył niebo i ziemię +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters = a ziemia była bezładem i kształcie, z ciemności nad przepaścią i potężnego wiatru przetacza się nad wodami +Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Wtedy Bóg rzekł\: «Niechaj się stanie światłość\!» I stała się światłość. +User\ Preferences = Preferencje użytkownika +Paragraph = Ust. +Alignment = Wyrównanie +Indent = Wcięcie +Line-spacing = Odstęp między wierszami +Font = Czcionka +Book\ /\ Chapter = Książki / rozdział +Verse\ Number = Liczba wierszy +Verse\ Text = Wiersz tekstu +Preview = Podgląd +line-spacing\ not\ visible\ in\ the\ preview = Interlinia nie są widoczne na podglądzie obrazu +Choose\ Book\ /\ Chapter\ Font\ Color = Wybierz książki / rozdział Font Color +Choose\ Book\ /\ Chapter\ Background\ Color = Wybierz książki / rozdział kolor tła +Choose\ Verse\ Number\ Font\ Color = Wybierz kolor czcionki werset +Choose\ Verse\ Number\ Background\ Color = Wybierz kolor tła werset +Choose\ Verse\ Text\ Font\ Color = Wybierz kolor czcionki tekstu werset +Choose\ Verse\ Text\ Background\ Color = Wybierz kolor tła tekstu werset +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting. = Niektóre wersje Biblii mają własne formatowanie. To pozostaje domyślnie zachować tekst jak najbliżej oryginału. Największa Jeśli jednak musisz mieć spójnego formatowania w dokumencie, możesz zastąpić własne formatowanie wersji Biblii. +Override\ Bible\ Version\ Formatting = Przestawianie Biblii Wersja formatowanie \ No newline at end of file From aa903ba8f238a6e51dcf63663a0160298758b5d4 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Tue, 1 Sep 2015 19:06:43 +0200 Subject: [PATCH 26/33] Update messages_sr.properties (POEditor.com) --- .../bibleget/resources/messages_sr.properties | 257 +++++++++--------- 1 file changed, 128 insertions(+), 129 deletions(-) diff --git a/src/io/bibleget/resources/messages_sr.properties b/src/io/bibleget/resources/messages_sr.properties index 526e3ce..ac5061f 100644 --- a/src/io/bibleget/resources/messages_sr.properties +++ b/src/io/bibleget/resources/messages_sr.properties @@ -1,198 +1,197 @@ -BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = BibleGet I/O plugin for Open Office Writer -Version = Version -This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = This plugin was developed by John R. D'Orazio, a priest in the diocese of Rome, chaplain at Roma Tre University. +BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer = БиблеГет И / О плугин за Опен Оффице Вритер +Version = Верзија +This\ plugin\ was\ developed\ by\ John\ R.\ D'Orazio,\ a\ priest\ in\ the\ diocese\ of\ Rome,\ chaplain\ at\ Roma\ Tre\ University. = Овај плугин је развијен од стране <б> Јохн Р. Д'Оразио , свештеник у епархији Рима, капелан на Рома Тре Университи. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = It is a part of the BibleGet Project at {0}. -The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = The author would like to thank Giovanni Gregori and Simone Urbinati for their code contributions. -The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = The BibleGet Project is an independent project born from the personal initiative of John R. D'Orazio, and is not funded by any kind of corporation. -All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = All of the expenses of the project server and domain, which amount to €200 a year, are accounted for personally by the author. All code contributions and development are entirely volunteered. -If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = If you like the plugin and find it useful, please consider contributing even a small amount to help keep this project running. Even just €1 can make a difference. You can contribute using the appropriate menu item in this plugin's menu. -About\ this\ plugin = About this plugin -Current\ information\ from\ the\ BibleGet\ Server\: = Current information from the BibleGet Server\: +It\ is\ a\ part\ of\ the\ BibleGet\ Project\ at\ {0}. = То је део <б> БиблеГет Пројецт на {0}. +The\ author\ would\ like\ to\ thank\ Giovanni\ Gregori\ and\ Simone\ Urbinati\ for\ their\ code\ contributions. = Аутор жели да се захвали <б> Гиованни Грегори и <б> Симона Урбинати за своје код доприноса. +The\ BibleGet\ Project\ is\ an\ independent\ project\ born\ from\ the\ personal\ initiative\ of\ John\ R.\ D'Orazio,\ and\ is\ not\ funded\ by\ any\ kind\ of\ corporation. = <Б> БиблеГет Пројекат је независна пројекат рођен из личну иницијативу Јохн Р. Д'Оразио, и не финансира било какве корпорације. +All\ of\ the\ expenses\ of\ the\ project\ server\ and\ domain,\ which\ amount\ to\ €200\ a\ year,\ are\ accounted\ for\ personally\ by\ the\ author.\ All\ code\ contributions\ and\ development\ are\ entirely\ volunteered. = Све трошкове сервера пројекта и домен, који износи 200 € годишње, обрачунавају се лично аутор. Сви доприноси код и развој у потпуности добровољно. +If\ you\ like\ the\ plugin\ and\ find\ it\ useful,\ please\ consider\ contributing\ even\ a\ small\ amount\ to\ help\ keep\ this\ project\ running.\ Even\ just\ €1\ can\ make\ a\ difference.\ You\ can\ contribute\ using\ the\ appropriate\ menu\ item\ in\ this\ plugin's\ menu. = Ако вам се свиђа плугин и сматрати корисним, молимо вас да размислите доприноси Чак и мала количина би вам помогли да овај пројекат ради. Чак и само € 1 може да направи разлику. Можете допринети коришћењем одговарајућег ставку у менију овог додатка је. +About\ this\ plugin = О овој плугин +Current\ information\ from\ the\ BibleGet\ Server\: = Актуелне информације из БиблеГет Сервер\: # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = The BibleGet database currently supports {0} versions of the Bible in {1} different languages\: +The\ BibleGet\ database\ currently\ supports\ {0}\ versions\ of\ the\ Bible\ in\ {1}\ different\ languages\: = BibleGet I/O trenutno podržava {0} verzije Biblije na {1} različitih jezika. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = The BibleGet engine currently understands the names of the books of the Bible in {0} different languages\: -RENEW\ SERVER\ DATA = RENEW SERVER DATA -Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Type the desired Bible Quote using standard notation\: -(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (e.g. Mt 1,1-10.12-15;5,3-4;Jn 3,16) -Choose\ version\ (or\ versions) = Choose version (or versions) -Send\ query = Send query -Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Sends the request to the server and returns the results to the document. -Cancel = Cancel -You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = You must select at least one version in order to make a request. -There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = There was a problem communicating with the BibleGet server. Please try again. -Help\ for\ BibleGet\ (Open\ Office\ Writer) = Help for BibleGet (Open Office Writer) -This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = This Help dialog window introduces the user to the usage of the BibleGet I/O plugin for Open Office Writer. -The\ Help\ is\ divided\ into\ three\ sections\: = The Help is divided into three sections\: -Usage\ of\ the\ Plugin = Usage of the Plugin -Formulation\ of\ the\ Queries = Formulation of the Queries -Biblical\ Books\ and\ Abbreviations = Biblical Books and Abbreviations -AUTHOR = AUTHOR -John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = John R. D'Orazio (chaplain at Roma Tre University) -COLLABORATORS = COLLABORATORS -Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Giovanni Gregori (computing) and Simone Urbinati (MUG Roma Tre) -PROJECT\ WEBSITE = PROJECT WEBSITE -EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = EMAIL ADDRESS FOR INFORMATION OR FEEDBACK ON THE PROJECT -Insert\ quote\ from\ input\ window = Insert quote from input window -Insert\ quote\ from\ text\ selection = Insert quote from text selection -How\ to\ use\ the\ plugin = How to use the plugin -Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Description of the menu icons and their functionality. -Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Once the extension is installed, a new menu 'BibleGet I/O' will appear on the menu bar. Also a new floating toolbar will appear. The buttons on the floating toolbar correspond to the menu items in the new menu, as can be seen in this image\: -The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = The floating toolbar can be dragged and placed anywhere on the screen. It can also be docked to certain areas of the workspace, for example on the toolbar below the menu bar, like in this image\: -There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = There are two ways of inserting a bible quote into a document. -The\ first\ way\ is\ by\ using\ the\ input\ window. = The first way is by using the input window. +The\ BibleGet\ engine\ currently\ understands\ the\ names\ of\ the\ books\ of\ the\ Bible\ in\ {0}\ different\ languages\: = BibleGet I/O trenutno prepoznaje nazive knjiga u Bibliji na {0} različitih jezika\: +RENEW\ SERVER\ DATA = РЕНЕВ Сервер Дата +Type\ the\ desired\ Bible\ Quote\ using\ standard\ notation\: = Унесите жељени Библе Куоте користећи стандардну нотацију\: +(e.g.\ Mt\ 1,1-10.12-15;5,3-4;Jn\ 3,16) = (нпр мт 1,1-10.12-15; 5,3-4; Јован 3,16) +Choose\ version\ (or\ versions) = Одаберите верзију (или верзије) +Send\ query = Пошаљи упит +Sends\ the\ request\ to\ the\ server\ and\ returns\ the\ results\ to\ the\ document. = Шаље захтев серверу и враћа резултате у документу. +Cancel = Отказати +You\ must\ select\ at\ least\ one\ version\ in\ order\ to\ make\ a\ request. = Морате изабрати најмање једну верзију како би захтев. +There\ was\ a\ problem\ communicating\ with\ the\ BibleGet\ server.\ Please\ try\ again. = Došlo je do greške prilikom komuniciranja sa BibleGet serverom, sačekajte nekoliko minuta i pokušajte ponovo. +Help\ for\ BibleGet\ (Open\ Office\ Writer) = Помоћ за БиблеГет (Опен Оффице Вритер) +This\ Help\ dialog\ window\ introduces\ the\ user\ to\ the\ usage\ of\ the\ BibleGet\ I/O\ plugin\ for\ Open\ Office\ Writer. = Овај дијалог прозор за помоћ уводи корисника на кориштењу БиблеГет И / О плугин за Опен Оффице Вритер. +The\ Help\ is\ divided\ into\ three\ sections\: = Помоћ је подељена у три дела\: +Usage\ of\ the\ Plugin = Употреба на Плугин +Formulation\ of\ the\ Queries = Формулација упита +Biblical\ Books\ and\ Abbreviations = Библијске Књиге и скраћенице +AUTHOR = АУТОР +John\ R.\ D'Orazio\ (chaplain\ at\ Roma\ Tre\ University) = Џон Р. Д'Оразио (капелан у Рома Тре Университи) +COLLABORATORS = САРАДНИЦИ +Giovanni\ Gregori\ (computing)\ and\ Simone\ Urbinati\ (MUG\ Roma\ Tre) = Ђовани Грегори (рачунарство) и Симоне Урбинати (МУГ Рома Тре) +PROJECT\ WEBSITE = ПРОЈЕКАТ САЈТ +EMAIL\ ADDRESS\ FOR\ INFORMATION\ OR\ FEEDBACK\ ON\ THE\ PROJECT = МАИЛ АДРЕСА ЗА ИНФОРМАЦИЈЕ ИЛИ повратне информације о ПРОЈЕКТА +Insert\ quote\ from\ input\ window = Убаците цитат из улазног прозора +Insert\ quote\ from\ text\ selection = Убаците цитат из текста избор +How\ to\ use\ the\ plugin = Како користити плугин +Description\ of\ the\ menu\ icons\ and\ their\ functionality. = Опис икона менија и њихове функционалности. +Once\ the\ extension\ is\ installed,\ a\ new\ menu\ 'BibleGet\ I/O'\ will\ appear\ on\ the\ menu\ bar.\ Also\ a\ new\ floating\ toolbar\ will\ appear.\ The\ buttons\ on\ the\ floating\ toolbar\ correspond\ to\ the\ menu\ items\ in\ the\ new\ menu,\ as\ can\ be\ seen\ in\ this\ image\: = Када је инсталиран проширење, нови мени "БиблеГет И / О" ће се појавити на траци менија. Такође, нови плутајући алаткама ће се појавити. Тастери на плутајући палети одговарају ставке менија у новом менију, као што се види на овој слици\: +The\ floating\ toolbar\ can\ be\ dragged\ and\ placed\ anywhere\ on\ the\ screen.\ It\ can\ also\ be\ docked\ to\ certain\ areas\ of\ the\ workspace,\ for\ example\ on\ the\ toolbar\ below\ the\ menu\ bar,\ like\ in\ this\ image\: = Плутајућа трака са алаткама може да се вукао и поставити било где на екрану. Такође се може пристао на одређене области радног простора, на пример, на палети испод менија, као на овој слици\: +There\ are\ two\ ways\ of\ inserting\ a\ bible\ quote\ into\ a\ document. = Постоје два начина за убацивање Библија цитат у документу. +The\ first\ way\ is\ by\ using\ the\ input\ window. = Први начин је помоћу прозор за унос. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = If you click on the menu item ''{0}'', an input window will open where you can input your query and choose the version or versions you would like to take the quote from. -This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = This list of versions is updated from the available versions on the BibleGet server, but since the information is stored locally it may be necessary to renew the server information when new versions are added to the BibleGet server database. +If\ you\ click\ on\ the\ menu\ item\ ''{0}'',\ an\ input\ window\ will\ open\ where\ you\ can\ input\ your\ query\ and\ choose\ the\ version\ or\ versions\ you\ would\ like\ to\ take\ the\ quote\ from. = Ако кликнете на ставку менија '' {0} '', улаз прозор за отвориће где можете унети упит и изабрати верзију или верзије које желите да се цитат из. +This\ list\ of\ versions\ is\ updated\ from\ the\ available\ versions\ on\ the\ BibleGet\ server,\ but\ since\ the\ information\ is\ stored\ locally\ it\ may\ be\ necessary\ to\ renew\ the\ server\ information\ when\ new\ versions\ are\ added\ to\ the\ BibleGet\ server\ database. = Ова листа верзија се ажурира из расположивих верзије на БиблеГет серверу, али пошто се информације чувају локално може бити неопходно да се обнови информације о серверу када нове верзије се додају на сервер базе података БиблеГет. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = In order to renew the information from the BibleGet server, click on the ''{0}'' menu item, and then click on the button ''{1}''. +In\ order\ to\ renew\ the\ information\ from\ the\ BibleGet\ server,\ click\ on\ the\ ''{0}''\ menu\ item,\ and\ then\ click\ on\ the\ button\ ''{1}''. = У циљу обнове информације из БиблеГет сервер, кликните на '' {0} '' ставке менија, а затим кликните на дугме '' {1} ''. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = When you choose a version or multiple versions to quote from, this choice is automatically saved as a preference, and will be pre-selected the next time you open the ''{0}'' menu item. +When\ you\ choose\ a\ version\ or\ multiple\ versions\ to\ quote\ from,\ this\ choice\ is\ automatically\ saved\ as\ a\ preference,\ and\ will\ be\ pre-selected\ the\ next\ time\ you\ open\ the\ ''{0}''\ menu\ item. = Када изаберете верзију или више верзија цитирао, овај избор се аутоматски чувају као предност, и да ће бити унапред изабрани следећи пут када отворите '' {0} '' ставку менија. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = The second way is by writing your desired quote directly in the document, and then selecting it and choosing the menu item ''{0}''. The selected text will be substituted by the Bible Quote retrieved from the BibleGet server. +The\ second\ way\ is\ by\ writing\ your\ desired\ quote\ directly\ in\ the\ document,\ and\ then\ selecting\ it\ and\ choosing\ the\ menu\ item\ ''{0}''.\ The\ selected\ text\ will\ be\ substituted\ by\ the\ Bible\ Quote\ retrieved\ from\ the\ BibleGet\ server. = Други начин је пишући свој жељени цитат директно у документу, а затим га изаберете и одабиром опције менија '' {0} ''. Изабрани текст ће бити замењен од стране Библе Цитат преузимају са БиблеГет сервера. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = The versions previously selected in the ''{0}'' window will be used, so you must have selected your preferred versions at least once from the ''{0}'' window. -Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Formatting preferences can be set using the 'Preferences' window. You can choose the desired font for the Bible quotes as well as the desired line-spacing, and you can choose separate formatting (font size, font color, font style) for the book / chapter, for the verse numbers, and for the verse text. Preferences are saved automatically. -After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = After the 'Help' menu item that opens up this same help window, the last three menu items are\: -Send\ feedback = Send feedback -This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = This will open up your system's default email application with the bibleget.io@gmail.com feedback address already filled in. -Contribute = Contribute -This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = This will open a Paypal page in the system's default browser where you can make a donation to contribute to the project. Even just €1 can help to cover the expenses of this project. Just the server costs €120 a year. -Information\ on\ the\ BibleGet\ I/O\ Project = Information on the BibleGet I/O Project -This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = This opens a dialog window with some information on the project and it's plugins, on the author and contributors, and on the current locally stored information about the versions and languages that the BibleGet server supports. -How\ to\ formulate\ a\ bible\ query = How to formulate a bible query -The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = The queries for bible quotes must be formulated using standard notation for bible citation. -# Fuzzy -This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = This can be either the english notation (as explained here\: https\://en.wikipedia.org/wiki/Bible_citation), or the european notation as explained here below. -A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = A basic query consists of at least two elements\: the bible book and the chapter. -The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = The bible book can be written out in full, or in an abbreviated form. +The\ versions\ previously\ selected\ in\ the\ ''{0}''\ window\ will\ be\ used,\ so\ you\ must\ have\ selected\ your\ preferred\ versions\ at\ least\ once\ from\ the\ ''{0}''\ window. = Тхе верзије претходно изабрани у '' {0} '' прозор ће се користити, тако да морате да изаберете жељене верзије најмање једном од '' {0} '' прозору. +Formatting\ preferences\ can\ be\ set\ using\ the\ 'Preferences'\ window.\ You\ can\ choose\ the\ desired\ font\ for\ the\ Bible\ quotes\ as\ well\ as\ the\ desired\ line-spacing,\ and\ you\ can\ choose\ separate\ formatting\ (font\ size,\ font\ color,\ font\ style)\ for\ the\ book\ /\ chapter,\ for\ the\ verse\ numbers,\ and\ for\ the\ verse\ text.\ Preferences\ are\ saved\ automatically. = Форматирање подешавања се могу подесити користећи прозор "Преференцес. Можете одабрати жељени фонт за Библија цитира као жељену линију размака, а можете одабрати посебан форматирање (величину фонта, боју фонта, стил фонта) за књигу / поглавља, за стих бројева, као и за стиху текст. Приоритети се аутоматски чувају. +After\ the\ 'Help'\ menu\ item\ that\ opens\ up\ this\ same\ help\ window,\ the\ last\ three\ menu\ items\ are\: = Након 'хелп' менија који отвара ту исту помоћ прозор, у последње три ставке менија су\: +Send\ feedback = Pošalji povratne informacije +This\ will\ open\ up\ your\ system's\ default\ email\ application\ with\ the\ bibleget.io@gmail.com\ feedback\ address\ already\ filled\ in. = Ово ће отворити подразумевани емаил апликацију вашег система са повратним библегет.ио@гмаил.цом~~ХЕАД\=побј адресу већ уписаним. +Contribute = Цонтрибуте +This\ will\ open\ a\ Paypal\ page\ in\ the\ system's\ default\ browser\ where\ you\ can\ make\ a\ donation\ to\ contribute\ to\ the\ project.\ Even\ just\ €1\ can\ help\ to\ cover\ the\ expenses\ of\ this\ project.\ Just\ the\ server\ costs\ €120\ a\ year. = Ово ће отворити Паипал страну у систему је подразумевани претраживач, где можете да дате донацију да допринесе пројекту. Чак и само € 1 може помоћи да се покрије трошкове овог пројекта. Само сервер кошта € 120 годишње. +Information\ on\ the\ BibleGet\ I/O\ Project = Информације о БиблеГет И / О пројекту +This\ opens\ a\ dialog\ window\ with\ some\ information\ on\ the\ project\ and\ it's\ plugins,\ on\ the\ author\ and\ contributors,\ and\ on\ the\ current\ locally\ stored\ information\ about\ the\ versions\ and\ languages\ that\ the\ BibleGet\ server\ supports. = Овај отвара прозор неке информације о пројекту и то је плугин, о аутору и његовим сарадницима, а на тренутној локално сачуваних података о верзијама и језика да БиблеГет сервер подржава. +How\ to\ formulate\ a\ bible\ query = Како да формулише Библију упит +The\ queries\ for\ bible\ quotes\ must\ be\ formulated\ using\ standard\ notation\ for\ bible\ citation. = Упити за Библе Куотес мора бити формулисан коришћењем стандардне запис за библија цитирања. +This\ can\ be\ either\ the\ english\ notation\ (as\ explained\ here\:\ https\://en.wikipedia.org/wiki/Bible_citation),\ or\ the\ european\ notation\ as\ explained\ here\ below. = Ово може бити или енглеском нотација (као што је објашњено овде\: хттпс\://ен.википедиа.орг/вики/Библе_цитатион), или европски нотација као што је објашњено у наставку. +A\ basic\ query\ consists\ of\ at\ least\ two\ elements\:\ the\ bible\ book\ and\ the\ chapter. = Основни упит се састоји од најмање два елемента\: Библија књиге и поглавља. +The\ bible\ book\ can\ be\ written\ out\ in\ full,\ or\ in\ an\ abbreviated\ form. = Библија књига може бити написан у целости, или у скраћеном облику. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = The BibleGet engine recognizes the names of the books of the bible in {0} different languages\: {1} +The\ BibleGet\ engine\ recognizes\ the\ names\ of\ the\ books\ of\ the\ bible\ in\ {0}\ different\ languages\:\ {1} = BibleGet I/O trenutno prepoznaje nazive knjiga u Bibliji na {0} različitih jezika\: {1} # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = See the list of valid books and abbreviations in the section {0}. -For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = For example, the query "Matthew 1" means the book of Matthew (or better the gospel according to Matthew) at chapter 1. -This\ can\ also\ be\ written\ as\ "Mt\ 1". = This can also be written as "Mt 1". -Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Different combinations of books, chapters, and verses can be formed using the comma delimiter and the dot delimiter (in european notation, in english notation instead a colon is used instead of a comma and a comma is used instead of a dot)\: -","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: the comma is the chapter-verse delimiter. "Matthew 1,5" means the book (gospel) of Matthew, chapter 1, verse 5. (In English notation\: "Matthew 1\:5".) -"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: the dot is a delimiter between verses. "Matthew 1,5.7" means the book (gospel) of Matthew, chapter 1, verses 5 and 7. (In English notation\: "Matthew 1\:5,7".) -"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: the dash is a range delimiter, which can be used in a variety of ways\: -For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = For a range of chapters\: "Matthew 1-2" means the gospel according to Matthew, from chapter 1 to chapter 2. -For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = For a range of verses within the same chapter\: "Matthew 1,1-5" means the gospel according to Matthew, chapter 1, from verse 1 to verse 5. (In English notation\: "Matthew 1\:1-5".) -For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = For a range of verses that span over different chapters\: "Matthew 1,5-2,13" means the gospel according to Matthew, from chapter 1, verse 5 to chapter 2, verse 13. (In English notation\: "Matthew 1\:5-2\:13".) -Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Different combinations of these delimiters can form fairly complex queries, for example "Mt1,1-3.5.7-9" means the gospel according to Matthew, chapter 1, verses 1 to 3, verse 5, and verses 7 to 9. (In English notation\: "Mt1\:1-3,5,7-9".) -Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Multiple queries can be combined together using a semi-colon ";". -If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = If the query following the semi-colon refers to the same book as the preceding query, it is not necessary to indicate the book a second time. -For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = For example, "Matthew 1,1;2,13" means the gospel according to Matthew, chapter 1 verse 1 and chapter 2 verse 13. (In English notation\: "Matthew 1\:1;2\:13".) -Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Here is an example of multiple complex queries combined into a single querystring\: "Genesis 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse 3,10.12-14". (In English notation\: "Genesis 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse 3\:10,12-14"). -It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It doesn't matter whether or not you use a space between the book and the chapter, the querystring will be interpreted just the same. -It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = It is also indifferent whether you use uppercase or lowercase letters, the querystring will be interpreted just the same. +See\ the\ list\ of\ valid\ books\ and\ abbreviations\ in\ the\ section\ {0}. = Погледајте списак важећих књига и скраћеница у одељку {0}. +For\ example,\ the\ query\ "Matthew\ 1"\ means\ the\ book\ of\ Matthew\ (or\ better\ the\ gospel\ according\ to\ Matthew)\ at\ chapter\ 1. = На пример, упит "Матеј 1" означава књигу по Матеју (или боље Јеванђеља по Матеју) у поглављу 1. +This\ can\ also\ be\ written\ as\ "Mt\ 1". = То такође може бити написан као "МТ 1". +Different\ combinations\ of\ books,\ chapters,\ and\ verses\ can\ be\ formed\ using\ the\ comma\ delimiter\ and\ the\ dot\ delimiter\ (in\ european\ notation,\ in\ english\ notation\ instead\ a\ colon\ is\ used\ instead\ of\ a\ comma\ and\ a\ comma\ is\ used\ instead\ of\ a\ dot)\: = Различите комбинације књига, поглавља и стихове може да се формира помоћу зарезом гранианик и дот гранианик (у европским запису, ау енглисх нотацији уместо дебелог црева се користи уместо зарезом и зарез се користи уместо тачком)\: +","\:\ the\ comma\ is\ the\ chapter-verse\ delimiter.\ "Matthew\ 1,5"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:5".) = ","\: Зарез је поглавље-стих граничник. "Матеј 1,5" подразумева књигу (Госпел) по Матеју, поглавље 1, стих 5. (на енглеском ознакама\: "Матеј 1\: 5".) +"."\:\ the\ dot\ is\ a\ delimiter\ between\ verses.\ "Matthew\ 1,5.7"\ means\ the\ book\ (gospel)\ of\ Matthew,\ chapter\ 1,\ verses\ 5\ and\ 7.\ (In\ English\ notation\:\ "Matthew\ 1\:5,7".) = "."\: Дот је граничник између стихова. "Матеј 1,5.7" означава књигу (Госпел) по Матеју, поглавље 1, стихови 5 и 7. (на енглеском ознакама\: "Матеј 1\: 5,7".) +"-"\:\ the\ dash\ is\ a\ range\ delimiter,\ which\ can\ be\ used\ in\ a\ variety\ of\ ways\: = "-"\: Црта је распон граничник, који се може користити на различите начине\: +For\ a\ range\ of\ chapters\:\ "Matthew\ 1-2"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1\ to\ chapter\ 2. = За низ поглавља\: ​​"Матеј 1-2" значи Јеванђеље по Матеју, од поглавља 1 до поглавља 2. +For\ a\ range\ of\ verses\ within\ the\ same\ chapter\:\ "Matthew\ 1,1-5"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ from\ verse\ 1\ to\ verse\ 5.\ (In\ English\ notation\:\ "Matthew\ 1\:1-5".) = За низа стихова у истом поглављу\: "Матеј 1,1-5" значи Јеванђеље по Матеју, поглавље 1, од стиха до стиха 1 5. (на енглеском језику нотацији\: "Матеј 1\: 1-5".) +For\ a\ range\ of\ verses\ that\ span\ over\ different\ chapters\:\ "Matthew\ 1,5-2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ from\ chapter\ 1,\ verse\ 5\ to\ chapter\ 2,\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:5-2\:13".) = За низ стихова, који би обухватали у различитим поглављима\: "Матеј 1,5-2,13" значи Јеванђеље по Матеју, из поглавља 1, стих 5 до поглављу 2, стих 13. (Ин Енглисх ознакама\: "Матеј 1\: 5-2\: 13 "). +Different\ combinations\ of\ these\ delimiters\ can\ form\ fairly\ complex\ queries,\ for\ example\ "Mt1,1-3.5.7-9"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1,\ verses\ 1\ to\ 3,\ verse\ 5,\ and\ verses\ 7\ to\ 9.\ (In\ English\ notation\:\ "Mt1\:1-3,5,7-9".) = Различите комбинације ових делимитерс могу да формирају прилично сложене упите, на пример "Мт1,1-3.5.7-9" значи Јеванђеље по Матеју, поглавље 1, стихови 1 до 3, Стих 5, а стихови 7 до 9. (У Енглески нотација\: "МТ1\: 1-3,5,7-9".) +Multiple\ queries\ can\ be\ combined\ together\ using\ a\ semi-colon\ ";". = Више упити могу се комбиновати заједно користећи тачка зарез ";". +If\ the\ query\ following\ the\ semi-colon\ refers\ to\ the\ same\ book\ as\ the\ preceding\ query,\ it\ is\ not\ necessary\ to\ indicate\ the\ book\ a\ second\ time. = Уколико се овај упит након тачка зарез односи на исте књиге као и претходне упита, није потребно да укаже на књигу по други пут. +For\ example,\ "Matthew\ 1,1;2,13"\ means\ the\ gospel\ according\ to\ Matthew,\ chapter\ 1\ verse\ 1\ and\ chapter\ 2\ verse\ 13.\ (In\ English\ notation\:\ "Matthew\ 1\:1;2\:13".) = На пример, "Матеј 1,1; 2,13" значи Јеванђеље по Матеју, поглавље 1 стих 1 и поглавље 2 стих 13. (Ин Енглисх ознакама\: "Матеј 1\: 1; 2\: 13".) +Here\ is\ an\ example\ of\ multiple\ complex\ queries\ combined\ into\ a\ single\ querystring\:\ "Genesis\ 1,3-5.7.9-11.13;2,4-9.11-13;Apocalypse\ 3,10.12-14".\ (In\ English\ notation\:\ "Genesis\ 1\:3-5,7,9-11,13;2\:4-9,11-13;Apocalypse\ 3\:10,12-14"). = Овде је пример вишеструких комплексних упита комбинованих у једној Куеристринг\: "Постанак 1,3-5.7.9-11.13; 2,4-9.11-13; Апокалипса 3,10.12-14". (Ин Енглисх ознакама\: "Постанак 1\: 3-5,7,9-11,13; 2\: 4-9,11-13; Апоцалипсе 3\: 10,12-14"). +It\ doesn't\ matter\ whether\ or\ not\ you\ use\ a\ space\ between\ the\ book\ and\ the\ chapter,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = Није битно да ли или не да користите размак између књиге и поглавља, Куеристринг ће се тумачити исто. +It\ is\ also\ indifferent\ whether\ you\ use\ uppercase\ or\ lowercase\ letters,\ the\ querystring\ will\ be\ interpreted\ just\ the\ same. = Такође је равнодушан да ли користите велика или мала слова, Куеристринг ће се тумачити исто. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Here is a list of valid books and their corresponding abbreviations, either of which can be used in the querystrings. +Here\ is\ a\ list\ of\ valid\ books\ and\ their\ corresponding\ abbreviations,\ either\ of\ which\ can\ be\ used\ in\ the\ querystrings. = Прегледајте је листа важећих књига и њиховим одговарајућим скраћеница, од којих је било се могу користити у куеристрингс. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = The abbreviations do not always correspond with those proposed by the various editions of the Bible, because they would conflict with those proposed by other editions. +The\ abbreviations\ do\ not\ always\ correspond\ with\ those\ proposed\ by\ the\ various\ editions\ of\ the\ Bible,\ because\ they\ would\ conflict\ with\ those\ proposed\ by\ other\ editions. = Скраћенице не увек одговарају онима предлажу различите издања Библије, јер би у супротности са онима предлаже другим издањима. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = For example some english editions propose "Gn" as an abbreviation for "Genesis", while some italian editions propose "Gn" as an abbreviation for "Giona" (\= "Jonah"). +For\ example\ some\ english\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Genesis",\ while\ some\ italian\ editions\ propose\ "Gn"\ as\ an\ abbreviation\ for\ "Giona"\ (\=\ "Jonah"). = На пример, неки енглески издања предлаже "ГН" као скраћеница за "Генесис", док су неки италијански издања предлажу "гн" као скраћеница за "Гиона" (\= "Јонах"). # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Therefore you will not always be able to use the abbreviations proposed by any single edition of the Bible, you must use the abbreviations that are recognized by the BibleGet engine as listed in the following table\: +Therefore\ you\ will\ not\ always\ be\ able\ to\ use\ the\ abbreviations\ proposed\ by\ any\ single\ edition\ of\ the\ Bible,\ you\ must\ use\ the\ abbreviations\ that\ are\ recognized\ by\ the\ BibleGet\ engine\ as\ listed\ in\ the\ following\ table\: = Зато нећете увек бити у могућности да користе скраћенице предложене од стране било ког појединачног издање Библије, морате користити скраћенице које су признате од стране БиблеГет мотора како је наведено у следећој табели\: # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -BOOK = BOOK +BOOK = КЊИГА # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -ABBREVIATION = ABBREVIATION -Instructions = Instructions -Help = Help -You\ cannot\ send\ an\ empty\ query. = You cannot send an empty query. -Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Mixed notations have been detected. Please use either english notation or european notation. +ABBREVIATION = СКРАЋЕНИЦА +Instructions = Инструкције +Help = Упомоћ +You\ cannot\ send\ an\ empty\ query. = Ne možete poslati prazan upit. +Mixed\ notations\ have\ been\ detected.\ Please\ use\ either\ english\ notation\ or\ european\ notation. = Otkriveni su pomešani načini obeležavanja. Koristite ili engleski ili evropski način obležavanja. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = The first query <{0}> in the querystring <{1}> must start with a valid book indicator\! +The\ first\ query\ <{0}>\ in\ the\ querystring\ <{1}>\ must\ start\ with\ a\ valid\ book\ indicator\! = Prvi upit <{0}> u nizu upita <{1}> mora početi važećim indikatorom knjige\! # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = The book indicator <{0}> in the query <{1}> is not valid. Please check the documentation for a list of valid book indicators. -You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = You must have a valid chapter following the book indicator\! -A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = A query that doesn't start with a book indicator must however start with a valid chapter indicator\! -You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = You cannot use a dot without first using a comma or a dash. A dot is a liason between verses, which are separated from the chapter by a comma. +The\ book\ indicator\ <{0}>\ in\ the\ query\ <{1}>\ is\ not\ valid.\ Please\ check\ the\ documentation\ for\ a\ list\ of\ valid\ book\ indicators. = Knjizi <{0}> u upitu <{1}> je nevažeći. Molimo provjerite dokumentaciju za popis validni knjige. +You\ must\ have\ a\ valid\ chapter\ following\ the\ book\ indicator\! = Morate imati važeće poglavlje u skladu sa indikatorom knjige\! +A\ query\ that\ doesn't\ start\ with\ a\ book\ indicator\ must\ however\ start\ with\ a\ valid\ chapter\ indicator\! = Upit koji ne počinje indikatorom knjige mora početi važećim indikatorom poglavlja\! +You\ cannot\ use\ a\ dot\ without\ first\ using\ a\ comma\ or\ a\ dash.\ A\ dot\ is\ a\ liason\ between\ verses,\ which\ are\ separated\ from\ the\ chapter\ by\ a\ comma. = Ne možete koristiti tačku ako pre nje niste koristili zarez. Tačka je veza između stihova koji su od poglavlja odvojeni zarezom. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = Verses concatenated by a dot must be consecutive, instead <{0}> is greater than or equal to <{1}> in the expression <{2}> in the query <{3}> -A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dot must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. -A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A comma must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. +Verses\ concatenated\ by\ a\ dot\ must\ be\ consecutive,\ instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}>\ in\ the\ query\ <{3}> = Stihovi spojeni crticom moraju biti uzastopni, umjesto toga <{0}> je veći od ili jednak <{1}> u izrazu <{2}> u upitu <{3}> +A\ dot\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Pre i posle tačke mora biti najmanje 1, a najviše 3 cifre od kojih prva cifra ne može biti nula. +A\ comma\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Pre i posle zareza mogu se naći od jedne do tri cifre, od kojih prva cifra ne može biti 0. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = A chapter in the query is out of bounds\: there is no chapter <{0}> in the book <{1}> in the requested version <{2}>, the last possible chapter is <{3}> -You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = You cannot have more than one comma and not have a dash\! -You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = You seem to have a malformed querystring, there should be only one dash. +A\ chapter\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ chapter\ <{0}>\ in\ the\ book\ <{1}>\ in\ the\ requested\ version\ <{2}>,\ the\ last\ possible\ chapter\ is\ <{3}> = Poglavlje u upitu je van okvira\: nema poglavlja <{0}> u knjizi <{1}> u traženoj verziji <{2}> poslednje raspoloživo poglavlje je <{3}> +You\ cannot\ have\ more\ than\ one\ comma\ and\ not\ have\ a\ dash\! = Ne možete imati više od jednog zareza bez kose crte\! +You\ seem\ to\ have\ a\ malformed\ querystring,\ there\ should\ be\ only\ one\ dash. = Izgleda da vam niz upita ne funkcioniše kako treba. Treba da imate samo jednu kosu crtu. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = A verse in the query is out of bounds\: there is no verse <{0}> in the book <{1}> at chapter <{2}> in the requested version <{3}>, the last possible verse is <{4}> -There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = There are multiple dashes in the query, but there are not enough dots. There can only be one more dash than dots. -A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = A dash must be preceded and followed by 1 to 3 digits of which the first digit cannot be zero. -If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = If there is a chapter-verse construct following a dash, there must also be a chapter-verse construct preceding the same dash. +A\ verse\ in\ the\ query\ is\ out\ of\ bounds\:\ there\ is\ no\ verse\ <{0}>\ in\ the\ book\ <{1}>\ at\ chapter\ <{2}>\ in\ the\ requested\ version\ <{3}>,\ the\ last\ possible\ verse\ is\ <{4}> = Stih u upitu izlazi iz okvira\: nema stiha <{0}> u knjizi <{1}> u poglavlju <{2}> u traženoj verziji <{3}> poslednji raspoloživi stih je <{4}> +There\ are\ multiple\ dashes\ in\ the\ query,\ but\ there\ are\ not\ enough\ dots.\ There\ can\ only\ be\ one\ more\ dash\ than\ dots. = U upitu ima nekoliko kosih crta, ali nema dovoljno tačaka. Može biti samo jedna kosa crta više od tačaka. +A\ dash\ must\ be\ preceded\ and\ followed\ by\ 1\ to\ 3\ digits\ of\ which\ the\ first\ digit\ cannot\ be\ zero. = Pre i posle kose crte mora biti između jedne i tri cifre od kojih prva cifra ne može biti nula. +If\ there\ is\ a\ chapter-verse\ construct\ following\ a\ dash,\ there\ must\ also\ be\ a\ chapter-verse\ construct\ preceding\ the\ same\ dash. = Ako je iza kose crte konstrukcija novi red-stih, pre iste kose crte mora biti konstrukcija novi red-stih. # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = Chapters must be consecutive. Instead the first chapter indicator <{0}> is greater than or equal to the second chapter indicator <{1}> in the expression <{2}> +Chapters\ must\ be\ consecutive.\ Instead\ the\ first\ chapter\ indicator\ <{0}>\ is\ greater\ than\ or\ equal\ to\ the\ second\ chapter\ indicator\ <{1}>\ in\ the\ expression\ <{2}> = Poglavlja moraju biti uzastopna. Umesto toga, prvi indikator poglavlja je <{0}> veći od drugog indikatora poglavlja ili jednak drugom indikatoru poglavlja <{1}> u izrazu <{2}> # TRANSLATORS: This message is used by MessageFormat, make sure that # translations # double up any single quotes or apostrophes. -Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Verses (or chapters if applicable) around the dash operator must be consecutive. Instead <{0}> is greater than or equal to <{1}> in the expression <{2}> -Genesi = Genesi -In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth = In the beginning, when God created the heavens and the earth— -and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters = and the earth was without form or shape, with darkness over the abyss and a mighty wind sweeping over the waters— -Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Then God said\: Let there be light, and there was light. -User\ Preferences = User Preferences -Paragraph = Paragraph -Alignment = Alignment -Indent = Indent -Line-spacing = Line-spacing -Font = Font -Book\ /\ Chapter = Book / Chapter -Verse\ Number = Verse Number -Verse\ Text = Verse Text -Preview = Preview -line-spacing\ not\ visible\ in\ the\ preview = line-spacing not visible in the preview -Choose\ Book\ /\ Chapter\ Font\ Color = Choose Book / Chapter Font Color -Choose\ Book\ /\ Chapter\ Background\ Color = Choose Book / Chapter Background Color -Choose\ Verse\ Number\ Font\ Color = Choose Verse Number Font Color -Choose\ Verse\ Number\ Background\ Color = Choose Verse Number Background Color -Choose\ Verse\ Text\ Font\ Color = Choose Verse Text Font Color -Choose\ Verse\ Text\ Background\ Color = Choose Verse Text Background Color -Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting. = Some Bible versions have their own formatting. This is left by default to keep the text as close as possible to the original.
If however you need to have consistent formatting in your document, you may override the Bible version's own formatting. -Override\ Bible\ Version\ Formatting = Override Bible Version Formatting \ No newline at end of file +Verses\ (or\ chapters\ if\ applicable)\ around\ the\ dash\ operator\ must\ be\ consecutive.\ Instead\ <{0}>\ is\ greater\ than\ or\ equal\ to\ <{1}>\ in\ the\ expression\ <{2}> = Stihovi spojeni kosom crtom moraju biti uzastopni, umesto toga <{0}> je veći od ili jednak <{1}> u izrazu <{2}> +Genesi = Postanje +In\ the\ beginning,\ when\ God\ created\ the\ heavens\ and\ the\ earth = У почетку, када је Бог створио небо и земљу +and\ the\ earth\ was\ without\ form\ or\ shape,\ with\ darkness\ over\ the\ abyss\ and\ a\ mighty\ wind\ sweeping\ over\ the\ waters = и земља беше без обличја и облика, са тамом преко понора и моћног ветра хара над водама +Then\ God\ said\:\ Let\ there\ be\ light,\ and\ there\ was\ light. = Tada Bog reče\: Neka bude svetlost i bi svetlost. +User\ Preferences = Podešavanja karakteristika +Paragraph = Став +Alignment = Поравнање +Indent = Увлачење +Line-spacing = Prored +Font = Фонт +Book\ /\ Chapter = Књига / поглавље +Verse\ Number = Broj Stih +Verse\ Text = Стих Текст +Preview = Pregled +line-spacing\ not\ visible\ in\ the\ preview = линија размак не види у прегледу +Choose\ Book\ /\ Chapter\ Font\ Color = Одаберите Боок / Цхаптер фонт цолор +Choose\ Book\ /\ Chapter\ Background\ Color = Одаберите Боок / поглавље Бацкгроунд Цолор +Choose\ Verse\ Number\ Font\ Color = Изаберите Версе Нумбер фонт цолор +Choose\ Verse\ Number\ Background\ Color = Изаберите Стих Нумбер Бацкгроунд Цолор +Choose\ Verse\ Text\ Font\ Color = Изаберите Стих Тект фонт цолор +Choose\ Verse\ Text\ Background\ Color = Изаберите Версе Текст Бацкгроунд Цолор +Some\ Bible\ versions\ have\ their\ own\ formatting.\ This\ is\ left\ by\ default\ to\ keep\ the\ text\ as\ close\ as\ possible\ to\ the\ original.
\ If\ however\ you\ need\ to\ have\ consistent\ formatting\ in\ your\ document,\ you\ may\ override\ the\ Bible\ version's\ own\ formatting. = Неке верзије Библије имају своју форматирање. Ово је оставио по дефаулту да би текст што је могуће ближе оригиналу. <бр> Ако, међутим морате да имате конзистентну форматирање у документу, можете заменити сопствену форматирање верзију Библије. +Override\ Bible\ Version\ Formatting = Премости Библе Версион форматирање \ No newline at end of file From 945cdaf3470a50b412e6e2bee2eb3410d1513215 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Thu, 17 Sep 2015 16:49:46 +0200 Subject: [PATCH 27/33] Bugfix workaround for CharBackColor property; enhancement for NABRE text poetic formatting; handling for NABRE speaker tag --- nbproject/build-impl.xml | 81 ++++----------- nbproject/genfiles.properties | 4 +- nbproject/project.properties | 4 +- nbproject/project.xml | 1 - src/description.xml | 5 +- src/io/bibleget/BibleGetJSON.java | 167 ++++++++++++++++++++++++++---- 6 files changed, 175 insertions(+), 87 deletions(-) diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml index 2a83179..98ad442 100644 --- a/nbproject/build-impl.xml +++ b/nbproject/build-impl.xml @@ -54,43 +54,7 @@ is divided into following sections:
- - - - - - - - - - - - - - - - - - - - - - - - - - Must set platform.home - Must set platform.bootcp - Must set platform.java - Must set platform.javac - - The J2SE Platform is not correctly set up. - Your active platform is: ${platform.active}, but the corresponding property "platforms.${platform.active}.home" is not found in the project's properties files. - Either open the project in the IDE and setup the Platform with the same name or add it manually. - For example like this: - ant -Duser.properties.file=<path_to_property_file> jar (where you put the property "platforms.${platform.active}.home" in a .properties file) - or ant -Dplatforms.${platform.active}.home=<path_to_JDK_home> jar (where no properties file is used) - + @@ -219,6 +183,15 @@ is divided into following sections: + + + + + + + + + @@ -287,7 +260,7 @@ is divided into following sections: - + @@ -327,7 +300,7 @@ is divided into following sections: - + @@ -408,7 +381,7 @@ is divided into following sections: - + @@ -431,7 +404,7 @@ is divided into following sections: - + @@ -470,7 +443,7 @@ is divided into following sections: - + @@ -550,7 +523,7 @@ is divided into following sections: - + @@ -575,7 +548,7 @@ is divided into following sections: - + @@ -755,9 +728,6 @@ is divided into following sections: - - - @@ -773,9 +743,7 @@ is divided into following sections: - - - + @@ -800,7 +768,7 @@ is divided into following sections: - + @@ -827,7 +795,7 @@ is divided into following sections: - + @@ -1025,7 +993,7 @@ is divided into following sections: To run this application from the command line without Ant, try: - ${platform.java} -jar "${dist.jar.resolved}" + java -jar "${dist.jar.resolved}" @@ -1234,13 +1202,10 @@ is divided into following sections: - - - - + - + diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties index d870733..ce3e60b 100644 --- a/nbproject/genfiles.properties +++ b/nbproject/genfiles.properties @@ -3,6 +3,6 @@ build.xml.script.CRC32=0a20deac build.xml.stylesheet.CRC32=d5b6853a # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=5c20474f -nbproject/build-impl.xml.script.CRC32=62697837 +nbproject/build-impl.xml.data.CRC32=83e319eb +nbproject/build-impl.xml.script.CRC32=b6e6aae3 nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/nbproject/project.properties b/nbproject/project.properties index 4950d19..2a6762d 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -41,7 +41,7 @@ javac.classpath=\ ${libs.beans-binding.classpath}:\ ${file.reference.glazedlists_java15-1.9.1.jar} # Space-separated list of extra javac options -javac.compilerargs= +javac.compilerargs=-Xlint:unchecked javac.deprecation=true javac.processorpath=\ ${javac.classpath} @@ -77,7 +77,7 @@ manifest.custom.codebase= manifest.custom.permissions= meta.inf.dir=${src.dir}/META-INF mkdist.disabled=false -platform.active=JDK_1.8 +platform.active=default_platform project.license=apache20 run.classpath=\ ${javac.classpath}:\ diff --git a/nbproject/project.xml b/nbproject/project.xml index 8ca2cd8..b39b27d 100644 --- a/nbproject/project.xml +++ b/nbproject/project.xml @@ -5,7 +5,6 @@ BibleGetIO 1.6.5 - diff --git a/src/description.xml b/src/description.xml index c61ed85..85909e9 100644 --- a/src/description.xml +++ b/src/description.xml @@ -1,7 +1,7 @@ - + @@ -37,7 +37,4 @@ - - - diff --git a/src/io/bibleget/BibleGetJSON.java b/src/io/bibleget/BibleGetJSON.java index a5e9c05..d1bd4e7 100644 --- a/src/io/bibleget/BibleGetJSON.java +++ b/src/io/bibleget/BibleGetJSON.java @@ -6,14 +6,17 @@ package io.bibleget; +import com.sun.star.awt.FontWeight; import com.sun.star.beans.PropertyVetoException; import com.sun.star.beans.UnknownPropertyException; +import com.sun.star.beans.XPropertySet; import com.sun.star.frame.XController; import com.sun.star.frame.XModel; import com.sun.star.lang.IllegalArgumentException; import com.sun.star.lang.WrappedTargetException; import com.sun.star.text.XText; import com.sun.star.text.XTextDocument; +import com.sun.star.text.XTextRange; import com.sun.star.text.XTextViewCursor; import com.sun.star.text.XTextViewCursorSupplier; import com.sun.star.uno.UnoRuntime; @@ -112,11 +115,11 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper //System.out.print("current view cursor = "); //System.out.println(m_xViewCursor); - com.sun.star.text.XTextRange xTextRange = m_xViewCursor.getText().createTextCursorByRange(m_xViewCursor); + XTextRange xTextRange = m_xViewCursor.getText().createTextCursorByRange(m_xViewCursor); //com.sun.star.text.XTextRange xTextRange = m_xText.createTextCursor(); - com.sun.star.beans.XPropertySet xPropertySet = - (com.sun.star.beans.XPropertySet)UnoRuntime.queryInterface( - com.sun.star.beans.XPropertySet.class, xTextRange); + XPropertySet xPropertySet = + (XPropertySet)UnoRuntime.queryInterface( + XPropertySet.class, xTextRange); // com.sun.star.beans.Property xProperties[] = xPropertySet.getPropertySetInfo().getProperties(); // for (Property xPropertie : xProperties) { @@ -147,6 +150,9 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper boolean firstversion = true; boolean firstchapter = true; + boolean firstVerse = false; + boolean normalText = false; + Iterator pIterator = arrayJson.iterator(); while (pIterator.hasNext()) { @@ -217,6 +223,8 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper } if(newversion){ + firstVerse = true; + firstchapter = true; if(firstversion==true){ firstversion=false; @@ -290,6 +298,8 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper if(newbook || newchapter){ //System.out.println(currentbook+" "+currentchapter); + firstVerse = true; + if(firstchapter==true) { firstchapter=false; @@ -372,6 +382,8 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper } if(newverse){ + normalText = false; + //System.out.print("\n"+currentverse); // set properties of text change based on user preferences if (boldVerseNumber){ @@ -418,15 +430,15 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper m_xText.insertString(xTextRange, " "+currentverse, false); } - - + setVerseTextStyles(xPropertySet); + String currentText = currentJson.getString("text").replace("\n","").replace("\r",""); String remainingText = currentText; //if(currentText.contains("<")) - if(currentText.matches("(?su).*<[/]{0,1}(?:sm|po)[f|l|s|i|3]{0,1}[f|l]{0,1}>.*")) //[/]{0,1}(?:sm|po)[f|l|s|i|3]{0,1}[f|l]{0,1}> + if(currentText.matches("(?su).*<[/]{0,1}(?:speaker|sm|po)[f|l|s|i|3]{0,1}[f|l]{0,1}>.*")) //[/]{0,1}(?:sm|po)[f|l|s|i|3]{0,1}[f|l]{0,1}> { - Pattern pattern1 = Pattern.compile("(.*?)<((sm|po)[f|l|s|i|3]{0,1}[f|l]{0,1})>(.*?)",Pattern.UNICODE_CHARACTER_CLASS); + Pattern pattern1 = Pattern.compile("(.*?)<((speaker|sm|po)[f|l|s|i|3]{0,1}[f|l]{0,1})>(.*?)",Pattern.UNICODE_CHARACTER_CLASS); Matcher matcher1 = pattern1.matcher(currentText); int iteration = 0; @@ -439,81 +451,156 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper // System.out.println("group4:"+matcher1.group(4)); if(matcher1.group(1) != null && matcher1.group(1).isEmpty() == false) { + normalText = true; m_xText.insertString(xTextRange, matcher1.group(1), false); remainingText = remainingText.replaceFirst(matcher1.group(1), ""); } if(matcher1.group(4) != null && matcher1.group(4).isEmpty() == false) { + String matchedTag = matcher1.group(2); String formattingTagContents = matcher1.group(4); + + //check for nested speaker tags! + boolean nestedTag = false; + String speakerTagBefore = ""; + String speakerTagContents = ""; + String speakerTagAfter = ""; + + if(formattingTagContents.matches("(?su).*<[/]{0,1}speaker>.*")){ + nestedTag = true; + + String remainingText2 = formattingTagContents; + + Matcher matcher2 = pattern1.matcher(formattingTagContents); + int iteration2 = 0; + while(matcher2.find()){ + if(matcher2.group(2) != null && matcher2.group(2).isEmpty() == false && "speaker".equals(matcher2.group(2))){ + if(matcher2.group(1) != null && matcher2.group(1).isEmpty() == false){ + speakerTagBefore = matcher2.group(1); + remainingText2 = remainingText2.replaceFirst(matcher2.group(1), ""); + } + speakerTagContents = matcher2.group(4); + speakerTagAfter = remainingText2.replaceFirst("<"+matcher2.group(2)+">"+matcher2.group(4)+"", ""); + } + } + } + if(noVersionFormatting){ formattingTagContents = " "+formattingTagContents+" "; } - switch (matcher1.group(2)) { + + switch (matchedTag) { case "pof": if(noVersionFormatting==false){ - insertParagraphBreak(m_xText,xTextRange); + if(!firstVerse && normalText){ insertParagraphBreak(m_xText,xTextRange); } xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)+400); } - m_xText.insertString(xTextRange, formattingTagContents, false); + if(nestedTag){ + insertNestedSpeakerTag(speakerTagBefore, speakerTagContents, speakerTagAfter, m_xText, xTextRange, xPropertySet); + } + else{ + m_xText.insertString(xTextRange, formattingTagContents, false); + } if(noVersionFormatting==false){ insertParagraphBreak(m_xText,xTextRange); } + normalText = false; break; case "pos": if(noVersionFormatting==false){ - insertParagraphBreak(m_xText,xTextRange); + if(!firstVerse && normalText){ insertParagraphBreak(m_xText,xTextRange); } xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)+400); } - m_xText.insertString(xTextRange, formattingTagContents, false); + if(nestedTag){ + insertNestedSpeakerTag(speakerTagBefore, speakerTagContents, speakerTagAfter, m_xText, xTextRange, xPropertySet); + } + else{ + m_xText.insertString(xTextRange, formattingTagContents, false); + } if(noVersionFormatting==false){ insertParagraphBreak(m_xText,xTextRange); } + normalText = false; break; case "poif": if(noVersionFormatting==false){ - insertParagraphBreak(m_xText,xTextRange); + if(!firstVerse && normalText){ insertParagraphBreak(m_xText,xTextRange); } xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)+600); } - m_xText.insertString(xTextRange, formattingTagContents, false); + if(nestedTag){ + insertNestedSpeakerTag(speakerTagBefore, speakerTagContents, speakerTagAfter, m_xText, xTextRange, xPropertySet); + } + else{ + m_xText.insertString(xTextRange, formattingTagContents, false); + } if(noVersionFormatting==false){ insertParagraphBreak(m_xText,xTextRange); } + normalText = false; break; case "po": if(noVersionFormatting==false){ + if(!firstVerse && normalText){ insertParagraphBreak(m_xText,xTextRange); } xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)+400); } - m_xText.insertString(xTextRange, formattingTagContents, false); + if(nestedTag){ + insertNestedSpeakerTag(speakerTagBefore, speakerTagContents, speakerTagAfter, m_xText, xTextRange, xPropertySet); + } + else{ + m_xText.insertString(xTextRange, formattingTagContents, false); + } if(noVersionFormatting==false){ insertParagraphBreak(m_xText,xTextRange); } + normalText = false; break; case "poi": if(noVersionFormatting==false){ + if(!firstVerse && normalText){ insertParagraphBreak(m_xText,xTextRange); } xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)+600); } - m_xText.insertString(xTextRange, formattingTagContents, false); + if(nestedTag){ + insertNestedSpeakerTag(speakerTagBefore, speakerTagContents, speakerTagAfter, m_xText, xTextRange, xPropertySet); + } + else{ + m_xText.insertString(xTextRange, formattingTagContents, false); + } if(noVersionFormatting==false){ insertParagraphBreak(m_xText,xTextRange); } + normalText = false; break; case "pol": if(noVersionFormatting==false){ + if(!firstVerse && normalText){ insertParagraphBreak(m_xText,xTextRange); } xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)+400); } - m_xText.insertString(xTextRange, formattingTagContents, false); + if(nestedTag){ + insertNestedSpeakerTag(speakerTagBefore, speakerTagContents, speakerTagAfter, m_xText, xTextRange, xPropertySet); + } + else{ + m_xText.insertString(xTextRange, formattingTagContents, false); + } if(noVersionFormatting==false){ insertParagraphBreak(m_xText,xTextRange); xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)); } + normalText = false; break; case "poil": if(noVersionFormatting==false){ + if(!firstVerse && normalText){ insertParagraphBreak(m_xText,xTextRange); } xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)+600); } - m_xText.insertString(xTextRange, formattingTagContents, false); + if(nestedTag){ + insertNestedSpeakerTag(speakerTagBefore, speakerTagContents, speakerTagAfter, m_xText, xTextRange, xPropertySet); + } + else{ + m_xText.insertString(xTextRange, formattingTagContents, false); + } if(noVersionFormatting==false){ insertParagraphBreak(m_xText,xTextRange); xPropertySet.setPropertyValue("ParaLeftMargin", (paragraphLeftIndent*200)); } + normalText = false; break; case "sm": String smallCaps = matcher1.group(4).toLowerCase(); @@ -522,6 +609,17 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper m_xText.insertString(xTextRange, smallCaps, false); xPropertySet.setPropertyValue("CharCaseMap", com.sun.star.style.CaseMap.NONE); break; + case "speaker": +// System.out.println("We have found a speaker tag"); + int bgColor = Color.LIGHT_GRAY.getRGB() - 0xFF000000; + xPropertySet.setPropertyValue("CharWeight", com.sun.star.awt.FontWeight.BOLD); + xPropertySet.setPropertyValue("CharBackTransparent", false); + xPropertySet.setPropertyValue("CharBackColor", bgColor); + m_xText.insertString(xTextRange, matcher1.group(4), false); + if(boldVerseText==false){ + xPropertySet.setPropertyValue("CharWeight", com.sun.star.awt.FontWeight.NORMAL); + } + xPropertySet.setPropertyValue("CharBackColor", bgColorVerseText.getRGB() - 0xFF000000); } remainingText = remainingText.replaceFirst("<"+matcher1.group(2)+">"+matcher1.group(4)+"", ""); } @@ -548,11 +646,15 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper } else { + normalText = true; //System.out.println("No match for special case formatting here: "+currentText); // set properties of text change based on user preferences //setVerseTextStyles(xPropertySet); m_xText.insertString(xTextRange, currentText, false); } + + if(firstVerse){ firstVerse = false; } + } try { @@ -563,6 +665,31 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper } + private void insertNestedSpeakerTag(String speakerTagBefore, String speakerTagContents, String speakerTagAfter, XText m_xText, XTextRange xTextRange, XPropertySet xPropertySet) throws UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException + { + +// System.out.println("We are now working with a nested Speaker Tag."); //Using BG="+grayBG.getRGB()+"=R("+r+"),B("+b+"),G("+g+") +// System.out.println("speakerTagBefore=<"+speakerTagBefore+">,speakerTagContents=<"+speakerTagContents+">,speakerTagAfter=<"+speakerTagAfter+">"); + m_xText.insertString(xTextRange, speakerTagBefore, false); + + xPropertySet.setPropertyValue("CharWeight", FontWeight.BOLD); + xPropertySet.setPropertyValue("CharBackTransparent", false); + + int bgColor = Color.LIGHT_GRAY.getRGB() - 0xFF000000; + + xPropertySet.setPropertyValue("CharBackColor", bgColor); + //xPropertySet.setPropertyValue("CharColor", Color.YELLOW.getRGB()); + + m_xText.insertString(xTextRange, " "+speakerTagContents+" ", false); + + if(boldVerseText==false){ + xPropertySet.setPropertyValue("CharWeight", FontWeight.NORMAL); + } + xPropertySet.setPropertyValue("CharBackColor", bgColorVerseText.getRGB() - 0xFF000000); + //xPropertySet.setPropertyValue("CharColor", textColorVerseText.getRGB()); + m_xText.insertString(xTextRange, speakerTagAfter, false); + } + private void navigateTree(JsonValue tree, String key) { if (key != null){ //System.out.print("Key " + key + ": "); @@ -673,7 +800,7 @@ private void setVerseTextStyles(com.sun.star.beans.XPropertySet xPropertySet) th xPropertySet.setPropertyValue("CharUnderline", com.sun.star.awt.FontUnderline.NONE); } xPropertySet.setPropertyValue("CharColor", textColorVerseText.getRGB()); - xPropertySet.setPropertyValue("CharBackColor", bgColorVerseText.getRGB()); + xPropertySet.setPropertyValue("CharBackColor", bgColorVerseText.getRGB() - 0xFF000000); xPropertySet.setPropertyValue("CharHeight", (float)fontSizeVerseText); switch (vAlignVerseText) { From 7c37aa59ce802c38c511ff5f124fd04621ba2078 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Fri, 18 Sep 2015 02:44:42 +0200 Subject: [PATCH 28/33] better fix for CharBackColor workaround --- src/description.xml | 12 ++++++------ src/io/bibleget/BibleGetIO.java | 2 ++ src/io/bibleget/BibleGetJSON.java | 24 ++++++++++++------------ src/io/bibleget/HTTPCaller.java | 2 +- src/io/bibleget/OptionsFrame.java | 10 +++++----- 5 files changed, 26 insertions(+), 24 deletions(-) diff --git a/src/description.xml b/src/description.xml index 85909e9..14db4e5 100644 --- a/src/description.xml +++ b/src/description.xml @@ -8,24 +8,24 @@ - BibleGet I/O BibleGet I/O - BibleGet I/O BibleGet I/O + BibleGet I/O + BibleGet I/O BibleGet I/O - John R. D'Orazio, Giovanni Gregori, Simone Urbinati John R. D'Orazio, Giovanni Gregori, Simone Urbinati - John R. D'Orazio, Giovanni Gregori, Simone Urbinati John R. D'Orazio, Giovanni Gregori, Simone Urbinati + John R. D'Orazio, Giovanni Gregori, Simone Urbinati + John R. D'Orazio, Giovanni Gregori, Simone Urbinati John R. D'Orazio, Giovanni Gregori, Simone Urbinati - - + + diff --git a/src/io/bibleget/BibleGetIO.java b/src/io/bibleget/BibleGetIO.java index 0255310..45b30fb 100644 --- a/src/io/bibleget/BibleGetIO.java +++ b/src/io/bibleget/BibleGetIO.java @@ -32,6 +32,8 @@ public final class BibleGetIO extends WeakBase com.sun.star.lang.XServiceInfo, com.sun.star.lang.XInitialization { + public static final String PLUGINVERSION = "v2_6"; + private final XComponentContext m_xContext; private com.sun.star.frame.XFrame m_xFrame; private static final String m_implementationName = BibleGetIO.class.getName(); diff --git a/src/io/bibleget/BibleGetJSON.java b/src/io/bibleget/BibleGetJSON.java index d1bd4e7..465e398 100644 --- a/src/io/bibleget/BibleGetJSON.java +++ b/src/io/bibleget/BibleGetJSON.java @@ -260,7 +260,7 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper xPropertySet.setPropertyValue("CharUnderline", com.sun.star.awt.FontUnderline.NONE); } xPropertySet.setPropertyValue("CharColor", textColorBookChapter.getRGB()); - xPropertySet.setPropertyValue("CharBackColor", bgColorBookChapter.getRGB()); + xPropertySet.setPropertyValue("CharBackColor", bgColorBookChapter.getRGB() & ~0xFF000000); // System.out.print("textColorBookChapter: "); // System.out.println(textColorBookChapter); // System.out.print("bgColorBookChapter: "); @@ -334,7 +334,7 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper xPropertySet.setPropertyValue("CharUnderline", com.sun.star.awt.FontUnderline.NONE); } xPropertySet.setPropertyValue("CharColor", textColorBookChapter.getRGB()); - xPropertySet.setPropertyValue("CharBackColor", bgColorBookChapter.getRGB()); + xPropertySet.setPropertyValue("CharBackColor", bgColorBookChapter.getRGB() & ~0xFF000000); switch (vAlignBookChapter) { case "sub": xPropertySet.setPropertyValue("CharEscapement", (short)-101); @@ -405,7 +405,7 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper xPropertySet.setPropertyValue("CharUnderline", com.sun.star.awt.FontUnderline.NONE); } xPropertySet.setPropertyValue("CharColor", textColorVerseNumber.getRGB()); - xPropertySet.setPropertyValue("CharBackColor", bgColorVerseNumber.getRGB()); + xPropertySet.setPropertyValue("CharBackColor", bgColorVerseNumber.getRGB() & ~0xFF000000); //System.out.println(vAlignVerseNumber); xPropertySet.setPropertyValue("CharHeight", (float)fontSizeVerseNumber); @@ -611,15 +611,14 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper break; case "speaker": // System.out.println("We have found a speaker tag"); - int bgColor = Color.LIGHT_GRAY.getRGB() - 0xFF000000; xPropertySet.setPropertyValue("CharWeight", com.sun.star.awt.FontWeight.BOLD); xPropertySet.setPropertyValue("CharBackTransparent", false); - xPropertySet.setPropertyValue("CharBackColor", bgColor); + xPropertySet.setPropertyValue("CharBackColor", Color.LIGHT_GRAY.getRGB() & ~0xFF000000); m_xText.insertString(xTextRange, matcher1.group(4), false); if(boldVerseText==false){ xPropertySet.setPropertyValue("CharWeight", com.sun.star.awt.FontWeight.NORMAL); } - xPropertySet.setPropertyValue("CharBackColor", bgColorVerseText.getRGB() - 0xFF000000); + xPropertySet.setPropertyValue("CharBackColor", bgColorVerseText.getRGB() & ~0xFF000000); } remainingText = remainingText.replaceFirst("<"+matcher1.group(2)+">"+matcher1.group(4)+"", ""); } @@ -674,10 +673,11 @@ private void insertNestedSpeakerTag(String speakerTagBefore, String speakerTagCo xPropertySet.setPropertyValue("CharWeight", FontWeight.BOLD); xPropertySet.setPropertyValue("CharBackTransparent", false); - - int bgColor = Color.LIGHT_GRAY.getRGB() - 0xFF000000; - - xPropertySet.setPropertyValue("CharBackColor", bgColor); + System.out.println("Color.LIGHT_GRAY.getAlpha() = "+Color.LIGHT_GRAY.getAlpha()); + System.out.println("Color.LIGHT_GRAY.getRGB() as hex = "+Integer.toHexString(Color.LIGHT_GRAY.getRGB())); + System.out.println("Color.LIGHT_GRAY.getAlpha() as hex = "+Integer.toHexString(Color.LIGHT_GRAY.getAlpha())); + + xPropertySet.setPropertyValue("CharBackColor", Color.LIGHT_GRAY.getRGB() & ~0xFF000000); //xPropertySet.setPropertyValue("CharColor", Color.YELLOW.getRGB()); m_xText.insertString(xTextRange, " "+speakerTagContents+" ", false); @@ -685,7 +685,7 @@ private void insertNestedSpeakerTag(String speakerTagBefore, String speakerTagCo if(boldVerseText==false){ xPropertySet.setPropertyValue("CharWeight", FontWeight.NORMAL); } - xPropertySet.setPropertyValue("CharBackColor", bgColorVerseText.getRGB() - 0xFF000000); + xPropertySet.setPropertyValue("CharBackColor", bgColorVerseText.getRGB() & ~0xFF000000); //xPropertySet.setPropertyValue("CharColor", textColorVerseText.getRGB()); m_xText.insertString(xTextRange, speakerTagAfter, false); } @@ -800,7 +800,7 @@ private void setVerseTextStyles(com.sun.star.beans.XPropertySet xPropertySet) th xPropertySet.setPropertyValue("CharUnderline", com.sun.star.awt.FontUnderline.NONE); } xPropertySet.setPropertyValue("CharColor", textColorVerseText.getRGB()); - xPropertySet.setPropertyValue("CharBackColor", bgColorVerseText.getRGB() - 0xFF000000); + xPropertySet.setPropertyValue("CharBackColor", bgColorVerseText.getRGB() & ~0xFF000000); xPropertySet.setPropertyValue("CharHeight", (float)fontSizeVerseText); switch (vAlignVerseText) { diff --git a/src/io/bibleget/HTTPCaller.java b/src/io/bibleget/HTTPCaller.java index ee8aaec..af908cc 100644 --- a/src/io/bibleget/HTTPCaller.java +++ b/src/io/bibleget/HTTPCaller.java @@ -56,7 +56,7 @@ public String sendGet(String myQuery,String versions) { } catch (UnsupportedEncodingException ex) { Logger.getLogger(HTTPCaller.class.getName()).log(Level.SEVERE, null, ex); } - String url = "http://query.bibleget.io/index2.php?query="+myQuery+"&version="+versions+"&return=json&appid=openoffice"; + String url = "http://query.bibleget.io/index2.php?query="+myQuery+"&version="+versions+"&return=json&appid=openoffice&pluginversion="+BibleGetIO.PLUGINVERSION; return getResponse(url); } diff --git a/src/io/bibleget/OptionsFrame.java b/src/io/bibleget/OptionsFrame.java index f6ab0c0..88602ef 100644 --- a/src/io/bibleget/OptionsFrame.java +++ b/src/io/bibleget/OptionsFrame.java @@ -947,11 +947,11 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { pack(); }// //GEN-END:initComponents - private void jColorChooserClean(JColorChooser jColorChuser){ - AbstractColorChooserPanel panels[] = jColorChuser.getChooserPanels(); - jColorChuser.removeChooserPanel(panels[4]); - jColorChuser.removeChooserPanel(panels[3]); - jColorChuser.removeChooserPanel(panels[2]); + private void jColorChooserClean(JColorChooser jColorChooser){ + AbstractColorChooserPanel panels[] = jColorChooser.getChooserPanels(); + jColorChooser.removeChooserPanel(panels[4]); + jColorChooser.removeChooserPanel(panels[3]); + jColorChooser.removeChooserPanel(panels[2]); } private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton1MouseClicked From a8fd5b3852e28e4002118b6878a25432e46b28af Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Sun, 20 Sep 2015 21:55:34 +0200 Subject: [PATCH 29/33] final changes as regards CharBackColor workaround (what really does CharBackTransparent do? certainly doesn't "enable" transparency for the alpha bit...) Also changes all references to "conn" in BibleGetDB to "instance.conn" seeing that it seemingly wasn't working well for LibreOffice without this explicit reference... --- nbproject/project.properties | 4 +- src/description.xml | 16 +++---- src/io/bibleget/BibleGetDB.java | 79 +++++++++++++++++-------------- src/io/bibleget/BibleGetIO.java | 6 ++- src/io/bibleget/BibleGetJSON.java | 27 +++++------ 5 files changed, 70 insertions(+), 62 deletions(-) diff --git a/nbproject/project.properties b/nbproject/project.properties index 2a6762d..d1c9177 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -35,11 +35,11 @@ jar.compress=false jar.index=${jnlp.enabled} javac.classpath=\ ${libs.OpenOffice 4.1.1.classpath}:\ - ${libs.Java-EE-GlassFish-v3-Prelude.classpath}:\ ${file.reference.commons-lang3-3.3.2.jar}:\ ${libs.JAVADB_DRIVER_LABEL.classpath}:\ ${libs.beans-binding.classpath}:\ - ${file.reference.glazedlists_java15-1.9.1.jar} + ${file.reference.glazedlists_java15-1.9.1.jar}:\ + ${libs.Java-EE-GlassFish-v3-Prelude.classpath} # Space-separated list of extra javac options javac.compilerargs=-Xlint:unchecked javac.deprecation=true diff --git a/src/description.xml b/src/description.xml index 14db4e5..e6bd25a 100644 --- a/src/description.xml +++ b/src/description.xml @@ -1,40 +1,40 @@ - + - BibleGet I/O - BibleGet I/O BibleGet I/O + BibleGet I/O BibleGet I/O BibleGet I/O + BibleGet I/O - John R. D'Orazio, Giovanni Gregori, Simone Urbinati - John R. D'Orazio, Giovanni Gregori, Simone Urbinati John R. D'Orazio, Giovanni Gregori, Simone Urbinati + John R. D'Orazio, Giovanni Gregori, Simone Urbinati + John R. D'Orazio, Giovanni Gregori, Simone Urbinati John R. D'Orazio, Giovanni Gregori, Simone Urbinati John R. D'Orazio, Giovanni Gregori, Simone Urbinati - - + + - + diff --git a/src/io/bibleget/BibleGetDB.java b/src/io/bibleget/BibleGetDB.java index 4dd5768..5f88396 100644 --- a/src/io/bibleget/BibleGetDB.java +++ b/src/io/bibleget/BibleGetDB.java @@ -61,10 +61,10 @@ public static BibleGetDB getInstance() throws ClassNotFoundException { instance = new BibleGetDB(); boolean dbInitialized = instance.initialize(); if(dbInitialized){ - //System.out.println("Database is initialized too!"); + System.out.println("Database is initialized too!"); } else{ - //System.out.println("Sorry but database has not been initialized."); + System.out.println("Sorry but database has not been initialized."); } } return instance; @@ -73,13 +73,18 @@ public static BibleGetDB getInstance() throws ClassNotFoundException { public boolean initialize() { try { - conn = DriverManager.getConnection( + instance.conn = DriverManager.getConnection( "jdbc:derby:BIBLEGET;create=true", "bibleget", "bibleget"); - + if(instance.conn==null){ + System.out.println("Careful there! Connection not established! BibleGetDB.java line 81"); + } + else{ + System.out.println("conn is not null, which means a connection was correctly established."); + } DatabaseMetaData dbMeta; - dbMeta = conn.getMetaData(); + dbMeta = instance.conn.getMetaData(); try (ResultSet rs1 = dbMeta.getTables(null, null, "OPTIONS", null)) { if(rs1.next()) { @@ -89,7 +94,7 @@ public boolean initialize() { else { //System.out.println("Table OPTIONS does not yet exist, now attempting to create..."); - try ( Statement stmt = conn.createStatement()) { + try ( Statement stmt = instance.conn.createStatement()) { String defaultFont = ""; if(SystemUtils.IS_OS_WINDOWS){ @@ -182,7 +187,7 @@ else if(SystemUtils.IS_OS_LINUX){ else{ //this is our expected behaviour: 0 rows affected //System.out.println("The Table Creation statement produced results: "+count+" rows affected."); - try (Statement stmt2 = conn.createStatement()) { + try (Statement stmt2 = instance.conn.createStatement()) { rowsInserted = stmt2.execute(tableInsert); if(rowsInserted==false){ count = stmt2.getUpdateCount(); @@ -192,7 +197,7 @@ else if(SystemUtils.IS_OS_LINUX){ else{ //this is our expected behaviour: n rows affected //System.out.println("The Row Insertion statement produced results: "+count+" rows affected."); - dbMeta = conn.getMetaData(); + dbMeta = instance.conn.getMetaData(); try (ResultSet rs2 = dbMeta.getTables(null, null, "OPTIONS", null)) { if(rs2.next()) { @@ -238,7 +243,7 @@ else if(SystemUtils.IS_OS_LINUX){ } else{ //System.out.println("Table METADATA does not exist, now attempting to create..."); - try (Statement stmt = conn.createStatement()) { + try (Statement stmt = instance.conn.createStatement()) { String tableCreate = "CREATE TABLE METADATA ("; tableCreate += "ID INT, "; for(int i=0;i<73;i++){ @@ -260,7 +265,7 @@ else if(SystemUtils.IS_OS_LINUX){ //this is our expected behaviour: 0 rows affected //System.out.println("The Table Creation statement produced results: "+count+" rows affected."); //Insert a dummy row, because you cannot update what has not been inserted! - try ( Statement stmtX = conn.createStatement()) { + try ( Statement stmtX = instance.conn.createStatement()) { stmtX.execute("INSERT INTO METADATA (ID) VALUES (0)"); stmtX.close(); } @@ -277,7 +282,7 @@ else if(SystemUtils.IS_OS_LINUX){ ListIterator pIterator = arrayJson.listIterator(); while (pIterator.hasNext()) { - try(Statement stmt2 = conn.createStatement()) { + try(Statement stmt2 = instance.conn.createStatement()) { int index = pIterator.nextIndex(); JsonArray currentJson = (JsonArray) pIterator.next(); String biblebooks_str = currentJson.toString(); //.replaceAll("\"", "\\\\\""); @@ -297,7 +302,7 @@ else if(SystemUtils.IS_OS_LINUX){ arrayJson = json.getJsonArray("languages"); if(arrayJson != null){ - try(Statement stmt2 = conn.createStatement()) { + try(Statement stmt2 = instance.conn.createStatement()) { String languages_str = arrayJson.toString(); //.replaceAll("\"", "\\\\\""); String stmt_str = "UPDATE METADATA SET LANGUAGES='"+languages_str+"' WHERE ID=0"; @@ -318,7 +323,7 @@ else if(SystemUtils.IS_OS_LINUX){ JsonObject objJson = json.getJsonObject("validversions_fullname"); if(objJson != null){ String bibleversions_str = objJson.toString(); //.replaceAll("\"", "\\\\\""); - try(Statement stmt2 = conn.createStatement()){ + try(Statement stmt2 = instance.conn.createStatement()){ String stmt_str = "UPDATE METADATA SET VERSIONS='"+bibleversions_str+"' WHERE ID=0"; try{ int update = stmt2.executeUpdate(stmt_str); @@ -352,7 +357,7 @@ else if(SystemUtils.IS_OS_LINUX){ String versionindex_str = temp.toString(); //.replaceAll("\"", "\\\\\""); //add new column to METADATA table name+"IDX" VARCHAR(5000) //update METADATA table SET name+"IDX" = versionindex_str - try(Statement stmt3 = conn.createStatement()){ + try(Statement stmt3 = instance.conn.createStatement()){ String sql = "ALTER TABLE METADATA ADD COLUMN "+name+"IDX VARCHAR(5000)"; boolean colAdded = stmt3.execute(sql); if(colAdded==false) { @@ -364,7 +369,7 @@ else if(count==0){ //0 rows affected stmt3.close(); - try(Statement stmt4 = conn.createStatement()){ + try(Statement stmt4 = instance.conn.createStatement()){ String sql1 = "UPDATE METADATA SET "+name+"IDX='"+versionindex_str+"' WHERE ID=0"; boolean rowsUpdated = stmt4.execute(sql1); if(rowsUpdated==false) { @@ -420,7 +425,7 @@ else if(count==0){ } rs3.close(); } - conn.close(); + instance.conn.close(); return true; } catch (SQLException ex) { if( ex.getSQLState().equals("X0Y32") ) { @@ -439,7 +444,7 @@ else if(count==0){ public boolean connect() { try { - conn = DriverManager.getConnection( + instance.conn = DriverManager.getConnection( "jdbc:derby:BIBLEGET", "bibleget", "bibleget"); @@ -460,9 +465,9 @@ public boolean connect() { } public void disconnect() { - if(conn != null){ + if(instance.conn != null){ try { - conn.close(); + instance.conn.close(); } catch (SQLException ex) { Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex); } @@ -523,7 +528,7 @@ public JsonObject getOptions() { try { JsonObjectBuilder myOptionsTable; JsonArrayBuilder myRows; - try (Statement stmt = conn.createStatement(); ResultSet rsOps = stmt.executeQuery("SELECT * FROM OPTIONS")) { + try (Statement stmt = instance.conn.createStatement(); ResultSet rsOps = stmt.executeQuery("SELECT * FROM OPTIONS")) { Iterator itColNames = colNames.iterator(); Iterator itDataTypes = colDataTypes.iterator(); myOptionsTable = Json.createObjectBuilder(); @@ -565,7 +570,7 @@ public Object getOption(String option){ int idx = colNames.indexOf(option); Class dataType = colDataTypes.get(idx); //System.out.println(BibleGetDB.class.getName()+" [299]: dataType="+dataType.getName() ); - try (Statement stmt = conn.createStatement()) { + try (Statement stmt = instance.conn.createStatement()) { String sqlexec = "SELECT "+option+" FROM OPTIONS"; try (ResultSet rsOps = stmt.executeQuery(sqlexec)) { while (rsOps.next()) { @@ -594,11 +599,15 @@ public String getMetaData(String dataOption){ dataOption = StringUtils.upperCase(dataOption); String metaDataStr = ""; if(dataOption.startsWith("BIBLEBOOKS") || dataOption.equals("LANGUAGES") || dataOption.equals("VERSIONS") || dataOption.endsWith("IDX")){ - //System.out.println("getMetaData received a valid request for "+dataOption); + System.out.println("getMetaData received a valid request for "+dataOption); if(instance.connect()){ - //System.out.println("getMetaData has connected to the database..."); + if(instance.conn == null){ + System.out.println("What is going on here? Why is connection null?"); + }else{ + System.out.println("getMetaData has connected to the database..."); + } String sqlexec = "SELECT "+dataOption+" FROM METADATA WHERE ID=0"; - try(Statement stmt = conn.createStatement()){ + try(Statement stmt = instance.conn.createStatement()){ try (ResultSet rsOps = stmt.executeQuery(sqlexec)) { //System.out.println("query seems to have been successful..."); //ResultSetMetaData rsMD = rsOps.getMetaData(); @@ -632,7 +641,7 @@ public boolean setIntOption(String colname, int value) { colDataTypes.add(Integer.class); } try { - Statement stmt = conn.createStatement(); + Statement stmt = instance.conn.createStatement(); String sqlexec = "UPDATE OPTIONS SET "+colname+" = "+value+""; boolean rowsUpdated = stmt.execute(sqlexec); if(rowsUpdated==false) { @@ -672,7 +681,7 @@ public boolean setStringOption(String colname, String value) { colDataTypes.add(String.class); } try { - Statement stmt = conn.createStatement(); + Statement stmt = instance.conn.createStatement(); String sqlexec = "UPDATE OPTIONS SET "+colname+" = '"+value+"'"; boolean rowsUpdated = stmt.execute(sqlexec); if(rowsUpdated==false) { @@ -713,7 +722,7 @@ public boolean setBooleanOption(String colname, boolean value) { colDataTypes.add(Boolean.class); } try { - Statement stmt = conn.createStatement(); + Statement stmt = instance.conn.createStatement(); String sqlexec = "UPDATE OPTIONS SET "+colname+" = "+value+""; boolean rowsUpdated = stmt.execute(sqlexec); if(rowsUpdated==false) { @@ -745,7 +754,7 @@ public boolean addColumn(String colName,String type){ int count; try { colName = colName.toUpperCase(); - Statement stmt = conn.createStatement(); + Statement stmt = instance.conn.createStatement(); String sqlexec = "ALTER TABLE OPTIONS ADD COLUMN "+colName+" "+type; boolean colAdded = stmt.execute(sqlexec); @@ -774,12 +783,12 @@ public boolean renewMetaData(){ if(instance.connect()){ try { DatabaseMetaData dbMeta; - dbMeta = conn.getMetaData(); + dbMeta = instance.conn.getMetaData(); try (ResultSet rs3 = dbMeta.getTables(null, null, "METADATA", null)) { if(rs3.next()) { //System.out.println("Table METADATA exists..."); - try (Statement stmt = conn.createStatement()) { + try (Statement stmt = instance.conn.createStatement()) { HTTPCaller myHTTPCaller = new HTTPCaller(); String myResponse; myResponse = myHTTPCaller.getMetaData("biblebooks"); @@ -791,7 +800,7 @@ public boolean renewMetaData(){ ListIterator pIterator = arrayJson.listIterator(); while (pIterator.hasNext()) { - try(Statement stmt1 = conn.createStatement()) { + try(Statement stmt1 = instance.conn.createStatement()) { int index = pIterator.nextIndex(); JsonArray currentJson = (JsonArray) pIterator.next(); String biblebooks_str = currentJson.toString(); //.replaceAll("\"", "\\\\\""); @@ -807,7 +816,7 @@ public boolean renewMetaData(){ arrayJson = json.getJsonArray("languages"); if(arrayJson != null){ - try(Statement stmt2 = conn.createStatement()) { + try(Statement stmt2 = instance.conn.createStatement()) { String languages_str = arrayJson.toString(); //.replaceAll("\"", "\\\\\""); String stmt_str = "UPDATE METADATA SET LANGUAGES='"+languages_str+"' WHERE ID=0"; int update = stmt2.executeUpdate(stmt_str); @@ -823,7 +832,7 @@ public boolean renewMetaData(){ JsonObject objJson = json.getJsonObject("validversions_fullname"); if(objJson != null){ String bibleversions_str = objJson.toString(); //.replaceAll("\"", "\\\\\""); - try(Statement stmt3 = conn.createStatement()){ + try(Statement stmt3 = instance.conn.createStatement()){ String stmt_str = "UPDATE METADATA SET VERSIONS='"+bibleversions_str+"' WHERE ID=0"; int update = stmt3.executeUpdate(stmt_str); stmt3.close(); @@ -859,7 +868,7 @@ public boolean renewMetaData(){ updateFlag=true; } else{ - try(Statement stmt4 = conn.createStatement()){ + try(Statement stmt4 = instance.conn.createStatement()){ String sql = "ALTER TABLE METADATA ADD COLUMN "+name+"IDX VARCHAR(5000)"; boolean colAdded = stmt4.execute(sql); if(colAdded==false) { @@ -876,7 +885,7 @@ else if(count==0){ } } if(updateFlag){ - try(Statement stmt5 = conn.createStatement()){ + try(Statement stmt5 = instance.conn.createStatement()){ String sql1 = "UPDATE METADATA SET "+name+"IDX='"+versionindex_str+"' WHERE ID=0"; boolean rowsUpdated = stmt5.execute(sql1); stmt5.close(); diff --git a/src/io/bibleget/BibleGetIO.java b/src/io/bibleget/BibleGetIO.java index 45b30fb..c89b221 100644 --- a/src/io/bibleget/BibleGetIO.java +++ b/src/io/bibleget/BibleGetIO.java @@ -227,6 +227,8 @@ public void dispatch( com.sun.star.util.URL aURL, BibleGetIO.bibleGetAbout.setVisible(true); } else{ + //make sure we also have the database initialized first + BibleGetIO.biblegetDB = BibleGetDB.getInstance(); BibleGetIO.bibleGetAbout = BibleGetAbout.getInstance(); BibleGetIO.bibleGetAbout.setVisible(true); } @@ -451,10 +453,10 @@ public void initialize( Object[] object ) //instance.myMessages = BibleGetI18N.getMessages(); BibleGetIO.biblegetDB = BibleGetDB.getInstance(); if(BibleGetIO.biblegetDB != null){ - //System.out.println("We have an instance of database!"); + System.out.println("We have an instance of database!"); } else{ - //System.out.println("Sorry, no database instance here."); + System.out.println("Sorry, no database instance here."); } BibleGetIO.myOptionFrame = OptionsFrame.getInstance(); BibleGetIO.myFrame = BibleGetFrame.getInstance(instance.m_xController); diff --git a/src/io/bibleget/BibleGetJSON.java b/src/io/bibleget/BibleGetJSON.java index 465e398..523aa23 100644 --- a/src/io/bibleget/BibleGetJSON.java +++ b/src/io/bibleget/BibleGetJSON.java @@ -12,8 +12,6 @@ import com.sun.star.beans.XPropertySet; import com.sun.star.frame.XController; import com.sun.star.frame.XModel; -import com.sun.star.lang.IllegalArgumentException; -import com.sun.star.lang.WrappedTargetException; import com.sun.star.text.XText; import com.sun.star.text.XTextDocument; import com.sun.star.text.XTextRange; @@ -103,7 +101,7 @@ public BibleGetJSON(XController xController) throws ClassNotFoundException{ } - public void JSONParse(String jsonString) throws UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException + public void JSONParse(String jsonString) throws UnknownPropertyException, PropertyVetoException, com.sun.star.lang.IllegalArgumentException, com.sun.star.lang.WrappedTargetException { XText m_xText = m_xTextDocument.getText(); @@ -218,7 +216,7 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper // System.out.println(paragraphLeftIndent); // System.out.print("paragraphLineSpacing: "); // System.out.println(paragraphLineSpacing); - } catch (UnknownPropertyException | PropertyVetoException | IllegalArgumentException | WrappedTargetException ex){ + } catch (UnknownPropertyException | PropertyVetoException | com.sun.star.lang.IllegalArgumentException | com.sun.star.lang.WrappedTargetException ex){ Logger.getLogger(BibleGetJSON.class.getName()).log(Level.SEVERE, null, ex); } @@ -284,7 +282,7 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper break; } xPropertySet.setPropertyValue("CharHeight", (float) fontSizeBookChapter); - } catch (UnknownPropertyException | PropertyVetoException | IllegalArgumentException | WrappedTargetException ex){ + } catch (UnknownPropertyException | PropertyVetoException | com.sun.star.lang.IllegalArgumentException | com.sun.star.lang.WrappedTargetException ex){ Logger.getLogger(BibleGetJSON.class.getName()).log(Level.SEVERE, null, ex); } m_xText.insertString(xTextRange, currentversion, false); @@ -358,7 +356,7 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper try { m_xText.insertControlCharacter(xTextRange, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false); - } catch (IllegalArgumentException ex) { + } catch (com.sun.star.lang.IllegalArgumentException ex) { Logger.getLogger(BibleGetJSON.class.getName()).log(Level.SEVERE, null, ex); } @@ -612,7 +610,7 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper case "speaker": // System.out.println("We have found a speaker tag"); xPropertySet.setPropertyValue("CharWeight", com.sun.star.awt.FontWeight.BOLD); - xPropertySet.setPropertyValue("CharBackTransparent", false); + //xPropertySet.setPropertyValue("CharBackTransparent", false); xPropertySet.setPropertyValue("CharBackColor", Color.LIGHT_GRAY.getRGB() & ~0xFF000000); m_xText.insertString(xTextRange, matcher1.group(4), false); if(boldVerseText==false){ @@ -658,13 +656,13 @@ public void JSONParse(String jsonString) throws UnknownPropertyException, Proper try { m_xText.insertControlCharacter(xTextRange, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false); - } catch (IllegalArgumentException ex) { + } catch (com.sun.star.lang.IllegalArgumentException ex) { Logger.getLogger(BibleGetJSON.class.getName()).log(Level.SEVERE, null, ex); } } - private void insertNestedSpeakerTag(String speakerTagBefore, String speakerTagContents, String speakerTagAfter, XText m_xText, XTextRange xTextRange, XPropertySet xPropertySet) throws UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException + private void insertNestedSpeakerTag(String speakerTagBefore, String speakerTagContents, String speakerTagAfter, XText m_xText, XTextRange xTextRange, XPropertySet xPropertySet) throws UnknownPropertyException, PropertyVetoException, com.sun.star.lang.IllegalArgumentException, com.sun.star.lang.WrappedTargetException { // System.out.println("We are now working with a nested Speaker Tag."); //Using BG="+grayBG.getRGB()+"=R("+r+"),B("+b+"),G("+g+") @@ -672,11 +670,9 @@ private void insertNestedSpeakerTag(String speakerTagBefore, String speakerTagCo m_xText.insertString(xTextRange, speakerTagBefore, false); xPropertySet.setPropertyValue("CharWeight", FontWeight.BOLD); - xPropertySet.setPropertyValue("CharBackTransparent", false); - System.out.println("Color.LIGHT_GRAY.getAlpha() = "+Color.LIGHT_GRAY.getAlpha()); - System.out.println("Color.LIGHT_GRAY.getRGB() as hex = "+Integer.toHexString(Color.LIGHT_GRAY.getRGB())); - System.out.println("Color.LIGHT_GRAY.getAlpha() as hex = "+Integer.toHexString(Color.LIGHT_GRAY.getAlpha())); + //xPropertySet.setPropertyValue("CharBackTransparent", false); + //xPropertySet.setPropertyValue("CharBackColor", Color.LIGHT_GRAY.getRGB()); xPropertySet.setPropertyValue("CharBackColor", Color.LIGHT_GRAY.getRGB() & ~0xFF000000); //xPropertySet.setPropertyValue("CharColor", Color.YELLOW.getRGB()); @@ -685,6 +681,7 @@ private void insertNestedSpeakerTag(String speakerTagBefore, String speakerTagCo if(boldVerseText==false){ xPropertySet.setPropertyValue("CharWeight", FontWeight.NORMAL); } + //xPropertySet.setPropertyValue("CharBackColor", bgColorVerseText.getRGB()); xPropertySet.setPropertyValue("CharBackColor", bgColorVerseText.getRGB() & ~0xFF000000); //xPropertySet.setPropertyValue("CharColor", textColorVerseText.getRGB()); m_xText.insertString(xTextRange, speakerTagAfter, false); @@ -779,7 +776,7 @@ public double pointsToMillimeters(int points) return rounded; } - private void setVerseTextStyles(com.sun.star.beans.XPropertySet xPropertySet) throws UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException + private void setVerseTextStyles(com.sun.star.beans.XPropertySet xPropertySet) throws UnknownPropertyException, PropertyVetoException, com.sun.star.lang.IllegalArgumentException, com.sun.star.lang.WrappedTargetException { if (boldVerseText){ xPropertySet.setPropertyValue("CharWeight", com.sun.star.awt.FontWeight.BOLD); @@ -826,7 +823,7 @@ private void insertParagraphBreak(XText m_xText,com.sun.star.text.XTextRange xTe { try { m_xText.insertControlCharacter(xTextRange, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false); - } catch (IllegalArgumentException ex) { + } catch (com.sun.star.lang.IllegalArgumentException ex) { Logger.getLogger(BibleGetJSON.class.getName()).log(Level.SEVERE, null, ex); } } From 10813817dff7c999097fe0cd151eaa27651451f3 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Tue, 22 Sep 2015 02:25:11 +0200 Subject: [PATCH 30/33] fix for dynamic version number in BibleGetAbout.java --- src/io/bibleget/BibleGetAbout.java | 2 +- src/io/bibleget/BibleGetIO.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/io/bibleget/BibleGetAbout.java b/src/io/bibleget/BibleGetAbout.java index a351854..69c72af 100644 --- a/src/io/bibleget/BibleGetAbout.java +++ b/src/io/bibleget/BibleGetAbout.java @@ -75,7 +75,7 @@ private BibleGetAbout() throws ClassNotFoundException, UnsupportedEncodingExcept + "

" + __("BibleGet I/O plugin for Open Office Writer") + "

" - + __("Version") + " 2.0" + + __("Version") + " " + String.valueOf(BibleGetIO.VERSION) + "

" + __("This plugin was developed by John R. D'Orazio, a priest in the diocese of Rome, chaplain at Roma Tre University.") + " " diff --git a/src/io/bibleget/BibleGetIO.java b/src/io/bibleget/BibleGetIO.java index c89b221..bdd9bd5 100644 --- a/src/io/bibleget/BibleGetIO.java +++ b/src/io/bibleget/BibleGetIO.java @@ -32,7 +32,8 @@ public final class BibleGetIO extends WeakBase com.sun.star.lang.XServiceInfo, com.sun.star.lang.XInitialization { - public static final String PLUGINVERSION = "v2_6"; + public static final double VERSION = 2.7; + public static final String PLUGINVERSION = "v" + String.valueOf(BibleGetIO.VERSION).replace(".", "_") ; private final XComponentContext m_xContext; private com.sun.star.frame.XFrame m_xFrame; From eaa7bb6ee211dae67146d4d807a8844a1e5c9f31 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Tue, 22 Sep 2015 03:05:31 +0200 Subject: [PATCH 31/33] fix for dynamic version number in initial area of Help window --- src/io/bibleget/BibleGetHelp.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/io/bibleget/BibleGetHelp.java b/src/io/bibleget/BibleGetHelp.java index 931bfe6..2bdbfe9 100644 --- a/src/io/bibleget/BibleGetHelp.java +++ b/src/io/bibleget/BibleGetHelp.java @@ -166,7 +166,7 @@ private BibleGetHelp() throws ClassNotFoundException, UnsupportedEncodingExcepti + "" + "

"+__("AUTHOR")+": "+__("John R. D'Orazio (chaplain at Roma Tre University)")+"

" + "

"+__("COLLABORATORS")+": "+__("Giovanni Gregori (computing) and Simone Urbinati (MUG Roma Tre)")+"

" - + "

"+__("Version").toUpperCase()+": 2.0

" + + "

"+__("Version").toUpperCase()+": "+String.valueOf(BibleGetIO.VERSION)+"

" + "

© Copyright 2014 BibleGet I/O by John R. D'Orazio john.dorazio@cappellaniauniroma3.org

" + "

"+__("PROJECT WEBSITE")+": http://www.bibleget.io | "+__("EMAIL ADDRESS FOR INFORMATION OR FEEDBACK ON THE PROJECT")+": bibleget.io@gmail.com

" + "

Cappellania Università degli Studi Roma Tre - Piazzale San Paolo 1/d - 00120 Città del Vaticano - +39 06.69.88.08.09 - cappellania.uniroma3@gmail.com

"; From 81872065e4744c358aef5dcf9024cd31c5ed52cd Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Sun, 11 Oct 2015 00:49:12 +0200 Subject: [PATCH 32/33] initialized transifex client configuration --- .tx/config | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .tx/config diff --git a/.tx/config b/.tx/config new file mode 100644 index 0000000..deb05f4 --- /dev/null +++ b/.tx/config @@ -0,0 +1,9 @@ +[main] +host = https://www.transifex.com +type = UNICODEPROPERTIES + +[bibleget-io-plugin-for-open-office.messages_enproperties] +source_file = src/io/bibleget/resources/messages_en.properties +source_lang = en +type = UNICODEPROPERTIES +file_filter = src/io/bibleget/resources/messages_.properties \ No newline at end of file From de58f6575eef9da5214bcd95237ef022b42f5c84 Mon Sep 17 00:00:00 2001 From: "John R. D'Orazio" Date: Sun, 11 Oct 2015 01:41:19 +0200 Subject: [PATCH 33/33] removed unnecessary folder --- bibleget-openoffice | 1 - 1 file changed, 1 deletion(-) delete mode 160000 bibleget-openoffice diff --git a/bibleget-openoffice b/bibleget-openoffice deleted file mode 160000 index 5e7fe23..0000000 --- a/bibleget-openoffice +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5e7fe23136c091e0e6a233289b169d615d113a84