summaryrefslogtreecommitdiffstats
path: root/translations/source/ug/helpcontent2/source/text/sbasic/shared/03.po
diff options
context:
space:
mode:
Diffstat (limited to 'translations/source/ug/helpcontent2/source/text/sbasic/shared/03.po')
-rw-r--r--translations/source/ug/helpcontent2/source/text/sbasic/shared/03.po30599
1 files changed, 30599 insertions, 0 deletions
diff --git a/translations/source/ug/helpcontent2/source/text/sbasic/shared/03.po b/translations/source/ug/helpcontent2/source/text/sbasic/shared/03.po
new file mode 100644
index 000000000..3ae967ce7
--- /dev/null
+++ b/translations/source/ug/helpcontent2/source/text/sbasic/shared/03.po
@@ -0,0 +1,30599 @@
+#. extracted from helpcontent2/source/text/sbasic/shared/03
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: https://bugs.libreoffice.org/enter_bug.cgi?product=LibreOffice&bug_status=UNCONFIRMED&component=UI\n"
+"POT-Creation-Date: 2022-07-04 18:04+0200\n"
+"PO-Revision-Date: 2018-07-12 14:37+0000\n"
+"Last-Translator: Anonymous Pootle User\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ug\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Accelerator-Marker: ~\n"
+"X-Generator: LibreOffice\n"
+"X-POOTLE-MTIME: 1531406229.000000\n"
+
+#. ViEWM
+#: avail_release.xhp
+msgctxt ""
+"avail_release.xhp\n"
+"tit\n"
+"help.text"
+msgid "(Un)Available since release"
+msgstr ""
+
+#. CeSww
+#: avail_release.xhp
+msgctxt ""
+"avail_release.xhp\n"
+"not_BasMeth\n"
+"help.text"
+msgid "This method is not available in Basic."
+msgstr ""
+
+#. LDXQx
+#: avail_release.xhp
+msgctxt ""
+"avail_release.xhp\n"
+"not_BasProp\n"
+"help.text"
+msgid "This property is not available in Basic."
+msgstr ""
+
+#. 4GDXo
+#: avail_release.xhp
+msgctxt ""
+"avail_release.xhp\n"
+"not_PycMeth\n"
+"help.text"
+msgid "This method is not available in Python."
+msgstr ""
+
+#. 3ZUdq
+#: avail_release.xhp
+msgctxt ""
+"avail_release.xhp\n"
+"not_PycProp\n"
+"help.text"
+msgid "This property is not available in Python."
+msgstr ""
+
+#. 9bTEm
+#: avail_release.xhp
+msgctxt ""
+"avail_release.xhp\n"
+"par_id811631775671311\n"
+"help.text"
+msgid "This service is available from %PRODUCTNAME 7.3 onwards."
+msgstr ""
+
+#. J3r7B
+#: avail_release.xhp
+msgctxt ""
+"avail_release.xhp\n"
+"par_id291613654389793\n"
+"help.text"
+msgid "This method is available from %PRODUCTNAME 7.3 onwards."
+msgstr ""
+
+#. ajeAa
+#: avail_release.xhp
+msgctxt ""
+"avail_release.xhp\n"
+"par_id201613654593537\n"
+"help.text"
+msgid "This property is available from %PRODUCTNAME 7.3 onwards."
+msgstr ""
+
+#. 7KtXf
+#: avail_release.xhp
+msgctxt ""
+"avail_release.xhp\n"
+"par_id651551701041690\n"
+"help.text"
+msgid "This service is available from %PRODUCTNAME 7.2 onwards."
+msgstr ""
+
+#. GXE45
+#: avail_release.xhp
+msgctxt ""
+"avail_release.xhp\n"
+"par_id281613660174140\n"
+"help.text"
+msgid "These methods are available from %PRODUCTNAME 7.2 onwards."
+msgstr ""
+
+#. An73n
+#: avail_release.xhp
+msgctxt ""
+"avail_release.xhp\n"
+"par_id291613654389792\n"
+"help.text"
+msgid "This method is available from %PRODUCTNAME 7.2 onwards."
+msgstr ""
+
+#. qjuHF
+#: avail_release.xhp
+msgctxt ""
+"avail_release.xhp\n"
+"par_id981613655373210\n"
+"help.text"
+msgid "This control is available from %PRODUCTNAME 7.2 onwards."
+msgstr ""
+
+#. bAYUN
+#: avail_release.xhp
+msgctxt ""
+"avail_release.xhp\n"
+"par_id831613654401663\n"
+"help.text"
+msgid "These event properties are available from %PRODUCTNAME 7.2 onwards."
+msgstr ""
+
+#. kVj8c
+#: avail_release.xhp
+msgctxt ""
+"avail_release.xhp\n"
+"par_id201613654395537\n"
+"help.text"
+msgid "This property is available from %PRODUCTNAME 7.2 onwards."
+msgstr ""
+
+#. EziC4
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge Libraries"
+msgstr ""
+
+#. ADEeP
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"hd_id31529004750471\n"
+"help.text"
+msgid "<variable id=\"ScriptForge_lib\"><link href=\"text/sbasic/shared/03/lib_ScriptForge.xhp\" name=\"ScriptForge library\">The <literal>ScriptForge</literal> Library</link></variable>"
+msgstr ""
+
+#. Poeai
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"bm_id491529070339774\n"
+"help.text"
+msgid "<bookmark_value>BASIC ScriptForge library</bookmark_value> <bookmark_value>Python scriptforge module</bookmark_value>"
+msgstr ""
+
+#. BtMUU
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"par_id681619700336879\n"
+"help.text"
+msgid "ScriptForge libraries build up an extensible collection of macro scripting resources for %PRODUCTNAME to be invoked from Basic macros or Python scripts."
+msgstr ""
+
+#. fL8KK
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"par_id901528999850603\n"
+"help.text"
+msgid "• Basic macros require to load <literal>ScriptForge</literal> library using the following statement:<br/><literal>GlobalScope.BasicLibraries.loadLibrary(\"ScriptForge\")</literal><br/><br/>• Python scripts require an import from <literal>scriptforge</literal> module:<br/><literal>from scriptforge import CreateScriptService</literal>"
+msgstr ""
+
+#. eotwE
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"par_id1001623412767893\n"
+"help.text"
+msgid "To learn more about how to create and execute Python scripts using the <literal>ScriptForge</literal> library, read the help page <link href=\"text/sbasic/shared/03/sf_intro.xhp\" name=\"sfintro_link\">Creating Python Scripts with ScriptForge</link>."
+msgstr ""
+
+#. 2Fr3S
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"hd_id781637256119733\n"
+"help.text"
+msgid "Invoking ScriptForge services"
+msgstr ""
+
+#. SaBEy
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"par_id781606153472028\n"
+"help.text"
+msgid "The described modules and classes are invoked from user scripts as \"Services\". A generic constructor of those services has been designed for that purpose for each language."
+msgstr ""
+
+#. xhj84
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"par_id871637256506167\n"
+"help.text"
+msgid "The <literal>Dispose</literal> method is available in all services and should be called to free up resources after usage:"
+msgstr ""
+
+#. Depaw
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"hd_id851613836643580\n"
+"help.text"
+msgid "Services provided by the ScriptForge library"
+msgstr ""
+
+#. dw2Fe
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"par_id131613838858931\n"
+"help.text"
+msgid "Category"
+msgstr ""
+
+#. TmFbF
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"par_id441613838858931\n"
+"help.text"
+msgid "Services"
+msgstr ""
+
+#. ZZKBq
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"par_id851613847558931\n"
+"help.text"
+msgid "%PRODUCTNAME Basic"
+msgstr ""
+
+#. jv7Z3
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"par_id131613838825831\n"
+"help.text"
+msgid "Document Content"
+msgstr ""
+
+#. 8fZtg
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"par_id131613947858931\n"
+"help.text"
+msgid "User Interface"
+msgstr ""
+
+#. dAomL
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"par_id131613866258931\n"
+"help.text"
+msgid "Utilities"
+msgstr ""
+
+#. 6gvZc
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"par_id331608220104798\n"
+"help.text"
+msgid "<emph>Note:</emph> Other <literal>ScriptForge</literal> undescribed modules are reserved for internal use. Their content is subject to change without notice."
+msgstr ""
+
+#. uzETY
+#: lib_ScriptForge.xhp
+msgctxt ""
+"lib_ScriptForge.xhp\n"
+"par_id851506659675843\n"
+"help.text"
+msgid "All <literal>ScriptForge</literal> Basic routines or identifiers that are prefixed with an underscore character \"_\" are reserved for internal use. They are not meant be used in Basic macros or Python scripts."
+msgstr ""
+
+#. p9BFG
+#: lib_depot.xhp
+msgctxt ""
+"lib_depot.xhp\n"
+"tit\n"
+"help.text"
+msgid "DEPOT Library"
+msgstr ""
+
+#. rNFGR
+#: lib_depot.xhp
+msgctxt ""
+"lib_depot.xhp\n"
+"hd_id31529004750471\n"
+"help.text"
+msgid "<variable id=\"depot_lib\"><link href=\"text/sbasic/shared/03/lib_depot.xhp\" name=\"Depot library\">The <item type=\"literal\">Depot</item> Library</link></variable>"
+msgstr ""
+
+#. Us2HT
+#: lib_euro.xhp
+msgctxt ""
+"lib_euro.xhp\n"
+"tit\n"
+"help.text"
+msgid "EURO Library"
+msgstr ""
+
+#. 5sJCA
+#: lib_euro.xhp
+msgctxt ""
+"lib_euro.xhp\n"
+"hd_id31529004750471\n"
+"help.text"
+msgid "<variable id=\"euro_lib\"><link href=\"text/sbasic/shared/03/lib_euro.xhp\" name=\"Euro library\">The <item type=\"literal\">Euro</item> Library</link></variable>"
+msgstr ""
+
+#. rH2AG
+#: lib_euro.xhp
+msgctxt ""
+"lib_euro.xhp\n"
+"bm_id231529070133574\n"
+"help.text"
+msgid "<bookmark_value>BASIC Euro library</bookmark_value>"
+msgstr ""
+
+#. 9edb6
+#: lib_euro.xhp
+msgctxt ""
+"lib_euro.xhp\n"
+"hd_id841593518085848\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. DkBkc
+#: lib_euro.xhp
+msgctxt ""
+"lib_euro.xhp\n"
+"par_id921593518140986\n"
+"help.text"
+msgid "The <emph>Euro</emph> library is used by the <emph>Euro converter…</emph> wizard."
+msgstr ""
+
+#. uAg7T
+#: lib_euro.xhp
+msgctxt ""
+"lib_euro.xhp\n"
+"par_id481593518247400\n"
+"help.text"
+msgid "Its entry points are:"
+msgstr ""
+
+#. puNwN
+#: lib_euro.xhp
+msgctxt ""
+"lib_euro.xhp\n"
+"par_id381593519742529\n"
+"help.text"
+msgid "Selecting the <emph>Euro Converter</emph> wizard loads the following libraries in memory:"
+msgstr ""
+
+#. TGAHA
+#: lib_euro.xhp
+msgctxt ""
+"lib_euro.xhp\n"
+"par_id691593519646426\n"
+"help.text"
+msgid "Basic routine name conflicts may exist when multiple Basic libraries are loaded in memory."
+msgstr ""
+
+#. 5NFbA
+#: lib_euro.xhp
+msgctxt ""
+"lib_euro.xhp\n"
+"par_id1001593520257636\n"
+"help.text"
+msgid "ImportWizard and <link href=\"text/sbasic/shared/03/lib_tools.xhp\" name=\"Tools library\">Tools</link> Basic libraries"
+msgstr ""
+
+#. JbBaB
+#: lib_euro.xhp
+msgctxt ""
+"lib_euro.xhp\n"
+"par_id251593518523704\n"
+"help.text"
+msgid "<link href=\"text/shared/autopi/01150000.xhp\" name=\"Euro Converter Wizard\">Euro Converter Wizard</link> describes what the <emph>Euro</emph> library does."
+msgstr ""
+
+#. G8mp2
+#: lib_formwizard.xhp
+msgctxt ""
+"lib_formwizard.xhp\n"
+"tit\n"
+"help.text"
+msgid "FORMWIZARD Library"
+msgstr ""
+
+#. Lehxm
+#: lib_formwizard.xhp
+msgctxt ""
+"lib_formwizard.xhp\n"
+"hd_id31529004750471\n"
+"help.text"
+msgid "<variable id=\"formwizard_lib\"><link href=\"text/sbasic/shared/03/lib_formwizard.xhp\" name=\"FormWizard library\">The <item type=\"literal\">FormWizard</item> Library</link></variable>"
+msgstr ""
+
+#. tmFTn
+#: lib_gimmicks.xhp
+msgctxt ""
+"lib_gimmicks.xhp\n"
+"tit\n"
+"help.text"
+msgid "GIMMICKS Library"
+msgstr ""
+
+#. Q67FR
+#: lib_gimmicks.xhp
+msgctxt ""
+"lib_gimmicks.xhp\n"
+"hd_id31529004750471\n"
+"help.text"
+msgid "<variable id=\"gimmicks_lib\"><link href=\"text/sbasic/shared/03/lib_gimmicks.xhp\" name=\"Gimmicks library\">The <item type=\"literal\">Gimmicks</item> Library</link></variable>"
+msgstr ""
+
+#. XD2GA
+#: lib_gimmicks.xhp
+msgctxt ""
+"lib_gimmicks.xhp\n"
+"bm_id951529070357301\n"
+"help.text"
+msgid "<bookmark_value>BASIC Gimmicks library</bookmark_value>"
+msgstr ""
+
+#. D3BJr
+#: lib_gimmicks.xhp
+msgctxt ""
+"lib_gimmicks.xhp\n"
+"hd_id841593518085848\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. ewcAB
+#: lib_gimmicks.xhp
+msgctxt ""
+"lib_gimmicks.xhp\n"
+"par_id921593518140986\n"
+"help.text"
+msgid "The <emph>Gimmicks</emph> library is used by the <emph>AutoText</emph> wizard."
+msgstr ""
+
+#. kHzUe
+#: lib_gimmicks.xhp
+msgctxt ""
+"lib_gimmicks.xhp\n"
+"par_id481593518247400\n"
+"help.text"
+msgid "Its entry points are:"
+msgstr ""
+
+#. AmCFb
+#: lib_gimmicks.xhp
+msgctxt ""
+"lib_gimmicks.xhp\n"
+"par_id381593519742529\n"
+"help.text"
+msgid "Selecting <menuitem>Tools - AutoText</menuitem> loads the following library in memory:"
+msgstr ""
+
+#. hn8Dw
+#: lib_gimmicks.xhp
+msgctxt ""
+"lib_gimmicks.xhp\n"
+"par_id691593519646426\n"
+"help.text"
+msgid "Basic routine name conflicts may exist when multiple Basic libraries are loaded in memory."
+msgstr ""
+
+#. FGEdL
+#: lib_gimmicks.xhp
+msgctxt ""
+"lib_gimmicks.xhp\n"
+"par_id1001593520257636\n"
+"help.text"
+msgid "<link href=\"text/sbasic/shared/03/lib_tools.xhp\" name=\"Tools library\">Tools</link> Basic library"
+msgstr ""
+
+#. 9DVHn
+#: lib_gimmicks.xhp
+msgctxt ""
+"lib_gimmicks.xhp\n"
+"par_id251593518523704\n"
+"help.text"
+msgid "<link href=\"text/swriter/guide/autotext.xhp\" name=\"Using AutoText\">Using AutoText</link> explains what the <emph>Gimmicks</emph> library does."
+msgstr ""
+
+#. EwqqW
+#: lib_importwiz.xhp
+msgctxt ""
+"lib_importwiz.xhp\n"
+"tit\n"
+"help.text"
+msgid "ImportWizard Library"
+msgstr ""
+
+#. stDZt
+#: lib_importwiz.xhp
+msgctxt ""
+"lib_importwiz.xhp\n"
+"hd_id31529004750471\n"
+"help.text"
+msgid "<variable id=\"importwiz_lib\"><link href=\"text/sbasic/shared/03/lib_importwiz.xhp\" name=\"ImportWizard library\">The <item type=\"literal\">ImportWizard</item> Library</link></variable>"
+msgstr ""
+
+#. pbesX
+#: lib_importwiz.xhp
+msgctxt ""
+"lib_importwiz.xhp\n"
+"bm_id231529070133574\n"
+"help.text"
+msgid "<bookmark_value>BASIC ImportWizard library</bookmark_value>"
+msgstr ""
+
+#. GFoap
+#: lib_importwiz.xhp
+msgctxt ""
+"lib_importwiz.xhp\n"
+"hd_id841593518085848\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. Anhsb
+#: lib_importwiz.xhp
+msgctxt ""
+"lib_importwiz.xhp\n"
+"par_id921593518140986\n"
+"help.text"
+msgid "The <emph>ImportWizard</emph> library is used by the <emph>Document Converter</emph> wizard."
+msgstr ""
+
+#. FaGZt
+#: lib_importwiz.xhp
+msgctxt ""
+"lib_importwiz.xhp\n"
+"par_id481593518247400\n"
+"help.text"
+msgid "Its entry point is:"
+msgstr ""
+
+#. foGsC
+#: lib_importwiz.xhp
+msgctxt ""
+"lib_importwiz.xhp\n"
+"par_id381593519742529\n"
+"help.text"
+msgid "Selecting the <emph>Document Converter</emph> wizard loads the following libraries in memory:"
+msgstr ""
+
+#. vV4TD
+#: lib_importwiz.xhp
+msgctxt ""
+"lib_importwiz.xhp\n"
+"par_id691593519646426\n"
+"help.text"
+msgid "Basic routine name conflicts may exist when multiple Basic libraries are loaded in memory."
+msgstr ""
+
+#. ZCH7G
+#: lib_importwiz.xhp
+msgctxt ""
+"lib_importwiz.xhp\n"
+"par_id1001593520257636\n"
+"help.text"
+msgid "<link href=\"text/sbasic/shared/03/lib_tools.xhp\" name=\"Tools library\">Tools</link> Basic library"
+msgstr ""
+
+#. ZT5z9
+#: lib_importwiz.xhp
+msgctxt ""
+"lib_importwiz.xhp\n"
+"par_id251593518523704\n"
+"help.text"
+msgid "<link href=\"text/shared/autopi/01130000.xhp\" name=\"Document Converter\">Document Converter</link> describes what the <emph>ImportWizard</emph> library does."
+msgstr ""
+
+#. UWzWk
+#: lib_schedule.xhp
+msgctxt ""
+"lib_schedule.xhp\n"
+"tit\n"
+"help.text"
+msgid "SCHEDULE Library"
+msgstr ""
+
+#. CBBt6
+#: lib_schedule.xhp
+msgctxt ""
+"lib_schedule.xhp\n"
+"hd_id31529004750471\n"
+"help.text"
+msgid "<variable id=\"schedule_lib\"><link href=\"text/sbasic/shared/03/lib_schedule.xhp\" name=\"Schedule library\">The <item type=\"literal\">Schedule</item> Library</link></variable>"
+msgstr ""
+
+#. CGA63
+#: lib_schedule.xhp
+msgctxt ""
+"lib_schedule.xhp\n"
+"bm_id671529070099646\n"
+"help.text"
+msgid "<bookmark_value>BASIC Schedule library</bookmark_value>"
+msgstr ""
+
+#. AMFya
+#: lib_script.xhp
+msgctxt ""
+"lib_script.xhp\n"
+"tit\n"
+"help.text"
+msgid "SCRIPTBINDINGLIBRARY Library"
+msgstr ""
+
+#. KS8Yu
+#: lib_script.xhp
+msgctxt ""
+"lib_script.xhp\n"
+"hd_id31529004750471\n"
+"help.text"
+msgid "<variable id=\"script_lib\"><link href=\"text/sbasic/shared/03/lib_script.xhp\" name=\"ScriptBindingLibrary library\">The <item type=\"literal\">ScriptBindingLibrary</item> Library</link></variable>"
+msgstr ""
+
+#. m3NsC
+#: lib_script.xhp
+msgctxt ""
+"lib_script.xhp\n"
+"bm_id851529070366056\n"
+"help.text"
+msgid "<bookmark_value>BASIC ScriptBindingLibrary library</bookmark_value>"
+msgstr ""
+
+#. Z7iSC
+#: lib_script.xhp
+msgctxt ""
+"lib_script.xhp\n"
+"hd_id841593518085848\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. nnxNN
+#: lib_script.xhp
+msgctxt ""
+"lib_script.xhp\n"
+"par_id921593518140986\n"
+"help.text"
+msgid "The <emph>ScriptBindingLibrary</emph> library only contains dialogs, it is used by <emph>Highlight</emph> %PRODUCTNAME example scripts. Its dialogs are shared by Beanshell, Java and JavaScript example scripts."
+msgstr ""
+
+#. JdxBj
+#: lib_script.xhp
+msgctxt ""
+"lib_script.xhp\n"
+"par_id381593519742529\n"
+"help.text"
+msgid "Running any <emph>Highlight</emph> example script loads the <emph>ScriptBindingLibrary</emph> library in memory."
+msgstr ""
+
+#. 9CZwi
+#: lib_script.xhp
+msgctxt ""
+"lib_script.xhp\n"
+"par_id131593538122154\n"
+"help.text"
+msgid "This library is not used by %PRODUCTNAME Basic."
+msgstr ""
+
+#. Qh7KM
+#: lib_script.xhp
+msgctxt ""
+"lib_script.xhp\n"
+"par_id251593524531077\n"
+"help.text"
+msgid "<link href=\"text/shared/01/06130020.xhp\" name=\"Basic macro selector\">Basic macro selector</link>"
+msgstr ""
+
+#. wJqFF
+#: lib_script.xhp
+msgctxt ""
+"lib_script.xhp\n"
+"par_id721593525163663\n"
+"help.text"
+msgid "Beanshell, Java and JavaScript <link href=\"text/shared/01/06130030.xhp\" name=\"Scripts\">Scripts</link>"
+msgstr ""
+
+#. QZNvL
+#: lib_template.xhp
+msgctxt ""
+"lib_template.xhp\n"
+"tit\n"
+"help.text"
+msgid "TEMPLATE Library"
+msgstr ""
+
+#. wzLe7
+#: lib_template.xhp
+msgctxt ""
+"lib_template.xhp\n"
+"hd_id31529004750471\n"
+"help.text"
+msgid "<variable id=\"template_lib\"><link href=\"text/sbasic/shared/03/lib_template.xhp\" name=\"Template library\">The <item type=\"literal\">Template</item> Library</link></variable>"
+msgstr ""
+
+#. adfxB
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"tit\n"
+"help.text"
+msgid "Tools Library"
+msgstr ""
+
+#. vRB5r
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"hd_id31529004750471\n"
+"help.text"
+msgid "<variable id=\"tools_lib\"><link href=\"text/sbasic/shared/03/lib_tools.xhp\" name=\"Tools library\">The <item type=\"literal\">Tools</item> Library</link></variable>"
+msgstr ""
+
+#. rUPPX
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"bm_id491529070339774\n"
+"help.text"
+msgid "<bookmark_value>BASIC Tools library</bookmark_value>"
+msgstr ""
+
+#. DKAzk
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"par_id161529001339405\n"
+"help.text"
+msgid "<link href=\"text/sbasic/shared/03/lib_tools.xhp#debug_module\" name=\"debug module\"><item type=\"literal\">Debug</item> Module</link>"
+msgstr ""
+
+#. pFFV7
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"par_id41529001348561\n"
+"help.text"
+msgid "<link href=\"text/sbasic/shared/03/lib_tools.xhp#listbox_module\" name=\"listbox module\"><item type=\"literal\">ListBox</item> Module</link>"
+msgstr ""
+
+#. BDvVs
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"par_id341529001354451\n"
+"help.text"
+msgid "<link href=\"text/sbasic/shared/03/lib_tools.xhp#misc_module\" name=\"misc module\"><item type=\"literal\">Misc</item> Module</link>"
+msgstr ""
+
+#. 6NCFB
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"par_id311529001362049\n"
+"help.text"
+msgid "<link href=\"text/sbasic/shared/03/lib_tools.xhp#modulecontrols_module\" name=\"module controls module\"><item type=\"literal\">ModuleControls</item> Module</link>"
+msgstr ""
+
+#. YaqDd
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"par_id701529001368064\n"
+"help.text"
+msgid "<link href=\"text/sbasic/shared/03/lib_tools.xhp#strings_module\" name=\"strings module\"><item type=\"literal\">Strings</item> Module</link>"
+msgstr ""
+
+#. BjA4M
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"par_id251529001373426\n"
+"help.text"
+msgid "<link href=\"text/sbasic/shared/03/lib_tools.xhp#ucb_module\" name=\"ucb module\"><item type=\"literal\">UCB</item> Module</link>"
+msgstr ""
+
+#. ctfU3
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"bm_id271529062442803\n"
+"help.text"
+msgid "<bookmark_value>BASIC Tools library;Debug module</bookmark_value>"
+msgstr ""
+
+#. TKbhv
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"hd_id371529000826947\n"
+"help.text"
+msgid "<item type=\"literal\">Debug</item> Module"
+msgstr ""
+
+#. KBTsC
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"par_id441529064369519\n"
+"help.text"
+msgid "Functions and subroutines for debugging Basic macros."
+msgstr ""
+
+#. 7khGi
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"bm_id131529062501888\n"
+"help.text"
+msgid "<bookmark_value>BASIC Tools library;ListBox module</bookmark_value>"
+msgstr ""
+
+#. qTCF8
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"hd_id11529005753099\n"
+"help.text"
+msgid "<item type=\"literal\">ListBox</item> Module"
+msgstr ""
+
+#. BEjWa
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"par_id381529064415052\n"
+"help.text"
+msgid "Functions and subroutines for handling ListBox elements."
+msgstr ""
+
+#. LR48E
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"bm_id571529062538621\n"
+"help.text"
+msgid "<bookmark_value>BASIC Tools library;Misc module</bookmark_value>"
+msgstr ""
+
+#. PASgz
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"hd_id341529005758494\n"
+"help.text"
+msgid "<item type=\"literal\">Misc</item> Module"
+msgstr ""
+
+#. 8rET3
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"par_id681529064596175\n"
+"help.text"
+msgid "Miscellaneous functions and subroutines."
+msgstr ""
+
+#. 534YG
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"bm_id21529062611375\n"
+"help.text"
+msgid "<bookmark_value>BASIC Tools library;ModuleControl module</bookmark_value>"
+msgstr ""
+
+#. sonXm
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"hd_id451529005764422\n"
+"help.text"
+msgid "<item type=\"literal\">ModuleControls</item> Module"
+msgstr ""
+
+#. 3ASxZ
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"par_id841529064645990\n"
+"help.text"
+msgid "Functions and subroutines for module control."
+msgstr ""
+
+#. Wyk6n
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"par_id261558858921700\n"
+"help.text"
+msgid "Refer to <link href=\"text/sbasic/guide/show_dialog.xhp#show_dialog\" name=\"Opening a Dialog with Basic\">Opening a Dialog with Basic</link> for an example of LoadDialog function."
+msgstr ""
+
+#. fVAXC
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"bm_id271529062660965\n"
+"help.text"
+msgid "<bookmark_value>BASIC Tools library;Strings module</bookmark_value>"
+msgstr ""
+
+#. uFYzk
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"hd_id461529005770576\n"
+"help.text"
+msgid "<item type=\"literal\">Strings</item> Module"
+msgstr ""
+
+#. EbUdR
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"par_id631529064722315\n"
+"help.text"
+msgid "Advanced functions and subroutines for string manipulation."
+msgstr ""
+
+#. iKnBp
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"bm_id731529062695476\n"
+"help.text"
+msgid "<bookmark_value>BASIC Tools library;UCB module</bookmark_value>"
+msgstr ""
+
+#. VeYbp
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"hd_id461529005780299\n"
+"help.text"
+msgid "<item type=\"literal\">UCB</item> Module"
+msgstr ""
+
+#. K2Cvw
+#: lib_tools.xhp
+msgctxt ""
+"lib_tools.xhp\n"
+"par_id131529064870824\n"
+"help.text"
+msgid "<emph>Universal Content Broker</emph> functions and subroutines."
+msgstr ""
+
+#. LsR47
+#: lib_wikieditor.xhp
+msgctxt ""
+"lib_wikieditor.xhp\n"
+"tit\n"
+"help.text"
+msgid "WikiEditor Library"
+msgstr ""
+
+#. QDwwy
+#: lib_wikieditor.xhp
+msgctxt ""
+"lib_wikieditor.xhp\n"
+"hd_id31529004750471\n"
+"help.text"
+msgid "<variable id=\"wikieditor_lib\"><link href=\"text/sbasic/shared/03/lib_wikieditor.xhp\" name=\"WikiEditor library\">The <item type=\"literal\">WikiEditor</item> Library</link></variable>"
+msgstr ""
+
+#. mBGxx
+#: lib_wikieditor.xhp
+msgctxt ""
+"lib_wikieditor.xhp\n"
+"bm_id231529070133574\n"
+"help.text"
+msgid "<bookmark_value>BASIC WikiEditor library</bookmark_value>"
+msgstr ""
+
+#. qGFuz
+#: lib_wikieditor.xhp
+msgctxt ""
+"lib_wikieditor.xhp\n"
+"hd_id841593518085848\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. MdATA
+#: lib_wikieditor.xhp
+msgctxt ""
+"lib_wikieditor.xhp\n"
+"par_id921593518140986\n"
+"help.text"
+msgid "The <emph>WikiEditor</emph> library only contains dialogs, it is used by <emph>Wiki Publisher</emph> bundled Java extension."
+msgstr ""
+
+#. k2E85
+#: lib_wikieditor.xhp
+msgctxt ""
+"lib_wikieditor.xhp\n"
+"par_id131593538122154\n"
+"help.text"
+msgid "This library is not used by %PRODUCTNAME Basic."
+msgstr ""
+
+#. Ns4rA
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge.Array service (SF_Array)"
+msgstr ""
+
+#. 5rg28
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bm_id281613039222756\n"
+"help.text"
+msgid "<bookmark_value>Array service</bookmark_value>"
+msgstr ""
+
+#. DryH9
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bm_id781582391760253\n"
+"help.text"
+msgid "<variable id=\"ArrayService\"><link href=\"text/sbasic/shared/03/sf_array.xhp\" name=\"ScriptForge.Array Service\"><literal>ScriptForge</literal>.<literal>Array</literal> service</link></variable>"
+msgstr ""
+
+#. jMjFA
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id991582454416549\n"
+"help.text"
+msgid "Provides a collection of methods for manipulating and transforming arrays of one dimension (vectors) and arrays of two dimensions (matrices). This includes set operations, sorting, importing from and exporting to text files."
+msgstr ""
+
+#. WjgHr
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id681609955015503\n"
+"help.text"
+msgid "Arrays with more than two dimensions cannot be used with the methods in this service, the only exception being the <literal>CountDims</literal> method that accepts Arrays with any number of dimensions."
+msgstr ""
+
+#. CL5tT
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id651582454426538\n"
+"help.text"
+msgid "Array items may contain any type of value, including (sub)arrays."
+msgstr ""
+
+#. hdC3J
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"hd_id981586595097630\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. CPbHQ
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>Array</literal> service the <literal>ScriptForge</literal> library needs to be loaded using:"
+msgstr ""
+
+#. FDqCD
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id461609955633383\n"
+"help.text"
+msgid "Loading the library will create the <literal>SF_Array</literal> object that can be used to call the methods in the <literal>Array</literal> service."
+msgstr ""
+
+#. AAdGG
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id63158659509728\n"
+"help.text"
+msgid "The following code snippets show the various ways to call methods in the <literal>Array</literal> service (the <literal>Append</literal> method is used as an example):"
+msgstr ""
+
+#. PZxWC
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id571609956486468\n"
+"help.text"
+msgid "Because Python has built-in list and tuple support, most of the methods in the <literal>Array</literal> service are available for Basic scripts only. The only exception is <literal>ImportFromCSVFile</literal> which is supported in both Basic and Python."
+msgstr ""
+
+#. SFTcE
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id651606319520519\n"
+"help.text"
+msgid "List of Methods in the Array Service"
+msgstr ""
+
+#. qDYGe
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id191582454485250\n"
+"help.text"
+msgid "The first argument of most methods is the array object to be considered. It is always passed by reference and left unchanged. Methods such as Append, Prepend, etc return a new array object after their execution."
+msgstr ""
+
+#. n84zh
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id931582548992953\n"
+"help.text"
+msgid "Appends the items listed as arguments to the end of the input array."
+msgstr ""
+
+#. 2keb6
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id471582548992953\n"
+"help.text"
+msgid "<emph>array_1d</emph>: The pre-existing array, may be empty."
+msgstr ""
+
+#. WaggZ
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id531582548992953\n"
+"help.text"
+msgid "<emph>arg0, arg1, ...</emph>: Items that will be appended to <literal>array_1d</literal>."
+msgstr ""
+
+#. SkBjv
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id241582549679173\n"
+"help.text"
+msgid "Appends a new column to the right side of a two dimensional array. The resulting array has the same lower bounds as the initial two dimensional array."
+msgstr ""
+
+#. dCSCb
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id461582549679175\n"
+"help.text"
+msgid "<emph>array_2d</emph>: The pre-existing array, may be empty. If that array has only one dimension, it is considered as the first column of the resulting two-dimensional array."
+msgstr ""
+
+#. NLrB4
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id991582549679175\n"
+"help.text"
+msgid "<emph>column</emph>: A 1-dimensional array with as many items as there are rows in <literal>array_2d</literal>."
+msgstr ""
+
+#. KDB9L
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id941582551396374\n"
+"help.text"
+msgid "Append to the bottom of a two dimension array a new row. The resulting array has the same lower bounds as the initial two dimension array."
+msgstr ""
+
+#. HEpVM
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id631582551461984\n"
+"help.text"
+msgid "<emph>array_2d</emph>: The pre-existing array, may be empty. If that array has 1 dimension, it is considered as the first row of the resulting 2 dimension array."
+msgstr ""
+
+#. SZZEA
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id101582551483685\n"
+"help.text"
+msgid "<emph>row</emph>: A 1-dimensional array with as many items as there are columns in <literal>array_2d</literal>."
+msgstr ""
+
+#. aM65P
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id391582552517870\n"
+"help.text"
+msgid "Check if a one dimension array contains a certain number, text or date. Text comparison can be case-sensitive or not. <br/>Sorted input arrays must be filled homogeneously, meaning all items must be scalars of the same type (<literal>Empty</literal> and <literal>Null</literal> items are forbidden). <br/>The result of the method is unpredictable when the array is announced as sorted and is in reality not. <br/>A binary search is done when the array is sorted, otherwise, it is simply scanned from top to bottom and <literal>Empty</literal> and <literal>Null</literal> items are ignored."
+msgstr ""
+
+#. CuUGw
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id451582552517871\n"
+"help.text"
+msgid "<emph>array_1d</emph>: The array to scan."
+msgstr ""
+
+#. WZiqW
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id221582552517872\n"
+"help.text"
+msgid "<emph>tofind</emph>: A number, a date or a string to find."
+msgstr ""
+
+#. jFfok
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id981582552517872\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: Only for string comparisons (Default = <literal>False</literal>)."
+msgstr ""
+
+#. 5ARWv
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id641582553128490\n"
+"help.text"
+msgid "<emph>sortorder</emph>: It can be either \"ASC\", \"DESC\" or \"\" (not sorted). The default value is \"\"."
+msgstr ""
+
+#. HVqG3
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id71582557214489\n"
+"help.text"
+msgid "Store the content of a 2-columns array into a <link href=\"text/sbasic/shared/03/sf_dictionary.xhp\" name=\"dictionary\">ScriptForge.Dictionary</link> object. <br/>The key will be extracted from the first column, the item from the second."
+msgstr ""
+
+#. AdhMA
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id561582557214489\n"
+"help.text"
+msgid "<emph>array_2d</emph>: Data to be converted into a <literal>ScriptForge.Dictionary</literal> object."
+msgstr ""
+
+#. 9B9aE
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id781626977460310\n"
+"help.text"
+msgid "The first column must contain exclusively strings with a length greater than zero, in any order. These values will be used as labels in the dictionary."
+msgstr ""
+
+#. GYEkD
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id511626977461127\n"
+"help.text"
+msgid "The second column contains the data that will be associated to the corresponding label in the dictionary."
+msgstr ""
+
+#. bGXKd
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id571627154604275\n"
+"help.text"
+msgid "Creates a copy of a 1D or 2D array."
+msgstr ""
+
+#. EYuiH
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id191627155816815\n"
+"help.text"
+msgid "<emph>array_nd</emph>: The 1D or 2D array to be copied."
+msgstr ""
+
+#. 76Guf
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id451627155478940\n"
+"help.text"
+msgid "A simple assignment of an <literal>Array</literal> object will copy its reference instead of creating a copy of the object's contents. See the example below:"
+msgstr ""
+
+#. B2KZj
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bas_id801627155939671\n"
+"help.text"
+msgid "' The assignment below is made by reference"
+msgstr ""
+
+#. SoKPK
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bas_id291627156013810\n"
+"help.text"
+msgid "' Hence changing values in \"b\" will also change \"a\""
+msgstr ""
+
+#. 6NbNZ
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id701627155874259\n"
+"help.text"
+msgid "By using the <literal>Copy</literal> method, a copy of the whole <literal>Array</literal> object is made. In the example below, <literal>a</literal> and <literal>b</literal> are different objects and changing values in <literal>b</literal> will not affect values in <literal>a</literal>."
+msgstr ""
+
+#. UycBx
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bas_id141627156152196\n"
+"help.text"
+msgid "' Creates a copy of \"a\" using the \"Copy\" method"
+msgstr ""
+
+#. bYzRV
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id671582558126025\n"
+"help.text"
+msgid "Count the number of dimensions of an array. The result can be greater than two. <br/>If the argument is not an array, returns -1 <br/>If the array is not initialized, returns 0."
+msgstr ""
+
+#. xbtFE
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id771582558126027\n"
+"help.text"
+msgid "<emph>array_nd</emph>: The array to examine."
+msgstr ""
+
+#. n2AxD
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id91582558644287\n"
+"help.text"
+msgid "Build a set, as a zero-based array, by applying the difference operator on the two input arrays. Resulting items originate from the first array and not from the second. <br/>The resulting array is sorted in ascending order. <br/>Both input arrays must be filled homogeneously, their items must be scalars of the same type. <literal>Empty</literal> and <literal>Null</literal> items are forbidden. <br/>Text comparison can be case sensitive or not."
+msgstr ""
+
+#. FTb9n
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id271582558644287\n"
+"help.text"
+msgid "<emph>array1_1d</emph>: A 1-dimensional reference array, whose items are examined for removal."
+msgstr ""
+
+#. JXqBK
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id141582558644287\n"
+"help.text"
+msgid "<emph>array2_1d</emph>: A 1-dimensional array, whose items are subtracted from the first input array."
+msgstr ""
+
+#. jK4zC
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id291582559651473\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: This argument is only applicable if the arrays are populated with strings (Default = <literal>False</literal>)."
+msgstr ""
+
+#. mzRus
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id941586179707156\n"
+"help.text"
+msgid "Write all items of the array sequentially to a text file. If the file exists already, it will be overwritten without warning."
+msgstr ""
+
+#. 9mNLT
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id100158617970719\n"
+"help.text"
+msgid "<emph>array_1d</emph>: The array to export. It must contain only strings."
+msgstr ""
+
+#. kXJDE
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id101586179707232\n"
+"help.text"
+msgid "<emph>filename</emph>: The name of the text file where the data will be written to. The name must be expressed according to the current <literal>FileNaming</literal> property of the <literal>SF_FileSystem</literal> service."
+msgstr ""
+
+#. fAeZV
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id70158617970791\n"
+"help.text"
+msgid "<emph>encoding</emph>: The character set that should be used. Use one of the names listed in <link href=\"https://www.iana.org/assignments/character-sets/character-sets.xhtml\" name=\"IANA character sets\">IANA character sets</link>. Note that %PRODUCTNAME may not implement all existing character sets (Default is \"UTF-8\")."
+msgstr ""
+
+#. TtHbe
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id171582560281082\n"
+"help.text"
+msgid "Extract from a two dimension array a specific column as a new array. <br/>Its lower <literal>LBound</literal> and upper <literal>UBound</literal> boundaries are identical to that of the first dimension of the input array."
+msgstr ""
+
+#. j2CVW
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id301582560281083\n"
+"help.text"
+msgid "<emph>array_2d</emph>: The array from which to extract."
+msgstr ""
+
+#. QDqrA
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id421582560281084\n"
+"help.text"
+msgid "<emph>columnindex</emph>: The column number to extract - must be in the interval <literal>[LBound, UBound]</literal>."
+msgstr ""
+
+#. AJxYE
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bas_id861609975902708\n"
+"help.text"
+msgid "'Creates a 3x3 matrix: |1, 2, 3|"
+msgstr ""
+
+#. uZD8U
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bas_id431609976009994\n"
+"help.text"
+msgid "'Extracts the third column: |3, 6, 9|"
+msgstr ""
+
+#. is3Zq
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id211582561467219\n"
+"help.text"
+msgid "Extract from a two dimension array a specific row as a new array. <br/>Its lower <literal>LBound</literal> and upper <literal>UBound</literal> boundaries are identical to that of the second dimension of the input array."
+msgstr ""
+
+#. VCBJA
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id911582561542889\n"
+"help.text"
+msgid "<emph>array_2d</emph>: The array from which to extract."
+msgstr ""
+
+#. MjXTV
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id441582561551202\n"
+"help.text"
+msgid "<emph>rowindex</emph>: The row number to extract - must be in the interval <literal>[LBound, UBound]</literal>."
+msgstr ""
+
+#. AajEu
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bas_id301582561604167\n"
+"help.text"
+msgid "'Creates a 3x3 matrix: |1, 2, 3|"
+msgstr ""
+
+#. txoEC
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bas_id431609976648017\n"
+"help.text"
+msgid "'Extracts the first row: |1, 2, 3|"
+msgstr ""
+
+#. nGy3S
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id431585757822181\n"
+"help.text"
+msgid "Stack all single items of an array and all items in its subarrays into one new array without subarrays. Empty subarrays are ignored and subarrays with a number of dimensions greater than one are not flattened."
+msgstr ""
+
+#. CNFGJ
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id431585757822869\n"
+"help.text"
+msgid "<emph>array_1d</emph>: The pre-existing array, may be empty."
+msgstr ""
+
+#. DDwn4
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id291610040786530\n"
+"help.text"
+msgid "You can use the <literal>Flatten</literal> method along with other methods such as <literal>Append</literal> or <literal>Prepend</literal> to concatenate a set of 1D arrays into a single 1D array."
+msgstr ""
+
+#. XE4hJ
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id941610040961148\n"
+"help.text"
+msgid "Next is an example of how the methods <literal>Flatten</literal> and <literal>Append</literal> can be combined to concatenate three arrays."
+msgstr ""
+
+#. FyJQi
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bas_id841610041372527\n"
+"help.text"
+msgid "'Creates three arrays for this example"
+msgstr ""
+
+#. WvdEp
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bas_id171610041440657\n"
+"help.text"
+msgid "'Concatenates the three arrays into a single 1D array"
+msgstr ""
+
+#. 3Gm5m
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id611585561482373\n"
+"help.text"
+msgid "Import the data contained in a comma-separated values (CSV) file. The comma may be replaced by any character."
+msgstr ""
+
+#. Fft9z
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id41585562158392\n"
+"help.text"
+msgid "The applicable CSV format is described in <link href=\"https://tools.ietf.org/html/rfc4180\" name=\"CSV formats\">IETF Common Format and MIME Type for CSV Files</link>."
+msgstr ""
+
+#. PT3Pq
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id641585562341028\n"
+"help.text"
+msgid "Each line in the file contains a full record (line splitting is not allowed). <br/>However sequences like <literal>\\n</literal>, <literal>\\t</literal>, ... are left unchanged. Use <literal>SF_String</literal>.Unescape() method to manage them."
+msgstr ""
+
+#. dCYB3
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id231585562475026\n"
+"help.text"
+msgid "The method returns a two dimension array whose rows correspond to a single record read in the file and whose columns correspond to a field of the record. No check is made about the coherence of the field types across columns. A best guess will be made to identify numeric and date types."
+msgstr ""
+
+#. FMKSo
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id101585562548245\n"
+"help.text"
+msgid "If a line contains less or more fields than the first line in the file, an exception will be raised. Empty lines however are simply ignored. If the size of the file exceeds the number of items limit (see inside the code), a warning is raised and the array is truncated."
+msgstr ""
+
+#. zGf5A
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id441585561482121\n"
+"help.text"
+msgid "<emph>filename</emph>: The name of the text file containing the data. The name must be expressed according to the current <literal>FileNaming</literal> property of the <literal>SF_FileSystem</literal> service."
+msgstr ""
+
+#. SBuiC
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id251585561482929\n"
+"help.text"
+msgid "<emph>delimiter</emph>: A single character, usually, a comma, a semicolon or a TAB character (Default = \",\")."
+msgstr ""
+
+#. Ehoz6
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id631585563491559\n"
+"help.text"
+msgid "<emph>dateformat</emph>: A special mechanism handles dates when <literal>dateformat</literal> is either \"YYYY-MM-DD\", \"DD-MM-YYYY\" or \"MM-DD-YYYY\". The dash (-) may be replaced by a dot (.), a slash (/) or a space. Other date formats will be ignored. Dates defaulting to an empty string \"\" are considered as normal text."
+msgstr ""
+
+#. oj4Th
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id61585564516409\n"
+"help.text"
+msgid "Consider the CSV file \"myFile.csv\" with the following contents:"
+msgstr ""
+
+#. T6E8L
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id281626980354105\n"
+"help.text"
+msgid "<input>Name,DateOfBirth,Address,City</input>"
+msgstr ""
+
+#. FRZKB
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id301626980648833\n"
+"help.text"
+msgid "<input>Anna,2002/03/31,\"Rue de l'église, 21\",Toulouse</input>"
+msgstr ""
+
+#. g2r8f
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id881626980658900\n"
+"help.text"
+msgid "<input>Fred,1998/05/04,\"Rue Albert Einstein, 113A\",Carcassonne</input>"
+msgstr ""
+
+#. xNCNA
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id181626979812772\n"
+"help.text"
+msgid "The examples below in Basic and Python read the contents of the CSV file into an <literal>Array</literal> object."
+msgstr ""
+
+#. F4yYB
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bas_id531585561482408\n"
+"help.text"
+msgid "arr = SF_Array.ImportFromCSVFile(\"C:\\Temp\\myFile.csv\", DateFormat := \"YYYY/MM/DD\")"
+msgstr ""
+
+#. wyEqv
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bas_id621585561482783\n"
+"help.text"
+msgid "MsgBox arr(0, 3) ' City"
+msgstr ""
+
+#. tDMNL
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bas_id21585564425349\n"
+"help.text"
+msgid "MsgBox arr(1, 2) ' Rue de l'église, 21"
+msgstr ""
+
+#. SBfVW
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bas_id831585564433851\n"
+"help.text"
+msgid "MsgBox arr(1, 3) ' Toulouse"
+msgstr ""
+
+#. DpxfS
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"pyc_id511626979992999\n"
+"help.text"
+msgid "arr = svc.ImportFromCSVFile(r\"C:\\Temp\\myFile.csv\", dateformat = \"YYYY/MM/DD\")"
+msgstr ""
+
+#. asqiD
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"pyc_id211626979993191\n"
+"help.text"
+msgid "bas.MsgBox(arr[0][3]) # City"
+msgstr ""
+
+#. 2gFXA
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"pyc_id671626979993408\n"
+"help.text"
+msgid "bas.MsgBox(arr[1][2]) # Rue de l'église, 21"
+msgstr ""
+
+#. kYfmG
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"pyc_id481626979993648\n"
+"help.text"
+msgid "bas.MsgBox(arr[1][3]) # Toulouse"
+msgstr ""
+
+#. xCx7D
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id211582562721860\n"
+"help.text"
+msgid "Look in a one dimension array for a number, a string or a date. Text comparison can be case-sensitive or not. <br/>If the array is sorted it must be filled homogeneously, which means that all items must be scalars of the same type (<literal>Empty</literal> and <literal>Null</literal> items are forbidden). <br/>The result of the method is unpredictable when the array is announced as sorted and actually is not. <br/>A binary search is performed on sorted arrays. Otherwise, arrays are simply scanned from top to bottom and <literal>Empty</literal> and <literal>Null</literal> items are ignored. <br/> <br/>The method returns <literal>LBound(input array) - 1</literal> if the search was not successful."
+msgstr ""
+
+#. Bm5Um
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id315825627687760\n"
+"help.text"
+msgid "<emph>array_1d</emph>: The array to scan."
+msgstr ""
+
+#. B5FFj
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id511582562775516\n"
+"help.text"
+msgid "<emph>tofind</emph>: A number, a date or a string to find."
+msgstr ""
+
+#. i4XQT
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id311582562787187\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: Only for string comparisons (Default = <literal>False</literal>)."
+msgstr ""
+
+#. gd5ZZ
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id421582562794501\n"
+"help.text"
+msgid "<emph>sortorder</emph>: It can be either \"ASC\", \"DESC\" or \"\" (not sorted). The default value is \"\"."
+msgstr ""
+
+#. AWJHj
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id911582626951109\n"
+"help.text"
+msgid "Insert before a given index of the input array the items listed as arguments. <br/>Arguments are inserted blindly. Each of them might be either a scalar of any type or a subarray."
+msgstr ""
+
+#. FwHz6
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id251582626951111\n"
+"help.text"
+msgid "<emph>array_1d</emph>: The pre-existing array, may be empty."
+msgstr ""
+
+#. zEACt
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id361582626951111\n"
+"help.text"
+msgid "<emph>before</emph>: The index before which to insert; must be in the interval <literal>[LBound, UBound + 1]</literal>."
+msgstr ""
+
+#. iYFC5
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id41582626951111\n"
+"help.text"
+msgid "<emph>arg0, arg1, ...</emph>: Items that will be inserted into <literal>array_1d</literal>."
+msgstr ""
+
+#. rA4FE
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id441582627664147\n"
+"help.text"
+msgid "Inserts into a sorted array a new item on its place. <br/>The array must be filled homogeneously, meaning that all items must be scalars of the same type. <br/><literal>Empty</literal> and <literal>Null</literal> items are forbidden."
+msgstr ""
+
+#. jBpdF
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id121582627664147\n"
+"help.text"
+msgid "<emph>array_1d</emph>: The array into which the value will be inserted."
+msgstr ""
+
+#. 36fZG
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id315826276641480\n"
+"help.text"
+msgid "<emph>item</emph>: The scalar value to insert, of the same type as the existing array items."
+msgstr ""
+
+#. dHYTn
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id415826279771170\n"
+"help.text"
+msgid "<emph>sortorder</emph>: It can be either \"ASC\" (default) or \"DESC\"."
+msgstr ""
+
+#. TJanG
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id701582627970037\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: Only for string comparisons (Default = <literal>False</literal>)."
+msgstr ""
+
+#. t9UFn
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id71582629177169\n"
+"help.text"
+msgid "Build a set, as a zero-based array, by applying the intersection set operator on the two input arrays. Resulting items are contained in both arrays. <br/>The resulting array is sorted in ascending order. <br/>Both input arrays must be filled homogeneously, in other words all items must be scalars of the same type. <literal>Empty</literal> and <literal>Null</literal> items are forbidden. <br/>Text comparison can be case sensitive or not."
+msgstr ""
+
+#. vCyDN
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id881582629216169\n"
+"help.text"
+msgid "<emph>array1_1d</emph>: The first input array."
+msgstr ""
+
+#. NhXEb
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id191582629223038\n"
+"help.text"
+msgid "<emph>array2_1d</emph>: The second input array."
+msgstr ""
+
+#. Dx32U
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id71582629230275\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: Applies to arrays populated with text items (Default = <literal>False</literal>)."
+msgstr ""
+
+#. cirZm
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id431583064481679\n"
+"help.text"
+msgid "Join a two-dimensional array with two delimiters, one for the columns, one for the rows."
+msgstr ""
+
+#. 8xwfF
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id821583064481534\n"
+"help.text"
+msgid "<emph>array_2d</emph>: Each item must be either text, a number, a date or a boolean. <br/>Dates are transformed into the YYYY-MM-DD hh:mm:ss format. <br/>Invalid items are replaced by a zero-length string."
+msgstr ""
+
+#. TiqUm
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id171583066989446\n"
+"help.text"
+msgid "<emph>columndelimiter</emph>: Delimits each column (default = Tab/Chr(9))."
+msgstr ""
+
+#. WG5wm
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id431583067008842\n"
+"help.text"
+msgid "<emph>rowdelimiter</emph>: Delimits each row (default = LineFeed/Chr(10))"
+msgstr ""
+
+#. VrBJV
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id541583067456273\n"
+"help.text"
+msgid "<emph>quote</emph>: If <literal>True</literal>, protect strings with double quotes. The default is <literal>False</literal>."
+msgstr ""
+
+#. CEE7o
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id731582630075045\n"
+"help.text"
+msgid "Prepend at the beginning of the input array the items listed as arguments."
+msgstr ""
+
+#. HSbWh
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id321582630107068\n"
+"help.text"
+msgid "<emph>array_1d</emph>: The pre-existing array, may be empty."
+msgstr ""
+
+#. jszVE
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id915826301138550\n"
+"help.text"
+msgid "<emph>arg0, arg1, ...</emph>: A list of items to prepend to <literal>array_1d</literal>."
+msgstr ""
+
+#. BokfB
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id91582643223166\n"
+"help.text"
+msgid "Prepend to the left side of a two dimension array a new column. The resulting array has the same lower boundaries as the initial two dimension array."
+msgstr ""
+
+#. iBqEm
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id621582643223545\n"
+"help.text"
+msgid "<emph>array_2d</emph>: The pre-existing array, may be empty. If that array has 1 dimension, it is considered as the last column of the resulting 2 dimension array."
+msgstr ""
+
+#. aKJwC
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id381582643223870\n"
+"help.text"
+msgid "<emph>column</emph>: A 1-dimensional array with as many items as there are rows in <literal>array_2d</literal>."
+msgstr ""
+
+#. vsPSG
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id851582643611291\n"
+"help.text"
+msgid "Prepend a new row at the beginning of a 2-dimensional array. The resulting array has the same lower boundaries as the initial 2-dimensional array."
+msgstr ""
+
+#. g2LFC
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id991582643611645\n"
+"help.text"
+msgid "<emph>array_2d</emph>: The pre-existing array, may be empty. If that array has 1 dimension, it is considered as the last row of the resulting 2-dimensional array."
+msgstr ""
+
+#. RiLGr
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id321582643611415\n"
+"help.text"
+msgid "<emph>row</emph>: A 1-dimensional array containing as many items as there are columns in <literal>array_2d</literal>."
+msgstr ""
+
+#. WmxAd
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id441582648204012\n"
+"help.text"
+msgid "Initialize a new zero-based array with numeric values."
+msgstr ""
+
+#. EVXVL
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id591582648204013\n"
+"help.text"
+msgid "<emph>from</emph>: Value of the first item."
+msgstr ""
+
+#. ciMBJ
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id31582648204013\n"
+"help.text"
+msgid "<emph>upto</emph>: The last item should not exceed <literal>UpTo</literal>."
+msgstr ""
+
+#. 2QZtd
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id581582648204014\n"
+"help.text"
+msgid "<emph>bystep</emph>: The difference between two successive items (Default = 1)."
+msgstr ""
+
+#. SbVGG
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id451582648806764\n"
+"help.text"
+msgid "Return the reversed one dimension input array."
+msgstr ""
+
+#. dG6d8
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id31582648806765\n"
+"help.text"
+msgid "<emph>array_1d</emph>: The array to reverse."
+msgstr ""
+
+#. tkEUv
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id151582649200088\n"
+"help.text"
+msgid "Returns a random permutation of a one-dimensional array."
+msgstr ""
+
+#. xFwWY
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id11582649200088\n"
+"help.text"
+msgid "<emph>array_1d</emph>: The array to shuffle."
+msgstr ""
+
+#. BvV5v
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"bas_id611582649200089\n"
+"help.text"
+msgid "' Array \"a\" is now in random order, f.i. (2, 3, 1, 4)"
+msgstr ""
+
+#. GhFBG
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id111586184185502\n"
+"help.text"
+msgid "Returns a subset of a one-dimensional array."
+msgstr ""
+
+#. YeRkh
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id201586184185438\n"
+"help.text"
+msgid "<emph>array_1d</emph>: The array to slice."
+msgstr ""
+
+#. UzHmT
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id921586184482370\n"
+"help.text"
+msgid "<emph>from</emph>: The lower index in <literal>array_1d</literal> of the subarray to extract (<literal>from</literal> included)"
+msgstr ""
+
+#. 326GB
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id211586184471488\n"
+"help.text"
+msgid "<emph>upto</emph>: The upper index in <literal>array_1d</literal> of the subarray to extract (<literal>upto</literal> included). The default value is the upper bound of <literal>array_1d</literal>. If <literal>upto</literal> < <literal>from</literal> then the returned array is empty."
+msgstr ""
+
+#. oBwcF
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id171582649483675\n"
+"help.text"
+msgid "Sort a one dimension array in ascending or descending order. Text comparisons can be case-sensitive or not. <br/>The array must be filled homogeneously, which means that items must be scalars of the same type. <br/><literal>Empty</literal> and <literal>Null</literal> items are allowed. Conventionally <literal>Empty</literal> < <literal>Null</literal> < any other scalar value."
+msgstr ""
+
+#. eNuB8
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id71158264948346\n"
+"help.text"
+msgid "<emph>array_1d</emph>: The array to sort."
+msgstr ""
+
+#. 7S2Bq
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id21582649483175\n"
+"help.text"
+msgid "<emph>sortorder</emph>: It can be either \"ASC\" (default) or \"DESC\"."
+msgstr ""
+
+#. K4GrR
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id301582649483187\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: Only for string comparisons (Default = <literal>False</literal>)."
+msgstr ""
+
+#. 6CkrZ
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id801582650186957\n"
+"help.text"
+msgid "Return a permutation of the columns of a two dimension array, sorted on the values of a given row. <br/>The row must be filled homogeneously, which means that all items must be scalars of the same type. <br/><literal>Empty</literal> and <literal>Null</literal> items are allowed. Conventionally <literal>Empty</literal> < <literal>Null</literal> < any other scalar value."
+msgstr ""
+
+#. ww7Us
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id921582650186869\n"
+"help.text"
+msgid "<emph>array_2d</emph>: The 2-dimensional array to sort."
+msgstr ""
+
+#. GdFxm
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id311582650186221\n"
+"help.text"
+msgid "<emph>rowindex</emph>: The index of the row that will be used as reference to sort the columns."
+msgstr ""
+
+#. toBNF
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id34158265018698\n"
+"help.text"
+msgid "<emph>sortorder</emph>: It can be either \"ASC\" (default) or \"DESC\"."
+msgstr ""
+
+#. BFduL
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id91158265018699\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: Only for string comparisons (Default = <literal>False</literal>)."
+msgstr ""
+
+#. 7GkBx
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id751582650954576\n"
+"help.text"
+msgid "Return a permutation of the rows of a two dimension array, sorted on the values of a given column. <br/>The column must be filled homogeneously, therefore all items must be scalars of the same type. <br/><literal>Empty</literal> and <literal>Null</literal> items are allowed. Conventionally <literal>Empty</literal> < <literal>Null</literal> < any other scalar value."
+msgstr ""
+
+#. durL8
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id621582650954370\n"
+"help.text"
+msgid "<emph>array_2d</emph>: The array to sort."
+msgstr ""
+
+#. HZqQi
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id361582650954796\n"
+"help.text"
+msgid "<emph>columnindex</emph>: The index of the column that will be used as reference to sort the rows."
+msgstr ""
+
+#. 7TDWy
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id471582650954416\n"
+"help.text"
+msgid "<emph>sortorder</emph>: It can be either \"ASC\" (default) or \"DESC\"."
+msgstr ""
+
+#. 9YDzi
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id111582650954690\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: Only for string comparisons (Default = <literal>False</literal>)."
+msgstr ""
+
+#. skzGA
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id611582651575637\n"
+"help.text"
+msgid "Swaps rows and columns in a two-dimensional array."
+msgstr ""
+
+#. gcbVN
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id61582651575188\n"
+"help.text"
+msgid "<emph>array_2d</emph>: The 2-dimensional array to transpose."
+msgstr ""
+
+#. dwAVQ
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id181582652996483\n"
+"help.text"
+msgid "Remove from a one dimension array all <literal>Null</literal>, <literal>Empty</literal> and zero-length entries. <br/>String items are trimmed with %PRODUCTNAME Basic <literal>Trim()</literal> function."
+msgstr ""
+
+#. L8FQg
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id111582652996147\n"
+"help.text"
+msgid "<emph>array_1d</emph>: The array to trim."
+msgstr ""
+
+#. GAC2A
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id461582653148663\n"
+"help.text"
+msgid "Builds a set, as a zero-based array, by applying the union operator on the two input arrays. Resulting items originate from any of both arrays. <br/>The resulting array is sorted in ascending order. <br/>Both input arrays must be filled homogeneously, their items must be scalars of the same type. <literal>Empty</literal> and <literal>Null</literal> items are forbidden. <br/>Text comparison can be case sensitive or not."
+msgstr ""
+
+#. oHeQj
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id4715826531488\n"
+"help.text"
+msgid "<emph>array1_1d</emph>: The first input array."
+msgstr ""
+
+#. GJuXQ
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id51158265314898\n"
+"help.text"
+msgid "<emph>array2_1d</emph>: The second input array."
+msgstr ""
+
+#. HNhsz
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id821582653148126\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: Applicable only if the arrays are populated with strings (Default = <literal>False</literal>)."
+msgstr ""
+
+#. CGMRq
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id221582653464565\n"
+"help.text"
+msgid "Build a set of unique values derived from the input array. <br/>The input array must be filled homogeneously, its items must be scalars of the same type. <literal>Empty</literal> and <literal>Null</literal> items are forbidden. <br/>Text comparison can be case sensitive or not."
+msgstr ""
+
+#. bcFGM
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id521582653464553\n"
+"help.text"
+msgid "<emph>array_1d</emph>: The input array."
+msgstr ""
+
+#. MYeE2
+#: sf_array.xhp
+msgctxt ""
+"sf_array.xhp\n"
+"par_id41158265346441\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: Applicable only if the array is populated with strings (Default = <literal>False</literal>)."
+msgstr ""
+
+#. GAXAU
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"tit\n"
+"help.text"
+msgid "SFDocuments.Base service"
+msgstr ""
+
+#. TiAmG
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"bm_id781582391760253\n"
+"help.text"
+msgid "<variable id=\"ctrls_h1\"><link href=\"text/sbasic/shared/03/sf_base.xhp\" name=\"SFDocuments.Base service\"><literal>SFDocuments</literal>.<literal>Base</literal> service</link></variable>"
+msgstr ""
+
+#. 4KK8s
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id901619031958273\n"
+"help.text"
+msgid "The <literal>Base</literal> service provides a number of methods and properties to facilitate the management and handling of %PRODUCTNAME Base documents."
+msgstr ""
+
+#. ZxoY9
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id961619032060880\n"
+"help.text"
+msgid "This service is closely related to the <literal>Document</literal> service, which provides generic methods for handling %PRODUCTNAME documents, including Base documents. Hence, the <literal>Base</literal> service extends the <literal>Document</literal> service and provides additional methods that are specific for Base documents, enabling users to:"
+msgstr ""
+
+#. EK3gt
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id241619032289964\n"
+"help.text"
+msgid "Get access to the database contained in a Base document."
+msgstr ""
+
+#. y2wmE
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id291619032292829\n"
+"help.text"
+msgid "Open form documents stored in a Base document."
+msgstr ""
+
+#. cpnJ7
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id421619032296454\n"
+"help.text"
+msgid "Check if a form document from a Base document is currently loaded."
+msgstr ""
+
+#. myHaG
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id241619032941497\n"
+"help.text"
+msgid "Refer to the <link href=\"text/sbasic/shared/03/sf_document.xhp\" name=\"Document Service\"><literal>Document</literal> service</link> to learn more about methods and properties that can be used to manage %PRODUCTNAME documents."
+msgstr ""
+
+#. bGpRM
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"hd_id581582885621841\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. AvW3k
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>Base</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. vi6hS
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id311619033224680\n"
+"help.text"
+msgid "The Base service can be invoked in a variety of ways. The code snippet below uses the method <literal>CreateBaseDocument</literal> from the <literal>UI</literal> service to create a new Base file."
+msgstr ""
+
+#. t4HPk
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id101619033666470\n"
+"help.text"
+msgid "Note that in all examples the object <literal>oDoc</literal> is an instance of the <literal>Base</literal> service."
+msgstr ""
+
+#. hKce4
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id281619033570656\n"
+"help.text"
+msgid "The <literal>Base</literal> service can also be instantiated while opening an existing Base file, as shown below:"
+msgstr ""
+
+#. noxU9
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id331619033713781\n"
+"help.text"
+msgid "If a Base document is already open, it is possible to instantiate the <literal>Base</literal> service directly:"
+msgstr ""
+
+#. DrqrF
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id871623102536956\n"
+"help.text"
+msgid "The examples above can be translated to Python as follows:"
+msgstr ""
+
+#. f8Esv
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id281619619980185\n"
+"help.text"
+msgid "The use of the <emph>\"SFDocuments.\"</emph> substring in the previous example is optional."
+msgstr ""
+
+#. oMw4m
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id451619034669263\n"
+"help.text"
+msgid "List of Methods in the Base Service"
+msgstr ""
+
+#. TvfQt
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id801916099743199\n"
+"help.text"
+msgid "Closes the given form document. Returns <literal>True</literal> if closure is successful."
+msgstr ""
+
+#. ycunk
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id941619079997810\n"
+"help.text"
+msgid "<emph>formdocument:</emph> The name of the <literal>FormDocument</literal> to be closed, as a case-sensitive string."
+msgstr ""
+
+#. aLKLw
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id351619100723505\n"
+"help.text"
+msgid "If form documents are organized in folders, it is necessary to include the folder name to specify the form document to be opened, as illustrated in the following examples:"
+msgstr ""
+
+#. TQCNn
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id481619036833610\n"
+"help.text"
+msgid "Returns an array with the full names (path/name) of all form documents in the Base document as a zero-based Array of strings."
+msgstr ""
+
+#. sECnJ
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id431619037334440\n"
+"help.text"
+msgid "The code snippet below prints the names of all form documents in the current Base document."
+msgstr ""
+
+#. DQb6z
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id921619036922844\n"
+"help.text"
+msgid "To learn more about form documents, refer to the <link href=\"text/sbasic/shared/03/sf_form.xhp\" name=\"Form service\"><literal>Form</literal> service help page</link>."
+msgstr ""
+
+#. gCGqW
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id191619037523467\n"
+"help.text"
+msgid "Depending on the parameters provided this method will return:"
+msgstr ""
+
+#. HqFmT
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id781619037575043\n"
+"help.text"
+msgid "A zero-based Array with the names of all the forms contained in a form document (if the <literal>Form</literal> argument is absent)"
+msgstr ""
+
+#. Q4Had
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id111619037577804\n"
+"help.text"
+msgid "A <literal>SFDocuments.Form</literal> object representing the form specified in the <literal>Form</literal> argument."
+msgstr ""
+
+#. pEtwt
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id861619037838260\n"
+"help.text"
+msgid "<emph>formdocument:</emph> The name of a valid form document as a case-sensitive string."
+msgstr ""
+
+#. L3csm
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id281619037857187\n"
+"help.text"
+msgid "<emph>form:</emph> The name or index number of the form stored in the form document. If this argument is absent, the method will return a list with the names of all forms available in the form document."
+msgstr ""
+
+#. K4nQh
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id921619437863617\n"
+"help.text"
+msgid "Although it is possible to use index numbers to refer to forms, this is only recommended when there is just one form in the form document. If there are two or more forms, it is preferable to use the form name instead."
+msgstr ""
+
+#. DoxrV
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id21623104676805\n"
+"help.text"
+msgid "The first line of the example below returns a list of all forms in the form document \"myFormDocument\". The second line returns an instance of the Form service representing the form \"myForm\"."
+msgstr ""
+
+#. 9jA9n
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id371619098340303\n"
+"help.text"
+msgid "Returns an instance of the <link href=\"text/sbasic/shared/03/sf_database.xhp\" name=\"Database service\"><literal>Database</literal> service</link> that allows the execution of SQL commands on the database defined and/or stored in the current Base document"
+msgstr ""
+
+#. 9Bncy
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id731619098073221\n"
+"help.text"
+msgid "<emph>user, password:</emph> Optional login parameters as strings. The default value for both parameters is an empty string \"\"."
+msgstr ""
+
+#. UbzRD
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"bas_id631615147843278\n"
+"help.text"
+msgid "' User and password are supplied below, if needed"
+msgstr ""
+
+#. XBJVn
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"bas_id921599408791887\n"
+"help.text"
+msgid "' ... Run queries, SQL statements, ..."
+msgstr ""
+
+#. eRmFK
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"pyc_id351623104861223\n"
+"help.text"
+msgid "# ... Run queries, SQL statements, ..."
+msgstr ""
+
+#. mBphD
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id871619098478513\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the specified <literal>FormDocument</literal> is currently open."
+msgstr ""
+
+#. njjFg
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id981619098545701\n"
+"help.text"
+msgid "<emph>formdocument:</emph> The name of a <literal>FormDocument</literal> to be checked, as a case-sensitive string."
+msgstr ""
+
+#. RS3kj
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id801619099743199\n"
+"help.text"
+msgid "Opens the specified <literal>FormDocument</literal> either in normal or in design mode."
+msgstr ""
+
+#. 38vtF
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id451619100075330\n"
+"help.text"
+msgid "If the form document is already open, it is activated without changing its mode. The method returns <literal>True</literal> if the form document could be opened."
+msgstr ""
+
+#. dUE6w
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id941619099797810\n"
+"help.text"
+msgid "<emph>formDocument:</emph> The name of the <literal>FormDocument</literal> to be opened, as a case-sensitive string."
+msgstr ""
+
+#. Coxpu
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id981619099816849\n"
+"help.text"
+msgid "<emph>designmode:</emph> If this argument is <literal>True</literal> the <literal>FormDocument</literal> will be opened in design mode."
+msgstr ""
+
+#. B29ng
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id251619100191992\n"
+"help.text"
+msgid "Most form documents are stored in the root of the Base document and they can be opened simply using their names, as in the example below:"
+msgstr ""
+
+#. ACLqQ
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id351619100327505\n"
+"help.text"
+msgid "If form documents are organized in folders, it becomes necessary to include the folder name to specify the form document to be opened, as illustrated in the following example:"
+msgstr ""
+
+#. zzgBi
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id156589200121138\n"
+"help.text"
+msgid "This method sends the content of the given form document to a default printer or a printer defined by the <literal>SetPrinter()</literal> method."
+msgstr ""
+
+#. oeDSX
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id981611169416934\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the document was successfully printed."
+msgstr ""
+
+#. pwm7n
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id368519200121646\n"
+"help.text"
+msgid "<emph>formdocument</emph>: A valid document form name as a case-sensitive string. The form document must be open. It is activated by the method."
+msgstr ""
+
+#. nRU4K
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id211635436910093\n"
+"help.text"
+msgid "<emph>pages</emph>: The pages to print as a string, like in the user interface. Example: \"1-4;10;15-18\". Default is all pages."
+msgstr ""
+
+#. UxDTL
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id141635436912146\n"
+"help.text"
+msgid "<emph>copies</emph>: The number of copies. Default is 1."
+msgstr ""
+
+#. gDM4C
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id911298505147502\n"
+"help.text"
+msgid "Define the printer options for a form document. The form document must be open."
+msgstr ""
+
+#. owLwe
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id381651114800685\n"
+"help.text"
+msgid "Returns <literal>True</literal> when successful."
+msgstr ""
+
+#. uGA7B
+#: sf_base.xhp
+msgctxt ""
+"sf_base.xhp\n"
+"par_id961635950394507\n"
+"help.text"
+msgid "<emph>formdocument</emph>: A valid document form name as a case-sensitive string."
+msgstr ""
+
+#. 3RzkD
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge.Basic service"
+msgstr ""
+
+#. GxEht
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"hd_id731582733781114\n"
+"help.text"
+msgid "<variable id=\"BasicService\"><link href=\"text/sbasic/shared/03/sf_basic.xhp\" name=\"Basic service\"><literal>ScriptForge</literal>.<literal>Basic</literal> service</link></variable>"
+msgstr ""
+
+#. G5jAV
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id381589189355849\n"
+"help.text"
+msgid "The <literal>ScriptForge.Basic</literal> service proposes a collection of %PRODUCTNAME Basic methods to be executed in a Python context. <literal>Basic</literal> service methods reproduce the exact syntax and behaviour of Basic builtin functions."
+msgstr ""
+
+#. Bb7Br
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id591589189364267\n"
+"help.text"
+msgid "Typical example:"
+msgstr ""
+
+#. fBDsN
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"pyc_id971618493778666\n"
+"help.text"
+msgid "bas.MsgBox('Display this text in a message box from a Python script')"
+msgstr ""
+
+#. kGyCd
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id151618849022977\n"
+"help.text"
+msgid "<literal>ScriptForge</literal>.<literal>Basic</literal> service is limited to Python scripts."
+msgstr ""
+
+#. biAQa
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"hd_id581582885621841\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. pNUsj
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id141610734722352\n"
+"help.text"
+msgid "Before using the <literal>Basic</literal> service, import the <literal>CreateScriptService()</literal> method from the <literal>scriptforge</literal> module:"
+msgstr ""
+
+#. E6SaA
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"hd_id201618922972557\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. bLzCe
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id401618922991909\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. 5FcQt
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id591618922991909\n"
+"help.text"
+msgid "ReadOnly"
+msgstr ""
+
+#. N5DD5
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id211618922991909\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. qXwST
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id971618923022846\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. KuiAD
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id21619004009875\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 7DG4F
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id791619004012484\n"
+"help.text"
+msgid "Values: 0, 1, 5, 4, 3"
+msgstr ""
+
+#. 8ie8B
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id201619004097755\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. DQkGQ
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id311619004099683\n"
+"help.text"
+msgid "Values: 48, 64, 32, 16<br/>"
+msgstr ""
+
+#. mCpye
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id581618922991909\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. h3hZE
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id211618923312141\n"
+"help.text"
+msgid "Values: 2, 128, 256, 512"
+msgstr ""
+
+#. kLst4
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id961618924503848\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. Tmtc2
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id871618924506654\n"
+"help.text"
+msgid "Values: 3, 2, 5, 7, 1, 4, 6<br/>Constants indicating <literal>MsgBox</literal> selected button."
+msgstr ""
+
+#. BDtqm
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id731619006254384\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. SKW53
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id711619006255184\n"
+"help.text"
+msgid "UNO<br/>object"
+msgstr ""
+
+#. AA95E
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id541619006255653\n"
+"help.text"
+msgid "<link href=\"text/sbasic/shared/stardesktop.xhp\" name=\"StarDesktop\"><literal>StarDesktop</literal></link> object represents %PRODUCTNAME Start Center."
+msgstr ""
+
+#. vXq8C
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id651606319520519\n"
+"help.text"
+msgid "List of Methods in the Basic Service"
+msgstr ""
+
+#. GvjSD
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id71621894830071\n"
+"help.text"
+msgid "Converts a numeric expression or a string to a <literal>datetime</literal>.<literal>datetime</literal> Python native object."
+msgstr ""
+
+#. SVk4F
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id431621896441258\n"
+"help.text"
+msgid "This method exposes the Basic builtin function <link href=\"text/sbasic/shared/03100300.xhp\" name=\"CDate_Basic\">CDate</link> to Python scripts."
+msgstr ""
+
+#. xvPTA
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id401621896675880\n"
+"help.text"
+msgid "<emph>expression</emph>: a numeric expression or a string representing a date."
+msgstr ""
+
+#. aBGSG
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id481621950748686\n"
+"help.text"
+msgid "Converts a UNO date/time representation to a <literal>datetime.datetime</literal> Python native object."
+msgstr ""
+
+#. qhCRh
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id41621950816227\n"
+"help.text"
+msgid "<emph>unodate</emph>: A UNO date/time object of one of the following types: <literal>com.sun.star.util.DateTime</literal>, <literal>com.sun.star.util.Date</literal> or <literal>com.sun.star.util.Time</literal>"
+msgstr ""
+
+#. GQ2hL
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id281621952224847\n"
+"help.text"
+msgid "The following example creates a <literal>com.sun.star.util.DateTime</literal> object and converts it to a <literal>datetime.datetime</literal> Python object."
+msgstr ""
+
+#. JXsJN
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id741621952469980\n"
+"help.text"
+msgid "Converts a date representation into a <literal>com.sun.star.util.DateTime</literal> object."
+msgstr ""
+
+#. 7LW9r
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id511621952524000\n"
+"help.text"
+msgid "<emph>date</emph>: A Python date/time object of one of the following types: <literal>datetime.datetime</literal>, <literal>datetime.date</literal>, <literal>datetime.time</literal>, <literal>float (time.time)</literal> or <literal>time.struct_time</literal>."
+msgstr ""
+
+#. vaMxs
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id93158919969864\n"
+"help.text"
+msgid "Returns a system path file name for the given <literal>file:</literal> URL."
+msgstr ""
+
+#. L4crp
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id321618502481706\n"
+"help.text"
+msgid "<emph>url</emph>: An absolute <literal>file:</literal> URL."
+msgstr ""
+
+#. nmEbg
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id81618502493505\n"
+"help.text"
+msgid "A system path file name."
+msgstr ""
+
+#. 7YMKT
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id658519200121138\n"
+"help.text"
+msgid "Returns a <literal>file:</literal> URL for the given system path."
+msgstr ""
+
+#. ZdzNY
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id401618521015903\n"
+"help.text"
+msgid "<emph>systempath</emph>: A system file name as a string."
+msgstr ""
+
+#. BYkqo
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id61658101307414\n"
+"help.text"
+msgid "A <literal>file:</literal> URL as a string."
+msgstr ""
+
+#. kyZyo
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id651589200121138\n"
+"help.text"
+msgid "Instantiates a UNO service with the <literal>ProcessServiceManager</literal>."
+msgstr ""
+
+#. SF7gE
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id361589200121646\n"
+"help.text"
+msgid "<emph>servicename</emph>: A fully qualified service name such as <literal>com.sun.star.ui.dialogs.FilePicker</literal> or <literal>com.sun.star.sheet.FunctionAccess</literal>."
+msgstr ""
+
+#. rZoCx
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id901599410483300\n"
+"help.text"
+msgid "Adds a date or time interval to a given date/time a number of times and returns the resulting date."
+msgstr ""
+
+#. aRMEj
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id581618562143601\n"
+"help.text"
+msgid "<emph>interval</emph>: A string expression from the following table, specifying the date or time interval."
+msgstr ""
+
+#. Vx3AB
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id281618562144897\n"
+"help.text"
+msgid "<emph>number</emph>: A numerical expression specifying how often the <literal>interval</literal> value will be added when positive or subtracted when negative."
+msgstr ""
+
+#. CCveG
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id811618561843272\n"
+"help.text"
+msgid "<emph>date</emph>: A given <literal>datetime.datetime</literal> value, the <literal>interval</literal> value will be added <literal>number</literal> times to this <literal>datetime.datetime</literal> value."
+msgstr ""
+
+#. Zcf9q
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id181618561778320\n"
+"help.text"
+msgid "A <literal>datetime.datetime</literal> value."
+msgstr ""
+
+#. HAVdW
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id991589202413257\n"
+"help.text"
+msgid "Returns the number of date or time intervals between two given date/time values."
+msgstr ""
+
+#. 68XgA
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id481618563770490\n"
+"help.text"
+msgid "<emph>interval</emph>: A string expression specifying the date interval, as detailed in above <literal>DateAdd</literal> method."
+msgstr ""
+
+#. DQFt3
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id121618563772932\n"
+"help.text"
+msgid "<emph>date1</emph>, <emph>date2</emph>: The two <literal>datetime.datetime</literal> values to be compared."
+msgstr ""
+
+#. ZR7AD
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id121618563454738\n"
+"help.text"
+msgid "A number."
+msgstr ""
+
+#. K4Lp7
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id81589202925519\n"
+"help.text"
+msgid "The <literal>DatePart</literal> function returns a specified part of a date."
+msgstr ""
+
+#. vCQGJ
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id761618672192231\n"
+"help.text"
+msgid "<emph>interval</emph>: A string expression specifying the date interval, as detailed in above <literal>DateAdd</literal> method."
+msgstr ""
+
+#. KuDhD
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id61618672313838\n"
+"help.text"
+msgid "<emph>date</emph>: The date/time from which the result is calculated."
+msgstr ""
+
+#. P3vuB
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id511619445271897\n"
+"help.text"
+msgid "<emph>firstdayofweek, firstweekofyear</emph>: optional parameters that respectively specify the starting day of a week and the starting week of a year, as detailed in above <literal>DateDiff</literal> method."
+msgstr ""
+
+#. 5Yz25
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id791618672371743\n"
+"help.text"
+msgid "The extracted part for the given date/time."
+msgstr ""
+
+#. Dc9Cs
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id121589203370778\n"
+"help.text"
+msgid "Computes a date value from a date string."
+msgstr ""
+
+#. qTtuh
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id441618674018955\n"
+"help.text"
+msgid "The computed date."
+msgstr ""
+
+#. GuCbF
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id458161678389887\n"
+"help.text"
+msgid "Converts a number to a string, and then formats it according to the format that you specify."
+msgstr ""
+
+#. St67G
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"hd_id751618825527776\n"
+"help.text"
+msgid "Formatting Codes"
+msgstr ""
+
+#. G2TzF
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"hd_id681618825574599\n"
+"help.text"
+msgid "Predefined Formats"
+msgstr ""
+
+#. osJdR
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id451618876389887\n"
+"help.text"
+msgid "Returns the default context of the process service factory, if existent, else returns a null reference."
+msgstr ""
+
+#. d4EQf
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id881618848030897\n"
+"help.text"
+msgid "<literal>GetDefaultContext</literal> is an alternative to the <link href=\"text/sbasic/python/python_programming.xhp\" name=\"getComponentContext method\">getComponentContext()</link> method available from <literal>XSCRIPTCONTEXT</literal> global variable or from <link href=\"text/sbasic/python/python_programming.xhp\" name=\"uno.py module\">uno.py</link> module."
+msgstr ""
+
+#. dk35X
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id381618831451271\n"
+"help.text"
+msgid "The default component context is used, when instantiating services via <literal>XMultiServiceFactory</literal>. See the <literal>Professional UNO</literal> chapter in the Developer's Guide on <link href=\"https://api.libreoffice.org/\" name=\"API Developer's Guide\">api.libreoffice.org</link> for more information."
+msgstr ""
+
+#. LACDh
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id154618876389887\n"
+"help.text"
+msgid "Returns a numerical value that specifies the graphical user interface. This function is only provided for backward compatibility with previous versions."
+msgstr ""
+
+#. SmsEL
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id341618848532640\n"
+"help.text"
+msgid "Refer to <literal>system()</literal> method from <literal>platform</literal> Python module to <link href=\"text/sbasic/python/python_platform.xhp\" name=\"identify the operating system\">identify the operating system</link>."
+msgstr ""
+
+#. BJTbw
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id451618876389788\n"
+"help.text"
+msgid "Returns the operating system-dependent directory separator used to specify file paths."
+msgstr ""
+
+#. BWvPB
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id341618848562340\n"
+"help.text"
+msgid "Use <literal>os.pathsep</literal> from <literal>os</literal> Python module to <link href=\"text/sbasic/python/python_platform.xhp\" name=\"path delimiter\">identify the path separator</link>."
+msgstr ""
+
+#. Jvd3v
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id451618678389887\n"
+"help.text"
+msgid "Returns the number of system ticks provided by the operating system. You can use this function to optimize certain processes. Use this method to estimate time in milliseconds:"
+msgstr ""
+
+#. t3ADN
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"bm_id61618905161499\n"
+"help.text"
+msgid "<bookmark_value>Basic service;GlobalScope.BasicLibraries</bookmark_value>"
+msgstr ""
+
+#. KRHNc
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id741622396277528\n"
+"help.text"
+msgid "Returns the UNO object containing all shared Basic libraries and modules."
+msgstr ""
+
+#. MCrF8
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id911622396571584\n"
+"help.text"
+msgid "This method is the Python equivalent to <literal>GlobalScope</literal>.<literal>BasicLibraries</literal> in Basic scripts."
+msgstr ""
+
+#. DEARA
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id281622398076950\n"
+"help.text"
+msgid "The following example loads the Gimmicks Basic library if it has not been loaded yet."
+msgstr ""
+
+#. ZaDVN
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"bm_id61618905163671\n"
+"help.text"
+msgid "<bookmark_value>Basic service;GlobalScope.DialogLibraries</bookmark_value>"
+msgstr ""
+
+#. jusQK
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id381622397863419\n"
+"help.text"
+msgid "Returns the UNO object containing all shared dialog libraries."
+msgstr ""
+
+#. QEFwP
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id491622397863810\n"
+"help.text"
+msgid "This method is the Python equivalent to <literal>GlobalScope</literal>.<literal>DialogLibraries</literal> in Basic scripts."
+msgstr ""
+
+#. 8ozVo
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id811622398234384\n"
+"help.text"
+msgid "The following example shows a message box with the names of all available dialog libraries."
+msgstr ""
+
+#. Vb2CW
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"bm_id61618905164342\n"
+"help.text"
+msgid "<bookmark_value>Basic service;InputBox</bookmark_value>"
+msgstr ""
+
+#. qRtw5
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"pyc_id751619081201175\n"
+"help.text"
+msgid "txt = s.InputBox('Please enter a phrase:', \"Dear user\")"
+msgstr ""
+
+#. B2mnv
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"pyc_id261619081319555\n"
+"help.text"
+msgid "s.MsgBox(txt, s.MB_ICONINFORMATION, \"Confirmation of phrase\")"
+msgstr ""
+
+#. 42vSm
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id651618921455396\n"
+"help.text"
+msgid "For in-depth information please refer to <link href=\"https://wiki.documentfoundation.org/Macros/General/IO_to_Screen\" name=\"Input/Output to Screen with Python\">Input/Output to Screen with Python</link> on the Wiki."
+msgstr ""
+
+#. WMifG
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"bm_id681618905411293\n"
+"help.text"
+msgid "<bookmark_value>Basic service;MsgBox</bookmark_value>"
+msgstr ""
+
+#. ogocf
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id231618922407948\n"
+"help.text"
+msgid "Displays a dialog box containing a message and returns an optional value.<br/>MB_xx constants help specify the dialog type, the number and type of buttons to display, plus the icon type. By adding their respective values they form bit patterns, that define the <literal>MsgBox</literal> dialog appearance."
+msgstr ""
+
+#. 5adLA
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id711619082902143\n"
+"help.text"
+msgid "An optional integer as detailed in above <literal>IDxx</literal> properties."
+msgstr ""
+
+#. hvEhT
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"bm_id791618906935711\n"
+"help.text"
+msgid "<bookmark_value>Basic service;Now</bookmark_value>"
+msgstr ""
+
+#. f96nJ
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id191619084216660\n"
+"help.text"
+msgid "Returns the current system date and time as a <literal>datetime</literal>.<literal>datetime</literal> Python native object."
+msgstr ""
+
+#. qxE2n
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"bm_id831618907521168\n"
+"help.text"
+msgid "<bookmark_value>Basic service;RGB</bookmark_value>"
+msgstr ""
+
+#. vBVsk
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id621619448293385\n"
+"help.text"
+msgid "Returns an integer color value consisting of red, green, and blue components."
+msgstr ""
+
+#. SDu3C
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"bm_id81618907850447\n"
+"help.text"
+msgid "<bookmark_value>Basic service;ThisComponent</bookmark_value>"
+msgstr ""
+
+#. 7wnpT
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id141622840830978\n"
+"help.text"
+msgid "If the current component refers to a %PRODUCTNAME document, this method returns the UNO object representing the document."
+msgstr ""
+
+#. 72GZE
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id961622841287976\n"
+"help.text"
+msgid "The method will return <literal>None</literal> when the current component does not correspond to a document."
+msgstr ""
+
+#. xbQ6U
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"bm_id81618907858201\n"
+"help.text"
+msgid "<bookmark_value>Basic service;ThisDatabaseDocument</bookmark_value>"
+msgstr ""
+
+#. GXewr
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id271622912644859\n"
+"help.text"
+msgid "If the script is being executed from a Base document or any of its subcomponents this method returns the main component of the Base instance."
+msgstr ""
+
+#. 6MCpX
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id811622912819443\n"
+"help.text"
+msgid "This method returns <literal>None</literal> otherwise."
+msgstr ""
+
+#. q3CG8
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id201623153844931\n"
+"help.text"
+msgid "Visit the <link href=\"https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1sdb_1_1OfficeDatabaseDocument.html\" name=\"OfficeDatabaseDocument\">OfficeDatabaseDocument</link> API page to learn more about Base's main component structure."
+msgstr ""
+
+#. mAUuG
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"bm_id81618907851793\n"
+"help.text"
+msgid "<bookmark_value>Basic service;Xray</bookmark_value>"
+msgstr ""
+
+#. TwoGN
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id451619094057178\n"
+"help.text"
+msgid "Inspect Uno objects or variables."
+msgstr ""
+
+#. CDCQx
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id21619094660345\n"
+"help.text"
+msgid "<emph>obj</emph>: A variable or UNO object."
+msgstr ""
+
+#. fMbAm
+#: sf_basic.xhp
+msgctxt ""
+"sf_basic.xhp\n"
+"par_id951618554355538\n"
+"help.text"
+msgid "<link href=\"https://wiki.documentfoundation.org/Macros/General/IO_to_Screen\" name=\"Input/Output to Screen with Python\">Input/Output to Screen with Python</link> on the wiki"
+msgstr ""
+
+#. RYwFj
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"tit\n"
+"help.text"
+msgid "SFDocuments.Calc service"
+msgstr ""
+
+#. nXFgM
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"hd_id731582733781114\n"
+"help.text"
+msgid "<variable id=\"CalcService\"><link href=\"text/sbasic/shared/03/sf_calc.xhp\" name=\"Calc service\"><literal>SFDocuments</literal>.<literal>Calc</literal> service</link></variable>"
+msgstr ""
+
+#. EkFAT
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id381589189355849\n"
+"help.text"
+msgid "The <literal>SFDocuments</literal> shared library provides a number of methods and properties to facilitate the management and handling of %PRODUCTNAME documents."
+msgstr ""
+
+#. CBPyB
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id351591014177269\n"
+"help.text"
+msgid "The <literal>SFDocuments.Calc</literal> service is a subclass of the <link href=\"text/sbasic/shared/03/sf_document.xhp\" name=\"SF_Document_link\"><literal>SFDocuments.Document</literal></link> service. All methods and properties defined for the <literal>Document</literal> service can also be accessed using a <literal>Calc</literal> service instance."
+msgstr ""
+
+#. 4uAEX
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id591589189364267\n"
+"help.text"
+msgid "The <literal>Calc</literal> service is focused on:"
+msgstr ""
+
+#. Gy8dD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id891589189452545\n"
+"help.text"
+msgid "Handling sheets within a Calc document (copy, insert, move, etc)"
+msgstr ""
+
+#. SCCmJ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id811589189463041\n"
+"help.text"
+msgid "Exchanging data between Basic data structures and Calc ranges"
+msgstr ""
+
+#. YS7kC
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id141599569935662\n"
+"help.text"
+msgid "Copying and importing massive amounts of data"
+msgstr ""
+
+#. UFCyZ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id851638217526844\n"
+"help.text"
+msgid "This help page describes methods and properties that are applicable only to Calc documents."
+msgstr ""
+
+#. A47hJ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"hd_id581582885621841\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. RAtZX
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>Calc</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. z3JcW
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id591589191059889\n"
+"help.text"
+msgid "The <literal>Calc</literal> service is closely related to the <literal>UI</literal> service of the <literal>ScriptForge</literal> library. Below are a few examples of how the <literal>Calc</literal> service can be invoked."
+msgstr ""
+
+#. mKqEu
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id551621623999947\n"
+"help.text"
+msgid "The code snippet below creates a <literal>Calc</literal> service instance that corresponds to the currently active Calc document."
+msgstr ""
+
+#. gECrc
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id341621467500466\n"
+"help.text"
+msgid "Another way to create an instance of the <literal>Calc</literal> service is using the <literal>UI</literal> service. In the following example, a new Calc document is created and <literal>oDoc</literal> is a <literal>Calc</literal> service instance:"
+msgstr ""
+
+#. x6qdq
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id921621467621019\n"
+"help.text"
+msgid "Or using the <literal>OpenDocument</literal> method from the <literal>UI</literal> service:"
+msgstr ""
+
+#. MDxMC
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id741621467697967\n"
+"help.text"
+msgid "It is also possible to instantiate the <literal>Calc</literal> service using the <literal>CreateScriptService</literal> method:"
+msgstr ""
+
+#. CKafD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id271621467810774\n"
+"help.text"
+msgid "In the example above, \"MyFile.ods\" is the name of an open document window. If this argument is not provided, the active window is considered."
+msgstr ""
+
+#. gfpHw
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id71158288562139\n"
+"help.text"
+msgid "It is recommended to free resources after use:"
+msgstr ""
+
+#. 3EHn2
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id231611610666018\n"
+"help.text"
+msgid "However, if the document was closed using the <literal>CloseDocument</literal> method, it becomes unnecessary to free resources using the command described above."
+msgstr ""
+
+#. WqVjE
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id71611090922315\n"
+"help.text"
+msgid "The use of the prefix \"<literal>SFDocuments.</literal>\" while calling the service is optional."
+msgstr ""
+
+#. Cpd5a
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"hd_id991591016893982\n"
+"help.text"
+msgid "Definitions"
+msgstr ""
+
+#. 4gE5A
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id511591016999246\n"
+"help.text"
+msgid "Many methods require a \"<emph>Sheet</emph>\" or a \"<emph>Range</emph>\" as argument. Single cells are considered a special case of a <literal>Range</literal>."
+msgstr ""
+
+#. kq2Br
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id511591019278671\n"
+"help.text"
+msgid "Both may be expressed either as a string or as a reference (= object) depending on the situation:"
+msgstr ""
+
+#. du8tS
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id571591019367284\n"
+"help.text"
+msgid "Within a <emph>specific</emph> <literal>Calc</literal> <emph>instance</emph>, sheets and ranges are given as strings such as \"Sheet1\" and \"D2:F6\"."
+msgstr ""
+
+#. HGR2H
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id121591019432157\n"
+"help.text"
+msgid "Additionally, the <literal>.Sheet</literal> and <literal>.Range</literal> properties return a reference that may be used as argument of a method called from <emph>another instance</emph> of the <literal>Calc</literal> service."
+msgstr ""
+
+#. AHSav
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id421591017227464\n"
+"help.text"
+msgid "The example below copies data from document A (opened as read-only and hidden) to document B."
+msgstr ""
+
+#. iED65
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id341591020333849\n"
+"help.text"
+msgid "Either the sheet name as a <literal>string</literal> or an <literal>object</literal> produced by the <literal>.Sheet</literal> property."
+msgstr ""
+
+#. GDuU3
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id651591020343023\n"
+"help.text"
+msgid "The shortcut \"~\" (tilde) represents the current sheet."
+msgstr ""
+
+#. nskFb
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id291591020728110\n"
+"help.text"
+msgid "Either a string designating a set of contiguous cells located in a sheet of the current instance or an <literal>object</literal> produced by the <literal>.Range</literal> property."
+msgstr ""
+
+#. 6CySa
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id691591020711395\n"
+"help.text"
+msgid "The shortcut \"~\" (tilde) represents the current selection or the first selected range if multiple ranges are selected."
+msgstr ""
+
+#. 7JEat
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id701592230700986\n"
+"help.text"
+msgid "The shortcut \"*\" represents all used cells."
+msgstr ""
+
+#. C6fBT
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id641591021597701\n"
+"help.text"
+msgid "The sheet name is optional when defining a range. If no sheet name is provided, then the active sheet is used. Surrounding single quotes and $ signs are allowed but ignored."
+msgstr ""
+
+#. ebNR5
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id231655754032310\n"
+"help.text"
+msgid "When specifying a <literal>SheetName</literal> as a string, the use of single quotes to enclose the sheet name are required if the name contains blank spaces \" \" or periods \".\"."
+msgstr ""
+
+#. BsAKT
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id931655906591984\n"
+"help.text"
+msgid "The examples below illustrate in which cases the use of single quotes is mandatory:"
+msgstr ""
+
+#. DGacM
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id971655754336388\n"
+"help.text"
+msgid "' The use of single quotes is optional"
+msgstr ""
+
+#. yWFhF
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id711655754337420\n"
+"help.text"
+msgid "' The use of single quotes is required"
+msgstr ""
+
+#. GVF9g
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id371592406978640\n"
+"help.text"
+msgid "Except for the <literal>CurrentSelection</literal> property, the <literal>Calc</literal> service considers only single ranges of cells."
+msgstr ""
+
+#. vRxTa
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id91591025127496\n"
+"help.text"
+msgid "Examples of valid ranges"
+msgstr ""
+
+#. yADDC
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id481591024294524\n"
+"help.text"
+msgid "1) $'SheetX'.D2<br/>2) $D$2"
+msgstr ""
+
+#. pMZEe
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id721591024294894\n"
+"help.text"
+msgid "A single cell"
+msgstr ""
+
+#. AcGDY
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id21591024294492\n"
+"help.text"
+msgid "1) $'SheetX'.D2:F6<br/>2) D2:D10"
+msgstr ""
+
+#. P7Ete
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id9159102429464\n"
+"help.text"
+msgid "Single range with multiple cells"
+msgstr ""
+
+#. vXrSu
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id161592230749179\n"
+"help.text"
+msgid "$'SheetX'.*"
+msgstr ""
+
+#. eQu5j
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id581592230749243\n"
+"help.text"
+msgid "All used cells in the given sheet"
+msgstr ""
+
+#. C6egy
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id641591024294318\n"
+"help.text"
+msgid "1) $'SheetX'.A:A (column A)<br/>2) 3:5 (rows 3 to 5)"
+msgstr ""
+
+#. qpGBr
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id431591024294723\n"
+"help.text"
+msgid "All cells in contiguous columns or rows up to the last used cell"
+msgstr ""
+
+#. qezwg
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id871591024294202\n"
+"help.text"
+msgid "myRange"
+msgstr ""
+
+#. 97TnU
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id721591024294721\n"
+"help.text"
+msgid "A range named \"myRange\" at spreadsheet level"
+msgstr ""
+
+#. WxyY4
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id181591024294534\n"
+"help.text"
+msgid "1) ~.someRange<br/>2) SheetX.someRange"
+msgstr ""
+
+#. 9gjmL
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id911591024294816\n"
+"help.text"
+msgid "A range name at sheet level"
+msgstr ""
+
+#. Z6dKJ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id781591024294621\n"
+"help.text"
+msgid "myDoc.Range(\"SheetX.D2:F6\")"
+msgstr ""
+
+#. ENndn
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id681591024294568\n"
+"help.text"
+msgid "A range within the sheet SheetX in file associated with the myDoc Calc instance"
+msgstr ""
+
+#. Yero3
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id101591024294151\n"
+"help.text"
+msgid "~.~ or ~"
+msgstr ""
+
+#. kmjCL
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id22159102429479\n"
+"help.text"
+msgid "The current selection in the active sheet"
+msgstr ""
+
+#. qFqGJ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"hd_id351582885195476\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. FeCia
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id151591018231905\n"
+"help.text"
+msgid "All the properties generic to any document are implicitly applicable also to Calc documents. For more information, read the <link href=\"text/sbasic/shared/03/sf_document.xhp\" name=\"Document service\">Document service Help page</link>."
+msgstr ""
+
+#. DTzRF
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id911591018242565\n"
+"help.text"
+msgid "The properties specifically available for Calc documents are:"
+msgstr ""
+
+#. G4iX6
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id41582885195836\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. PK7n2
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id31582885195372\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. oFX3A
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id221591018408168\n"
+"help.text"
+msgid "Argument"
+msgstr ""
+
+#. H9m2q
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id31582885195238\n"
+"help.text"
+msgid "Return type"
+msgstr ""
+
+#. DDSFu
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id931582885195131\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. 3MHFG
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id301592407165942\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. pJnFE
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id81592407165611\n"
+"help.text"
+msgid "None"
+msgstr ""
+
+#. UUDuD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id59159240716522\n"
+"help.text"
+msgid "String or array of strings"
+msgstr ""
+
+#. kAAXc
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id85159240716560\n"
+"help.text"
+msgid "The single selected range as a string or the list of selected ranges as an array."
+msgstr ""
+
+#. PFB5D
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id301592407165606\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 5GeyC
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id81592407165545\n"
+"help.text"
+msgid "SheetName or RangeName as String"
+msgstr ""
+
+#. TBHV2
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id85159240716828\n"
+"help.text"
+msgid "Returns the first used cell in a given range or sheet."
+msgstr ""
+
+#. BkCoD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id301592407166642\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. ToQBc
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id81592407165145\n"
+"help.text"
+msgid "SheetName or RangeName as String"
+msgstr ""
+
+#. boSak
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id85159240716225\n"
+"help.text"
+msgid "Returns the leftmost column number in a given range or sheet."
+msgstr ""
+
+#. 3AKqL
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id301592407167972\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. zf3hK
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id81592407165695\n"
+"help.text"
+msgid "SheetName or RangeName as String"
+msgstr ""
+
+#. BXscD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id85159240716128\n"
+"help.text"
+msgid "Returns the topmost row number in a given range or sheet."
+msgstr ""
+
+#. BHFeu
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id101593094953259\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. KedYU
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id741593094953790\n"
+"help.text"
+msgid "RangeName As String"
+msgstr ""
+
+#. FhLMF
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id311593094953330\n"
+"help.text"
+msgid "The number of rows (>= 1) in the given range."
+msgstr ""
+
+#. cU3Ah
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id221582885195686\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. ALJCP
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id501591018870619\n"
+"help.text"
+msgid "SheetName or RangeName as String"
+msgstr ""
+
+#. SNj7Q
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id881582885195976\n"
+"help.text"
+msgid "Returns the last used cell in a given range or sheet."
+msgstr ""
+
+#. 75PEK
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id601592315106598\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 3h43j
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id831592315106202\n"
+"help.text"
+msgid "SheetName or RangeName as String"
+msgstr ""
+
+#. bU5vD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id791592315106790\n"
+"help.text"
+msgid "The last used column in a given range or sheet."
+msgstr ""
+
+#. q9Bx7
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id981591025591597\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. r6diM
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id81591025591696\n"
+"help.text"
+msgid "SheetName or RangeName as String"
+msgstr ""
+
+#. SDdEC
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id421591025591509\n"
+"help.text"
+msgid "The last used row in a given range or sheet."
+msgstr ""
+
+#. 4t3He
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id81591025591672\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 2BJKz
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id561591025591239\n"
+"help.text"
+msgid "RangeName As String"
+msgstr ""
+
+#. 2tmEj
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id571591025591367\n"
+"help.text"
+msgid "A range reference that can be used as argument of methods like <literal>CopyToRange</literal>."
+msgstr ""
+
+#. boDiE
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id81591025591007\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. kJCwG
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id561591025592149\n"
+"help.text"
+msgid "RangeName As String"
+msgstr ""
+
+#. ey2LS
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id571591025599937\n"
+"help.text"
+msgid "Returns the address of the smallest area that contains the specified range so that the area is surrounded by empty cells or sheet edges. This is equivalent to applying the <switchinline select=\"sys\"><caseinline select=\"MAC\"><keycode>Command + *</keycode></caseinline><defaultinline><keycode>Ctrl + *</keycode></defaultinline></switchinline> shortcut to the given range."
+msgstr ""
+
+#. 66iAb
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id541591025591511\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. dWFQE
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id661591025591903\n"
+"help.text"
+msgid "SheetName As String"
+msgstr ""
+
+#. 4KoAw
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id731591025591753\n"
+"help.text"
+msgid "A sheet reference that can be used as argument of methods like <literal>CopySheet</literal>."
+msgstr ""
+
+#. WanFm
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id541591025591322\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. wRCYZ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id661591025591188\n"
+"help.text"
+msgid "RangeName As String"
+msgstr ""
+
+#. w7Gft
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id731591025591006\n"
+"help.text"
+msgid "Returns the sheet name of a given range address."
+msgstr ""
+
+#. HLpEQ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id581591025591579\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. V43zC
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id751591025591667\n"
+"help.text"
+msgid "None"
+msgstr ""
+
+#. B5BXR
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id861591025591250\n"
+"help.text"
+msgid "Array of strings"
+msgstr ""
+
+#. qGsms
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id491591025591370\n"
+"help.text"
+msgid "The list with the names of all existing sheets."
+msgstr ""
+
+#. EaAB2
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id711593095062771\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. PFLkD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id311593095062171\n"
+"help.text"
+msgid "RangeName As String"
+msgstr ""
+
+#. BKFhE
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id681593095062358\n"
+"help.text"
+msgid "The number of columns (>= 1) in the given range."
+msgstr ""
+
+#. cju3B
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id391592315404944\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. DMf2S
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id1001592315404525\n"
+"help.text"
+msgid "RangeName As String"
+msgstr ""
+
+#. VaGpB
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id321592315404430\n"
+"help.text"
+msgid "A <literal>com.sun.star.Table.XCellRange</literal> UNO object."
+msgstr ""
+
+#. nAD2d
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id501592315567199\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. yNxZn
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id411592315560025\n"
+"help.text"
+msgid "RangeName As String"
+msgstr ""
+
+#. UydnH
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id41592315565185\n"
+"help.text"
+msgid "A <literal>com.sun.star.sheet.XSheetCellCursor</literal> UNO object. After moving the cursor, the resulting range address can be accessed through the <literal>AbsoluteName</literal> UNO property of the cursor object, which returns a string value that can be used as argument for properties and methods of the Calc service."
+msgstr ""
+
+#. QbTFX
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id501592315565569\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. jWLAC
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id411592315565235\n"
+"help.text"
+msgid "SheetName As String"
+msgstr ""
+
+#. cJAB7
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id41592315560095\n"
+"help.text"
+msgid "A <literal>com.sun.star.sheet.XSpreadsheet</literal> UNO object."
+msgstr ""
+
+#. hwjGf
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id321611613059105\n"
+"help.text"
+msgid "Visit %PRODUCTNAME API Documentation's website to learn more about <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1table_1_1XCellRange.html\" name=\"XCellRange API\">XCellRange</link>, <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1sheet_1_1XSheetCellCursor.html\" name=\"XSheetCellCursor API\">XSheetCellCursor</link> and <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1sheet_1_1XSpreadsheet.html\" name=\"XSpreadsheet API\">XSpreadsheet</link> UNO objects."
+msgstr ""
+
+#. V5dF8
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"hd_id501582887473754\n"
+"help.text"
+msgid "Methods"
+msgstr ""
+
+#. soCDf
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id891611613601554\n"
+"help.text"
+msgid "List of Methods in the Calc Service"
+msgstr ""
+
+#. Dis6i
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id93158919969228\n"
+"help.text"
+msgid "Returns a range address as a string based on sheet coordinates, i.e. row and column numbers."
+msgstr ""
+
+#. 4TBiF
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id21635434153216\n"
+"help.text"
+msgid "If only a pair of coordinates is given, then an address to a single cell is returned. Additional arguments can specify the bottom-right cell of a rectangular range."
+msgstr ""
+
+#. 2BuFG
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id821591631203080\n"
+"help.text"
+msgid "<emph>row1, column1</emph>: Specify the row and column numbers of the top-left cell in the range to be considered. Row and column numbers start at 1."
+msgstr ""
+
+#. i7N7S
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id821591631203212\n"
+"help.text"
+msgid "<emph>row2, column2</emph>: Specify the row and column numbers of the bottom-right cell in the range to be considered. If these arguments are not provided, or if values smaller than <literal>row1</literal> and <literal>column1</literal> are given, then the address of the single cell range represented by <literal>row1</literal> and <literal>column1</literal> is returned."
+msgstr ""
+
+#. Egj6k
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id821591631203336\n"
+"help.text"
+msgid "<emph>sheetname</emph>: The name of the sheet to be appended to the returned range address. The sheet must exist. The default value is \"~\" corresponding to the currently active sheet."
+msgstr ""
+
+#. idfEg
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id131611616623705\n"
+"help.text"
+msgid "The examples below in Basic and Python consider that \"Sheet1\" is the currently active sheet."
+msgstr ""
+
+#. eXJNG
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id501611617808112\n"
+"help.text"
+msgid "The method <literal>A1Style</literal> can be combined with any of the many properties and methods of the Calc service that require a range as argument, such as <literal>GetValue</literal>, <literal>GetFormula</literal>, <literal>ClearAll</literal>, etc."
+msgstr ""
+
+#. Hfeug
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id93158919969864\n"
+"help.text"
+msgid "If the argument <literal>sheetname</literal> is provided, the given sheet is activated and it becomes the currently selected sheet. If the argument is absent, then the document window is activated."
+msgstr ""
+
+#. EhMzz
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id821591631203996\n"
+"help.text"
+msgid "<emph>sheetname</emph>: The name of the sheet to be activated in the document. The default value is an empty string, meaning that the document window will be activated without changing the active sheet."
+msgstr ""
+
+#. 2cgiA
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id131611616623714\n"
+"help.text"
+msgid "The example below activates the sheet named \"Sheet4\" in the currently active document."
+msgstr ""
+
+#. LRebz
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id501611617808220\n"
+"help.text"
+msgid "Activating a sheet makes sense only if it is performed on a Calc document. To make sure you have a Calc document at hand you can use the <literal>isCalc</literal> property of the document object, which returns <literal>True</literal> if it is a Calc document and <literal>False</literal> otherwise."
+msgstr ""
+
+#. KWFFF
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id93158919969856\n"
+"help.text"
+msgid "Returns either the list with the names of all chart objects in a given sheet or a single <literal>Chart</literal> service instance."
+msgstr ""
+
+#. MKgeJ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id371635438503202\n"
+"help.text"
+msgid "If only <literal>sheetname</literal> is specified, a zero-based array of strings containing the names of all charts is returned."
+msgstr ""
+
+#. CLbLn
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id371635438509045\n"
+"help.text"
+msgid "If a <literal>chartname</literal> is provided, then a single object corresponding to the desired chart is returned. The specified chart must exist."
+msgstr ""
+
+#. T2e3d
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id821591631205026\n"
+"help.text"
+msgid "<emph>sheetname</emph>: The name of the sheet from which the list of charts is to be retrieved or where the specified chart is located."
+msgstr ""
+
+#. Dhape
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id821591631203566\n"
+"help.text"
+msgid "<emph>chartname</emph>: The user-defined name of the chart object to be returned. If the chart does not have a user-defined name, then the internal object name can be used. If this argument is absent, then the list of chart names in the specified sheet is returned."
+msgstr ""
+
+#. C7CSH
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id431635438771588\n"
+"help.text"
+msgid "Use the <menuitem>Navigator</menuitem> sidebar to check the names assigned to charts under the <menuitem>OLE objects</menuitem> category."
+msgstr ""
+
+#. zbX9R
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id41635439328174\n"
+"help.text"
+msgid "The example below shows the number of chart objects in \"Sheet1\"."
+msgstr ""
+
+#. gsLHX
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id571635439417400\n"
+"help.text"
+msgid "The following example accesses the chart named \"MyChart\" in \"Sheet1\" and prints its type."
+msgstr ""
+
+#. auJdC
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id31592919577984\n"
+"help.text"
+msgid "Clears all the contents and formats of the given range."
+msgstr ""
+
+#. M5PqA
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id441592919577809\n"
+"help.text"
+msgid "<emph>range</emph>: The range to be cleared, as a string."
+msgstr ""
+
+#. Wz6CH
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id211592919864118\n"
+"help.text"
+msgid "Clears the formats and styles in the given range."
+msgstr ""
+
+#. 6Qxnv
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id611592919864268\n"
+"help.text"
+msgid "<emph>range</emph>: The range whose formats and styles are to be cleared, as a string."
+msgstr ""
+
+#. sMwMp
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id841592919928169\n"
+"help.text"
+msgid "Clears the values and formulas in the given range."
+msgstr ""
+
+#. eEGn9
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id771592919928320\n"
+"help.text"
+msgid "<emph>range</emph>: The range whose values and formulas are to be cleared, as a string."
+msgstr ""
+
+#. JWFDb
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id841592919903025\n"
+"help.text"
+msgid "Deletes the columns of a specified range that match a filter expressed as a Calc formula. The filter is applied to each column to decide whether it will be deleted or not."
+msgstr ""
+
+#. 4JWnp
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id601652269911029\n"
+"help.text"
+msgid "The deleted column can be limited to the height of the specified range or span to the height of the entire sheet, thus deleting whole columns."
+msgstr ""
+
+#. VAVU3
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id701652271281106\n"
+"help.text"
+msgid "This method returns a string with the range address of the compacted range. If all columns are deleted, then an empty string is returned."
+msgstr ""
+
+#. j2GAb
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id191652271892064\n"
+"help.text"
+msgid "If a range of cells is selected, calling this method will not impact the selection."
+msgstr ""
+
+#. WsrKe
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id771592919922181\n"
+"help.text"
+msgid "<emph>range</emph>: The range from which columns will be deleted, as a string."
+msgstr ""
+
+#. Q9QBp
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id771592919932260\n"
+"help.text"
+msgid "<emph>wholecolumn</emph>: If this option is set to <literal>True</literal> the entire column will be deleted from the sheet. The default value is <literal>False</literal>, which means that the deleted column will be limited to the height of the specified <literal>range</literal>."
+msgstr ""
+
+#. M7qto
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id771592919915974\n"
+"help.text"
+msgid "<emph>filterformula</emph>: The filter to be applied to each column to determine whether or not it will be deleted. The filter is expressed as a Calc formula that should be applied to the first column. When the formula returns <emph>True</emph> for a column, that column will be deleted. The default filter deletes all empty columns."
+msgstr ""
+
+#. 8sYWa
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id361652271022647\n"
+"help.text"
+msgid "For example, suppose range <emph>A1:J200</emph> is selected (height = 200), so the default formula is <emph>=(COUNTBLANK(A1:A200)=200)</emph>. This means that if all 200 cells are empty in the first column (Column A), then the column is deleted. Note that the formula is expressed with respect to the first column only. Internally the <literal>CompactLeft</literal> method will generalize this formula for all the remaining columns."
+msgstr ""
+
+#. FDspT
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id941652271391005\n"
+"help.text"
+msgid "' Delete all empty columns in the range G1:L10 from Sheet1"
+msgstr ""
+
+#. huH9x
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id691652271390762\n"
+"help.text"
+msgid "newrange = oDoc.CompactLeft(\"Sheet1.G1:L10\")"
+msgstr ""
+
+#. 2BkcC
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id921652271392627\n"
+"help.text"
+msgid "' The example below is similar, but the entire column is deleted from the sheet"
+msgstr ""
+
+#. 6GoCu
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id941652271392873\n"
+"help.text"
+msgid "newrange = oDoc.CompactLeft(\"Sheet1.G1:L10\", WholeColumn := True)"
+msgstr ""
+
+#. KfQRA
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id751652271393226\n"
+"help.text"
+msgid "' Deletes all columns where the first row is marked with an \"X\""
+msgstr ""
+
+#. fLJ7y
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id761652271393514\n"
+"help.text"
+msgid "newrange = oDoc.CompactLeft(\"Sheet1.G1:L10\", FilterFormula := \"=(G1=\"\"X\"\")\")"
+msgstr ""
+
+#. UqpQB
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id241652271725676\n"
+"help.text"
+msgid "' Deletes all columns where the sum of values in the column is odd"
+msgstr ""
+
+#. 5rxDM
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id531652271726131\n"
+"help.text"
+msgid "newrange = oDoc.CompactLeft(\"Sheet1.G1:L10\", FilterFormula := \"=(MOD(SUM(G1:G10);2)=1)\")"
+msgstr ""
+
+#. i4ux6
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id451621536612334\n"
+"help.text"
+msgid "newrange = myDoc.CompactLeft(\"Sheet1.G1:L10\")"
+msgstr ""
+
+#. j5kGd
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id201652272121176\n"
+"help.text"
+msgid "newrange = myDoc.CompactLeft(\"Sheet1.G1:L10\", wholecolumn = True)"
+msgstr ""
+
+#. pBca4
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id781652272122794\n"
+"help.text"
+msgid "newrange = myDoc.CompactLeft(\"Sheet1.G1:L10\", filterformula = '=(G1=\"X\")')"
+msgstr ""
+
+#. VGAj6
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id731652272123209\n"
+"help.text"
+msgid "newrange = myDoc.CompactLeft(\"Sheet1.G1:L10\", filterformula = '=(MOD(SUM(G1:G10);2)=1)')"
+msgstr ""
+
+#. vqJ5B
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id841592919903699\n"
+"help.text"
+msgid "Deletes the rows of a specified range that match a filter expressed as a Calc formula. The filter is applied to each row to decide whether it will be deleted or not."
+msgstr ""
+
+#. RhiRD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id601652269910091\n"
+"help.text"
+msgid "The deleted rows can be limited to the width of the specified range or span to the width of the entire sheet, thus deleting whole rows."
+msgstr ""
+
+#. Yw3WB
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id701652271283456\n"
+"help.text"
+msgid "This method returns a string with the range address of the compacted range. If all rows are deleted, then an empty string is returned."
+msgstr ""
+
+#. RtGtW
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id191652271893913\n"
+"help.text"
+msgid "If a range of cells is selected, calling this method will not impact the selection."
+msgstr ""
+
+#. X3Ekj
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id771592919922080\n"
+"help.text"
+msgid "<emph>range</emph>: The range from which rows will be deleted, as a string."
+msgstr ""
+
+#. sAtHM
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id771592919921160\n"
+"help.text"
+msgid "<emph>wholerow</emph>: If this option is set to <literal>True</literal> the entire row will be deleted from the sheet. The default value is <literal>False</literal>, which means that the deleted row will be limited to the width of the specified <literal>range</literal>."
+msgstr ""
+
+#. pKXWR
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id771592919926374\n"
+"help.text"
+msgid "<emph>filterformula</emph>: The filter to be applied to each row to determine whether or not it will be deleted. The filter is expressed as a Calc formula that should be applied to the first row. When the formula returns <emph>True</emph> for a row, that row will be deleted. The default filter deletes all empty rows."
+msgstr ""
+
+#. 2DsWD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id361652271022681\n"
+"help.text"
+msgid "For example, suppose range <emph>A1:J200</emph> is selected (width = 10), so the default formula is <emph>=(COUNTBLANK(A1:J1)=10)</emph>. This means that if all 10 cells are empty in the first row (Row 1), then the row is deleted. Note that the formula is expressed with respect to the first row only. Internally the <literal>CompactUp</literal> method will generalize this formula for all the remaining rows."
+msgstr ""
+
+#. GuWzD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id941652271391554\n"
+"help.text"
+msgid "' Delete all empty rows in the range G1:L10 from Sheet1"
+msgstr ""
+
+#. GBrKx
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id691652271390789\n"
+"help.text"
+msgid "newrange = oDoc.CompactUp(\"Sheet1.G1:L10\")"
+msgstr ""
+
+#. FV3Ev
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id921652271392567\n"
+"help.text"
+msgid "' The example below is similar, but the entire row is deleted from the sheet"
+msgstr ""
+
+#. Y5YVh
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id941652271392553\n"
+"help.text"
+msgid "newrange = oDoc.CompactUp(\"Sheet1.G1:L10\", WholeRow := True)"
+msgstr ""
+
+#. mFqmA
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id751652271393117\n"
+"help.text"
+msgid "' Deletes all rows where the first column is marked with an \"X\""
+msgstr ""
+
+#. gJQRm
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id761652271393034\n"
+"help.text"
+msgid "newrange = oDoc.CompactUp(\"Sheet1.G1:L10\", FilterFormula := \"=(G1=\"\"X\"\")\")"
+msgstr ""
+
+#. DoDfJ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id241652271725065\n"
+"help.text"
+msgid "' Deletes all rows where the sum of values in the row is odd"
+msgstr ""
+
+#. zXErV
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id531652271726010\n"
+"help.text"
+msgid "newrange = oDoc.CompactUp(\"Sheet1.G1:L10\", FilterFormula := \"=(MOD(SUM(G1:L1);2)=1)\")"
+msgstr ""
+
+#. Mcwq5
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id451621536612227\n"
+"help.text"
+msgid "newrange = myDoc.CompactUp(\"Sheet1.G1:L10\")"
+msgstr ""
+
+#. tXmJD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id201652272121288\n"
+"help.text"
+msgid "newrange = myDoc.CompactUp(\"Sheet1.G1:L10\", wholerow = True)"
+msgstr ""
+
+#. WZ3XF
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id781652272122931\n"
+"help.text"
+msgid "newrange = myDoc.CompactUp(\"Sheet1.G1:L10\", filterformula = '=(G1=\"X\")')"
+msgstr ""
+
+#. 4DfG9
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id731652272123109\n"
+"help.text"
+msgid "newrange = myDoc.CompactUp(\"Sheet1.G1:L10\", filterformula = '=(MOD(SUM(G1:L1);2)=1)')"
+msgstr ""
+
+#. n6vJD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id591591631693816\n"
+"help.text"
+msgid "Copies a specified sheet before an existing sheet or at the end of the list of sheets. The sheet to be copied may be contained inside any <emph>open</emph> Calc document. Returns <literal>True</literal> if successful."
+msgstr ""
+
+#. YqGL2
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id871591631693741\n"
+"help.text"
+msgid "<emph>sheetname</emph>: The name of the sheet to be copied as a string or its reference as an object."
+msgstr ""
+
+#. 5cEGG
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id351591632126180\n"
+"help.text"
+msgid "<emph>newname</emph>: The name of the sheet to insert. The name must not be in use in the document."
+msgstr ""
+
+#. 8sSno
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id211591632192379\n"
+"help.text"
+msgid "<emph>beforesheet</emph>: The name (string) or index (numeric, starting from 1) of the sheet before which to insert the copied sheet. This argument is optional and the default behavior is to add the copied sheet at the last position."
+msgstr ""
+
+#. yuvEn
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id961591632309410\n"
+"help.text"
+msgid "The following example makes a copy of the sheet \"SheetX\" and places it as the last sheet in the current document. The name of the copied sheet is \"SheetY\"."
+msgstr ""
+
+#. pqVdW
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id231611706034607\n"
+"help.text"
+msgid "'Gets the Document object of the active window"
+msgstr ""
+
+#. xUG9G
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id461591632297415\n"
+"help.text"
+msgid "The example below copies \"SheetX\" from \"FileA.ods\" and pastes it at the last position of \"FileB.ods\" with the name \"SheetY\":"
+msgstr ""
+
+#. 2AAEx
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id801595695285478\n"
+"help.text"
+msgid "To copy sheets between <emph>open</emph> documents, use <literal>CopySheet</literal>. To copy sheets from documents that are <emph>closed</emph>, use <literal>CopySheetFromFile</literal>."
+msgstr ""
+
+#. 5fctt
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id931591714614755\n"
+"help.text"
+msgid "Copies a specified sheet from a <emph>closed</emph> Calc document and pastes it before an existing sheet or at the end of the list of sheets of the file referred to by a <literal>Document</literal> object."
+msgstr ""
+
+#. M9mDA
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id271611706609445\n"
+"help.text"
+msgid "If the file does not exist, an error is raised. If the file is not a valid Calc file, a blank sheet is inserted. If the source sheet does not exist in the input file, an error message is inserted at the top of the newly pasted sheet."
+msgstr ""
+
+#. tCseT
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id471591714947181\n"
+"help.text"
+msgid "<emph>filename</emph>: Identifies the file to open. It must follow the <literal>SF_FileSystem.FileNaming</literal> notation. The file must not be protected with a password."
+msgstr ""
+
+#. gHjz6
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id9915917146142\n"
+"help.text"
+msgid "<emph>sheetname</emph>: The name of the sheet to be copied as a string."
+msgstr ""
+
+#. PeZ4F
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id71591714614904\n"
+"help.text"
+msgid "<emph>newname</emph>: The name of the copied sheet to be inserted in the document. The name must not be in use in the document."
+msgstr ""
+
+#. 2niVz
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id601591714614407\n"
+"help.text"
+msgid "<emph>beforesheet</emph>: The name (string) or index (numeric, starting from 1) of the sheet before which to insert the copied sheet. This argument is optional and the default behavior is to add the copied sheet at the last position."
+msgstr ""
+
+#. iEHJy
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id981611707192039\n"
+"help.text"
+msgid "The following example copies \"SheetX\" from \"myFile.ods\" and pastes it into the document referred to by \"oDoc\" as \"SheetY\" at the first position."
+msgstr ""
+
+#. kELHv
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id91592558768804\n"
+"help.text"
+msgid "Copies a specified source range (values, formulas and formats) to a destination range or cell. The method reproduces the behaviour of a Copy/Paste operation from a range to a single cell."
+msgstr ""
+
+#. KixB2
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id831611707431984\n"
+"help.text"
+msgid "It returns a string representing the modified range of cells. The size of the modified area is fully determined by the size of the source area."
+msgstr ""
+
+#. KCiyF
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id681592558768463\n"
+"help.text"
+msgid "The source range may belong to another <emph>open</emph> document."
+msgstr ""
+
+#. RBQG9
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id761592558768578\n"
+"help.text"
+msgid "<emph>sourcerange</emph>: The source range as a string when it belongs to the same document or as a reference when it belongs to another open Calc document."
+msgstr ""
+
+#. 3MUwk
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id711592558768466\n"
+"help.text"
+msgid "<emph>destinationcell</emph>: The destination cell where the copied range of cells will be pasted, as a string. If a range is given, only its top-left cell is considered."
+msgstr ""
+
+#. FbkjF
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id431592904964362\n"
+"help.text"
+msgid "Next is an example where the source and destination are in the same file:"
+msgstr ""
+
+#. Zh3Wp
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id751592905035452\n"
+"help.text"
+msgid "The example below illustrates how to copy a range from another open Calc document:"
+msgstr ""
+
+#. uFAEe
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id351592558768880\n"
+"help.text"
+msgid "'Open the source document in the background (hidden)"
+msgstr ""
+
+#. PBgwL
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id1001611708508251\n"
+"help.text"
+msgid "'Do not forget to close the source document because it was opened as hidden"
+msgstr ""
+
+#. ZzDAQ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id61592905442071\n"
+"help.text"
+msgid "To simulate a Copy/Paste from a range to a single cell, use <literal>CopyToCell</literal>. To simulate a Copy/Paste from a range to a larger range (with the same cells being replicated several times), use <literal>CopyToRange</literal>."
+msgstr ""
+
+#. maHke
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id1615929031212\n"
+"help.text"
+msgid "Copies downwards and/or rightwards a specified source range (values, formulas and formats) to a destination range. The method imitates the behaviour of a Copy/Paste operation from a source range to a larger destination range."
+msgstr ""
+
+#. G4qky
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id271592904084534\n"
+"help.text"
+msgid "If the height (or width) of the destination area is > 1 row (or column) then the height (or width) of the source must be <= the height (or width) of the destination. Otherwise nothing happens."
+msgstr ""
+
+#. Pko2R
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id131592904286834\n"
+"help.text"
+msgid "If the height (or width) of the destination is = 1 then the destination is expanded downwards (or rightwards) up to the height (or width) of the source range."
+msgstr ""
+
+#. jYha4
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id661592904348877\n"
+"help.text"
+msgid "The method returns a string representing the modified range of cells."
+msgstr ""
+
+#. wfzcw
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id41592903121807\n"
+"help.text"
+msgid "The source range may belong to another <emph>open</emph> document."
+msgstr ""
+
+#. CEaED
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id841592903121145\n"
+"help.text"
+msgid "<emph>sourcerange</emph>: The source range as a string when it belongs to the same document or as a reference when it belongs to another open Calc document."
+msgstr ""
+
+#. v3d3d
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id5515929031211000\n"
+"help.text"
+msgid "<emph>destinationrange</emph>: The destination of the copied range of cells, as a string."
+msgstr ""
+
+#. LsHF6
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id461592905128991\n"
+"help.text"
+msgid "Copy within the same document:"
+msgstr ""
+
+#. dNdmJ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id601592904507182\n"
+"help.text"
+msgid "' Returns a range string: \"$SheetY.$C$5:$J$14\""
+msgstr ""
+
+#. FBbwi
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id1001592905195364\n"
+"help.text"
+msgid "Copy from one file to another:"
+msgstr ""
+
+#. L3GHp
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id1615929033642\n"
+"help.text"
+msgid "Creates a new chart object showing the data in the specified range. The returned chart object can be further manipulated using the <literal>Chart</literal> service."
+msgstr ""
+
+#. 2YZ5H
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id841592903121025\n"
+"help.text"
+msgid "<emph>chartname:</emph> The user-defined name of the chart to be created. The name must be unique in the same sheet."
+msgstr ""
+
+#. BBtB3
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id5515929031213680\n"
+"help.text"
+msgid "<emph>sheetname:</emph> The name of the sheet where the chart will be placed."
+msgstr ""
+
+#. GEiCb
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id5515929031211522\n"
+"help.text"
+msgid "<emph>range:</emph> The range to be used as the data source for the chart. The range may refer to any sheet of the Calc document."
+msgstr ""
+
+#. L3dSo
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id5515929031216390\n"
+"help.text"
+msgid "<emph>columnheader:</emph> When <literal>True</literal>, the topmost row of the range is used as labels for the category axis or the legend (Default = <literal>False</literal>)."
+msgstr ""
+
+#. iyq5m
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id5515929031211633\n"
+"help.text"
+msgid "<emph>rowheader:</emph> When <literal>True</literal>, the leftmost column of the range is used as labels for the category axis or the legend. (Default = <literal>False</literal>)."
+msgstr ""
+
+#. CKzBZ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id61635441176547\n"
+"help.text"
+msgid "The examples below in Basic and Python create a chart using the data contained in the range \"A1:B5\" of \"Sheet1\" and place the chart in \"Sheet2\"."
+msgstr ""
+
+#. uBCvA
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id231635441342180\n"
+"help.text"
+msgid "Refer to the help page about ScriptForge's <link href=\"text/sbasic/shared/03/sf_chart.xhp\" name=\"Chart service\">Chart service</link> to learn more how to further manipulate chart objects. It is possible to change properties as the chart type, chart and axes titles and chart position."
+msgstr ""
+
+#. DFCVe
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id1615929033065\n"
+"help.text"
+msgid "Creates a new pivot table with the properties defined by the arguments passed to the method."
+msgstr ""
+
+#. gouER
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id1001652794922144\n"
+"help.text"
+msgid "A name must be provided for the pivot table. If a pivot table with the same name already exists in the targeted sheet, it will be replaced without warning."
+msgstr ""
+
+#. SnCCg
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id751652795324382\n"
+"help.text"
+msgid "This method returns a string containing the range where the new pivot table was placed."
+msgstr ""
+
+#. AKjmT
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id841592903128525\n"
+"help.text"
+msgid "<emph>pivottablename:</emph> The user-defined name of the new pivot table."
+msgstr ""
+
+#. vvGTx
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id5515929031203640\n"
+"help.text"
+msgid "<emph>sourcerange:</emph> The range containing the raw data, as a string. It is assumed that the first row contains the field names that are used by the pivot table."
+msgstr ""
+
+#. twWbD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id5515929031210400\n"
+"help.text"
+msgid "<emph>targetcell:</emph> The top-left cell where the new pivot table will be placed. If a range is specified, only its top-left cell is considered."
+msgstr ""
+
+#. YXG64
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id5515929031951290\n"
+"help.text"
+msgid "<emph>datafields:</emph> It can be either a single string or an array containing strings that define field names and functions to be applied. When an array is specified, it must follow the syntax <input>Array(\"FieldName[;Function]\", ...)</input>."
+msgstr ""
+
+#. cKZ3U
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id361652795942348\n"
+"help.text"
+msgid "The allowed functions are: <literal>Sum</literal>, <literal>Count</literal>, <literal>Average</literal>, <literal>Max</literal>, <literal>Min</literal>, <literal>Product</literal>, <literal>CountNums</literal>, <literal>StDev</literal>, <literal>StDevP</literal>, <literal>Var</literal>, <literal>VarP</literal> and <literal>Median</literal>. Function names must be provided in English. When all values are numerical, <literal>Sum</literal> is the default function, otherwise the default function is <literal>Count</literal>."
+msgstr ""
+
+#. JKCoA
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id5515929031211003\n"
+"help.text"
+msgid "<emph>rowfields:</emph> A single string or an array with the field names that will be used as the pivot table rows."
+msgstr ""
+
+#. 8GW5G
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id5515929031211114\n"
+"help.text"
+msgid "<emph>columnfields:</emph> A single string or an array with the field names that will be used as the pivot table columns."
+msgstr ""
+
+#. iTL7C
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id361652796141240\n"
+"help.text"
+msgid "<emph>filterbutton:</emph> Determines whether a filter button will be displayed above the pivot table (Default = <literal>True</literal>)."
+msgstr ""
+
+#. FXyRo
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id661652796200051\n"
+"help.text"
+msgid "<emph>rowtotals:</emph> Specifies if a separate column for row totals will be added to the pivot table (Default = <literal>True</literal>)."
+msgstr ""
+
+#. xf8Nt
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id671652796274304\n"
+"help.text"
+msgid "<emph>columntotals</emph> Specifies if a separate row for column totals will be added to the pivot table (Default = <literal>True</literal>)"
+msgstr ""
+
+#. EWpPF
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id201652797038370\n"
+"help.text"
+msgid "vData = Array(Array(\"Item\", \"State\", \"Team\", \"2002\", \"2003\", \"2004\"), _"
+msgstr ""
+
+#. mKCAv
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id171652797038762\n"
+"help.text"
+msgid "Array(\"Books\", \"Michigan\", \"Jean\", 14788, 30222, 23490), _"
+msgstr ""
+
+#. hCGGn
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id331652797039146\n"
+"help.text"
+msgid "Array(\"Candy\", \"Michigan\", \"Jean\", 26388, 15641, 32849), _"
+msgstr ""
+
+#. 9ByFz
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id911652797039570\n"
+"help.text"
+msgid "Array(\"Pens\", \"Michigan\", \"Jean\", 16569, 32675, 25396), _"
+msgstr ""
+
+#. eSDMP
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id471652797039963\n"
+"help.text"
+msgid "Array(\"Books\", \"Michigan\", \"Volker\", 21961, 21242, 29009), _"
+msgstr ""
+
+#. sJ46a
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id681652797040338\n"
+"help.text"
+msgid "Array(\"Candy\", \"Michigan\", \"Volker\", 26142, 22407, 32841))"
+msgstr ""
+
+#. J482H
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id851652797041450\n"
+"help.text"
+msgid "Array(\"2002\", \"2003;count\", \"2004;average\"), _ ' Three data fields"
+msgstr ""
+
+#. aVZWM
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id791652797306993\n"
+"help.text"
+msgid "\"Item\", _ ' A single row field"
+msgstr ""
+
+#. C77HK
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id731652797041866\n"
+"help.text"
+msgid "Array(\"State\", \"Team\"), False) ' Two column fields"
+msgstr ""
+
+#. 4c6uZ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id971652797474132\n"
+"help.text"
+msgid "vData = [[\"Item\", \"State\", \"Team\", \"2002\", \"2003\", \"2004\"],"
+msgstr ""
+
+#. 7ZNex
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id921652797555153\n"
+"help.text"
+msgid "[\"Books\", \"Michigan\", \"Jean\", 14788, 30222, 23490],"
+msgstr ""
+
+#. Ab4Va
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id891652797555537\n"
+"help.text"
+msgid "[\"Candy\", \"Michigan\", \"Jean\", 26388, 15641, 32849],"
+msgstr ""
+
+#. jCYsL
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id321652797555864\n"
+"help.text"
+msgid "[\"Pens\", \"Michigan\", \"Jean\", 16569, 32675, 25396)],"
+msgstr ""
+
+#. LFzAq
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id121652797556264\n"
+"help.text"
+msgid "[\"Books\", \"Michigan\", \"Volker\", 21961, 21242, 29009],"
+msgstr ""
+
+#. GRrTW
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id881652797556680\n"
+"help.text"
+msgid "[\"Candy\", \"Michigan\", \"Volker\", 26142, 22407, 32841]]"
+msgstr ""
+
+#. sbEVQ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id941652797992017\n"
+"help.text"
+msgid "[\"2002\", \"2003;count\", \"2004;average\"],"
+msgstr ""
+
+#. 3JAyy
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id471652797992561\n"
+"help.text"
+msgid "\"Item\","
+msgstr ""
+
+#. oL69n
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"pyc_id561652797992185\n"
+"help.text"
+msgid "[\"State\", \"Team\"], False)"
+msgstr ""
+
+#. XsF9b
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id231635441342284\n"
+"help.text"
+msgid "To learn more about Pivot Tables in %PRODUCTNAME Calc, read the <link href=\"text/scalc/guide/datapilot.xhp\" name=\"Pivot table\">Pivot Table</link> help page."
+msgstr ""
+
+#. so8uw
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id601595777001498\n"
+"help.text"
+msgid "Apply the functions Average, Count, Max, Min and Sum, respectively, to all the cells containing numeric values on a given range."
+msgstr ""
+
+#. F2UTC
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id741595777001537\n"
+"help.text"
+msgid "<emph>range</emph>: The range to which the function will be applied, as a string."
+msgstr ""
+
+#. ZhAYY
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id121611752704572\n"
+"help.text"
+msgid "The example below applies the <literal>Sum</literal> function to the range \"A1:A1000\" of the currently selected sheet:"
+msgstr ""
+
+#. iTEts
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id31611752782288\n"
+"help.text"
+msgid "Cells in the given range that contain text will be ignored by all of these functions. For example, the <literal>DCount</literal> method will not count cells with text, only numerical cells."
+msgstr ""
+
+#. S6JvC
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id501623063693113\n"
+"help.text"
+msgid "Exports the specified range as an image or PDF file."
+msgstr ""
+
+#. eKaCo
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id401655654738754\n"
+"help.text"
+msgid "This method returns <literal>True</literal> if the destination file was successfully saved."
+msgstr ""
+
+#. p6Hg5
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id871655655302952\n"
+"help.text"
+msgid "Hidden rows or columns in the specified range are not exported to the destination file."
+msgstr ""
+
+#. DpqDV
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id441623090896470\n"
+"help.text"
+msgid "<emph>range</emph>: A sheet name or a cell range to be exported, as a string."
+msgstr ""
+
+#. v5QXP
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id451623063452651\n"
+"help.text"
+msgid "<emph>filename</emph>: The name of the file to be saved. It must follow the <literal>SF_FileSystem.FileNaming</literal> notation."
+msgstr ""
+
+#. 3nTsB
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id441623090895310\n"
+"help.text"
+msgid "<emph>imagetype</emph>: Identifies the destination file type. Possible values are \"jpeg\", \"pdf\" (default) and \"png\"."
+msgstr ""
+
+#. Wx3ea
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id441623090896317\n"
+"help.text"
+msgid "<emph>overwrite</emph>: When set to <literal>True</literal>, the destination file may be overwritten (Default = <literal>False</literal>)."
+msgstr ""
+
+#. twaNW
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id561655655121456\n"
+"help.text"
+msgid "' Exports the entire sheet as a PDF file"
+msgstr ""
+
+#. RRxag
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id991655655060661\n"
+"help.text"
+msgid "' Exports the range as a PNG file and overwrites the destination file if it exists"
+msgstr ""
+
+#. BVKEy
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id501623063693649\n"
+"help.text"
+msgid "Depending on the parameters provided this method will return:"
+msgstr ""
+
+#. pBZm6
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id611623063742045\n"
+"help.text"
+msgid "A zero-based Array (or a tuple in Python) with the names of all the forms contained in a given sheet (if the <literal>form</literal> argument is absent)"
+msgstr ""
+
+#. FHWZs
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id641623063744536\n"
+"help.text"
+msgid "A <literal>SFDocuments.Form</literal> service instance representing the form specified as argument."
+msgstr ""
+
+#. YdQaD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id441623090893210\n"
+"help.text"
+msgid "<emph>sheetname</emph>: The name of the sheet, as a string, from which the form will be retrieved."
+msgstr ""
+
+#. BV8GH
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id451623063459286\n"
+"help.text"
+msgid "<emph>form</emph>: The name or index corresponding to a form stored in the specified sheet. If this argument is absent, the method will return a list with the names of all forms available in the sheet."
+msgstr ""
+
+#. sFFyE
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id251623063305557\n"
+"help.text"
+msgid "In the following examples, the first line gets the names of all forms stored in \"Sheet1\" and the second line retrieves the <literal>Form</literal> object of the form named \"Form_A\" which is stored in \"Sheet1\"."
+msgstr ""
+
+#. y9kCE
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id401591632726431\n"
+"help.text"
+msgid "Converts a column number ranging between 1 and 1024 into its corresponding letter (column 'A', 'B', ..., 'AMJ'). If the given column number is outside the allowed range, a zero-length string is returned."
+msgstr ""
+
+#. EfsXe
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id83159163272628\n"
+"help.text"
+msgid "<emph>columnnumber</emph>: The column number as an integer value in the interval 1 ... 1024."
+msgstr ""
+
+#. 6yjtp
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id11621539831303\n"
+"help.text"
+msgid "Displays a message box with the name of the third column, which by default is \"C\"."
+msgstr ""
+
+#. XNAhU
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id451611753568778\n"
+"help.text"
+msgid "The maximum number of columns allowed on a Calc sheet is 1024."
+msgstr ""
+
+#. ksYoG
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id921593880142573\n"
+"help.text"
+msgid "Get the formula(s) stored in the given range of cells as a single string, a 1D or a 2D array of strings."
+msgstr ""
+
+#. KDFkQ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id891593880142588\n"
+"help.text"
+msgid "<emph>range</emph>: The range where to get the formulas from, as a string."
+msgstr ""
+
+#. tBeSN
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id461611755257141\n"
+"help.text"
+msgid "The following example returns a 3 by 2 array with the formulas in the range \"A1:B3\" (3 rows by 2 columns):"
+msgstr ""
+
+#. AoHGB
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id331592231156425\n"
+"help.text"
+msgid "Get the value(s) stored in the given range of cells as a single value, a 1D array or a 2D array. All values are either doubles or strings."
+msgstr ""
+
+#. XACNZ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id91592231156434\n"
+"help.text"
+msgid "<emph>range</emph>: The range where to get the values from, as a string."
+msgstr ""
+
+#. ojRBo
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id991611756492772\n"
+"help.text"
+msgid "If a cell contains a date, the number corresponding to that date will be returned. To convert numeric values to dates in Basic scripts, use the Basic <link href=\"text/sbasic/shared/03100300.xhp\" name=\"CDate Basic\"><literal>CDate</literal> builtin function</link>. In Python scripts, use the <link href=\"text/sbasic/shared/03/sf_basic.xhp#CDate\" name=\"CDate Python\"><literal>CDate</literal> function from the <literal>Basic</literal> service.</link>"
+msgstr ""
+
+#. YYMuH
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id771593685490395\n"
+"help.text"
+msgid "Imports the contents of a CSV-formatted text file and places it on a given destination cell."
+msgstr ""
+
+#. cxrHr
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id751611756909199\n"
+"help.text"
+msgid "The destination area is cleared of all contents and formats before inserting the contents of the CSV file. The size of the modified area is fully determined by the contents of the input file."
+msgstr ""
+
+#. D2w2A
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id911593685490873\n"
+"help.text"
+msgid "The method returns a string representing the modified range of cells."
+msgstr ""
+
+#. GrquM
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id851593685490824\n"
+"help.text"
+msgid "<emph>filename</emph>: Identifies the file to open. It must follow the <literal>SF_FileSystem.FileNaming</literal> notation."
+msgstr ""
+
+#. VdTtY
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id641593685490936\n"
+"help.text"
+msgid "<emph>destinationcell</emph>: The destination cell to insert the imported data, as a string. If instead a range is given, only its top-left cell is considered."
+msgstr ""
+
+#. BrTfu
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id641593685863838\n"
+"help.text"
+msgid "<emph>filteroptions</emph>: The arguments for the CSV input filter. The default filter makes following assumptions:"
+msgstr ""
+
+#. Mb4c6
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id661593686250471\n"
+"help.text"
+msgid "The input file encoding is UTF8."
+msgstr ""
+
+#. CEpDn
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id161593686260876\n"
+"help.text"
+msgid "The field separator is a comma, a semi-colon or a Tab character."
+msgstr ""
+
+#. CDfys
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id711593686274293\n"
+"help.text"
+msgid "The string delimiter is the double quote (\")."
+msgstr ""
+
+#. qowXx
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id171593686280838\n"
+"help.text"
+msgid "All lines are included."
+msgstr ""
+
+#. MBwZg
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id881593686287161\n"
+"help.text"
+msgid "Quoted strings are formatted as text."
+msgstr ""
+
+#. bujFG
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id161593686293473\n"
+"help.text"
+msgid "Special numbers are detected."
+msgstr ""
+
+#. TYXKD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id791593686300499\n"
+"help.text"
+msgid "All columns are presumed to be texts, except if recognized as valid numbers."
+msgstr ""
+
+#. Byno7
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id381593686307406\n"
+"help.text"
+msgid "The language is English/US, which implies that the decimal separator is \".\" and the thousands separator is \",\"."
+msgstr ""
+
+#. tDYGo
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id531611757154931\n"
+"help.text"
+msgid "To learn more about the CSV Filter Options, refer to the <link href=\"text/shared/guide/csv_params.xhp\" name=\"CSV Filter Options\">CSV Filter Options help page</link>."
+msgstr ""
+
+#. vPPYx
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id881599568986824\n"
+"help.text"
+msgid "Imports the contents of a database table, query or resultset, i.e. the result of a SELECT SQL command, inserting it on a destination cell."
+msgstr ""
+
+#. DorV6
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id81611763957509\n"
+"help.text"
+msgid "The destination area is cleared of all contents and formats before inserting the imported contents. The size of the modified area is fully determined by the contents in the table or query."
+msgstr ""
+
+#. tfp3o
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id51599568986387\n"
+"help.text"
+msgid "The method returns <literal>True</literal> when the import was successful."
+msgstr ""
+
+#. rgoAd
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id311599568986784\n"
+"help.text"
+msgid "<emph>filename</emph>: Identifies the file to open. It must follow the <literal>SF_FileSystem.FileNaming</literal> notation."
+msgstr ""
+
+#. j2J5e
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id711596555746281\n"
+"help.text"
+msgid "<emph>registrationname</emph>: The name to use to find the database in the databases register. This argument is ignored if a <literal>filename</literal> is provided."
+msgstr ""
+
+#. 2hSHw
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id211599568986329\n"
+"help.text"
+msgid "<emph>destinationcell</emph>: The destination of the imported data, as a string. If a range is given, only its top-left cell is considered."
+msgstr ""
+
+#. aMfVw
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id451599489278429\n"
+"help.text"
+msgid "<emph>sqlcommand</emph>: A table or query name (without surrounding quotes or square brackets) or a SELECT SQL statement in which table and field names may be surrounded by square brackets or quotes to improve its readability."
+msgstr ""
+
+#. wFpLr
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id271599489278141\n"
+"help.text"
+msgid "<emph>directsql</emph>: When <literal>True</literal>, the SQL command is sent to the database engine without pre-analysis. Default is <literal>False</literal>. The argument is ignored for tables. For queries, the applied option is the one set when the query was defined."
+msgstr ""
+
+#. toj8z
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id121591698472929\n"
+"help.text"
+msgid "Inserts a new empty sheet before an existing sheet or at the end of the list of sheets."
+msgstr ""
+
+#. Xbm7k
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id941591698472748\n"
+"help.text"
+msgid "<emph>sheetname</emph>: The name of the new sheet."
+msgstr ""
+
+#. XbXNM
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id84159169847269\n"
+"help.text"
+msgid "<emph>beforesheet</emph>: The name (string) or index (numeric, starting from 1) of the sheet before which to insert the new sheet. This argument is optional and the default behavior is to insert the sheet at the last position."
+msgstr ""
+
+#. UCmit
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id241611764359510\n"
+"help.text"
+msgid "The following example inserts a new empty sheet named \"SheetX\" and places it before \"SheetY\":"
+msgstr ""
+
+#. DcrWC
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id6415925694762\n"
+"help.text"
+msgid "Moves a specified source range to a destination range of cells. The method returns a string representing the modified range of cells. The dimension of the modified area is fully determined by the size of the source area."
+msgstr ""
+
+#. UqxZv
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id571592569476332\n"
+"help.text"
+msgid "<emph>source</emph>: The source range of cells, as a string."
+msgstr ""
+
+#. G6BSW
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id891592569476362\n"
+"help.text"
+msgid "<emph>destination</emph>: The destination cell, as a string. If a range is given, its top-left cell is considered as the destination."
+msgstr ""
+
+#. NorEd
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id831591698903829\n"
+"help.text"
+msgid "Moves an existing sheet and places it before a specified sheet or at the end of the list of sheets."
+msgstr ""
+
+#. dgAxB
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id351591698903911\n"
+"help.text"
+msgid "<emph>sheetname</emph>: The name of the sheet to move. The sheet must exist or an exception is raised."
+msgstr ""
+
+#. fevuS
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id9159169890334\n"
+"help.text"
+msgid "<emph>beforesheet</emph>: The name (string) or index (numeric, starting from 1) of the sheet before which the original sheet will be placed. This argument is optional and the default behavior is to move the sheet to the last position."
+msgstr ""
+
+#. pd5t4
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id951611766058734\n"
+"help.text"
+msgid "The example below moves the existing sheet \"SheetX\" and places it before \"SheetY\":"
+msgstr ""
+
+#. Q9iwN
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id51592233506371\n"
+"help.text"
+msgid "Returns a new range (as a string) offset by a certain number of rows and columns from a given range."
+msgstr ""
+
+#. VCUXL
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id61611768400376\n"
+"help.text"
+msgid "This method has the same behavior as the homonymous Calc's <link href=\"text/scalc/01/04060109.xhp\" name=\"Offset function\">Offset function</link>."
+msgstr ""
+
+#. G2oD2
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id901592233506293\n"
+"help.text"
+msgid "<emph>reference</emph>: The range, as a string, that the method will use as reference to perform the offset operation."
+msgstr ""
+
+#. Ra7aW
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id781592234124856\n"
+"help.text"
+msgid "<emph>rows</emph>: The number of rows by which the initial range is offset upwards (negative value) or downwards (positive value). Use 0 (default) to stay in the same row."
+msgstr ""
+
+#. FvqjV
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id971592234138769\n"
+"help.text"
+msgid "<emph>columns</emph>: The number of columns by which the initial range is offset to the left (negative value) or to the right (positive value). Use 0 (default) to stay in the same column."
+msgstr ""
+
+#. VzgGM
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id321592234150061\n"
+"help.text"
+msgid "<emph>height</emph>: The vertical height for an area that starts at the new range position. Omit this argument when no vertical resizing is needed."
+msgstr ""
+
+#. JxENN
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id271592234165247\n"
+"help.text"
+msgid "<emph>width</emph>: The horizontal width for an area that starts at the new range position. Omit this argument when no horizontal resizing is needed."
+msgstr ""
+
+#. t9QDN
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id871592234172652\n"
+"help.text"
+msgid "Arguments <literal>rows</literal> and <literal>columns</literal> must not lead to zero or negative start row or column."
+msgstr ""
+
+#. JAxEm
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id211592234180073\n"
+"help.text"
+msgid "Arguments <literal>height</literal> and <literal>width</literal> must not lead to zero or negative count of rows or columns."
+msgstr ""
+
+#. BkCDz
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id651592234465732\n"
+"help.text"
+msgid "'SheetX.$C$3 (A1 moved by two rows and two columns down)"
+msgstr ""
+
+#. 8ukCQ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id521592234478848\n"
+"help.text"
+msgid "'SheetX.$C$3:$H$7 (A1 offset by two rows and columns with width of 5 rows and 6 columns)"
+msgstr ""
+
+#. GwPQh
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id51592233506021\n"
+"help.text"
+msgid "Opens a non-modal dialog that can be used to select a range in the document and returns a string containing the selected range."
+msgstr ""
+
+#. CWn2A
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id301637936295380\n"
+"help.text"
+msgid "This method opens the same dialog that is used by %PRODUCTNAME when the Shrink button is pressed. For example, the <menuitem>Tools - Goal Seek</menuitem> dialog has a Shrink button to the right of the <menuitem>Formula cell</menuitem> field."
+msgstr ""
+
+#. XUoah
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id551637936545121\n"
+"help.text"
+msgid "This method does not change the current selection."
+msgstr ""
+
+#. tAHiV
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id901592233506001\n"
+"help.text"
+msgid "<emph>title</emph>: The title of the dialog, as a string."
+msgstr ""
+
+#. Yyn74
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id781592234124502\n"
+"help.text"
+msgid "<emph>selection</emph>: An optional range that is initially selected when the dialog is displayed."
+msgstr ""
+
+#. zo7VK
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id971592234138989\n"
+"help.text"
+msgid "<emph>singlecell</emph>: When <literal>True</literal> (default) only single-cell selection is allowed. When <literal>False</literal> range selection is allowed."
+msgstr ""
+
+#. SqEWv
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id321592234150345\n"
+"help.text"
+msgid "<emph>closeafterselect</emph>: When <literal>True</literal> (default) the dialog is closed immediately after the selection is made. When <literal>False</literal> the user can change the selection as many times as needed and then manually close the dialog."
+msgstr ""
+
+#. yDiCm
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id51592233503441\n"
+"help.text"
+msgid "Returns the input string after substituting its token characters by their values in a given range."
+msgstr ""
+
+#. Qu4DK
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id551637936596521\n"
+"help.text"
+msgid "This method does not change the current selection."
+msgstr ""
+
+#. eEqCY
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id171637938442558\n"
+"help.text"
+msgid "This method can be used to quickly extract specific parts of a range name, such as the sheet name or first cell column and row, and use them to compose a new range address."
+msgstr ""
+
+#. RAAVz
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id901592233506232\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string containing the tokens that will be replaced by the corresponding values in <literal>range</literal>."
+msgstr ""
+
+#. NJdUy
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id781592234161102\n"
+"help.text"
+msgid "<emph>range</emph>: A <literal>RangeName</literal> from which values will be extracted. If it contains a sheet name, the sheet must exist."
+msgstr ""
+
+#. BgCCD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id971592234102889\n"
+"help.text"
+msgid "<emph>tokencharacter</emph>: Character used to identify tokens. By default \"%\" is the token character. The following tokens are accepted:"
+msgstr ""
+
+#. WTDwR
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id261637943912156\n"
+"help.text"
+msgid "<emph>%S</emph> - The sheet name containing the range, including single quotes when necessary."
+msgstr ""
+
+#. YHLeU
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id441637943912380\n"
+"help.text"
+msgid "<emph>%R1</emph> - The row number of the top left cell of the range."
+msgstr ""
+
+#. joJi7
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id521637943912620\n"
+"help.text"
+msgid "<emph>%C1</emph> - The column letter of the top left cell of the range."
+msgstr ""
+
+#. YAfmV
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id371637943912860\n"
+"help.text"
+msgid "<emph>%R2</emph> - The row number of the bottom right cell of the range."
+msgstr ""
+
+#. imuBD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id291637943913116\n"
+"help.text"
+msgid "<emph>%C2</emph> - The column letter of the bottom right cell of the range."
+msgstr ""
+
+#. gpmpG
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id941637943467476\n"
+"help.text"
+msgid "The example below extracts each element of the <literal>RangeName</literal> defined in <literal>sRange</literal> and uses them to compose a message."
+msgstr ""
+
+#. nbJ59
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id241637944350648\n"
+"help.text"
+msgid "The <literal>Printf</literal> method can be combined with <literal>SetFormula</literal> to create formulas over multiple cells. For instance, consider a table with numeric values in the range \"A1:E10\" from which formulas are to be created to sum the values in each row and place the results in the range \"F1:F10\":"
+msgstr ""
+
+#. foAvd
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id371637944971921\n"
+"help.text"
+msgid "' Note the use of the \"$\" character"
+msgstr ""
+
+#. wBpRw
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id156589200121138\n"
+"help.text"
+msgid "This method sends the contents of the given sheet to the default printer or to the printer defined by the <literal>SetPrinter</literal> method of the <literal>Document</literal> service."
+msgstr ""
+
+#. BaDL9
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id981611169416934\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the sheet was successfully printed."
+msgstr ""
+
+#. CnNEC
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id368519200121646\n"
+"help.text"
+msgid "<emph>sheetname</emph>: The sheet to print, default is the active sheet."
+msgstr ""
+
+#. xk3k3
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id211635436910093\n"
+"help.text"
+msgid "<emph>pages</emph>: The pages to print as a string, like in the user interface. Example: \"1-4;10;15-18\". Default is all pages."
+msgstr ""
+
+#. DBFDA
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id141635436912146\n"
+"help.text"
+msgid "<emph>copies</emph>: The number of copies. Default is 1."
+msgstr ""
+
+#. C8abL
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id661591699085351\n"
+"help.text"
+msgid "Removes an existing sheet from the document."
+msgstr ""
+
+#. dVxiA
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id331591699085330\n"
+"help.text"
+msgid "<emph>sheetname</emph>: The name of the sheet to remove."
+msgstr ""
+
+#. GwKHr
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id971591704316873\n"
+"help.text"
+msgid "Renames the given sheet and returns <literal>True</literal> if successful."
+msgstr ""
+
+#. ofAiN
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id161591704316337\n"
+"help.text"
+msgid "<emph>sheetname</emph>: The name of the sheet to rename."
+msgstr ""
+
+#. JHEDe
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id931591704316998\n"
+"help.text"
+msgid "<emph>newname</emph>: the new name of the sheet. It must not exist yet."
+msgstr ""
+
+#. bwtAA
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id351611775260443\n"
+"help.text"
+msgid "This example renames the active sheet to \"SheetY\":"
+msgstr ""
+
+#. qEM6N
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id191592745582983\n"
+"help.text"
+msgid "Stores the given value starting from a specified target cell. The updated area expands itself from the target cell or from the top-left corner of the given range to accommodate the size of the input <literal>value</literal> argument. Vectors are always expanded vertically."
+msgstr ""
+
+#. tm6AR
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id671592745582573\n"
+"help.text"
+msgid "The method returns a string representing the modified area as a range of cells."
+msgstr ""
+
+#. FAuKq
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id801592745582116\n"
+"help.text"
+msgid "<emph>targetcell</emph>: The cell or a range as a string from where to start to store the given value."
+msgstr ""
+
+#. aK7EZ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id321592745582192\n"
+"help.text"
+msgid "<emph>value</emph>: A scalar, a vector or an array (in Python, one or two-dimensional lists and tuples) with the new values to be stored from the target cell or from the top-left corner of the range if <literal>targetcell</literal> is a range. The new values must be strings, numeric values or dates. Other types will cause the corresponding cells to be emptied."
+msgstr ""
+
+#. 7BCXQ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id331611776151376\n"
+"help.text"
+msgid "The following example uses the builtin <link href=\"text/sbasic/shared/03104300.xhp\" name=\"DimArray function\">DimArray function</link> to create an array and then store it in cell \"A1\":"
+msgstr ""
+
+#. fZfKc
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id601611775600983\n"
+"help.text"
+msgid "This example uses the <literal>RangeInit</literal> method of the <link href=\"text/sbasic/shared/03/sf_array.xhp#RangeInit\" name=\"CHANGE ME\">ScriptForge Array service</link> to create an array with values that are then stored from cell \"A1\" and downwards."
+msgstr ""
+
+#. kmatN
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id251592745582536\n"
+"help.text"
+msgid "'Fill 1st column with values from 1 to 1000"
+msgstr ""
+
+#. YNGtV
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id291592905671530\n"
+"help.text"
+msgid "To dump the full contents of an array in a sheet, use <emph>SetArray</emph>. To dump the contents of an array only within the boundaries of the targeted range of cells, use <emph>SetValue</emph>."
+msgstr ""
+
+#. ecovS
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id601592231799489\n"
+"help.text"
+msgid "Stores the given value in the specified range. The size of the modified area is equal to the size of the target range."
+msgstr ""
+
+#. PeoKo
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id1001592233389953\n"
+"help.text"
+msgid "The method returns a string representing the modified area as a range of cells."
+msgstr ""
+
+#. xYrHQ
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id361592231799255\n"
+"help.text"
+msgid "<emph>targetrange</emph>: The range where to store the given value, as a string."
+msgstr ""
+
+#. dydXF
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id461592232081985\n"
+"help.text"
+msgid "<emph>value</emph>: A scalar, a vector or an array with the new values for each cell of the range. The new values must be strings, numeric values or dates. Other types will cause the corresponding cells to be emptied."
+msgstr ""
+
+#. CgwVF
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id841592745785192\n"
+"help.text"
+msgid "The full range is updated and the remainder of the sheet is left unchanged. If the size of <literal>value</literal> is smaller than the size of <literal>targetrange</literal>, then the remaining cells will be emptied."
+msgstr ""
+
+#. QFkLr
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id191611776838396\n"
+"help.text"
+msgid "If the size of <literal>value</literal> is larger than the size of <literal>targetrange</literal>, then <literal>value</literal> is only partially copied until it fills the size of <literal>targetrange</literal>."
+msgstr ""
+
+#. ykBk6
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id71611776941663\n"
+"help.text"
+msgid "Vectors are expanded vertically, except if <literal>targetrange</literal> has a height of exactly 1 row."
+msgstr ""
+
+#. FJCPf
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id541592232948567\n"
+"help.text"
+msgid "'Below the Value array is smaller than the TargetRange (remaining cells are emptied)"
+msgstr ""
+
+#. vuu9B
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id541592232948825\n"
+"help.text"
+msgid "'Below the Value and TargetRange have the same size"
+msgstr ""
+
+#. 4LFnH
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id731621689592755\n"
+"help.text"
+msgid "If you want to fill a single row with values, you can use the <literal>Offset</literal> function. In the example below, consider that <literal>arrData</literal> is a one-dimensional array:"
+msgstr ""
+
+#. g8mER
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id521595767687154\n"
+"help.text"
+msgid "Applies the specified cell style to the given target range. The full range is updated and the remainder of the sheet is left untouched. If the cell style does not exist, an error is raised."
+msgstr ""
+
+#. nxDCd
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id70159576768715\n"
+"help.text"
+msgid "The method returns a string representing the modified area as a range of cells."
+msgstr ""
+
+#. FtFpL
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id22159576768782\n"
+"help.text"
+msgid "<emph>targetrange</emph>: The range to which the style will be applied, as a string."
+msgstr ""
+
+#. aAGcy
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id181595767687247\n"
+"help.text"
+msgid "<emph>style</emph>: The name of the cell style to apply."
+msgstr ""
+
+#. DCAWV
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id481593880376480\n"
+"help.text"
+msgid "Inserts the given (array of) formula(s) in the specified range. The size of the modified area is equal to the size of the range."
+msgstr ""
+
+#. d8CAU
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id711593880376106\n"
+"help.text"
+msgid "The method returns a string representing the modified area as a range of cells."
+msgstr ""
+
+#. F5XDi
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id891593880376776\n"
+"help.text"
+msgid "<emph>targetrange</emph>: The range to insert the formulas, as a string."
+msgstr ""
+
+#. A2UQF
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id941593880376500\n"
+"help.text"
+msgid "<emph>formula</emph>: A string, a vector or an array of strings with the new formulas for each cell in the target range."
+msgstr ""
+
+#. 746E8
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id551593880376513\n"
+"help.text"
+msgid "The full range is updated and the remainder of the sheet is left unchanged."
+msgstr ""
+
+#. Wot7x
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id811593880756356\n"
+"help.text"
+msgid "If the given formula is a string, the unique formula is pasted along the whole range with adjustment of the relative references."
+msgstr ""
+
+#. zr47n
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id491593880857823\n"
+"help.text"
+msgid "If the size of <literal>formula</literal> is smaller than the size of <literal>targetrange</literal>, then the remaining cells are emptied."
+msgstr ""
+
+#. LwoGL
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id701611778103306\n"
+"help.text"
+msgid "If the size of <literal>formula</literal> is larger than the size of <literal>targetrange</literal>, then the formulas are only partially copied until it fills the size of <literal>targetrange</literal>."
+msgstr ""
+
+#. GQC3N
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id761611777946581\n"
+"help.text"
+msgid "Vectors are always expanded vertically, except if <literal>targetrange</literal> has a height of exactly 1 row."
+msgstr ""
+
+#. rNEEY
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id681593880376489\n"
+"help.text"
+msgid "'Horizontal vector, partially empty"
+msgstr ""
+
+#. 52GZX
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id961593881331390\n"
+"help.text"
+msgid "'D2 contains the formula \"=H2\""
+msgstr ""
+
+#. gF7Gb
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id481593880373070\n"
+"help.text"
+msgid "Moves a given range of cells downwards by inserting empty rows. The current selection is not affected."
+msgstr ""
+
+#. 5qm5w
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id801637929435655\n"
+"help.text"
+msgid "Depending on the value of the <literal>wholerow</literal> argument the inserted rows can either span the width of the specified range or span all columns in the row."
+msgstr ""
+
+#. uvH4j
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id711593880370247\n"
+"help.text"
+msgid "This method returns a string representing the new location of the initial range."
+msgstr ""
+
+#. cvqws
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id811637929284110\n"
+"help.text"
+msgid "If the shifted range exceeds the sheet edges, then nothing happens."
+msgstr ""
+
+#. bUdZp
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id891593880376123\n"
+"help.text"
+msgid "<emph>range</emph>: The range above which rows will be inserted, as a string."
+msgstr ""
+
+#. fVYpB
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id941593880376566\n"
+"help.text"
+msgid "<emph>wholerow</emph>: If set to <literal>False</literal> (default), then the width of the inserted rows will be the same as the width of the specified <literal>range</literal>. Otherwise, the inserted row will span all columns in the sheet."
+msgstr ""
+
+#. rXzZX
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id551593880373045\n"
+"help.text"
+msgid "<emph>rows</emph>: The number of rows to be inserted. The default value is the height of the original <literal>range</literal>. The number of rows must be a positive number."
+msgstr ""
+
+#. dacHK
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id881637931053547\n"
+"help.text"
+msgid "' Moves the range \"A3:D3\" down by one row; affects only columns A to D"
+msgstr ""
+
+#. v4w3P
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id661637931232893\n"
+"help.text"
+msgid "' The inserted row spans all columns in the sheet"
+msgstr ""
+
+#. vsryg
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id291637931053897\n"
+"help.text"
+msgid "' Moves the range \"A3:D3\" down by five rows"
+msgstr ""
+
+#. pwuUG
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id501638218784265\n"
+"help.text"
+msgid "' Moves the range \"A3:D10\" down by two rows and shows the new location of the original range"
+msgstr ""
+
+#. hVfv3
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id481593880376255\n"
+"help.text"
+msgid "Deletes the leftmost columns of a given range and moves to the left all cells to the right of the affected range. The current selection is not affected."
+msgstr ""
+
+#. EzzWo
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id801637929460261\n"
+"help.text"
+msgid "Depending on the value of the <literal>wholecolumn</literal> argument the deleted columns can either span the height of the specified range or span all rows in the column."
+msgstr ""
+
+#. BXEkG
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id711593880371259\n"
+"help.text"
+msgid "This method returns a string representing the location of the remaining portion of the initial range. If all cells in the original range have been deleted, then an empty string is returned."
+msgstr ""
+
+#. CyRpL
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id891593880376205\n"
+"help.text"
+msgid "<emph>range</emph>: The range from which cells will be deleted, as a string."
+msgstr ""
+
+#. zWG3Y
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id941593880356026\n"
+"help.text"
+msgid "<emph>wholecolumn</emph>: If set to <literal>False</literal> (default), then the height of the deleted columns will be the same as the height of the specified <literal>range</literal>. Otherwise, the deleted columns will span all rows in the sheet."
+msgstr ""
+
+#. JLdBr
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id551593880373306\n"
+"help.text"
+msgid "<emph>columns</emph>: The number of columns to be deleted from the specified <literal>range</literal>. The default value is the width of the original <literal>range</literal>, which is also the maximum value of this argument."
+msgstr ""
+
+#. 8UycD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id881637931064919\n"
+"help.text"
+msgid "' Deletes the range \"B3:B6\"; moves left all cells to the right"
+msgstr ""
+
+#. vM8hB
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id291637931056991\n"
+"help.text"
+msgid "' Deletes the first column in the range \"A3:D6\""
+msgstr ""
+
+#. FPVSg
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id661637931232569\n"
+"help.text"
+msgid "' The deleted columns (A to D) spans all rows in the sheet"
+msgstr ""
+
+#. TAB2b
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id481593880373529\n"
+"help.text"
+msgid "Deletes the topmost rows of a given range and moves upwards all cells below the affected range. The current selection is not affected."
+msgstr ""
+
+#. zkYo7
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id801637929435361\n"
+"help.text"
+msgid "Depending on the value of the <literal>wholerow</literal> argument the deleted rows can either span the width of the specified range or span all columns in the row."
+msgstr ""
+
+#. s9Nfb
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id711593880370299\n"
+"help.text"
+msgid "This method returns a string representing the location of the remaining portion of the initial range. If all cells in the original range have been deleted, then an empty string is returned."
+msgstr ""
+
+#. H5EtV
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id891593880376583\n"
+"help.text"
+msgid "<emph>range</emph>: The range from which cells will be deleted, as a string."
+msgstr ""
+
+#. JQtGb
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id941593880300966\n"
+"help.text"
+msgid "<emph>wholerow</emph>: If set to <literal>False</literal> (default), then the width of the deleted rows will be the same as the width of the specified <literal>range</literal>. Otherwise, the deleted row will span all columns in the sheet."
+msgstr ""
+
+#. ueo8E
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id551593880373265\n"
+"help.text"
+msgid "<emph>rows</emph>: The number of rows to be deleted from the specified <literal>range</literal>. The default value is the height of the original <literal>range</literal>, which is also the maximum value of this argument."
+msgstr ""
+
+#. jHP9x
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id881637931064667\n"
+"help.text"
+msgid "' Deletes the range \"A3:D3\"; moves all cells below it by one row up"
+msgstr ""
+
+#. Make5
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id291637931056647\n"
+"help.text"
+msgid "' Deletes the first row in the range \"A3:D6\""
+msgstr ""
+
+#. APQKA
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id661637931232493\n"
+"help.text"
+msgid "' The deleted rows spans all columns in the sheet"
+msgstr ""
+
+#. gKkbB
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id481593880372568\n"
+"help.text"
+msgid "Moves a given range of cells to the right by inserting empty columns. The current selection is not affected."
+msgstr ""
+
+#. CDi3E
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id801637929335255\n"
+"help.text"
+msgid "Depending on the value of the <literal>wholecolumn</literal> argument the inserted columns can either span the height of the specified range or span all rows in the column."
+msgstr ""
+
+#. Fh33o
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id711593880372560\n"
+"help.text"
+msgid "This method returns a string representing the new location of the initial range."
+msgstr ""
+
+#. pLAHD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id811637929283210\n"
+"help.text"
+msgid "If the shifted range exceeds the sheet edges, then nothing happens."
+msgstr ""
+
+#. SeAGD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id891593880370543\n"
+"help.text"
+msgid "<emph>range</emph>: The range which will have empty columns inserted to its left, as a string."
+msgstr ""
+
+#. KtD6Y
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id941593880373316\n"
+"help.text"
+msgid "<emph>wholecolumn</emph>: If set to <literal>False</literal> (default), then the height of the inserted columns will be the same as the height of the specified <literal>range</literal>. Otherwise, the inserted columns will span all rows in the sheet."
+msgstr ""
+
+#. fBzCG
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id5515938803791960\n"
+"help.text"
+msgid "<emph>columns</emph>: The number of columns to be inserted. The default value is the width of the original <literal>range</literal>."
+msgstr ""
+
+#. nmXTU
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id881637931052587\n"
+"help.text"
+msgid "' Moves the range \"A3:A6\" right by one column; affects only rows 3 to 6"
+msgstr ""
+
+#. 5mWBq
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id291637931053225\n"
+"help.text"
+msgid "' Moves the range \"A3:A6\" right by five columns"
+msgstr ""
+
+#. G53xT
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id661637931232548\n"
+"help.text"
+msgid "' The inserted column spans all rows in the sheet"
+msgstr ""
+
+#. FrC59
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id141595692394382\n"
+"help.text"
+msgid "Sorts the given range based on up to 3 columns/rows. The sorting order may vary by column/row. It returns a string representing the modified range of cells. The size of the modified area is fully determined by the size of the source area."
+msgstr ""
+
+#. MVGBC
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id171595692394598\n"
+"help.text"
+msgid "<emph>range</emph>: The range to be sorted, as a string."
+msgstr ""
+
+#. aenrK
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id171595692814163\n"
+"help.text"
+msgid "<emph>sortkeys</emph>: A scalar (if 1 column/row) or an array of column/row numbers starting from 1. The maximum number of keys is 3."
+msgstr ""
+
+#. aQF93
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id421595692962095\n"
+"help.text"
+msgid "<emph>sortorder</emph>: A scalar or an array of strings containing the values \"ASC\" (ascending), \"DESC\" (descending) or \"\" (which defaults to ascending). Each item is paired with the corresponding item in <literal>sortkeys</literal>. If the <literal>sortorder</literal> array is shorter than <literal>sortkeys</literal>, the remaining keys are sorted in ascending order."
+msgstr ""
+
+#. GVpuf
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id361595692394604\n"
+"help.text"
+msgid "<emph>destinationcell</emph>: The destination cell of the sorted range of cells, as a string. If a range is given, only its top-left cell is considered. By default the source Range is overwritten."
+msgstr ""
+
+#. QyaTf
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id441595693011034\n"
+"help.text"
+msgid "<emph>containsheader</emph>: When <literal>True</literal>, the first row/column is not sorted."
+msgstr ""
+
+#. AbVtY
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id241595693169032\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: Only for string comparisons. Default = <literal>False</literal>"
+msgstr ""
+
+#. CL5Gm
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"par_id1001595693326226\n"
+"help.text"
+msgid "<emph>sortcolumns</emph>: When <literal>True</literal>, the columns are sorted from left to right. Default = <literal>False</literal> : rows are sorted from top to bottom."
+msgstr ""
+
+#. LvjpD
+#: sf_calc.xhp
+msgctxt ""
+"sf_calc.xhp\n"
+"bas_id641595692394484\n"
+"help.text"
+msgid "'Sort range based on columns A (ascending) and C (descending)"
+msgstr ""
+
+#. HyPhE
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"tit\n"
+"help.text"
+msgid "SFDocuments.Chart service"
+msgstr ""
+
+#. bv49k
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"bm_id681600788076499\n"
+"help.text"
+msgid "<variable id=\"ChartService\"><link href=\"text/sbasic/shared/03/sf_chart.xhp\" name=\"Chart service\"><literal>SFDocuments</literal>.<literal>Chart</literal> service</link></variable>"
+msgstr ""
+
+#. nPHDK
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id181600788076612\n"
+"help.text"
+msgid "The <literal>Chart</literal> service provides a set of properties and methods to handle charts in Calc documents. With this service it is possible to:"
+msgstr ""
+
+#. uEEEZ
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id301600788076785\n"
+"help.text"
+msgid "Access chart objects in Calc documents and manipulate their properties."
+msgstr ""
+
+#. rzioM
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id1001600788076848\n"
+"help.text"
+msgid "Create and insert new charts into a Calc document."
+msgstr ""
+
+#. grjQS
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id67160078807676\n"
+"help.text"
+msgid "Export charts as image files."
+msgstr ""
+
+#. mZuuF
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"hd_id331635273472588\n"
+"help.text"
+msgid "Chart names"
+msgstr ""
+
+#. QPAjE
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id251635273489315\n"
+"help.text"
+msgid "Charts may have two different names:"
+msgstr ""
+
+#. GdHpK
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id41635273536840\n"
+"help.text"
+msgid "An <emph>internal name</emph> given by %PRODUCTNAME as soon as the chart object is created (usually \"Object 1\", \"Object 2\" and so on)."
+msgstr ""
+
+#. 3zCYQ
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id641635273537122\n"
+"help.text"
+msgid "A <emph>user-defined name</emph>, which can be defined by right-clicking the chart and choosing <menuitem>Name</menuitem> in the context menu."
+msgstr ""
+
+#. 6CV3D
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id191635273980553\n"
+"help.text"
+msgid "The <literal>Chart</literal> service primarily uses the user-defined name to access a chart object. If it does not exist, than the internal name is used."
+msgstr ""
+
+#. yYSdL
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"hd_id281600788076359\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. jkE4f
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>Chart</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. LvW6m
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id321614902851541\n"
+"help.text"
+msgid "The <literal>Chart</literal> service is instantiated from a <literal>Calc</literal> service instance either using the <literal>Charts</literal> or <literal>CreateChart</literal> methods."
+msgstr ""
+
+#. QtZnt
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id531635274285114\n"
+"help.text"
+msgid "The example below creates a <literal>Chart</literal> service instance from an existing chart in the current Calc document:"
+msgstr ""
+
+#. Cqd8G
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id851635274721129\n"
+"help.text"
+msgid "The following example instantiate the <literal>Chart</literal> service by creating a new chart object based on the data contained in the range \"Sheet1.A1:C10\"."
+msgstr ""
+
+#. BZ2EU
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id881635275036852\n"
+"help.text"
+msgid "Read the <link href=\"text/sbasic/shared/03/sf_calc.xhp#CreateChart\" name=\"CreateChart_link\">CreateChart</link> method description to learn more about its arguments."
+msgstr ""
+
+#. gjYRg
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id131635275172617\n"
+"help.text"
+msgid "The examples above can be written in Python as follows:"
+msgstr ""
+
+#. QxXb9
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"hd_id711600788076834\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. z42Tx
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id461600788076917\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. 5RCfg
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id221600788076591\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. 5Ckhe
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id761600788076328\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. EJsLr
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id67160078807636\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. 5yKq5
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id311600788076756\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. BURxX
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id441600788076826\n"
+"help.text"
+msgid "Specifies the chart type as a string that can assume one of the following values: \"Pie\", \"Bar\", \"Donut\", \"Column\", \"Area\", \"Line\", \"XY\", \"Bubble\", \"Net\"."
+msgstr ""
+
+#. MEEhi
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id49160078807654\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. qaDDb
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id81600788076419\n"
+"help.text"
+msgid "When <literal>True</literal> indicates that the chart is three-dimensional and each series is arranged in the z-direction."
+msgstr ""
+
+#. YkDSU
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id471635276257118\n"
+"help.text"
+msgid "When <literal>False</literal> series are arranged considering only two dimensions."
+msgstr ""
+
+#. qEBab
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id711600788076534\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. gk8ns
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id541600788076645\n"
+"help.text"
+msgid "Specifies if the chart is displayed with 3D elements. If the value is a string, it must be either \"Bar\", \"Cylinder\", \"Cone\" or \"Pyramid\"."
+msgstr ""
+
+#. HgqhX
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id541600788076141\n"
+"help.text"
+msgid "If the boolean <literal>True</literal> value is specified, then the chart is displayed using 3D bars."
+msgstr ""
+
+#. vDs4z
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id891600788076190\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. m224E
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id91600788076674\n"
+"help.text"
+msgid "Specifies how much pie segments are offset from the chart center as a percentage of the radius. Applicable to pie and donut charts only."
+msgstr ""
+
+#. hbjwH
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id561633021747903\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. AaBHr
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id831633021749007\n"
+"help.text"
+msgid "When <literal>True</literal>, specifies a filled net chart. Applicable to net charts only."
+msgstr ""
+
+#. xgCB2
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id391600788076253\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 8YDHE
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id21600788076541\n"
+"help.text"
+msgid "Specifies whether or not the chart has a legend."
+msgstr ""
+
+#. BNBDQ
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id211600788076138\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. MLPCx
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id521600788076371\n"
+"help.text"
+msgid "When <literal>True</literal>, chart series are stacked and each category sums up to 100%. Applicable to Area, Bar, Bubble, Column and Net charts."
+msgstr ""
+
+#. yGCZ7
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id21600788076758\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. Gbsst
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id781600788076694\n"
+"help.text"
+msgid "When <literal>True</literal>, chart series are stacked. Applicable to Area, Bar, Bubble, Column and Net charts."
+msgstr ""
+
+#. 9Dnwe
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id261600788076841\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. VwMyU
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id11600788076757\n"
+"help.text"
+msgid "Specifies the main title of the chart."
+msgstr ""
+
+#. FGSKV
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id531600789141795\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. eH3Ag
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id301600789141619\n"
+"help.text"
+msgid "Specifies the title of the X axis."
+msgstr ""
+
+#. mmRtZ
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id541600789286532\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. scox2
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id701600789286280\n"
+"help.text"
+msgid "Specifies the title of the Y axis."
+msgstr ""
+
+#. CRLf5
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id941608709527698\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. YCRTC
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id100100678952791\n"
+"help.text"
+msgid "UNO Object"
+msgstr ""
+
+#. cDJES
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id661300789527859\n"
+"help.text"
+msgid "Returns the object representing the chart, which is an instance of the <link href=\"https://docs.libreoffice.org/sc/html/classScChartObj.html\" name=\"ScChartObj\"><literal>ScChartObj</literal></link> class."
+msgstr ""
+
+#. kDUCf
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id941600789527698\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. LAgXE
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id100160078952791\n"
+"help.text"
+msgid "UNO Object"
+msgstr ""
+
+#. yRYAq
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id631600789527859\n"
+"help.text"
+msgid "Returns the <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1chart_1_1XDiagram.html\" name=\"XDiagram\"><literal>com.sun.star.chart.XDiagram</literal></link> object representing the diagram of the chart."
+msgstr ""
+
+#. CAXYe
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id941600789527099\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. yh7k9
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id100160078953251\n"
+"help.text"
+msgid "UNO Object"
+msgstr ""
+
+#. FpeAy
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id631600789522587\n"
+"help.text"
+msgid "Returns the <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1drawing_1_1XShape.html\" name=\"XShape\"><literal>com.sun.star.drawing.XShape</literal></link> object representing the shape of the chart."
+msgstr ""
+
+#. DdVs9
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id941600789527208\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. winTd
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id100160078952007\n"
+"help.text"
+msgid "UNO Object"
+msgstr ""
+
+#. 5GESc
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id631600789527364\n"
+"help.text"
+msgid "Returns the <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1table_1_1XTableChart.html\" name=\"XTableChart\"><literal>com.sun.star.table.XTableChart</literal></link> object representing the data being displayed in the chart."
+msgstr ""
+
+#. A278T
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"hd_id581635335807782\n"
+"help.text"
+msgid "Creating a chart"
+msgstr ""
+
+#. EK2E7
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id231635335826090\n"
+"help.text"
+msgid "Consider the following data in the range \"A1:B6\" of a sheet named \"Report\"."
+msgstr ""
+
+#. ZSw7Y
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id911635336313498\n"
+"help.text"
+msgid "The examples below in Basic and Python show how to create a line chart from this data with legends."
+msgstr ""
+
+#. whbDd
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id931635338174647\n"
+"help.text"
+msgid "The chart does not need to be created in the same sheet where the data is located. It can be created in any existing sheet in the current file by specifying the sheet name in the second argument of the <literal>CreateChart</literal> method."
+msgstr ""
+
+#. RtuMk
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"hd_id501582887473754\n"
+"help.text"
+msgid "Methods"
+msgstr ""
+
+#. mNZFS
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id891611613601554\n"
+"help.text"
+msgid "List of Methods in the Chart Service"
+msgstr ""
+
+#. WfVxL
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id93158919969864\n"
+"help.text"
+msgid "Saves the chart as an image file in a specified location. Returns <literal>True</literal> if the image file could be successfully created."
+msgstr ""
+
+#. SAtUt
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id821591631203996\n"
+"help.text"
+msgid "<emph>filename</emph>: Identifies the path and file name where the image will be saved. It must follow the notation defined in <literal>SF_FileSystem.FileNaming</literal>."
+msgstr ""
+
+#. 2YEEE
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id821591631203116\n"
+"help.text"
+msgid "<emph>imagetype</emph>: The name of the image type to be created. The following values are accepted: \"gif\", \"jpeg\", \"png\" (default), \"svg\" and \"tiff\"."
+msgstr ""
+
+#. XRASx
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id821591631203133\n"
+"help.text"
+msgid "<emph>overwrite</emph>: Specifies if the destination file can be overwritten (Default = <literal>False</literal>)."
+msgstr ""
+
+#. MCGBa
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id93158919969165\n"
+"help.text"
+msgid "Changes the position of the chart in the current sheet and modifies its width and height. Returns <literal>True</literal> if resizing was successful."
+msgstr ""
+
+#. aMKE5
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id821591631200626\n"
+"help.text"
+msgid "<emph>xpos, ypos:</emph> Specify the new X and Y positions of the chart. If any of these values are omitted or if negative values are provided, the corresponding positions are left unchanged."
+msgstr ""
+
+#. qvsYR
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id821591631204288\n"
+"help.text"
+msgid "<emph>width:</emph> Specify the new width of the chart. If this argument is omitted or if a negative value is provided, the chart width is left unchanged."
+msgstr ""
+
+#. nGioo
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id821591631203208\n"
+"help.text"
+msgid "<emph>height:</emph> Specify the new height of the chart. If this argument is omitted or if a negative value is provided, the chart height is left unchanged."
+msgstr ""
+
+#. EyY7j
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"par_id301635340527472\n"
+"help.text"
+msgid "All arguments are provided as integer values that correspond to 1/100 of a millimeter."
+msgstr ""
+
+#. h7zov
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"bas_id431635340711712\n"
+"help.text"
+msgid "' Changes only X and Y position"
+msgstr ""
+
+#. VHc2V
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"bas_id241635340728398\n"
+"help.text"
+msgid "' Changes only the chart width and height"
+msgstr ""
+
+#. BEAYa
+#: sf_chart.xhp
+msgctxt ""
+"sf_chart.xhp\n"
+"bas_id201635340749006\n"
+"help.text"
+msgid "' Keyword arguments are supported"
+msgstr ""
+
+#. zNFY6
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"tit\n"
+"help.text"
+msgid "SFDatabases.Database service"
+msgstr ""
+
+#. K7nuj
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"hd_id371587913266310\n"
+"help.text"
+msgid "<variable id=\"DatabaseService\"><link href=\"text/sbasic/shared/03/sf_database.xhp\" name=\"Database service\"><literal>SFDatabases</literal>.<literal>Database</literal> service</link></variable>"
+msgstr ""
+
+#. RByov
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id891599407198144\n"
+"help.text"
+msgid "The <literal>Database</literal> service provides access to databases either embedded or described in Base documents. This service provides methods to:"
+msgstr ""
+
+#. 7dqXS
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id551615386924481\n"
+"help.text"
+msgid "Get access to data in database tables."
+msgstr ""
+
+#. 29pT5
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id551615386924285\n"
+"help.text"
+msgid "Run <literal>SELECT</literal> queries and perform aggregate functions."
+msgstr ""
+
+#. LYsPD
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id551615386924111\n"
+"help.text"
+msgid "Run SQL action statements such as <literal>INSERT</literal>, <literal>UPDATE</literal>, <literal>DELETE</literal>, etc."
+msgstr ""
+
+#. 7CSTo
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id811599407236602\n"
+"help.text"
+msgid "Each instance of the <literal>Database</literal> service represents a single database and gives access to its tables, queries and data."
+msgstr ""
+
+#. JopCB
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id111625692871642\n"
+"help.text"
+msgid "This service does not provide access to forms or reports in the Base document that contains the database. To access forms in a Base document, refer to the method <link href=\"text/sbasic/shared/03/sf_base.xhp#FormDocuments\" name=\"FormDocuments\"><literal>FormDocuments</literal></link> of the <literal>Base</literal> service."
+msgstr ""
+
+#. Snu6R
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id231615386789950\n"
+"help.text"
+msgid "All exchanges between this service and the database are done using SQL only."
+msgstr ""
+
+#. MiGUE
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id121599407322804\n"
+"help.text"
+msgid "SQL statements may be run in <emph>direct</emph> or <emph>indirect</emph> mode. In direct mode the statement is transferred to the database engine without any syntax checking or review."
+msgstr ""
+
+#. Kg5Cn
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id681599407189019\n"
+"help.text"
+msgid "The provided interfaces include simple tables and queries lists, as well as access to database data."
+msgstr ""
+
+#. 644XA
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id891599407280007\n"
+"help.text"
+msgid "To make SQL statements more readable, you may use square brackets \"[ ]\" to enclose names of tables, queries and fields instead of using other enclosing characters that may be exclusive to certain Relational Database Management Systems (RDBMS). But beware that enclosing characters are mandatory in this context."
+msgstr ""
+
+#. CAFnK
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"hd_id91587913266988\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. 8ASCW
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>Database</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. Cr4oo
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id541599408159668\n"
+"help.text"
+msgid "To create a instance of the <literal>Database</literal> service you can use the <literal>CreateScriptService</literal> method:"
+msgstr ""
+
+#. ArhV5
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id551625693442959\n"
+"help.text"
+msgid "In the syntax described above you can use either \"SFDatabases.Database\" or simply \"Database\" as the first argument of the <literal>CreateScriptService</literal> method."
+msgstr ""
+
+#. S7oNc
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id111615146818256\n"
+"help.text"
+msgid "<emph>filename</emph>: The name of the Base file. Must be expressed using <literal>SF_FileSystem.FileNaming</literal> notation."
+msgstr ""
+
+#. fUxEZ
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id771615146944307\n"
+"help.text"
+msgid "<emph>registrationname</emph>: The name of a registered database. If <literal>filename</literal> is provided, this argument should not be used."
+msgstr ""
+
+#. J2NA3
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id491615147048748\n"
+"help.text"
+msgid "Conversely, if a <literal>registrationname</literal> is specified, the <literal>filename</literal> parameter should not be defined."
+msgstr ""
+
+#. YQF4D
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id841615147168279\n"
+"help.text"
+msgid "<emph>readonly</emph>: Determines if the database will be opened as readonly (Default = <literal>True</literal>)."
+msgstr ""
+
+#. 9FEG5
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id291615147236001\n"
+"help.text"
+msgid "<emph>user, password</emph>: Additional connection parameters to the database server."
+msgstr ""
+
+#. ZG5pH
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"bas_id871625698095504\n"
+"help.text"
+msgid "' Run queries, SQL statements, ..."
+msgstr ""
+
+#. uWJrQ
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"pyc_id791625698186675\n"
+"help.text"
+msgid "# Run queries, SQL statements, ..."
+msgstr ""
+
+#. Z2VVg
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"hd_id771615147491563\n"
+"help.text"
+msgid "Accessing Databases with the UI Service"
+msgstr ""
+
+#. 5Kifs
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id901599408410712\n"
+"help.text"
+msgid "It is also possible to access the database associated with a Base document using the <link href=\"text/sbasic/shared/03/sf_ui.xhp\" name=\"UI Service\"><literal>ScriptForge.UI</literal></link> service, as shown in the examples below:"
+msgstr ""
+
+#. T6mkQ
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"bas_id631615147843278\n"
+"help.text"
+msgid "' User and password are supplied below, if needed"
+msgstr ""
+
+#. F43tz
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"bas_id921599408791887\n"
+"help.text"
+msgid "' Run queries, SQL statements, ..."
+msgstr ""
+
+#. FsCDs
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"pyc_id731625699527917\n"
+"help.text"
+msgid "# User and password are supplied below, if needed"
+msgstr ""
+
+#. BDNDo
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"pyc_id201625699438702\n"
+"help.text"
+msgid "# Run queries, SQL statements, ..."
+msgstr ""
+
+#. 2Znjy
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id361619188184750\n"
+"help.text"
+msgid "The <link href=\"text/sbasic/shared/03/sf_base.xhp#GetDatabase\" name=\"GetDatabase method\">GetDatabase</link> method used in the example above is part of ScriptForge's <literal>Base</literal> service."
+msgstr ""
+
+#. EF9Lc
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"hd_id841587913266618\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. x4Z5A
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id521587913266568\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. QUrYT
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id421587913266368\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. 3kQCm
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id631587914939732\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. RYuuo
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id951587913266220\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. BzLQb
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id651587913266754\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. up8WT
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id421587914989890\n"
+"help.text"
+msgid "Array of strings"
+msgstr ""
+
+#. dGoYp
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id351587913266349\n"
+"help.text"
+msgid "The list of stored queries."
+msgstr ""
+
+#. bfdLR
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id931599409717463\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 2DDTs
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id71599409717945\n"
+"help.text"
+msgid "Array of strings"
+msgstr ""
+
+#. rGTvw
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id341599409717612\n"
+"help.text"
+msgid "The list of stored tables."
+msgstr ""
+
+#. u5YE4
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id741599409777967\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. evuSw
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id551599409777759\n"
+"help.text"
+msgid "The UNO object representing the current database connection."
+msgstr ""
+
+#. w9YZG
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id271599409887585\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. NeTGg
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id861599409887284\n"
+"help.text"
+msgid "The UNO object representing the metadata describing the database system attributes."
+msgstr ""
+
+#. ApsdK
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id231614360519973\n"
+"help.text"
+msgid "List of Methods in the Database Service"
+msgstr ""
+
+#. emrA2
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id201587913266596\n"
+"help.text"
+msgid "Closes the current database connection."
+msgstr ""
+
+#. nwbSh
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id13159655484952\n"
+"help.text"
+msgid "Computes the given aggregate function on a field or expression belonging to a table."
+msgstr ""
+
+#. E9LsG
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id101615148468548\n"
+"help.text"
+msgid "Optionally, a SQL <literal>WHERE</literal> clause can be specified as a filter that will be applied prior to the aggregate function."
+msgstr ""
+
+#. AKqei
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id441596554849949\n"
+"help.text"
+msgid "<emph>expression</emph>: A SQL expression in which the field names are surrounded with square brackets."
+msgstr ""
+
+#. c2Rzq
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id381596554849698\n"
+"help.text"
+msgid "<emph>tablename</emph>: A table name (without square brackets)."
+msgstr ""
+
+#. cjGPp
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id521596554849185\n"
+"help.text"
+msgid "<emph>criteria</emph>: A <literal>WHERE</literal> clause without the \"WHERE\" keyword, in which field names are surrounded with square brackets."
+msgstr ""
+
+#. AGBFS
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id781615150306678\n"
+"help.text"
+msgid "The example below assumes the file <literal>Employees.odb</literal> has a table named <literal>EmployeeData</literal>."
+msgstr ""
+
+#. KAqZB
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"bas_id871615150277916\n"
+"help.text"
+msgid "' Counts the number of employees in the table"
+msgstr ""
+
+#. AVstM
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"bas_id291615150373387\n"
+"help.text"
+msgid "' Returns the sum of all salaries in the table"
+msgstr ""
+
+#. cMiVJ
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"bas_id931615150423062\n"
+"help.text"
+msgid "' Below are some examples of how tables can be filtered"
+msgstr ""
+
+#. kCmmv
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id41599488113961\n"
+"help.text"
+msgid "Computes a SQL expression on a single record returned by a <literal>WHERE</literal> clause defined by the <literal>Criteria</literal> parameter."
+msgstr ""
+
+#. 8yUaz
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id601615381471954\n"
+"help.text"
+msgid "If the query returns multiple records, only the first one is considered. Use the <literal>OrderClause</literal> parameter to determine how query results are sorted."
+msgstr ""
+
+#. tNnSe
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id671599488113986\n"
+"help.text"
+msgid "<emph>expression</emph>: A SQL expression in which the field names are surrounded with square brackets."
+msgstr ""
+
+#. eGbAr
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id441599488113247\n"
+"help.text"
+msgid "<emph>tablename</emph>: A table name (without square brackets)."
+msgstr ""
+
+#. F9xaH
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id40159948811316\n"
+"help.text"
+msgid "<emph>criteria</emph>: A <literal>WHERE</literal> clause without the \"WHERE\" keyword, in which field names are surrounded with square brackets."
+msgstr ""
+
+#. SusUk
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id71599488689029\n"
+"help.text"
+msgid "<emph>orderclause</emph>: An <literal>ORDER BY</literal> clause without the \"ORDER BY\" keywords. Field names should be surrounded with square brackets."
+msgstr ""
+
+#. CPoBx
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id481599489278579\n"
+"help.text"
+msgid "Stores the contents of a table or the results of a <literal>SELECT</literal> query or of an SQL statement in a two-dimensional array. The first index in the array corresponds to the rows and the second index refers to the columns."
+msgstr ""
+
+#. GXji8
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id821615384762425\n"
+"help.text"
+msgid "An upper limit can be specified to the number of returned rows. Optionally column names may be inserted in the first row of the array."
+msgstr ""
+
+#. gX7AY
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id271599490209915\n"
+"help.text"
+msgid "The returned array will be empty if no rows are returned and the column headers are not required."
+msgstr ""
+
+#. y5u8i
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id451599489278429\n"
+"help.text"
+msgid "<emph>sqlcommand</emph>: A table or query name (without square brackets) or a <literal>SELECT</literal> SQL statement."
+msgstr ""
+
+#. xAbDx
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id271599489278141\n"
+"help.text"
+msgid "<emph>directsql</emph>: When <literal>True</literal>, the SQL command is sent to the database engine without pre-analysis. Default is <literal>False</literal>. This argument is ignored for tables. For queries, the applied option is the one set when the query was defined."
+msgstr ""
+
+#. DEzQD
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id941599489278747\n"
+"help.text"
+msgid "<emph>header</emph>: When <literal>True</literal>, the first row of the returned array contains the column headers."
+msgstr ""
+
+#. P2SMx
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id591599489278926\n"
+"help.text"
+msgid "<emph>maxrows</emph>: The maximum number of rows to return. The default is zero, meaning there is no limit to the number of returned rows."
+msgstr ""
+
+#. 3XZPf
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id721615385125947\n"
+"help.text"
+msgid "Below are a few examples of how the <literal>GetRows</literal> method can be used:"
+msgstr ""
+
+#. zkeuW
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"bas_id171615385196045\n"
+"help.text"
+msgid "' Returns all rows in the table with column headers"
+msgstr ""
+
+#. eFmmE
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"bas_id371615385230721\n"
+"help.text"
+msgid "' Returns the first 50 employee records ordered by the 'FirstName' field"
+msgstr ""
+
+#. FMBEy
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id31599490609759\n"
+"help.text"
+msgid "Executes an action query of an SQL statement such as creating a table, as well as inserting, updating and deleting records."
+msgstr ""
+
+#. gyiQy
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id331615385491925\n"
+"help.text"
+msgid "The method returns <literal>True</literal> when successful."
+msgstr ""
+
+#. G5bDE
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id21599490810021\n"
+"help.text"
+msgid "The <literal>RunSql</literal> method is rejected with an error message in case the database was previously opened in read-only mode."
+msgstr ""
+
+#. WnUpF
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id701599490609473\n"
+"help.text"
+msgid "<emph>sqlcommand</emph>: A query name (without square brackets) or a SQL statement."
+msgstr ""
+
+#. uNMDN
+#: sf_database.xhp
+msgctxt ""
+"sf_database.xhp\n"
+"par_id51599490609377\n"
+"help.text"
+msgid "<emph>directsql</emph>: When <literal>True</literal>, the SQL command is sent to the database engine without pre-analysis. (Default = <literal>False</literal>). For queries, the applied option is the one set when the query was defined."
+msgstr ""
+
+#. BC4Sc
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"tit\n"
+"help.text"
+msgid "SFDialogs.Dialog service"
+msgstr ""
+
+#. LzQoS
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"bm_id781582391760253\n"
+"help.text"
+msgid "<variable id=\"dlg_h1\"><link href=\"text/sbasic/shared/03/sf_dialog.xhp\" name=\"SFDialogs.Dialog\"><literal>SFDialogs</literal>.<literal>Dialog</literal> service</link></variable>"
+msgstr ""
+
+#. ny8EV
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id931583589764919\n"
+"help.text"
+msgid "The <literal>Dialog</literal> service contributes to the management of dialogs created with the Basic <link href=\"text/sbasic/guide/create_dialog.xhp\" name=\"Dialog Editor\">Dialog Editor</link>. Each instance of the current class represents a single dialog box displayed to the user."
+msgstr ""
+
+#. vxEvV
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id831598110550771\n"
+"help.text"
+msgid "A dialog box can be displayed in modal or in non-modal modes."
+msgstr ""
+
+#. LVjBj
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id221598110444025\n"
+"help.text"
+msgid "In modal mode, the box is displayed and the execution of the macro process is suspended until one of the OK or Cancel buttons is pressed. In the meantime, user actions executed on the box can trigger specific actions."
+msgstr ""
+
+#. FFTSj
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id981598110463521\n"
+"help.text"
+msgid "In non-modal mode, the dialog box is \"floating\" on the user desktop and the execution of the macro process continues normally. A non-modal dialog closes when it is terminated with the <literal>Terminate()</literal> method or when the %PRODUCTNAME session ends. The window close button is inactive in non-modal dialogs."
+msgstr ""
+
+#. GrpyR
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id721598110472337\n"
+"help.text"
+msgid "A dialog box disappears from memory after its explicit termination."
+msgstr ""
+
+#. asacX
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id891598188164936\n"
+"help.text"
+msgid "The <literal>SFDialogs.Dialog</literal> service is closely related to the <literal>SFDialogs.DialogControl</literal> service."
+msgstr ""
+
+#. CByHp
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"hd_id581582885621841\n"
+"help.text"
+msgid "Service invocation and usage"
+msgstr ""
+
+#. FfZWj
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>Dialog</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. S8GrJ
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id361598174756160\n"
+"help.text"
+msgid "The <literal>Dialog</literal> service is invoked through the <literal>CreateScriptService</literal> method. It requires three positional arguments to specify the dialog box to activate:"
+msgstr ""
+
+#. Ntzqh
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id31612271944733\n"
+"help.text"
+msgid "<emph>Container</emph>: \"<link href=\"text/sbasic/shared/03131900.xhp\" name=\"GlobalScope specifier\"><literal>GlobalScope</literal></link>\" for preinstalled libraries or a window name as defined by <link href=\"text/sbasic/shared/03/sf_ui.xhp\" name=\"ScriptForge.UI\"><literal>ScriptForge.UI</literal></link> service. Empty string \"\" default value stands for the current document."
+msgstr ""
+
+#. juLgm
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id311612271947124\n"
+"help.text"
+msgid "<emph>Library</emph>: The case-sensitive name of a library contained in the container. Default value is \"Standard\"."
+msgstr ""
+
+#. FSp5N
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id821612271946316\n"
+"help.text"
+msgid "<emph>DialogName</emph>: A case-sensitive string designating the dialog."
+msgstr ""
+
+#. r5vY5
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id761620142701399\n"
+"help.text"
+msgid "Below %PRODUCTNAME Basic and Python examples are displaying the <literal>dlgConsole</literal> dialog that belongs to <literal>ScriptForge</literal> shared library:"
+msgstr ""
+
+#. mqjFF
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"bas_id321598171269873\n"
+"help.text"
+msgid "'... controls initialization goes here..."
+msgstr ""
+
+#. yn6sy
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"bas_id471598176518738\n"
+"help.text"
+msgid "'Default mode = Modal"
+msgstr ""
+
+#. h9a9G
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"bas_id551598171288547\n"
+"help.text"
+msgid "'... Process controls and do what is needed here"
+msgstr ""
+
+#. VD35X
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id601619622310089\n"
+"help.text"
+msgid "Or using Python:"
+msgstr ""
+
+#. knENA
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"pyc_id41619622700314\n"
+"help.text"
+msgid "# ... controls initialization goes here..."
+msgstr ""
+
+#. 2PTBU
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"pyc_id661611699964814\n"
+"help.text"
+msgid "# Default mode is Modal"
+msgstr ""
+
+#. ABoA2
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"pyc_id681619619965191\n"
+"help.text"
+msgid "# ... Process controls and do what is needed here"
+msgstr ""
+
+#. eehkB
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id951598174966322\n"
+"help.text"
+msgid "Alternatively a <literal>Dialog</literal> instance can be retrieved via the <literal>SFDialogs.DialogEvent</literal> service, providing that the dialog was initiated with the <literal>Dialog</literal> service. <literal>DialogEvent</literal> returns the <literal>SFDialogs.Dialog</literal> service instance that triggered the event."
+msgstr ""
+
+#. QBG5g
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id741619625211462\n"
+"help.text"
+msgid "with Python:"
+msgstr ""
+
+#. n72Hv
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id251598176312571\n"
+"help.text"
+msgid "Note that in previous examples, the prefix <literal>\"SFDialogs.\"</literal> may be omitted when deemed appropriate."
+msgstr ""
+
+#. nXGkZ
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"hd_id651583668365757\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. zVLEC
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id871583668386455\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. FBCFG
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id491583668386455\n"
+"help.text"
+msgid "ReadOnly"
+msgstr ""
+
+#. ByVDE
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id271583668474014\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. 8AUBJ
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id401583668386455\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. iZZec
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id371583668519172\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. av994
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id771583668386455\n"
+"help.text"
+msgid "Value = 1. An OK button was pressed."
+msgstr ""
+
+#. GKcTG
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id541583839708548\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. z4BZ4
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id731583839708412\n"
+"help.text"
+msgid "Value = 0. A Cancel button was pressed."
+msgstr ""
+
+#. cThsX
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id761584027709516\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 48bDT
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id971584027709752\n"
+"help.text"
+msgid "Specify the title of the dialog."
+msgstr ""
+
+#. 2pjyZ
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id31583839767743\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 3Rypn
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id111583839767195\n"
+"help.text"
+msgid "Specify the height of the dialog box."
+msgstr ""
+
+#. KD2zy
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id771583839920487\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. ABrxD
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id451583839920858\n"
+"help.text"
+msgid "Specifies if the dialog box is currently in execution in modal mode."
+msgstr ""
+
+#. sA5Nj
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id571588333908716\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. JoAYu
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id721588333908708\n"
+"help.text"
+msgid "The name of the dialog"
+msgstr ""
+
+#. jcbwB
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id501583774433513\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. Tfrah
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id151598177605296\n"
+"help.text"
+msgid "A dialog may have several pages that can be traversed by the user step by step. The Page property of the Dialog object defines which page of the dialog is active."
+msgstr ""
+
+#. FZG3n
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id271588334016191\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 3sRE5
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id251588334016874\n"
+"help.text"
+msgid "Specify if the dialog box is visible on the desktop. By default it is not visible until the Execute() method is run and visible afterwards."
+msgstr ""
+
+#. w6DwG
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id451598177924437\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. W2CkE
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id191598177924897\n"
+"help.text"
+msgid "The UNO object representing the dialog model. Refer to <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1awt_1_1XControlModel.html\" name=\"XControlModel interface\">XControlModel</link> and <link href=\"https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1awt_1_1UnoControlDialogModel-members.html\" name=\"css.awt.UnoControlDialogModel\">UnoControlDialogModel</link> in Application Programming Interface (API) documentation for detailed information."
+msgstr ""
+
+#. YFYi4
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id811598178083501\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. bmedG
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id731598178083442\n"
+"help.text"
+msgid "The UNO object representing the dialog view. Refer to <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1awt_1_1XControlModel.html\" name=\"XControl interface\">XControl</link> and <link href=\"https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1awt_1_1UnoControlDialog-members.html\" name=\"UnoControlDialog interface\">UnoControlDialog</link> in Application Programming Interface (API) documentation for detailed information."
+msgstr ""
+
+#. S4DWL
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id31385839767743\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. G6Qsw
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id111583839717695\n"
+"help.text"
+msgid "Specify the width of the dialog box."
+msgstr ""
+
+#. q8eyc
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"hd_id421612628828054\n"
+"help.text"
+msgid "Event properties"
+msgstr ""
+
+#. tn52Y
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id41612629140856\n"
+"help.text"
+msgid "Returns a URI string with the reference to the script triggered by the event. Read its specification in the <link href=\"https://wiki.documentfoundation.org/Documentation/DevGuide/Scripting_Framework#Scripting_Framework_URI_Specification\" name=\"URI specification\">scripting framework URI specification</link>."
+msgstr ""
+
+#. XCC7C
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id961612628879819\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. V3bin
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id401612628879819\n"
+"help.text"
+msgid "ReadOnly"
+msgstr ""
+
+#. uW85z
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id281612628879819\n"
+"help.text"
+msgid "Basic IDE Description"
+msgstr ""
+
+#. dFkbN
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id111612629836630\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. aKBvg
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id1001612629836902\n"
+"help.text"
+msgid "When receiving focus"
+msgstr ""
+
+#. 4FBaJ
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id291612629836294\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 8U7FZ
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id62161262983683\n"
+"help.text"
+msgid "When losing focus"
+msgstr ""
+
+#. wBCKi
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id81612629836634\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. CK5vU
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id881612629836744\n"
+"help.text"
+msgid "Key pressed"
+msgstr ""
+
+#. gXJGu
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id591612629836830\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. CJwi7
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id161612629836775\n"
+"help.text"
+msgid "Key released"
+msgstr ""
+
+#. wS7GH
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id891612629836630\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. GcDU7
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id461612629836679\n"
+"help.text"
+msgid "Mouse moved while key presses"
+msgstr ""
+
+#. eUS49
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id131612629836291\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. QrByH
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id151612629836151\n"
+"help.text"
+msgid "Mouse inside"
+msgstr ""
+
+#. CRGTF
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id211612629836725\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 69s4B
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id361612629836624\n"
+"help.text"
+msgid "Mouse outside"
+msgstr ""
+
+#. ojLRr
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id311612629836481\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. XaS8A
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id721612629836752\n"
+"help.text"
+msgid "Mouse moved"
+msgstr ""
+
+#. MnMUF
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id981612629836116\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. NtqPz
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id381612629836635\n"
+"help.text"
+msgid "Mouse button pressed"
+msgstr ""
+
+#. czknv
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id711612629836704\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. J2uzg
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id35161262983642\n"
+"help.text"
+msgid "Mouse button released"
+msgstr ""
+
+#. gTQjc
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id921606472825856\n"
+"help.text"
+msgid "Methods"
+msgstr ""
+
+#. DiCyL
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id871583933076448\n"
+"help.text"
+msgid "Set the focus on the current <literal>Dialog</literal> instance. Return <literal>True</literal> if focusing was successful."
+msgstr ""
+
+#. 7QdPA
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id151598178880227\n"
+"help.text"
+msgid "This method is called from a dialog or control event, or when a dialog is displayed in non-modal mode."
+msgstr ""
+
+#. uoBhE
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id811620109056270\n"
+"help.text"
+msgid "Python and %PRODUCTNAME Basic examples both assume that the dialog is stored in current document's <literal>Standard</literal> library."
+msgstr ""
+
+#. 7VrwE
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id391651225506119\n"
+"help.text"
+msgid "Centers the current dialog instance in the middle of a parent window. Without arguments, the method centers the dialog in the middle of the current window."
+msgstr ""
+
+#. xEJEH
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id391651552206119\n"
+"help.text"
+msgid "Returns <literal>True</literal> when successful."
+msgstr ""
+
+#. Woksx
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id1001585441257789\n"
+"help.text"
+msgid "<emph>Parent</emph>: An optional object that can be either …"
+msgstr ""
+
+#. DCeY9
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id412598177970993\n"
+"help.text"
+msgid "a ScriptForge dialog object"
+msgstr ""
+
+#. D5yN3
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id81591858229301\n"
+"help.text"
+msgid "a ScriptForge document (Calc, Base, ...) object"
+msgstr ""
+
+#. 8DDWf
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"bas_id12598185484092\n"
+"help.text"
+msgid "Set oDialog1 = CreateScriptService(\"DialogEvent\", oEvent) ' The dialog that caused the event"
+msgstr ""
+
+#. dx9rf
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"bas_id641598184589492\n"
+"help.text"
+msgid "Set oDialog2 = CreateScriptService(\"Dialog\", ...) ' Open a second dialog"
+msgstr ""
+
+#. kqFdv
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"pyc_id351619267575732\n"
+"help.text"
+msgid "dlg1 = CreateScriptService('DialogEvent.Dialog', event) # The dialog having caused the event"
+msgstr ""
+
+#. fDQAG
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"pyc_id431619267576082\n"
+"help.text"
+msgid "dlg2 = CreateScriptService('Dialog', ...) # Open a second dialog"
+msgstr ""
+
+#. 4qLn9
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id161584541257982\n"
+"help.text"
+msgid "Return either:"
+msgstr ""
+
+#. isSnB
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id421598179770993\n"
+"help.text"
+msgid "the list of the controls contained in the dialog"
+msgstr ""
+
+#. hdSWz
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id81598185229301\n"
+"help.text"
+msgid "a <literal>DialogControl</literal> class instance based on its name"
+msgstr ""
+
+#. AEAHd
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id1001584541257789\n"
+"help.text"
+msgid "<emph>ControlName</emph> : A valid control name as a case-sensitive string. If absent, the list of control names is returned as a zero-based array."
+msgstr ""
+
+#. j8x9C
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id381598185776500\n"
+"help.text"
+msgid "Ends the display of a modal dialog and gives back the argument as return value for the current <literal>Execute()</literal> running action."
+msgstr ""
+
+#. gjvwy
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id551598185953362\n"
+"help.text"
+msgid "<literal>EndExecute()</literal> is usually contained in the processing of a macro triggered by a dialog or control event."
+msgstr ""
+
+#. yukGC
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id451598185776957\n"
+"help.text"
+msgid "<emph>returnvalue</emph>: The value passed to the running <literal>Execute()</literal> method."
+msgstr ""
+
+#. ABome
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id411620110780170\n"
+"help.text"
+msgid "Using %PRODUCTNAME Basic:"
+msgstr ""
+
+#. EtAN6
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id11620110819754\n"
+"help.text"
+msgid "Using Python:"
+msgstr ""
+
+#. ML9Mz
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id81620201915101\n"
+"help.text"
+msgid "Above <link href=\"https://api.libreoffice.org/docs/idl/ref/structcom_1_1sun_1_1star_1_1lang_1_1EventObject.html\" name=\"com.sun.star.lang.EventObject\">com.sun.star.lang.EventObject</link> mentions are optional. Such annotations help identify %PRODUCTNAME Application Programming Interface (API)."
+msgstr ""
+
+#. FD9fr
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id29159818646178\n"
+"help.text"
+msgid "Display the dialog box and, when modal, wait for its termination by the user. The returned value is either:"
+msgstr ""
+
+#. PRCaG
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id541598186676277\n"
+"help.text"
+msgid "0 : <literal>Cancel</literal> button pressed"
+msgstr ""
+
+#. eCGBY
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id821598186716345\n"
+"help.text"
+msgid "1 : <literal>OK</literal> button pressed"
+msgstr ""
+
+#. MovhC
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id951598186738346\n"
+"help.text"
+msgid "Otherwise the dialog stopped with an <literal>EndExecute()</literal> statement issued by a dialog or control event"
+msgstr ""
+
+#. eBFXT
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id741598187335869\n"
+"help.text"
+msgid "For non-modal dialog boxes the method always returns 0 and the execution of the macro continues."
+msgstr ""
+
+#. Ej2iF
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id11598186461227\n"
+"help.text"
+msgid "<emph>modal</emph>: <literal>False</literal> when non-modal dialog. Default = <literal>True</literal>."
+msgstr ""
+
+#. fGatm
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id231620110023843\n"
+"help.text"
+msgid "In this Basic example <literal>myDialog</literal> dialog is stored in current document's <literal>Standard</literal> library."
+msgstr ""
+
+#. ouEVN
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id191620110162627\n"
+"help.text"
+msgid "This Python code displays <literal>DlgConvert</literal> modal dialog from <literal>Euro</literal> shared Basic library."
+msgstr ""
+
+#. HU6Jv
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id21598187900349\n"
+"help.text"
+msgid "Replaces all fixed text strings in a dialog by their translated versions based on a <literal>L10N</literal> service instance. This method translates the following strings:"
+msgstr ""
+
+#. JixXU
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id641625855723650\n"
+"help.text"
+msgid "The method returns <literal>True</literal> if successful."
+msgstr ""
+
+#. v5Zt5
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id61637871260604\n"
+"help.text"
+msgid "To create a list of translatable strings in a dialog use the <link href=\"text/sbasic/shared/03/sf_l10n.xhp#AddTextsFromDialog\" name=\"AddTextsFromDialog\">AddTextsFromDialog</link> method from the L10N service."
+msgstr ""
+
+#. ECNVg
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id451598185776205\n"
+"help.text"
+msgid "<emph>l10n</emph>: A <literal>L10N</literal> service instance from which translated strings will be retrieved."
+msgstr ""
+
+#. MeJAT
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id951620300689850\n"
+"help.text"
+msgid "The following example loads translated strings and applies them to the dialog \"MyDialog\"."
+msgstr ""
+
+#. p3KMX
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id901637872163895\n"
+"help.text"
+msgid "Read the <link href=\"text/sbasic/shared/03/sf_l10n.xhp\" name=\"L10N\">L10N service</link> help page to learn more about how PO and POT files are handled."
+msgstr ""
+
+#. mA4Nm
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id21598187953697\n"
+"help.text"
+msgid "Moves the topleft corner of a dialog to new coordinates and/or modify its dimensions. All distances are expressed in 1/100 mm. Without arguments, the method resets the initial dimensions. Return <literal>True</literal> if the resize was successful."
+msgstr ""
+
+#. XRdLE
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id481651236673068\n"
+"help.text"
+msgid "<emph>Left</emph>: the horizontal distance from the top-left corner"
+msgstr ""
+
+#. FcTcU
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id721651236674379\n"
+"help.text"
+msgid "<emph>Top</emph>: the vertical distance from the top-left corner"
+msgstr ""
+
+#. uX7ps
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id991651236674995\n"
+"help.text"
+msgid "<emph>Width</emph>: the width of the rectangle containing the dialog"
+msgstr ""
+
+#. ApqA8
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id771651236675564\n"
+"help.text"
+msgid "<emph>Height</emph>: the height of the rectangle containing the dialog"
+msgstr ""
+
+#. H4CtP
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id211651236676180\n"
+"help.text"
+msgid "Negative or missing arguments are left unchanged"
+msgstr ""
+
+#. guvaM
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"bas_id791620301085031\n"
+"help.text"
+msgid "oDialog.Resize(1000, 2000, Height := 6000) ' Width is not changed"
+msgstr ""
+
+#. pEVvm
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id181620112217958\n"
+"help.text"
+msgid "With Python:"
+msgstr ""
+
+#. gBerj
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"pyc_id941620303073866\n"
+"help.text"
+msgid "oDialog.Resize(1000, 2000, Height = 6000) # Width is not changed"
+msgstr ""
+
+#. ARCGg
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id21598187953679\n"
+"help.text"
+msgid "Terminate the <literal>Dialog</literal> service for the current instance. Return <literal>True</literal> if the termination was successful."
+msgstr ""
+
+#. CgAYf
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id951620300687150\n"
+"help.text"
+msgid "Below Basic and Python examples open <literal>DlgConsole</literal> and <literal>dlgTrace</literal> non-modal dialogs. They are respectively stored in <literal>ScriptForge</literal> and <literal>Access2Base</literal> shared libraries. Dialog close buttons are disabled and explicit termination is performed at the end of a running process."
+msgstr ""
+
+#. W3W3Y
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id301620302137482\n"
+"help.text"
+msgid "In this example a button in <literal>DlgConsole</literal> is substituting inhibited window closing:"
+msgstr ""
+
+#. 7z7hg
+#: sf_dialog.xhp
+msgctxt ""
+"sf_dialog.xhp\n"
+"par_id811620112217958\n"
+"help.text"
+msgid "With Python:"
+msgstr ""
+
+#. BFfGX
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"tit\n"
+"help.text"
+msgid "SFDialogs.DialogControl service"
+msgstr ""
+
+#. UBz5i
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"bm_id781582391760253\n"
+"help.text"
+msgid "<variable id=\"ctrls_h1\"><link href=\"text/sbasic/shared/03/sf_dialogcontrol.xhp\" name=\"SFDialogs.DialogControl service\"><literal>SFDialogs</literal>.<literal>DialogControl</literal> service</link></variable>"
+msgstr ""
+
+#. tZzKc
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id931583589764919\n"
+"help.text"
+msgid "The <literal>DialogControl</literal> service manages the controls belonging to a dialog defined with the Basic <link href=\"text/sbasic/guide/create_dialog.xhp\" name=\"Dialog Editor\">Dialog Editor</link>. Each instance of the current service represents a single control within a dialog box."
+msgstr ""
+
+#. 7dDgL
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id701598191157426\n"
+"help.text"
+msgid "The focus is set on getting and setting the values displayed by the controls of the dialog box. Formatting is accessible via the <literal>XControlModel</literal> and <literal>XControlView</literal> properties."
+msgstr ""
+
+#. fFfwe
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id981598191184526\n"
+"help.text"
+msgid "Note that the unique <literal>DialogControl.Value</literal> property content varies according to the control type."
+msgstr ""
+
+#. MBrzA
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id991612698027551\n"
+"help.text"
+msgid "A special attention is given to controls of type tree control. It is easy to populate a tree, either branch by branch, or with a set of branches at once. Populating a tree control can be performed statically or dynamically."
+msgstr ""
+
+#. 9LpGF
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id891598188164936\n"
+"help.text"
+msgid "The <literal>SFDialogs.DialogControl</literal> service is closely related to the <link href=\"text/sbasic/shared/03/sf_dialog.xhp\" name=\"Dialog service\"><literal>SFDialogs.Dialog</literal></link> service."
+msgstr ""
+
+#. uGTGK
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"hd_id581582885621841\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. LGkgR
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>DialogControl</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. EnxDs
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id361598174756160\n"
+"help.text"
+msgid "The <literal>DialogControl</literal> service is invoked from an existing <literal>Dialog</literal> service instance through its <literal>Controls()</literal> method. The dialog must be initiated with the <literal>SFDialogs.Dialog</literal> service."
+msgstr ""
+
+#. RCFrE
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"bas_id581598453210170\n"
+"help.text"
+msgid "myControl.Value = \"Dialog started at \" & Now()"
+msgstr ""
+
+#. WVG8J
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"bas_id961598453222539\n"
+"help.text"
+msgid "' ... process the controls actual values"
+msgstr ""
+
+#. gxhUu
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"pyc_id861620225235002\n"
+"help.text"
+msgid "text.Value = \"Dialog started at \" + strftime(\"%a, %d %b %Y %H:%M:%S\", localtime())"
+msgstr ""
+
+#. nu3f3
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"pyc_id841620225235377\n"
+"help.text"
+msgid "# ... process the controls actual values"
+msgstr ""
+
+#. 2PPv4
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id951598174966322\n"
+"help.text"
+msgid "Alternatively a control instance can be retrieved via the <literal>SFDialogs.DialogEvent</literal> service, providing the dialog was initiated with the <literal>Dialog</literal> service. <literal>DialogEvent</literal> returns the <literal>SFDialogs.DialogControl</literal> class instance that triggered the event."
+msgstr ""
+
+#. 75WJy
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id251598176312571\n"
+"help.text"
+msgid "Note that in previous examples, the prefix <literal>\"SFDialogs.\"</literal> may be omitted."
+msgstr ""
+
+#. F9uKj
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"hd_id71598455687512\n"
+"help.text"
+msgid "Control types"
+msgstr ""
+
+#. jKJBV
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id851598455863395\n"
+"help.text"
+msgid "The <literal>DialogControl</literal> service is available for these control types:"
+msgstr ""
+
+#. 7xddb
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"hd_id651583668365757\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. 94RMV
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id871583668386455\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. eccsg
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id491583668386455\n"
+"help.text"
+msgid "ReadOnly"
+msgstr ""
+
+#. KRYNv
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id271583668474014\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. U9ZYU
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id291598538799794\n"
+"help.text"
+msgid "Applicable to"
+msgstr ""
+
+#. emDac
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id401583668386455\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. xNGhR
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id371583668519172\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. aTyMC
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id771583668386455\n"
+"help.text"
+msgid "Specifies if a command button has or not the behaviour of a Cancel button."
+msgstr ""
+
+#. Gft3Z
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id541583839708548\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. UXoyn
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id731583839708412\n"
+"help.text"
+msgid "Specifies the text associated with the control."
+msgstr ""
+
+#. Uo2SP
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id761584027709516\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. YKEAg
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id261598539120502\n"
+"help.text"
+msgid "All"
+msgstr ""
+
+#. c5GAw
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id971584027709752\n"
+"help.text"
+msgid "One of the types listed above."
+msgstr ""
+
+#. oMipU
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id67161270548283\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 59ovD
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id341612705482566\n"
+"help.text"
+msgid "UNO<br/>object"
+msgstr ""
+
+#. w2ZhT
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id1001612705482919\n"
+"help.text"
+msgid "The currently upmost node selected in the tree control. Refer to <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1awt_1_1tree_1_1XMutableTreeNode.html\" name=\"awt.tree.XMutableTreeNode\">XmutableTreeNode</link> in Application Programming Interface (API) documentation for detailed information."
+msgstr ""
+
+#. veivJ
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id31583839767743\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. y2irQ
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id111583839767195\n"
+"help.text"
+msgid "Specifies whether a command button is the default (OK) button."
+msgstr ""
+
+#. GAdvJ
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id771583839920487\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. tBmrq
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id891598539196786\n"
+"help.text"
+msgid "All"
+msgstr ""
+
+#. 8S9xG
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id451583839920858\n"
+"help.text"
+msgid "Specifies if the control is accessible with the cursor."
+msgstr ""
+
+#. 2E9Cb
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id571588333908716\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 6L9ke
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id491598529331618\n"
+"help.text"
+msgid "(read-only)"
+msgstr ""
+
+#. QbN5U
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id721588333908708\n"
+"help.text"
+msgid "Specifies the format used to display dates and times. It must be one these strings:"
+msgstr ""
+
+#. 5eRkE
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id891598456980194\n"
+"help.text"
+msgid "For dates: \"Standard (short)\", \"Standard (short YY)\", \"Standard (short YYYY)\", \"Standard (long)\", \"DD/MM/YY\", \"MM/DD/YY\", \"YY/MM/DD\", \"DD/MM/YYYY\", \"MM/DD/YYYY\" , \"YYYY/MM/DD\", \"YY-MM-DD\", \"YYYY-MM-DD\"."
+msgstr ""
+
+#. CDCLC
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id221598456991070\n"
+"help.text"
+msgid "For times: \"24h short\", \"24h long\", \"12h short\", \"12h long\"."
+msgstr ""
+
+#. nLCxq
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id501583774433513\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. rDJFC
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id151598177605296\n"
+"help.text"
+msgid "Specifies the number of rows in a ListBox, a ComboBox or a TableControl."
+msgstr ""
+
+#. kaaLt
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id271588334016191\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. Ey9iG
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id251588334016874\n"
+"help.text"
+msgid "Specifies which item is selected in a ListBox, a ComboBox or a TableControl."
+msgstr ""
+
+#. azv7C
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id961598457655506\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 6N6Eb
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id2159845765568\n"
+"help.text"
+msgid "Specifies if the control is read-only."
+msgstr ""
+
+#. bubBB
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id621598457951781\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. r83sC
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id821598457951782\n"
+"help.text"
+msgid "Specifies whether a user can make multiple selections in a listbox."
+msgstr ""
+
+#. BBJCw
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id351598458170114\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. uHsgi
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id151598539764402\n"
+"help.text"
+msgid "All"
+msgstr ""
+
+#. HLjFU
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id621598458170392\n"
+"help.text"
+msgid "The name of the control."
+msgstr ""
+
+#. jSSnv
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id80159845835726\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 8GZkA
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id841598539781888\n"
+"help.text"
+msgid "All"
+msgstr ""
+
+#. BdxvF
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id791598458357756\n"
+"help.text"
+msgid "A dialog may have several pages that can be traversed by the user step by step. The Page property of the Dialog object defines which page of the dialog is active."
+msgstr ""
+
+#. isrYW
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id441598458459145\n"
+"help.text"
+msgid "The Page property of a control defines the page of the dialog on which the control is visible."
+msgstr ""
+
+#. Cj3Kq
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id161598458580581\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 6EFh7
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id921598458580608\n"
+"help.text"
+msgid "<literal>Dialog</literal><br/>service"
+msgstr ""
+
+#. SDCx4
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id181598539807426\n"
+"help.text"
+msgid "All"
+msgstr ""
+
+#. sqEuV
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id801598458580456\n"
+"help.text"
+msgid "The parent <literal>SFDialogs.Dialog</literal> class object instance."
+msgstr ""
+
+#. GTGu9
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id971598458773352\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. LP96H
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id451598458773588\n"
+"help.text"
+msgid "Specifies the file name containing a bitmap or other type of graphic to be displayed on the specified control. The filename must comply with the <literal>FileNaming</literal> attribute of the <literal>ScriptForge.FileSystem</literal> service."
+msgstr ""
+
+#. LZLsc
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id831612700624650\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. QxAW9
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id711612700624483\n"
+"help.text"
+msgid "UNO<br/>object"
+msgstr ""
+
+#. m4N4j
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id11612700624514\n"
+"help.text"
+msgid "An object representing the lowest root node (usually there is only one such root node). Refer to <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1awt_1_1tree_1_1XMutableTreeNode.html\" name=\"awt.tree.XMutableTreeNode\">XmutableTreeNode</link> in Application Programming Interface (API) documentation for detailed information."
+msgstr ""
+
+#. PqsSY
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id401598516577225\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. AciNr
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id311598516577712\n"
+"help.text"
+msgid "Specifies the data contained in a combobox or a listbox."
+msgstr ""
+
+#. q532w
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id781598516764550\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 4h8VF
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id11159851676440\n"
+"help.text"
+msgid "Gives access to the text being displayed by the control."
+msgstr ""
+
+#. We5gv
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id411598517275112\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. EijF2
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id171598539985022\n"
+"help.text"
+msgid "All"
+msgstr ""
+
+#. CbBZJ
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id651598517275384\n"
+"help.text"
+msgid "Specifies the text that appears as a tooltip when you hold the mouse pointer over the control."
+msgstr ""
+
+#. kVtki
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id821598517418463\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. ZemBe
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id141598517418822\n"
+"help.text"
+msgid "Specifies if the checkbox control may appear dimmed (grayed) or not."
+msgstr ""
+
+#. BDWA7
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id701598517671373\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. ZHrsm
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id1001598540024225\n"
+"help.text"
+msgid "Refer to <link href=\"text/sbasic/shared/03/sf_dialogcontrol.xhp#hd_id81598540704978\" name=\"Value property\">Value property</link>"
+msgstr ""
+
+#. PqKgo
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id661598517730941\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 8r3sG
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id761598540042290\n"
+"help.text"
+msgid "All"
+msgstr ""
+
+#. xLL83
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id881598517730836\n"
+"help.text"
+msgid "Specifies if the control is hidden or visible."
+msgstr ""
+
+#. Xw6X9
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id451598177924437\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. dBNCA
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id94159817792441\n"
+"help.text"
+msgid "UNO<br/>object"
+msgstr ""
+
+#. gbjHB
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id311598540066789\n"
+"help.text"
+msgid "All"
+msgstr ""
+
+#. F8rNE
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id191598177924897\n"
+"help.text"
+msgid "The UNO object representing the control model. Refer to <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1awt_1_1XControlModel.html\" name=\"awt.XControlModel\">XControlModel</link> and <link href=\"https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1awt_1_1UnoControlDialogModel.html)\" name=\"awt.XControlDialogModel\">UnoControlDialogModel</link> in Application Programming Interface (API) documentation for detailed information."
+msgstr ""
+
+#. xfhaP
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id811598178083501\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. o2H9W
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id981598178083938\n"
+"help.text"
+msgid "UNO<br/>object"
+msgstr ""
+
+#. rrwm6
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id551598540079329\n"
+"help.text"
+msgid "All"
+msgstr ""
+
+#. ZM6sk
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id731598178083442\n"
+"help.text"
+msgid "The UNO object representing the control view. Refer to <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1awt_1_1XControl.html\" name=\"awt.XControl\">XControl</link> and <link href=\"https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1awt_1_1UnoControlDialog.html)\" name=\"awt.UnoControlDialog\">UnoControlDialog</link> in Application Programming Interface (API) documentation for detailed information."
+msgstr ""
+
+#. SAkJX
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id741612699446459\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. yuAdF
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id311612699446893\n"
+"help.text"
+msgid "UNO<br/>object"
+msgstr ""
+
+#. 7XckG
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id691612699446892\n"
+"help.text"
+msgid "The UNO object representing the tree control data model. Refer to <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1awt_1_1tree_1_1XMutableTreeDataModel.html\" name=\"awt.tree.XMutableTreeDataModel\">XMutableTreeDataModel</link> in Application Programming Interface (API) documentation for detailed information."
+msgstr ""
+
+#. dfWTW
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"hd_id81598540704978\n"
+"help.text"
+msgid "The <variable id=\"ValueProperty\">Value property</variable>"
+msgstr ""
+
+#. JHK7w
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id10159854325492\n"
+"help.text"
+msgid "Control type"
+msgstr ""
+
+#. 33wWa
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id741598543254158\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. QLVMB
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id961598543254444\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. jEyx9
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id741598543254108\n"
+"help.text"
+msgid "For toggle buttons only"
+msgstr ""
+
+#. gCWiY
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id741598543254376\n"
+"help.text"
+msgid "Boolean or Integer"
+msgstr ""
+
+#. 7GZGS
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id521598543254630\n"
+"help.text"
+msgid "0, False: not checked<br/>1, True: checked<br/>2: grayed, don't know"
+msgstr ""
+
+#. nZVA5
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id331598543254947\n"
+"help.text"
+msgid "The selected value. The <literal>ListIndex</literal> property is an alternate option."
+msgstr ""
+
+#. MWkEW
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id5159854325443\n"
+"help.text"
+msgid "Numeric"
+msgstr ""
+
+#. kgfXR
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id971598543254757\n"
+"help.text"
+msgid "A file name formatted in accordance with the <literal>FileNaming</literal> property of the <literal>ScriptForge.FileSystem</literal> service"
+msgstr ""
+
+#. 9NVHN
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id221598543254760\n"
+"help.text"
+msgid "String or Numeric"
+msgstr ""
+
+#. 53Ztp
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id42159854325422\n"
+"help.text"
+msgid "String or array of strings"
+msgstr ""
+
+#. 9NwJs
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id601598543254780\n"
+"help.text"
+msgid "The selected row(s) as a scalar or as an array depending on the <literal>MultiSelect</literal> attribute"
+msgstr ""
+
+#. tFGhf
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id461598543254909\n"
+"help.text"
+msgid "Numeric"
+msgstr ""
+
+#. YvPAp
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id631598543254771\n"
+"help.text"
+msgid "Numeric"
+msgstr ""
+
+#. fBArb
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id91598543254766\n"
+"help.text"
+msgid "Must be within the predefined bounds"
+msgstr ""
+
+#. ZragT
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id851598543254624\n"
+"help.text"
+msgid "Each button has its own name. They are linked together if their TAB positions are contiguous. If a radiobutton is set to <literal>True</literal>, the other related buttons are automatically set to <literal>False</literal>"
+msgstr ""
+
+#. m6Uyb
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id531598543254869\n"
+"help.text"
+msgid "Numeric"
+msgstr ""
+
+#. MWdGb
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id21598543254994\n"
+"help.text"
+msgid "Must be within the predefined bounds"
+msgstr ""
+
+#. CVTcE
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id441598543254951\n"
+"help.text"
+msgid "One-dimensional array with the data of the currently selected row."
+msgstr ""
+
+#. a9AMF
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id441598543254738\n"
+"help.text"
+msgid "The text appearing in the field"
+msgstr ""
+
+#. CABLr
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"hd_id421612628828054\n"
+"help.text"
+msgid "Event properties"
+msgstr ""
+
+#. Vo6Ch
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id41612629140856\n"
+"help.text"
+msgid "Returns a URI string with the reference to the script triggered by the event. Read its specification in the <link href=\"https://wiki.documentfoundation.org/Documentation/DevGuide/Scripting_Framework#Scripting_Framework_URI_Specification\" name=\"URI specification\">scripting framework URI specification</link>."
+msgstr ""
+
+#. fkFAt
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id961612628879819\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. 2sB8F
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id401612628879819\n"
+"help.text"
+msgid "ReadOnly"
+msgstr ""
+
+#. 2A2Ex
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id281612628879819\n"
+"help.text"
+msgid "Description as labeled in the Basic IDE"
+msgstr ""
+
+#. rSRBQ
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id91612707166532\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. aABgD
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id291612707166258\n"
+"help.text"
+msgid "Execute action"
+msgstr ""
+
+#. KnFdW
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id79161270716675\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. JrRob
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id831612707166731\n"
+"help.text"
+msgid "While adjusting"
+msgstr ""
+
+#. mpuj3
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id111612629836630\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 7Swj5
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id1001612629836902\n"
+"help.text"
+msgid "When receiving focus"
+msgstr ""
+
+#. Mp4i7
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id291612629836294\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. ozGia
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id62161262983683\n"
+"help.text"
+msgid "When losing focus"
+msgstr ""
+
+#. TR5uW
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id51612707354544\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. HREcr
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id211612707354899\n"
+"help.text"
+msgid "Item status changed"
+msgstr ""
+
+#. L6e2x
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id81612629836634\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. sVo6A
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id881612629836744\n"
+"help.text"
+msgid "Key pressed"
+msgstr ""
+
+#. pPBHX
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id591612629836830\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. P6NX8
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id161612629836775\n"
+"help.text"
+msgid "Key released"
+msgstr ""
+
+#. XJGHA
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id891612629836630\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. oCDXm
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id461612629836679\n"
+"help.text"
+msgid "Mouse moved while key presses"
+msgstr ""
+
+#. nLbMG
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id131612629836291\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 9XdcG
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id151612629836151\n"
+"help.text"
+msgid "Mouse inside"
+msgstr ""
+
+#. BZ7sC
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id211612629836725\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. mzbBD
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id361612629836624\n"
+"help.text"
+msgid "Mouse outside"
+msgstr ""
+
+#. fAD8Y
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id311612629836481\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. FCBxu
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id721612629836752\n"
+"help.text"
+msgid "Mouse moved"
+msgstr ""
+
+#. 4DCtC
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id981612629836116\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 8B9ct
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id381612629836635\n"
+"help.text"
+msgid "Mouse button pressed"
+msgstr ""
+
+#. krueU
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id711612629836704\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 4c5qE
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id35161262983642\n"
+"help.text"
+msgid "Mouse button released"
+msgstr ""
+
+#. FkyLb
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id851612707606863\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. VudpK
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id351612707606197\n"
+"help.text"
+msgid "(Not in Basic IDE) when the expansion button is pressed on a node in a tree control"
+msgstr ""
+
+#. TkEgQ
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id121612707606251\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. quWBQ
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id881612707606121\n"
+"help.text"
+msgid "(Not in Basic IDE) when a node in a tree control is selected"
+msgstr ""
+
+#. qyb3B
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id811612707606330\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. th6Kr
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id621612707606219\n"
+"help.text"
+msgid "Text modified"
+msgstr ""
+
+#. YFbGT
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"hd_id421583670049913\n"
+"help.text"
+msgid "Methods"
+msgstr ""
+
+#. xNrc5
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id891611613601554\n"
+"help.text"
+msgid "List of Methods in the DialogControl Service"
+msgstr ""
+
+#. 5jtfg
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id831612711823126\n"
+"help.text"
+msgid "Create and return a new node of the tree control as a UNO object subordinate to a parent node. <variable id=\"XMutableTreeNode\">Refer to <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1awt_1_1tree_1_1XMutableTreeNode.html\" name=\"awt.tree.XMutableTreeNode\">XMutableTreeNode</link> in Application Programming Interface (API) documentation for detailed information.</variable>"
+msgstr ""
+
+#. MrQnS
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id741612711823706\n"
+"help.text"
+msgid "This method may be called before displaying the dialog box to build the initial tree. It may also be called from a dialog or control event - using the <literal>OnNodeExpanded</literal> event - to complete the tree dynamically."
+msgstr ""
+
+#. T8xdA
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id761612711823834\n"
+"help.text"
+msgid "<emph>parentnode</emph>: A node UNO object, of type <literal>com.sun.star.awt.tree.XMutableTreeNode</literal>."
+msgstr ""
+
+#. qJ9ej
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id791612711823819\n"
+"help.text"
+msgid "<emph>displayvalue</emph>: The text appearing in the tree control box."
+msgstr ""
+
+#. Pzz72
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id911612711823382\n"
+"help.text"
+msgid "<emph>datavalue</emph>: Any value associated with the new node. <literal>datavalue</literal> may be a string, a number or a date. Omit the argument when not applicable."
+msgstr ""
+
+#. 2pLPL
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id901620317110685\n"
+"help.text"
+msgid "%PRODUCTNAME Basic and Python examples pick up current document's <literal>myDialog</literal> dialog from <literal>Standard</literal> library."
+msgstr ""
+
+#. 8B3qP
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id221612713087885\n"
+"help.text"
+msgid "Return <literal>True</literal> when a subtree, subordinate to a parent node, could be inserted successfully in a tree control. If the parent node had already child nodes before calling this method, the child nodes are erased."
+msgstr ""
+
+#. beond
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id781612713087722\n"
+"help.text"
+msgid "<emph>parentnode</emph>: A node UNO object, of type <literal>com.sun.star.awt.tree.XMutableTreeNode</literal>."
+msgstr ""
+
+#. QJ73V
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id36161271308759\n"
+"help.text"
+msgid "<emph>flattree</emph>: a two dimension array sorted on the columns containing the display values. Such an array can be issued by the <literal>GetRows</literal> method applied on the <literal>SFDatabases.Database</literal> service. When an array item containing the text to be displayed is <literal>Empty</literal> or <literal>Null</literal>, no new subnode is created and the remainder of the row is skipped."
+msgstr ""
+
+#. r5QNj
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"bas_id61612716027443\n"
+"help.text"
+msgid "Flat tree >>>> Resulting subtree"
+msgstr ""
+
+#. MUi8U
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id51612713087915\n"
+"help.text"
+msgid "<emph>withdatavalue</emph>: When <literal>False</literal> default value is used, every column of <literal>flattree</literal> contains the text to be displayed in the tree control. When <literal>True</literal>, the texts to be displayed (<literal>displayvalue</literal>) are in columns 0, 2, 4, ... while the data values (<literal>datavalue</literal>) are in columns 1, 3, 5, ..."
+msgstr ""
+
+#. fWnhZ
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id151612780723320\n"
+"help.text"
+msgid "Returns a new root node of the tree control, as a node UNO object of type <literal>com.sun.star.awt.tree.XMutableTreeNode</literal>. The new tree root is inserted below pre-existing root nodes. <embedvar href=\"text/sbasic/shared/03/sf_dialogcontrol.xhp#XMutableTreeNode\"/>"
+msgstr ""
+
+#. YT845
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id821612780723965\n"
+"help.text"
+msgid "This method may be called before displaying the dialog box to build the initial tree. It may also be called from a dialog or control event to complete the tree dynamically."
+msgstr ""
+
+#. JXyjD
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id791612117823819\n"
+"help.text"
+msgid "<emph>displayvalue</emph>: The text appearing in the tree control box."
+msgstr ""
+
+#. XxGFd
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id171612781589503\n"
+"help.text"
+msgid "Traverses the tree and finds recursively, starting from the root, a node meeting some criteria. Either - 1 match is enough - having its display value matching <literal>displayvalue</literal> pattern or having its data value equal to <literal>datavalue</literal>. The comparisons may be or not case-sensitive. The first matching occurrence is returned as a node UNO object of type <literal>com.sun.star.awt.tree.XMutableTreeNode</literal>. <embedvar href=\"text/sbasic/shared/03/sf_dialogcontrol.xhp#XMutableTreeNode\"/>"
+msgstr ""
+
+#. 5Jxkj
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id741612782475457\n"
+"help.text"
+msgid "When not found, the method returns <literal>Nothing</literal>, to be tested with the <literal>IsNull()</literal> builtin function."
+msgstr ""
+
+#. n7pE8
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id41612781589363\n"
+"help.text"
+msgid "This method may be called before displaying the dialog box to build the initial tree. It may also be called from a dialog or control event."
+msgstr ""
+
+#. Dd4Ti
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id541613670199211\n"
+"help.text"
+msgid "One argument out of <literal>displayvalue</literal> or <literal>datavalue</literal> must be specified. If both present, one match is sufficient to select the node."
+msgstr ""
+
+#. MF7PA
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id591612781589560\n"
+"help.text"
+msgid "<emph>displayvalue</emph>: The pattern to be matched. Refer to <link href=\"text/sbasic/shared/03/sf_string.xhp#IsLike\" name=\"String service IsLike() method\"><literal>SF_String.IsLike()</literal></link> method for the list of possible wildcards. When equal to the zero-length string (default), this display value is not searched for."
+msgstr ""
+
+#. BE58W
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id141582384726168\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: Default value is <literal>False</literal>"
+msgstr ""
+
+#. 3oU3L
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id871583933076448\n"
+"help.text"
+msgid "Set the focus on the control. Return <literal>True</literal> if focusing was successful."
+msgstr ""
+
+#. 6YvuU
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id151598178880227\n"
+"help.text"
+msgid "This method is often called from a dialog or control event."
+msgstr ""
+
+#. it2QN
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id541638553960464\n"
+"help.text"
+msgid "Fills a <literal>TableControl</literal> with the given data. All preexisting data is cleared before inserting the new data passed as argument."
+msgstr ""
+
+#. Vmmag
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id551638554058131\n"
+"help.text"
+msgid "When the <literal>TableControl</literal> is added to the dialog, it is possible to use the Basic IDE to define whether column and row headers will be shown in the table. If the <literal>TableControl</literal> has column and/or row headers, the first column and/or row in the provided data array are used as labels for the table headers."
+msgstr ""
+
+#. qn4UN
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id411638569396108\n"
+"help.text"
+msgid "This method returns <literal>True</literal> when successful."
+msgstr ""
+
+#. LESVB
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id1001584541257133\n"
+"help.text"
+msgid "<emph>dataarray</emph>: Data to be entered into the table represented as an Array of Arrays in Basic or a tuple of tuples in Python. The data must include column and row headers if they are to be displayed by the <literal>TableControl</literal>."
+msgstr ""
+
+#. 6AKaJ
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id1001584541257025\n"
+"help.text"
+msgid "<emph>widths</emph>: Array containing the relative widths of each column. In other words, <literal>widths = Array(1, 2)</literal> means that the second column is twice as wide as the first one. If the number of values in the array is smaller than the number of columns in the table, then the last value in the array is used to define the width of the remaining columns."
+msgstr ""
+
+#. AEGq3
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id1001584541257007\n"
+"help.text"
+msgid "<emph>alignments</emph>: Defines the alignment in each column as a string in which each character can be \"L\" (Left), \"C\" (Center), \"R\" (Right) or \" \" (whitespace, default, meaning left for strings and right for numeric values). If the length of the string is shorter than the number of columns in the table, then the last character in the string is used to define the alignment of the remaining columns."
+msgstr ""
+
+#. CK6RC
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id381638569172413\n"
+"help.text"
+msgid "The following example assumes that the dialog <literal>myDialog</literal> has a <literal>TableControl</literal> named <literal>Grid1</literal> with \"Show row header\" and \"Show column header\" properties set to \"Yes\"."
+msgstr ""
+
+#. N9Byz
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id171638650502346\n"
+"help.text"
+msgid "The <literal>Value</literal> property returns the selected row in the table. If no row is selected, an empty Array object is returned. The following code snippet shows how to test if any row is selected in the table."
+msgstr ""
+
+#. C3f3k
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"bas_id361638651540588\n"
+"help.text"
+msgid "MsgBox \"No row selected.\""
+msgstr ""
+
+#. iQ94A
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"bas_id781638651541028\n"
+"help.text"
+msgid "MsgBox \"Row \" & oTable.ListIndex & \" is selected.\""
+msgstr ""
+
+#. HNmmm
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id671598619892378\n"
+"help.text"
+msgid "Add a new line at the end of a multiline text field. A newline character will be inserted when appropriate. The method returns <literal>True</literal> when successful."
+msgstr ""
+
+#. D29nu
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id941598619892915\n"
+"help.text"
+msgid "An error is raised if the actual control is not of the type <literal>TextField</literal> or is not multiline."
+msgstr ""
+
+#. jmBh7
+#: sf_dialogcontrol.xhp
+msgctxt ""
+"sf_dialogcontrol.xhp\n"
+"par_id1001584541257789\n"
+"help.text"
+msgid "<emph>Line</emph>: The string to insert. Default is an empty line."
+msgstr ""
+
+#. opNus
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge.Dictionary service"
+msgstr ""
+
+#. 4L4A6
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"hd_id731582733781114\n"
+"help.text"
+msgid "<variable id=\"SFDictionary\"><link href=\"text/sbasic/shared/03/sf_dictionary.xhp\" name=\"ScriptForge.Dictionary service\"><literal>ScriptForge</literal>.<literal>Dictionary</literal> service</link></variable>"
+msgstr ""
+
+#. LJG3Z
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id891582884466217\n"
+"help.text"
+msgid "A dictionary is a collection of key-item pairs"
+msgstr ""
+
+#. fZDre
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id861582884516571\n"
+"help.text"
+msgid "The key is a case-insensitive string"
+msgstr ""
+
+#. 2AdDG
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id531582884549542\n"
+"help.text"
+msgid "Items may be of any type"
+msgstr ""
+
+#. Bqyf3
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id891582884593057\n"
+"help.text"
+msgid "Keys and items can be retrieved, counted, updated, and much more."
+msgstr ""
+
+#. LtaTT
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id971582884636922\n"
+"help.text"
+msgid "The Dictionary service is similar to the built-in %PRODUCTNAME Basic <literal>Collection</literal> object, however with more features. For example, <literal>Collection</literal> objects do not support the retrieval of keys. Moreover, Dictionaries provide additional capabilities as replacing keys, testing if a specific key already exists and converting the Dictionary into an Array object or JSON string."
+msgstr ""
+
+#. RkMHR
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"hd_id581582885621841\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. Qp3A4
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id821610388789467\n"
+"help.text"
+msgid "The following example creates <literal>myDict</literal> as an empty dictionary."
+msgstr ""
+
+#. BghTS
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id71158288562139\n"
+"help.text"
+msgid "It is recommended to free resources after use:"
+msgstr ""
+
+#. gpGvc
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id551626869252987\n"
+"help.text"
+msgid "The example below creates an empty instance of the <literal>Dictionary</literal> service and uses the Python native <literal>update</literal> method to populate it with the contents of a Python <literal>dict</literal> object."
+msgstr ""
+
+#. bnDdK
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"pyc_id61626869417128\n"
+"help.text"
+msgid "# Initialize myDict as an empty dict object"
+msgstr ""
+
+#. Zijqj
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"pyc_id921626869402748\n"
+"help.text"
+msgid "# Load the values of dico into myDict"
+msgstr ""
+
+#. G4WCE
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id981626869718081\n"
+"help.text"
+msgid "It is possible to create an instance of the <literal>Dictionary</literal> service using a Python <literal>dict</literal> object as argument as shown in the following example."
+msgstr ""
+
+#. ymvAC
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"pyc_id201626869185236\n"
+"help.text"
+msgid "# Initialize myDict with the content of dico"
+msgstr ""
+
+#. UHQFC
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id211626699007613\n"
+"help.text"
+msgid "Because Python has built-in dictionary support, most of the methods in the <literal>Dictionary</literal> service are available for Basic scripts only. Exceptions are <literal>ConvertToPropertyValues</literal> and <literal>ImportFromPropertyValues</literal> that are supported in both Basic and Python."
+msgstr ""
+
+#. Dd4Pp
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"hd_id351582885195476\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. hYF2s
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id41582885195836\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. EgAoj
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id31582885195372\n"
+"help.text"
+msgid "Read-only"
+msgstr ""
+
+#. pHem5
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id31582885195238\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. NnCGT
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id931582885195131\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. B8ZfD
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id221582885195686\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. JnMbF
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id881582885195976\n"
+"help.text"
+msgid "The number of entries in the dictionary"
+msgstr ""
+
+#. TZ37p
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id441582886030118\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. G6fcd
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id131582886030297\n"
+"help.text"
+msgid "Array of Variants"
+msgstr ""
+
+#. EykBP
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id471582886030489\n"
+"help.text"
+msgid "The list of items as a one dimensional array"
+msgstr ""
+
+#. HTnKu
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id971582886791838\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. mXmC9
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id271582886791111\n"
+"help.text"
+msgid "Array of Strings"
+msgstr ""
+
+#. MxjyM
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id16158288679167\n"
+"help.text"
+msgid "The list of keys as a one dimensional array"
+msgstr ""
+
+#. EvjDj
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id461582886731495\n"
+"help.text"
+msgid "The <literal>Keys</literal> and <literal>Items</literal> properties return their respective contents, using an identical ordering. The order is unrelated to the creation sequence."
+msgstr ""
+
+#. suQ9E
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id931610389113917\n"
+"help.text"
+msgid "The following example uses the <literal>Keys</literal> property to iterate over all keys in the dictionary <literal>myDict</literal>."
+msgstr ""
+
+#. Thoy8
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id921606472825856\n"
+"help.text"
+msgid "Methods"
+msgstr ""
+
+#. PqSBg
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id831582887670029\n"
+"help.text"
+msgid "Adds a new key-item pair into the dictionary. Returns <literal>True</literal> if successful."
+msgstr ""
+
+#. 4zw8b
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id341582887670030\n"
+"help.text"
+msgid "<emph>key</emph>: String value used to identify the Item. The key is not case-sensitive."
+msgstr ""
+
+#. UFFFG
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id401582887670030\n"
+"help.text"
+msgid "<emph>item</emph>: Any value, including an array, a Basic object, a UNO object, a dictionary, etc."
+msgstr ""
+
+#. aNDWv
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id1001610391308765\n"
+"help.text"
+msgid "Every key must be unique in the same dictionary. If the key already exists in the dictionary, a <literal>DUPLICATEKEYERROR</literal> will be raised. Keys that are made of space characters will raise a <literal>INVALIDKEYERROR</literal> error."
+msgstr ""
+
+#. FDWkm
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id81582888424104\n"
+"help.text"
+msgid "Stores the contents of the dictionary in a two-columns zero-based array. The keys are stored in the first column and the items are stored in the second column."
+msgstr ""
+
+#. FdwcF
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id341610391565678\n"
+"help.text"
+msgid "If the dictionary is empty, this method will return an empty <literal>Array</literal>."
+msgstr ""
+
+#. MnEGs
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id831601296836981\n"
+"help.text"
+msgid "Converts the contents of a dictionary to <link href=\"https://en.wikipedia.org/wiki/JSON\" name=\"JSON text\">JSON (JavaScript Object Notation)</link> text."
+msgstr ""
+
+#. nAZ9s
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"hd_id261601297024828\n"
+"help.text"
+msgid "Limitations"
+msgstr ""
+
+#. DDmVt
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id401601297178073\n"
+"help.text"
+msgid "This method supports the following data types: <literal>String</literal>, <literal>Boolean</literal>, numbers, <literal>Null</literal> and <literal>Empty</literal>. Arrays containing items of those types are also allowed, whatever their dimensions. Dates are converted into strings, however they cannot be used inside Arrays. Other data types are converted to their string representation using the <literal>SF_String.Represent</literal> service."
+msgstr ""
+
+#. stuTQ
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id8816012968362\n"
+"help.text"
+msgid "<emph>indent</emph>: When <literal>indent</literal> is a positive number or a text, JSON array elements and object members are pretty-printed with that indentation level. A negative <literal>indent</literal> value will add new lines with no indentation. The default value is an empty string \"\" which selects the most compact representation. Using a positive integer for <literal>indent</literal> indents that many spaces per level. When <literal>indent</literal> is a string, such as <literal>Chr(9)</literal> or <literal>Tab(1)</literal>, the Tab character is used to indent each level."
+msgstr ""
+
+#. sQuKi
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id151582889470596\n"
+"help.text"
+msgid "Stores the contents of the dictionary into an array of <literal>PropertyValues</literal>."
+msgstr ""
+
+#. rTa2V
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id231610392665049\n"
+"help.text"
+msgid "Each entry in the array is a <literal>com.sun.star.beans.PropertyValue</literal>. The key is stored in <literal>Name</literal>, the item is stored in <literal>Value</literal>."
+msgstr ""
+
+#. 5MnFS
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id341610392705367\n"
+"help.text"
+msgid "If one of the items has a type <literal>Date</literal>, it is converted to a <literal>com.sun.star.util.DateTime</literal> structure. If one of the items is an empty array, it is converted to <literal>Null</literal>. The resulting array is empty when the dictionary is empty."
+msgstr ""
+
+#. EU4BC
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"bas_id531610393130289\n"
+"help.text"
+msgid "'Adds some properties to the dictionary"
+msgstr ""
+
+#. dEAPF
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"bas_id571610393137959\n"
+"help.text"
+msgid "'Converts to an Array of PropertyValue objects"
+msgstr ""
+
+#. XCGFp
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id771626700938786\n"
+"help.text"
+msgid "Note in the example below that a Python dictionary needs to be passed as the second argument of the <literal>CreateScriptService</literal> method."
+msgstr ""
+
+#. oZEpN
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id421610393306916\n"
+"help.text"
+msgid "Many services and methods in the UNO library take in parameters represented using the <literal>PropertyValue</literal> struct, which is part of the %PRODUCTNAME API."
+msgstr ""
+
+#. 3afLF
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id841582889812916\n"
+"help.text"
+msgid "Determines if a key exists in the dictionary."
+msgstr ""
+
+#. RgUSD
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id971582889812917\n"
+"help.text"
+msgid "<emph>key</emph>: The key to be looked up in the dictionary."
+msgstr ""
+
+#. UAkEx
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"bas_id811606485130666\n"
+"help.text"
+msgid "'Adds some properties to the dictionary"
+msgstr ""
+
+#. JBBVt
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id791601391980978\n"
+"help.text"
+msgid "Adds the content of a <link href=\"https://en.wikipedia.org/wiki/JSON\" name=\"JSON text\">JSON (JavaScript Object Notation)</link> string into the current dictionary. Returns <literal>True</literal> if successful."
+msgstr ""
+
+#. NtQCD
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"hd_id961601392113644\n"
+"help.text"
+msgid "Limitations"
+msgstr ""
+
+#. dGRph
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id481601392181131\n"
+"help.text"
+msgid "The JSON string may contain numbers, text, booleans, null values and arrays containing those types. It must not contain JSON objects namely sub-dictionaries."
+msgstr ""
+
+#. LyxQD
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id511601392205908\n"
+"help.text"
+msgid "An attempt is made to convert text to date if the item matches one of these patterns: YYYY-MM-DD, HH:MM:SS or YYYY-MM-DD HH:MM:SS."
+msgstr ""
+
+#. 5cknM
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id69160139198061\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to import."
+msgstr ""
+
+#. GDAGm
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id201601391980268\n"
+"help.text"
+msgid "<emph>overwrite</emph>: When <literal>True</literal>, entries with same name may exist in the dictionary and their values are overwritten. When <literal>False</literal> (default), repeated keys will raise an error. Beware that dictionary keys are not case-sensitive while names are case-sensitive in JSON strings."
+msgstr ""
+
+#. aBFC5
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"bas_id521601393254694\n"
+"help.text"
+msgid "'The (sub)-dictionaries \"address\" and \"phoneNumbers\" (0) and (1) are imported as Empty values."
+msgstr ""
+
+#. 9j5u2
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id651588941968228\n"
+"help.text"
+msgid "Inserts the contents of an array of <literal>PropertyValue</literal> objects into the current dictionary. <literal>PropertyValue</literal> Names are used as Keys in the dictionary, whereas Values contain the corresponding values. Returns <literal>True</literal> if successful."
+msgstr ""
+
+#. BQybf
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id751588941968522\n"
+"help.text"
+msgid "<emph>propertyvalues</emph>: A zero-based 1-dimensional array containing <literal>com.sun.star.beans.PropertyValue</literal> objects. This parameter may also be a single <literal>PropertyValue</literal> object not contained in an Array."
+msgstr ""
+
+#. g5bHm
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id21588941968131\n"
+"help.text"
+msgid "<emph>overwrite</emph>: When <literal>True</literal>, entries with same name may exist in the dictionary and their values are overwritten. When <literal>False</literal> (default), repeated keys will raise an error. Note that dictionary keys are not case-sensitive in Basic, whereas names are case-sensitive in sets of property values and in Python dictionaries."
+msgstr ""
+
+#. GKtsH
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id641626703615898\n"
+"help.text"
+msgid "The examples below first create an array with two <literal>PropertyValue</literal> objects and then convert it to a dictionary."
+msgstr ""
+
+#. 3rJRP
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id891582890366737\n"
+"help.text"
+msgid "Retrieves an existing dictionary entry based on its key. Returns the value of the item if successful, otherwise returns <literal>Empty</literal>."
+msgstr ""
+
+#. MV7Wq
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id551582890399669\n"
+"help.text"
+msgid "<emph>key</emph>: Not case-sensitive. If it does not exist, <literal>Empty</literal> value is returned."
+msgstr ""
+
+#. rGqyT
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id181610395933967\n"
+"help.text"
+msgid "The following example iterates over all keys in the dictionary and uses the <literal>Item</literal> method to access their values."
+msgstr ""
+
+#. QJTte
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id891582890388737\n"
+"help.text"
+msgid "Removes an existing dictionary entry based on its key. Returns <literal>True</literal> if successful."
+msgstr ""
+
+#. EhVL2
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id551582890366999\n"
+"help.text"
+msgid "<emph>key</emph>: Not case-sensitive. Must exist in the dictionary, otherwise an <literal>UNKNOWNKEYERROR</literal> error is raised."
+msgstr ""
+
+#. GyK3j
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id921582896275624\n"
+"help.text"
+msgid "Removes all the entries from the dictionary. Returns <literal>True</literal> if successful."
+msgstr ""
+
+#. GSzP5
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id281582895615444\n"
+"help.text"
+msgid "Replaces an existing item value based on its key. Returns <literal>True</literal> if successful."
+msgstr ""
+
+#. w4w9A
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id991582895615535\n"
+"help.text"
+msgid "<emph>key</emph>: String value representing the key whose value will be replaced. Not case-sensitive. If the key does not exist in the dictionary, an <literal>UNKNOWNKEYERROR</literal> error is raised."
+msgstr ""
+
+#. FA4hz
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id721582895615186\n"
+"help.text"
+msgid "<emph>value</emph>: The new value of the item referred to with the <literal>key</literal> parameter."
+msgstr ""
+
+#. Y46D4
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id571582896597766\n"
+"help.text"
+msgid "Replaces an existing key in the dictionary by a new key. The item value is left unchanged. Returns <literal>True</literal> if successful."
+msgstr ""
+
+#. jKp7C
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id911582896597619\n"
+"help.text"
+msgid "<emph>key</emph>: String value representing the key to be replaced. Not case-sensitive. If the key does not exist in the dictionary, a <literal>UNKNOWNKEYERROR</literal> error is raised."
+msgstr ""
+
+#. Dku2D
+#: sf_dictionary.xhp
+msgctxt ""
+"sf_dictionary.xhp\n"
+"par_id531582896597989\n"
+"help.text"
+msgid "<emph>value</emph>: String value for the new key. Not case-sensitive. If the new key already exists in the dictionary, an <literal>DUPLICATEKEYERROR</literal> error is raised."
+msgstr ""
+
+#. jasej
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"tit\n"
+"help.text"
+msgid "SFDocuments.Document service"
+msgstr ""
+
+#. KmD7j
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"hd_id731582733781114\n"
+"help.text"
+msgid "<variable id=\"DocumentService\"><link href=\"text/sbasic/shared/03/sf_document.xhp\" name=\"Exception service\"><literal>SFDocuments</literal>.<literal>Document</literal> service</link></variable>"
+msgstr ""
+
+#. VTWbF
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id381589189355849\n"
+"help.text"
+msgid "The <literal>SFDocuments</literal> library provides methods and properties to facilitate the management and manipulation of %PRODUCTNAME documents."
+msgstr ""
+
+#. urZhL
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id591589189364267\n"
+"help.text"
+msgid "Methods that are applicable for all types of documents (Text Documents, Sheets, Presentations, etc) are provided by the <literal>SFDocuments.Document</literal> service. Some examples are:"
+msgstr ""
+
+#. VgG69
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id891589189452545\n"
+"help.text"
+msgid "Opening, closing and saving documents"
+msgstr ""
+
+#. XfHGF
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id811589189463041\n"
+"help.text"
+msgid "Accessing standard or custom properties of documents"
+msgstr ""
+
+#. C6JgF
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id301611085807704\n"
+"help.text"
+msgid "The properties, methods or arguments marked with <emph>(*)</emph> are <emph>NOT applicable to Base documents</emph>."
+msgstr ""
+
+#. rh5iz
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id241589189701274\n"
+"help.text"
+msgid "Methods and properties that are specific to certain %PRODUCTNAME components are stored in separate services, such as <literal>SFDocuments.SF_Calc</literal> and <literal>SFDocuments.SF_Base</literal>."
+msgstr ""
+
+#. Fdi8i
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id641611090052376\n"
+"help.text"
+msgid "Although the Basic language does not offer inheritance between object classes, the latter services may be considered as subclasses of the <literal>SFDocuments.Document</literal> service. Such subclasses can invoke the properties and methods described below."
+msgstr ""
+
+#. YMWaA
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"hd_id581582885621841\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. XVADJ
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>Document</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. X6BV3
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id581611090387382\n"
+"help.text"
+msgid "Below are three variants of how the <literal>Document</literal> service can be invoked."
+msgstr ""
+
+#. o39cT
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id181622816732197\n"
+"help.text"
+msgid "Using the <literal>getDocument</literal> method from the <literal>ScriptForge</literal>.<literal>UI</literal> service:"
+msgstr ""
+
+#. 6AZF9
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id181622818236233\n"
+"help.text"
+msgid "Alternatively you can use the methods <literal>CreateDocument</literal> and <literal>OpenDocument</literal> from the <literal>UI</literal> service."
+msgstr ""
+
+#. kv6B9
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id691622816765571\n"
+"help.text"
+msgid "Directly if the document is already open."
+msgstr ""
+
+#. yFDEW
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id821622816825012\n"
+"help.text"
+msgid "From a macro triggered by a document event."
+msgstr ""
+
+#. FxfW2
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id831622816562430\n"
+"help.text"
+msgid "The <literal>Document</literal> service is closely related to the <literal>UI</literal> and <literal>FileSystem</literal> services."
+msgstr ""
+
+#. QF9FG
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id891582733781994\n"
+"help.text"
+msgid "Except when the document was closed by program with the CloseDocument method (it is then superfluous), it is recommended to free resources after use:"
+msgstr ""
+
+#. LyvNw
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id71611090922315\n"
+"help.text"
+msgid "The use of the prefix \"<literal>SFDocuments.</literal>\" while calling the service is optional."
+msgstr ""
+
+#. z3oxC
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"hd_id351582885195476\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. 6NTY6
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id41582885195836\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. wUbi9
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id31582885195372\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. NfJEr
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id31582885195238\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. QZzvi
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id931582885195131\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. wBpru
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id861582885655779\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. QEZC4
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id581582885655885\n"
+"help.text"
+msgid "Returns a <literal>ScriptForge.Dictionary</literal> object instance. After update, can be passed again to the property for updating the document.<br/>Individual items of the dictionary may be either strings, numbers, (Basic) dates or <link href=\"https://api.libreoffice.org/docs/idl/ref/structcom_1_1sun_1_1star_1_1util_1_1Duration.html\" name=\"Duration API\"><literal>com.sun.star.util.Duration</literal></link> items."
+msgstr ""
+
+#. DktDb
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id441582886030118\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. DNFGz
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id471582886030489\n"
+"help.text"
+msgid "Gives access to the Description property of the document (also known as \"Comments\")"
+msgstr ""
+
+#. wMzx8
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id971582886791838\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. Mm6E5
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id16158288679167\n"
+"help.text"
+msgid "Returns a <literal>ScriptForge.Dictionary</literal> object containing all the entries. Document statistics are included. Note that they are specific to the type of document. As an example, a Calc document includes a \"CellCount\" entry. Other documents do not."
+msgstr ""
+
+#. Ew7vi
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id201589194571955\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. Aw2Tv
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id941589194571801\n"
+"help.text"
+msgid "String value with the document type (\"Base\", \"Calc\", \"Writer\", etc)"
+msgstr ""
+
+#. UcEJi
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id201589194571699\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. EZzPF
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id941589194571327\n"
+"help.text"
+msgid "Returns a list with the export filter names applicable to the current document as a zero-based array of strings. Filters used for both import/export are also returned."
+msgstr ""
+
+#. 7vqDq
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id201589194571067\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. UmCHS
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id941589194571922\n"
+"help.text"
+msgid "Returns a list with the import filter names applicable to the current document as a zero-based array of strings. Filters used for both import/export are also returned."
+msgstr ""
+
+#. Yo8T4
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id761589194633950\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. pSbRu
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id611589194633853\n"
+"help.text"
+msgid "Exactly one of these properties is <literal>True</literal> for a given document."
+msgstr ""
+
+#. oKQWB
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id231589194910179\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. CDTBC
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id311589194910190\n"
+"help.text"
+msgid "Gives access to the Keywords property of the document. Represented as a comma-separated list of keywords"
+msgstr ""
+
+#. EHM84
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id921589638614972\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. JGTQz
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id801589638614518\n"
+"help.text"
+msgid "<literal>True</literal> if the document is actually in read-only mode"
+msgstr ""
+
+#. zK55N
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id201589195028733\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 99ZxC
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id371589195028843\n"
+"help.text"
+msgid "Gives access to the Subject property of the document."
+msgstr ""
+
+#. dH6ct
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id451589195028910\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. TCiBh
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id771589195028748\n"
+"help.text"
+msgid "Gives access to the Title property of the document."
+msgstr ""
+
+#. SwDBh
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id221582885195686\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. PRmJE
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id371582885195525\n"
+"help.text"
+msgid "UNO Object"
+msgstr ""
+
+#. 9TNH3
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id881582885195976\n"
+"help.text"
+msgid "The UNO object <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1lang_1_1XComponent.html\" name=\"XComponent API\"><literal>com.sun.star.lang.XComponent</literal></link> or <link href=\"https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1sdb_1_1OfficeDatabaseDocument.html\" name=\"ODatabaseDocument API\"><literal>com.sun.star.comp.dba.ODatabaseDocument</literal></link> representing the document"
+msgstr ""
+
+#. coFyk
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id861611146581334\n"
+"help.text"
+msgid "The example below prints all the properties of a document. Note that the <literal>oDoc</literal> object returned by the <literal>UI.OpenDocument</literal> method is a <literal>SFDocuments.Document</literal> object."
+msgstr ""
+
+#. eqL5J
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id571622826920742\n"
+"help.text"
+msgid "To access document properties in a Python script the user needs to directly access them using their names, as shown below:"
+msgstr ""
+
+#. wmiy9
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id651606319520519\n"
+"help.text"
+msgid "List of Methods in the Document Service"
+msgstr ""
+
+#. UVWQb
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id93158919969864\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the document could be activated. Otherwise, there is no change in the actual user interface. It is equivalent to the <literal>Activate</literal> method of the <literal>UI</literal> service."
+msgstr ""
+
+#. qcuXA
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id421611148353046\n"
+"help.text"
+msgid "This method is useful when one needs to give focus for a document that is minimized or hidden."
+msgstr ""
+
+#. vFzrg
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id601611148017930\n"
+"help.text"
+msgid "The example below considers that the file \"My_File.ods\" is already open but not active."
+msgstr ""
+
+#. zGRcs
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id601611148080503\n"
+"help.text"
+msgid "Keep in mind that you can invoke the <literal>Document</literal> service by passing to <literal>CreateScriptService</literal> either \"Document\" or \"SFDocuments.Document\""
+msgstr ""
+
+#. rB7Ab
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id651589200121138\n"
+"help.text"
+msgid "Closes the document. If the document is already closed, regardless of how the document was closed, this method has no effect and returns <literal>False</literal>."
+msgstr ""
+
+#. 64F7E
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id341611149562894\n"
+"help.text"
+msgid "The method will also return <literal>False</literal> if the user declines to close it."
+msgstr ""
+
+#. AGBjg
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id981611149616934\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the document was successfully closed."
+msgstr ""
+
+#. Wt7L9
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id361589200121646\n"
+"help.text"
+msgid "<emph>saveask</emph> : If <literal>True</literal> (default), the user is invited to confirm if the changes should be written on disk. This argument is ignored if the document was not modified."
+msgstr ""
+
+#. RhAbC
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id651589200121080\n"
+"help.text"
+msgid "Creates a new menu entry in the menubar of a given document window."
+msgstr ""
+
+#. A7owo
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id981611149616155\n"
+"help.text"
+msgid "This method returns an instance of the <link href=\"text/sbasic/shared/03/sf_menu.xhp\" name=\"Menu_link1\"><input>SFWidgets.Menu</input></link> service."
+msgstr ""
+
+#. GKeq5
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id721643121487974\n"
+"help.text"
+msgid "The menu created is only available during the current %PRODUCTNAME session and is not saved neither in the document nor in the global application settings. Hence closing the document window will make the menu disappear. It will only reappear when the macro that creates the menu is executed again."
+msgstr ""
+
+#. szVYB
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id361589200120316\n"
+"help.text"
+msgid "<emph>menuheader</emph>: The toplevel name of the new menu."
+msgstr ""
+
+#. iCSZE
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id361589200129686\n"
+"help.text"
+msgid "<emph>before</emph>: The name (as a string) or position (as an integer starting at 1) of an existing menu before which the new menu will be placed. If no value is defined for this argument, the menu will be created at the last position in the menubar."
+msgstr ""
+
+#. LX4b9
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id361589200122507\n"
+"help.text"
+msgid "<emph>submenuchar</emph>: The delimiter used to create menu trees when calling methods as <literal>AddItem</literal> from the <literal>Menu</literal> service. The default value is \">\"."
+msgstr ""
+
+#. FhwFZ
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"bas_id751622827903865\n"
+"help.text"
+msgid "Set oMenu = oDoc.CreateMenu(\"My Menu\")"
+msgstr ""
+
+#. iDefE
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"bas_id391643120224507\n"
+"help.text"
+msgid "' Add items to the menu"
+msgstr ""
+
+#. t4cXb
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"bas_id100164312025160\n"
+"help.text"
+msgid "' After creating the menu, the service instance can be disposed of"
+msgstr ""
+
+#. WuNHU
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"pyc_id221622827943208\n"
+"help.text"
+msgid "menu = doc.CreateMenu(\"My Menu\")"
+msgstr ""
+
+#. Jx4RF
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id271643139068194\n"
+"help.text"
+msgid "Refer to the <link href=\"text/sbasic/shared/03/sf_menu.xhp\" name=\"Menu_link2\"><input>SFWidgets.Menu</input></link> help page to learn more about how to create/remove menus in %PRODUCTNAME document windows."
+msgstr ""
+
+#. CGKZA
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id156589200123048\n"
+"help.text"
+msgid "Exports the document directly as a PDF file to the specified location. Returns <literal>True</literal> if the PDF file was successfully created."
+msgstr ""
+
+#. PBk4E
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id811638276067119\n"
+"help.text"
+msgid "The export options can be set either manually using the <menuitem>File - Export As - Export as PDF</menuitem> dialog or by calling the methods <literal>GetPDFExportOptions</literal> and <literal>SetPDFExportOptions</literal> from the <link href=\"text/sbasic/shared/03/sf_session.xhp\" name=\"SFSession\">Session</link> service."
+msgstr ""
+
+#. SFwEd
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id211635436910641\n"
+"help.text"
+msgid "<emph>filename</emph>: The full path and file name of the PDF to be created. It must follow the <literal>SF_FileSystem.FileNaming</literal> notation."
+msgstr ""
+
+#. E6KyY
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id141635436912005\n"
+"help.text"
+msgid "<emph>overwrite</emph>: Specifies if the destination file can be overwritten (Default = <literal>False</literal>). An error will occur if <literal>overwrite</literal> is set to <literal>False</literal> and the destination file already exists."
+msgstr ""
+
+#. d9RRn
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id141635436913587\n"
+"help.text"
+msgid "<emph>pages</emph><emph/>: String specifying which pages will be exported. This argument uses the same notation as in the dialog <menuitem>File - Export As - Export as PDF</menuitem>."
+msgstr ""
+
+#. kBDPk
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id141635436919655\n"
+"help.text"
+msgid "<emph>password</emph><emph/>: Specifies a password to open the PDF file."
+msgstr ""
+
+#. joeXi
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id141635436913365\n"
+"help.text"
+msgid "<emph>watermark</emph>: Text to be used as watermark in the PDF file, which will be drawn in every page of the resulting PDF."
+msgstr ""
+
+#. NmChF
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id301638234284727\n"
+"help.text"
+msgid "The following example exports the current document as a PDF file, defines a password and overwrites the destination file if it already exists."
+msgstr ""
+
+#. wEW7B
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id311638276257020\n"
+"help.text"
+msgid "The code snippet below gets the current PDF export options and uses them to create the PDF file."
+msgstr ""
+
+#. 7uUWr
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"bas_id851638277174798\n"
+"help.text"
+msgid "' Sets to True the option to export comments as PDF notes"
+msgstr ""
+
+#. HNC9m
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id156589200121138\n"
+"help.text"
+msgid "This method sends the contents of the document to the default printer or to the printer defined by the <literal>SetPrinter</literal> method."
+msgstr ""
+
+#. CJxTR
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id981611169416934\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the document was successfully printed."
+msgstr ""
+
+#. uQMeV
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id211635436910093\n"
+"help.text"
+msgid "<emph>pages</emph>: The pages to print as a string, like in the user interface. Example: \"1-4;10;15-18\". Default is all pages."
+msgstr ""
+
+#. EHtFi
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id141635436912146\n"
+"help.text"
+msgid "<emph>copies</emph>: The number of copies. Default is 1."
+msgstr ""
+
+#. VDMiZ
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id651589200165470\n"
+"help.text"
+msgid "Removes a toplevel menu from the menubar of a given document window."
+msgstr ""
+
+#. wfDbr
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id981611149610695\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the specified menu could be removed. If the specified menu does not exist, the method returns <literal>False</literal>."
+msgstr ""
+
+#. eNVDJ
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id571643121106014\n"
+"help.text"
+msgid "This method can be used to remove any menu entry from the document window, including default menus. However, none of these changes in the menubar are saved to the document or to the application settings. To restore the menubar to the default settings, simply close and reopen the document window."
+msgstr ""
+
+#. E6ahL
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id361589200121156\n"
+"help.text"
+msgid "<emph>menuheader</emph>: The toplevel name of the menu to be removed."
+msgstr ""
+
+#. yRoDW
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"bas_id391643120223147\n"
+"help.text"
+msgid "oDoc.RemoveMenu(\"My Menu\")"
+msgstr ""
+
+#. BnmiF
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"pyc_id221622827946338\n"
+"help.text"
+msgid "doc.RemoveMenu(\"My Menu\")"
+msgstr ""
+
+#. Ab7PE
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id991589202413257\n"
+"help.text"
+msgid "Runs a UNO command on the document window associated with the service instance. A few typical commands are: Save, SaveAs, ExportToPDF, Undo, Copy, Paste, etc."
+msgstr ""
+
+#. qBhYc
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id261589202778896\n"
+"help.text"
+msgid "The document itself does not need to be active to be able to run commands."
+msgstr ""
+
+#. 9FuBU
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id921611152932311\n"
+"help.text"
+msgid "Commands can be run with or without arguments. Arguments are not validated before running the command. If the command or its arguments are invalid, then nothing will happen."
+msgstr ""
+
+#. w62Bk
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id31644182402479\n"
+"help.text"
+msgid "For a complete list of UNO commands that can be run in %PRODUCTNAME, refer to the Wiki page <link href=\"https://wiki.documentfoundation.org/Development/DispatchCommands\" name=\"Commands_Wiki\">Development/DispatchCommands</link>."
+msgstr ""
+
+#. HBVsV
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id401589202413575\n"
+"help.text"
+msgid "<emph>command</emph>: Case-sensitive string containing the UNO command name. The inclusion of the prefix \".uno:\" in the command is optional. The command itself is not checked for correctness. If nothing happens after the command call, then the command is probably wrong."
+msgstr ""
+
+#. xi32t
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id521644182774710\n"
+"help.text"
+msgid "<emph>args</emph>: For each argument to be passed to the command, specify a pair containing the argument name and value."
+msgstr ""
+
+#. MqEx7
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id721611153068137\n"
+"help.text"
+msgid "The following example runs the <literal>SelectData</literal> command in a Calc file named \"MyFile.ods\", which will result in the selection of the data area based on the currently selected cell. Note that this command does not require any arguments."
+msgstr ""
+
+#. GGDgF
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id371644184276886\n"
+"help.text"
+msgid "Below is an example that runs the UNO command <literal>ReplaceAll</literal> and passes values for its arguments <literal>SearchString</literal> and <literal>ReplaceString</literal>. Running this command will replace all occurrence of the string \"abc\" by \"ABC\" in the current sheet."
+msgstr ""
+
+#. Z4Egf
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"bas_id631644184414955\n"
+"help.text"
+msgid "' Arguments passed to the command:"
+msgstr ""
+
+#. H5eQ9
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id41644184549167\n"
+"help.text"
+msgid "Note that calling the command <literal>ReplaceAll</literal> without arguments will open the <menuitem>Find and Replace</menuitem> dialog."
+msgstr ""
+
+#. Cp7Wk
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id811644243228448\n"
+"help.text"
+msgid "In Python it is also possible to call <literal>RunCommand</literal> using keyword arguments:"
+msgstr ""
+
+#. m9AyA
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id191611153511038\n"
+"help.text"
+msgid "Each %PRODUCTNAME component has its own set of commands available. One easy way to learn commands is going to <emph>Tools - Customize - Keyboard</emph>. When you position your mouse over a function in the <emph>Function</emph> list, a tooltip will appear with the corresponding UNO command."
+msgstr ""
+
+#. enSv9
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id81589202925519\n"
+"help.text"
+msgid "Stores the document to the file location from which it was loaded. The method is ignored if the document was not modified."
+msgstr ""
+
+#. sFUcr
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id731611153918907\n"
+"help.text"
+msgid "Returns <literal>False</literal> if the document could not be saved. An error is raised if the file is open as read-only, or if it is a new file that has not been saved yet."
+msgstr ""
+
+#. Ys5oF
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id211589203690937\n"
+"help.text"
+msgid "The document itself does not need to be active to run this method."
+msgstr ""
+
+#. 75K92
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id121589203370778\n"
+"help.text"
+msgid "Stores the document to the given file location. The new location becomes the new file name on which simple Save method calls will be applied."
+msgstr ""
+
+#. R8D2A
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id31611154475602\n"
+"help.text"
+msgid "Returns <literal>False</literal> if the document could not be saved. An error is raised when overwriting the destination is rejected or when the destination has its read-only attribute set."
+msgstr ""
+
+#. GAAfy
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id391589203370902\n"
+"help.text"
+msgid "The document itself does not need to be active to run this method."
+msgstr ""
+
+#. 7tX6c
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id331589203370950\n"
+"help.text"
+msgid "<emph>filename</emph>: A string containing the file name to be used. It must follow the <literal>SF_FileSystem.FileNaming</literal> notation."
+msgstr ""
+
+#. niFkh
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id631589204010142\n"
+"help.text"
+msgid "<emph>overwrite</emph>: If <literal>True</literal>, the destination file may be overwritten (default = <literal>False</literal>)."
+msgstr ""
+
+#. snX8q
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id811589204084107\n"
+"help.text"
+msgid "<emph>password</emph> (*): A non-space string to protect the document."
+msgstr ""
+
+#. g3wDy
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id451589204163772\n"
+"help.text"
+msgid "<emph>filtername</emph> (*): The name of a filter that should be used for saving the document. If this argument is passed, then the filter must exist."
+msgstr ""
+
+#. qZaAJ
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id981589204207800\n"
+"help.text"
+msgid "<emph>filteroptions</emph> (*): An optional string of options associated with the filter."
+msgstr ""
+
+#. FJywB
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id911589205147502\n"
+"help.text"
+msgid "Stores a copy of or export the document to the given file location. The actual location is unchanged."
+msgstr ""
+
+#. ovvew
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id381611154800685\n"
+"help.text"
+msgid "Returns <literal>False</literal> if the document could not be saved. An error is raised when overwriting the destination is rejected or when the destination has its read-only attribute set."
+msgstr ""
+
+#. BFKFn
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id11589205147643\n"
+"help.text"
+msgid "The document itself does not need to be active to run this method."
+msgstr ""
+
+#. FAjhF
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id301589205147697\n"
+"help.text"
+msgid "<emph>filename</emph>: A string containing the file name to be used. It must follow the <literal>SF_FileSystem.FileNaming</literal> notation."
+msgstr ""
+
+#. zr6Rx
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id851589205147348\n"
+"help.text"
+msgid "<emph>overwrite</emph>: If <literal>True</literal>, the destination file may be overwritten (default = <literal>False</literal>)."
+msgstr ""
+
+#. k2uRD
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id821589205147330\n"
+"help.text"
+msgid "<emph>password</emph> (*): A non-space string to protect the document."
+msgstr ""
+
+#. eyrsV
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id67158920514729\n"
+"help.text"
+msgid "<emph>filtername</emph> (*): The name of a filter that should be used for saving the document. If this argument is passed, then the filter must exist."
+msgstr ""
+
+#. vA4NU
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id881589205147911\n"
+"help.text"
+msgid "<emph>filteroptions</emph> (*): An optional string of options associated with the filter."
+msgstr ""
+
+#. 96EBt
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id911298505147502\n"
+"help.text"
+msgid "Defines the printer options for the document."
+msgstr ""
+
+#. zoaQX
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id381651114800685\n"
+"help.text"
+msgid "Returns <literal>True</literal> when successful."
+msgstr ""
+
+#. hGfVh
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id301589205741697\n"
+"help.text"
+msgid "<emph>printer</emph>: The name of the printer queue where to print to. When absent, the default printer is set."
+msgstr ""
+
+#. mRrfG
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id851985205147348\n"
+"help.text"
+msgid "<emph>orientation</emph>: Either <literal>PORTRAIT</literal> or <literal>LANDSCAPE</literal>. When absent, left unchanged with respect to the printer settings."
+msgstr ""
+
+#. ENyZH
+#: sf_document.xhp
+msgctxt ""
+"sf_document.xhp\n"
+"par_id821985205147330\n"
+"help.text"
+msgid "<emph>paperformat</emph>: Specifies the paper format as a string value that can be either <literal>A3</literal>, <literal>A4</literal>, <literal>A5</literal>, <literal>LETTER</literal>, <literal>LEGAL</literal> or <literal>TABLOID</literal>. Left unchanged when absent."
+msgstr ""
+
+#. WCH7E
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge.Exception service (SF_Exception)"
+msgstr ""
+
+#. ikEsF
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"hd_id521580038927003\n"
+"help.text"
+msgid "<variable id=\"ExceptionService\"><link href=\"text/sbasic/shared/03/sf_exception.xhp\" name=\"Exception service\"><literal>ScriptForge</literal>.<literal>Exception</literal> service</link></variable>"
+msgstr ""
+
+#. 4X7Xk
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id181587139648008\n"
+"help.text"
+msgid "The <literal>Exception</literal> service is a collection of methods to assist in code debugging in Basic and Python scripts and in error handling in Basic scripts."
+msgstr ""
+
+#. XeYa4
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id141587140927573\n"
+"help.text"
+msgid "In <emph>Basic scripts</emph>, when a run-time error occurs, the methods and properties of the <literal>Exception</literal> service help identify the error context and allow to handle it."
+msgstr ""
+
+#. ENY3v
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id401621450898070\n"
+"help.text"
+msgid "The <literal>SF_Exception</literal> service is similar to the <link href=\"text/sbasic/shared/ErrVBA.xhp\" name=\"VBA Err object\">VBA <literal>Err</literal> object</link>."
+msgstr ""
+
+#. vpB42
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id361621450908874\n"
+"help.text"
+msgid "The <literal>Number</literal> property identifies the error."
+msgstr ""
+
+#. TnWpD
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id861621450910254\n"
+"help.text"
+msgid "Use the <literal>Raise</literal> method to interrupt processing. The <literal>RaiseWarning</literal> method can be used to trap an anomaly without interrupting the macro execution."
+msgstr ""
+
+#. CpxKC
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id621587225732733\n"
+"help.text"
+msgid "Errors and warnings raised with the <literal>Exception</literal> service are stored in memory and can be retrieved using the <literal>Console</literal> method."
+msgstr ""
+
+#. CpBSQ
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id411587141146677\n"
+"help.text"
+msgid "The <literal>Exception</literal> service console stores events, variable values and information about errors. Use the console when the Basic IDE is not easily accessible, for example in <link href=\"text/scalc/guide/userdefined_function.xhp\" name=\"Calc user-defined function\">Calc user defined functions (UDF)</link> or during events processing."
+msgstr ""
+
+#. NrY9C
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id251621034725811\n"
+"help.text"
+msgid "Use the <literal>DebugPrint</literal> method to add any relevant information to the console. Console entries can be dumped to a text file or visualized in a dialog window."
+msgstr ""
+
+#. 9AW2i
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id111587141158495\n"
+"help.text"
+msgid "When an error occurs, an application macro may:"
+msgstr ""
+
+#. hxxxr
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id451587141202844\n"
+"help.text"
+msgid "Report the error in the <literal>Exception</literal> console"
+msgstr ""
+
+#. N9X2f
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id751587141235313\n"
+"help.text"
+msgid "Inform the user about the error using either a standard message or a custom message"
+msgstr ""
+
+#. C3NMD
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id931587141260777\n"
+"help.text"
+msgid "Optionally stop its execution"
+msgstr ""
+
+#. vFJRL
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id771621035263403\n"
+"help.text"
+msgid "In <emph>Python scripts</emph> the <literal>Exception</literal> service is mostly used for debugging purposes. Methods such as <literal>DebugPrint</literal>, <literal>Console</literal> and <literal>DebugDisplay</literal> are useful to quickly print messages, log data and open the console window from within a Python script."
+msgstr ""
+
+#. VAaLU
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id211621035276160\n"
+"help.text"
+msgid "Not all methods and properties are available for Python scripts since the Python language already has a comprehensive exception handling system."
+msgstr ""
+
+#. yQzKr
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"hd_id201586594659135\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. T8o7G
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id161610652161795\n"
+"help.text"
+msgid "The following examples show three different approaches to call the method <literal>Raise</literal>. All other methods can be executed in a similar fashion."
+msgstr ""
+
+#. tGmaZ
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id901621036227048\n"
+"help.text"
+msgid "The code snippet below creates an instance of the <literal>Exception</literal> service, logs a message and displays the <literal>Console</literal> window."
+msgstr ""
+
+#. HABsh
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"hd_id651584978211886\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. JDNi6
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id911621036526404\n"
+"help.text"
+msgid "The properties listed below are only available for <emph>Basic</emph> scripts."
+msgstr ""
+
+#. s3E9G
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id271584978211792\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. b96rE
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id241584978211550\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. TkMLa
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id621584978211403\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. tJZkJ
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id71584978715562\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. RyJkE
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id581584978715701\n"
+"help.text"
+msgid "The error message text."
+msgstr ""
+
+#. Wcy7s
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id241610652688334\n"
+"help.text"
+msgid "Default value is \"\" or a string containing the Basic run-time error message."
+msgstr ""
+
+#. BT7GF
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id211584978211383\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. AnFVG
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id691584978211774\n"
+"help.text"
+msgid "The code of the error. It can be a numeric value or text."
+msgstr ""
+
+#. dCADC
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id151610652632828\n"
+"help.text"
+msgid "Default value is 0 or the numeric value corresponding to the Basic run-time error code."
+msgstr ""
+
+#. uLE2Q
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id671584978666689\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. G3q2n
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id951584978666296\n"
+"help.text"
+msgid "The location in the code where the error occurred. It can be a numeric value or text."
+msgstr ""
+
+#. kBXGC
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id681610652723345\n"
+"help.text"
+msgid "Default value is 0 or the code line number for a standard Basic run-time error."
+msgstr ""
+
+#. mnFGS
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id461584978880380\n"
+"help.text"
+msgid "Raising or clearing an <literal>Exception</literal> resets its properties."
+msgstr ""
+
+#. ssXEB
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id881608131596153\n"
+"help.text"
+msgid "List of Methods in the Exception Service"
+msgstr ""
+
+#. CDgEM
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id271579683706571\n"
+"help.text"
+msgid "Resets the current error status and clears the <literal>SF_Exception</literal> properties."
+msgstr ""
+
+#. 7jFLi
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id701610654263121\n"
+"help.text"
+msgid "The following example shows how to catch a division-by-zero exception, whose error code is 11."
+msgstr ""
+
+#. JhADn
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"bas_id51587215508130\n"
+"help.text"
+msgid "'If division by zero, ignore the error"
+msgstr ""
+
+#. afnTr
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id201610654368082\n"
+"help.text"
+msgid "For a complete list of Basic run-time error codes, refer to <link href=\"text/sbasic/shared/01030300.xhp\" name=\"Run-Time Error Codes\">Debugging a Basic Program</link>."
+msgstr ""
+
+#. efEEX
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id651598718179382\n"
+"help.text"
+msgid "Displays the console messages in a modal or non-modal dialog. In both modes, all the past messages issued by a <literal>DebugPrint()</literal> method or resulting from an exception are displayed. In non-modal mode, subsequent entries are added automatically."
+msgstr ""
+
+#. KKgdp
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id161598718286205\n"
+"help.text"
+msgid "If the console is already open, when non-modal, it is brought to the front."
+msgstr ""
+
+#. ypzYc
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id801598718629151\n"
+"help.text"
+msgid "A modal console can only be closed by the user. A non-modal console can either be closed by the user or upon macro termination."
+msgstr ""
+
+#. HUgnb
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id511598718179819\n"
+"help.text"
+msgid "<emph>modal</emph>: Determine if the console window is modal (<literal>True</literal>) or non-modal (<literal>False</literal>). Default value is <literal>True</literal>."
+msgstr ""
+
+#. xu6FA
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id641587215098903\n"
+"help.text"
+msgid "Clears the console keeping an optional number of recent messages. If the console is activated in non-modal mode, it is refreshed."
+msgstr ""
+
+#. SE7ei
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id351587215098527\n"
+"help.text"
+msgid "<emph>keep</emph>: The number of recent messages to be kept. Default value is 0."
+msgstr ""
+
+#. GLEVv
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id521610655023824\n"
+"help.text"
+msgid "The following example clears the console keeping the 10 most recent messages."
+msgstr ""
+
+#. 4LD2d
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id281587218077400\n"
+"help.text"
+msgid "Exports the contents of the console to a text file. If the file already exists and the console is not empty, it will be overwritten without warning. Returns <literal>True</literal> if successful."
+msgstr ""
+
+#. HEXvU
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id851587218077862\n"
+"help.text"
+msgid "<emph>filename</emph>: The name of the text file the console should be dumped into. The name is expressed according to the current <literal>FileNaming</literal> property of the <literal>SF_FileSystem</literal> service. By default, <link href=\"text/sbasic/shared/00000002.xhp\" name=\"Url notation\">URL notation</link> and the native operating system's format are both admitted."
+msgstr ""
+
+#. F3tVM
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id701621043185177\n"
+"help.text"
+msgid "Concatenates all the arguments into a single human-readable string and displays it in a <literal>MsgBox</literal> with an Information icon and an OK button."
+msgstr ""
+
+#. KaGM6
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id791621097689492\n"
+"help.text"
+msgid "The final string is also added to the Console."
+msgstr ""
+
+#. QhRgF
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id481587218636884\n"
+"help.text"
+msgid "<emph>arg0[, arg1, ...]</emph>: Any number of arguments of any type."
+msgstr ""
+
+#. 2qser
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id281587218637490\n"
+"help.text"
+msgid "Assembles all the given arguments into a single human-readable string and adds it as a new entry in the console."
+msgstr ""
+
+#. mUSEP
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id481587218637988\n"
+"help.text"
+msgid "<emph>arg0[, arg1, ...]</emph>: Any number of arguments of any type."
+msgstr ""
+
+#. ZxYFC
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id111621624672183\n"
+"help.text"
+msgid "Displays the list of arguments in a readable form in the Python shell (APSO) console. Arguments are separated by a TAB character (simulated by spaces)."
+msgstr ""
+
+#. ujSFu
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id841621426229467\n"
+"help.text"
+msgid "The same string is added to the ScriptForge debug console."
+msgstr ""
+
+#. ixNfF
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id391126449167833\n"
+"help.text"
+msgid "<emph>arg0[, arg1, ...]</emph>: Any number of arguments of any type. The maximum length of each individual argument is 1024 characters."
+msgstr ""
+
+#. f5WaM
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id261123015276160\n"
+"help.text"
+msgid "In python use simply the builtin print() statement."
+msgstr ""
+
+#. CUoch
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id111621426672183\n"
+"help.text"
+msgid "Opens an APSO Python shell as a non-modal window. The Python script keeps running after the shell is opened. The output from <literal>print</literal> statements inside the script are shown in the shell."
+msgstr ""
+
+#. f9ZzM
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id841621426922467\n"
+"help.text"
+msgid "Only a single instance of the APSO Python shell can be opened at any time. Hence, if a Python shell is already open, then calling this method will have no effect."
+msgstr ""
+
+#. KGi8B
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id391621449167833\n"
+"help.text"
+msgid "<emph>variables</emph>: a Python dictionary with variable names and values that will be passed on to the APSO Python shell. By default all local variables are passed using Python's builtin <literal>locals()</literal> function."
+msgstr ""
+
+#. zT7Gq
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id991621449657850\n"
+"help.text"
+msgid "The example below opens the APSO Python shell passing all global and local variables considering the context where the script is running."
+msgstr ""
+
+#. yUoFK
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id521621449800348\n"
+"help.text"
+msgid "When the APSO Python shell is open, any subsequent output printed by the script will be shown in the shell. Hence, the string printed in the example below will be displayed in the Python shell."
+msgstr ""
+
+#. 5xNCX
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"pyc_id731621449899901\n"
+"help.text"
+msgid "print(\"Hello world!\")"
+msgstr ""
+
+#. aXDEK
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id541587219824771\n"
+"help.text"
+msgid "Generates a run-time error. An error message is displayed to the user and reported in the console. The execution is stopped. The <literal>Raise()</literal> method can be placed inside the normal script flow or in a dedicated error-handling routine."
+msgstr ""
+
+#. RuDTE
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id921587220542454\n"
+"help.text"
+msgid "The code snippets presented next are equivalent. They show alternative ways to raise an exception with code 2100."
+msgstr ""
+
+#. 6wEJq
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id851587219824597\n"
+"help.text"
+msgid "<emph>Number</emph>: The error code, as a number or as a string. Default value is that of <literal>Err</literal> Basic builtin function."
+msgstr ""
+
+#. 7zRRT
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id461587220986452\n"
+"help.text"
+msgid "<emph>Source</emph>: The location of the error, as a number or as a string. Default value is that of <literal>Erl</literal> Basic builtin function."
+msgstr ""
+
+#. fSwCd
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id721587221018162\n"
+"help.text"
+msgid "<emph>Description</emph>: The message to display to the user and to report in the console. Default value is that of <literal>Error$</literal> Basic builtin function."
+msgstr ""
+
+#. Kzh7r
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"bas_id211587222852310\n"
+"help.text"
+msgid "'See variants below ..."
+msgstr ""
+
+#. DV6VJ
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id111587222580987\n"
+"help.text"
+msgid "To raise an exception with the standard values:"
+msgstr ""
+
+#. SABN3
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id751587222598238\n"
+"help.text"
+msgid "To raise an exception with a specific code:"
+msgstr ""
+
+#. QXgCy
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id501587222607771\n"
+"help.text"
+msgid "To replace the usual message:"
+msgstr ""
+
+#. gdvqM
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"bas_id431587222670849\n"
+"help.text"
+msgid "SF_Exception.Raise(, , \"It is not a good idea to divide by zero.\")"
+msgstr ""
+
+#. TaFgn
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id611587222617174\n"
+"help.text"
+msgid "To raise an application error:"
+msgstr ""
+
+#. ifrWg
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"bas_id71587222694657\n"
+"help.text"
+msgid "SF_Exception.Raise(\"MyAppError\", \"Example_Raise()\", \"Something wrong happened !\")"
+msgstr ""
+
+#. LuTSJ
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id1001587224839900\n"
+"help.text"
+msgid "This method has exactly the same syntax, arguments and behavior as the <literal>Raise()</literal> method."
+msgstr ""
+
+#. AXEnW
+#: sf_exception.xhp
+msgctxt ""
+"sf_exception.xhp\n"
+"par_id761587224839624\n"
+"help.text"
+msgid "However, when a warning is raised, <emph>the macro execution is not stopped</emph>."
+msgstr ""
+
+#. QTGXf
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge.FileSystem service"
+msgstr ""
+
+#. Nkwib
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"bm_id781582391760253\n"
+"help.text"
+msgid "<variable id=\"FileSystemService\"><link href=\"text/sbasic/shared/03/sf_filesystem.xhp\" name=\"FileSystem service\"><literal>ScriptForge</literal>.<literal>FileSystem</literal> service</link></variable>"
+msgstr ""
+
+#. wXVQJ
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id931583589764919\n"
+"help.text"
+msgid "The <literal>FileSystem</literal> service includes routines to handle files and folders. Next are some examples of the features provided by this service:"
+msgstr ""
+
+#. NtXUq
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id121612917070593\n"
+"help.text"
+msgid "Verify whether a file or folder exists."
+msgstr ""
+
+#. gqggf
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id121612917070594\n"
+"help.text"
+msgid "Create and delete folders and files."
+msgstr ""
+
+#. FFUnD
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id121612917070595\n"
+"help.text"
+msgid "Launch dialog boxes to open/save files."
+msgstr ""
+
+#. bgECC
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id121612917070596\n"
+"help.text"
+msgid "Access the list of files in a folder, etc."
+msgstr ""
+
+#. J2NqD
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id121612917368946\n"
+"help.text"
+msgid "The methods in the FileSystem service are mostly based on the <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1ucb_1_1XSimpleFileAccess.html\" name=\"XSimpleFileAccess API\"><literal>XSimpleFileAccess</literal> UNO interface.</link>"
+msgstr ""
+
+#. wEqaV
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"hd_id961583589783025\n"
+"help.text"
+msgid "Definitions"
+msgstr ""
+
+#. bczfJ
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id821612988815351\n"
+"help.text"
+msgid "The table below lists the main parameters used by most of the methods in the <literal>FileSystem</literal> service."
+msgstr ""
+
+#. fV4jz
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id891612988600163\n"
+"help.text"
+msgid "Parameter"
+msgstr ""
+
+#. KdPjY
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id711612988600163\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. dEUyj
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id321612988600163\n"
+"help.text"
+msgid "The full name of the file including the path without a path separator at the end."
+msgstr ""
+
+#. Da76k
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id321612988600165\n"
+"help.text"
+msgid "The full name of the folder including the path. It may or may not contain the ending path separator."
+msgstr ""
+
+#. LwB6Z
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id321612988600167\n"
+"help.text"
+msgid "The last component of the <emph>Folder Name</emph> or <emph>File Name</emph> including its extension. This parameter is always expressed using the native format of the operating system."
+msgstr ""
+
+#. fjYSD
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id321612988600169\n"
+"help.text"
+msgid "The last component of the <emph>Folder Name</emph> or <emph>File Name</emph> without its extension."
+msgstr ""
+
+#. 57Aab
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id321612988600172\n"
+"help.text"
+msgid "Any of the above names containing wildcards in its last component. Admitted wildcards are:"
+msgstr ""
+
+#. arzQR
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id851583590809104\n"
+"help.text"
+msgid "\"?\" represents any single character"
+msgstr ""
+
+#. wG8Bw
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id161583590819320\n"
+"help.text"
+msgid "\"*\" represents zero, one, or multiple characters"
+msgstr ""
+
+#. BjZMB
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id911584540527980\n"
+"help.text"
+msgid "The <literal>FileSystem</literal> service allows to perform operations over multiple files at the same time. By using name patterns, user scripts can copy, move or delete multiple files. Conversely, Basic built-in methods can only handle single files."
+msgstr ""
+
+#. zNCtF
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"hd_id991612918109871\n"
+"help.text"
+msgid "File Naming Notation"
+msgstr ""
+
+#. ZfsFV
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id791612918141083\n"
+"help.text"
+msgid "The notation used to express file and folder names, both for arguments and returned values, is defined by the <literal>FileNaming</literal> property of the <literal>FileSystem</literal> service."
+msgstr ""
+
+#. KV9FF
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id951612918220255\n"
+"help.text"
+msgid "In short, the possible representation types are \"URL\" (URL file notation), \"SYS\" (operating system notation) and \"ANY\" (default). See more information <link href=\"text/sbasic/shared/03/sf_filesystem.xhp#properties\" name=\"Properties Table\">below</link>."
+msgstr ""
+
+#. L84BJ
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id861583589907100\n"
+"help.text"
+msgid "An example of the URL notation is <emph>file:///C:/Documents/my_file.odt</emph>. Whenever possible consider using the URL notation because it is a more portable alternative."
+msgstr ""
+
+#. QrDqQ
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id931626652451855\n"
+"help.text"
+msgid "The use of the shortcut \"~\" (tilde), which is common in Linux-based operating systems, is not supported to express a path to a folder and file name. Instead of using <emph>\"~/Documents/my_file.odt\"</emph> use the full path <emph>\"/home/user/Documents/my_file.odt\"</emph>."
+msgstr ""
+
+#. mao7x
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"hd_id581582885621841\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. Miw3e
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id691612990276070\n"
+"help.text"
+msgid "The following code snippet invokes the <literal>FileSystem</literal> service. The method <literal>BuildPath</literal> was used as an example."
+msgstr ""
+
+#. Gsznv
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"hd_id651583668365757\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. QFtWW
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id871583668386455\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. iXYjt
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id491583668386455\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. GC4Vu
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id271583668474014\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. FFkx3
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id401583668386455\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. CyEEJ
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id371583668519172\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. Gihmg
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id771583668386455\n"
+"help.text"
+msgid "Sets or returns the current files and folders notation, either \"ANY\", \"URL\" or \"SYS\":"
+msgstr ""
+
+#. QQGcp
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id881585396501844\n"
+"help.text"
+msgid "<emph>\"ANY\"</emph>: (default) the methods of the <literal>FileSystem</literal> service accept both URL and current operating system's notation for input arguments but always return URL strings."
+msgstr ""
+
+#. 6FA2G
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id261583669091722\n"
+"help.text"
+msgid "<emph>\"URL\"</emph>: the methods of the <literal>FileSystem</literal> service expect URL notation for input arguments and return URL strings."
+msgstr ""
+
+#. QxFC6
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id731583669120436\n"
+"help.text"
+msgid "<emph>\"SYS\"</emph>: the methods of the <literal>FileSystem</literal> service expect current operating system's notation for both input arguments and return strings."
+msgstr ""
+
+#. VBAzn
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id211583765169579\n"
+"help.text"
+msgid "Once set, the <literal>FileNaming</literal> property remains unchanged either until the end of the %PRODUCTNAME session or until it is set again."
+msgstr ""
+
+#. FayZT
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id541583839708548\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. ygE64
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id731583839708412\n"
+"help.text"
+msgid "Returns the configuration folder of %PRODUCTNAME."
+msgstr ""
+
+#. svPxn
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id761584027709516\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. gjTpP
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id971584027709752\n"
+"help.text"
+msgid "Returns the folder where extensions are installed."
+msgstr ""
+
+#. DTGEP
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id31583839767743\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. FP6D9
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id111583839767195\n"
+"help.text"
+msgid "Returns the user home folder."
+msgstr ""
+
+#. LUE79
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id771583839920487\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. dz5ju
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id451583839920858\n"
+"help.text"
+msgid "Returns the installation folder of %PRODUCTNAME."
+msgstr ""
+
+#. trBL7
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id571588333908716\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 3yNj2
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id721588333908708\n"
+"help.text"
+msgid "Returns the folder containing the system templates files."
+msgstr ""
+
+#. hDFSQ
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id501583774433513\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. e2ruR
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id71583774433459\n"
+"help.text"
+msgid "Returns the temporary files folder defined in the %PRODUCTNAME path settings."
+msgstr ""
+
+#. wjVgE
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id271588334016191\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. Ggnnt
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id251588334016874\n"
+"help.text"
+msgid "Returns the folder containing the user-defined template files."
+msgstr ""
+
+#. rpvtx
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id891611613601554\n"
+"help.text"
+msgid "List of Methods in the FileSystem Service"
+msgstr ""
+
+#. EgkPG
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id871583933076448\n"
+"help.text"
+msgid "Joins a folder path and the name of a file and returns the full file name with a valid path separator. The path separator is added only if necessary."
+msgstr ""
+
+#. 2pwBF
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id90158393307695\n"
+"help.text"
+msgid "<emph>foldername</emph>: The path with which <literal>name</literal> will be combined. The specified path does not need to be an existing folder."
+msgstr ""
+
+#. xFCWJ
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id891583933076975\n"
+"help.text"
+msgid "<emph>name</emph>: The name of the file to be appended to <literal>foldername</literal>. This parameter uses the notation of the current operating system."
+msgstr ""
+
+#. DwTpc
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id33160111891079\n"
+"help.text"
+msgid "Compares two files and returns <literal>True</literal> when they seem identical."
+msgstr ""
+
+#. 6A5Da
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id631601119001315\n"
+"help.text"
+msgid "Depending on the value of the <literal>comparecontents</literal> argument, the comparison between both files can be either based only on file attributes (such as the last modified date), or based on the file contents."
+msgstr ""
+
+#. MGA4A
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id481601118910755\n"
+"help.text"
+msgid "<emph>filename1, filename2</emph>: The files to compare."
+msgstr ""
+
+#. aKfwh
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id111601118910848\n"
+"help.text"
+msgid "<emph>comparecontents</emph>: When <literal>True</literal>, the contents of the files are compared (default = <literal>False</literal>)."
+msgstr ""
+
+#. EZNG5
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id161584541257982\n"
+"help.text"
+msgid "Copies one or more files from one location to another. Returns <literal>True</literal> if at least one file has been copied or <literal>False</literal> if an error occurred."
+msgstr ""
+
+#. xE9SU
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id401612998805699\n"
+"help.text"
+msgid "An error will also occur if the <literal>source</literal> parameter uses wildcard characters and does not match any files."
+msgstr ""
+
+#. AZCsn
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id331612998814805\n"
+"help.text"
+msgid "The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred."
+msgstr ""
+
+#. aVGzZ
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id1001584541257789\n"
+"help.text"
+msgid "<emph>source</emph>: It can be a <literal>FileName</literal> or a <literal>NamePattern</literal> indicating one or more files to be copied."
+msgstr ""
+
+#. ycEpt
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id111584542310166\n"
+"help.text"
+msgid "<emph>destination</emph>: It can be either a <literal>FileName</literal> specifying where the single <literal>source</literal> file is to be copied, or a <literal>FolderName</literal> into which the multiple files from <literal>source</literal> are to be copied."
+msgstr ""
+
+#. frwD2
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id491612999134752\n"
+"help.text"
+msgid "If <literal>destination</literal> does not exist, it is created."
+msgstr ""
+
+#. z3Tok
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id591612999166788\n"
+"help.text"
+msgid "Wildcard characters are not allowed in <literal>destination</literal>."
+msgstr ""
+
+#. zFyVX
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id251584542431558\n"
+"help.text"
+msgid "<emph>overwrite</emph>: If <literal>True</literal> (default), files may be overwritten. The method will fail if <literal>destination</literal> is readonly, regardless of the value specified in <literal>overwrite</literal>."
+msgstr ""
+
+#. uRMe8
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id691626216252568\n"
+"help.text"
+msgid "In the examples below the first line copies a single file whereas the second line copies multiple files using wildcards."
+msgstr ""
+
+#. GevfF
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id411626216328023\n"
+"help.text"
+msgid "Beware that subfolders and their contents are not copied when wildcards are used in the <emph>source</emph> argument."
+msgstr ""
+
+#. TdGi7
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id731584544734412\n"
+"help.text"
+msgid "Copies one or more folders from one location to another. Returns <literal>True</literal> if at least one folder has been copied or <literal>False</literal> if an error occurred."
+msgstr ""
+
+#. TSLCU
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id21612999775377\n"
+"help.text"
+msgid "An error will also occur if the <literal>source</literal> parameter uses wildcard characters and does not match any folders."
+msgstr ""
+
+#. m3Hzh
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id701612999808912\n"
+"help.text"
+msgid "The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred."
+msgstr ""
+
+#. GCCf3
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id851584544734202\n"
+"help.text"
+msgid "<emph>source</emph>: It can be a <literal>FolderName</literal> or a <literal>NamePattern</literal> indicating one or more folders to be copied."
+msgstr ""
+
+#. msqGq
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id321584544734273\n"
+"help.text"
+msgid "<emph>destination</emph>: Specifies the <literal>FolderName</literal> into which the single or multiple folders defined in <literal>source</literal> are to be copied."
+msgstr ""
+
+#. iLKYc
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id491612999134762\n"
+"help.text"
+msgid "If <literal>destination</literal> does not exist, it is created."
+msgstr ""
+
+#. TvYDS
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id591612999166740\n"
+"help.text"
+msgid "Wildcard characters are not allowed in <literal>destination</literal>."
+msgstr ""
+
+#. 3A2C2
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id251584542431525\n"
+"help.text"
+msgid "<emph>overwrite</emph>: If <literal>True</literal> (default), files may be overwritten. The method will fail if <literal>destination</literal> is readonly, regardless of the value specified in <literal>overwrite</literal>."
+msgstr ""
+
+#. 7CxBB
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id751626216627481\n"
+"help.text"
+msgid "In the examples below all files, folders and subfolders are copied."
+msgstr ""
+
+#. fNBgH
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id31158454067562\n"
+"help.text"
+msgid "Creates the specified <literal>FolderName</literal>. Returns <literal>True</literal> if the folder could be successfully created."
+msgstr ""
+
+#. 9H3cp
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id431613000475359\n"
+"help.text"
+msgid "If the specified folder has a parent folder that does not exist, it is created."
+msgstr ""
+
+#. 7gTts
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id491584540675469\n"
+"help.text"
+msgid "<emph>foldername</emph>: A string representing the folder to be created. If the folder already exists, an exception will be raised."
+msgstr ""
+
+#. 2zcfH
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id731585322689518\n"
+"help.text"
+msgid "Creates a specified file and returns a <literal>TextStream</literal> service instance that can be used to write to the file."
+msgstr ""
+
+#. YMZDA
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id821613001057759\n"
+"help.text"
+msgid "The method returns a <literal>Null</literal> object if an error occurred."
+msgstr ""
+
+#. 2NPVD
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id901585322689715\n"
+"help.text"
+msgid "<emph>filename</emph>: The name of the file to be created."
+msgstr ""
+
+#. gEJA4
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id501585322689209\n"
+"help.text"
+msgid "<emph>overwrite</emph>: Boolean value that determines if <literal>filename</literal> can be overwritten (default = <literal>True</literal>)."
+msgstr ""
+
+#. CkbhC
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id551585322689192\n"
+"help.text"
+msgid "<emph>encoding</emph>: The character set to be used. The default encoding is \"UTF-8\"."
+msgstr ""
+
+#. eoE92
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id141613001281573\n"
+"help.text"
+msgid "To learn more about the names of character sets, visit <link href=\"https://www.iana.org/assignments/character-sets/character-sets.xhtml\" name=\"Character Sets\">IANA's Character Set</link> page. Beware that %PRODUCTNAME does not implement all existing character sets."
+msgstr ""
+
+#. DVGxr
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id11584882040881\n"
+"help.text"
+msgid "Deletes one or more files. Returns <literal>True</literal> if at least one file has been deleted or <literal>False</literal> if an error occurred."
+msgstr ""
+
+#. y69YZ
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id21612999775356\n"
+"help.text"
+msgid "An error will also occur if the <literal>filename</literal> parameter uses wildcard characters and does not match any files."
+msgstr ""
+
+#. TWJRd
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id21613001848493\n"
+"help.text"
+msgid "The files to be deleted must not be readonly."
+msgstr ""
+
+#. PEFBq
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id701612999808832\n"
+"help.text"
+msgid "The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred."
+msgstr ""
+
+#. DkCdk
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id441584882040860\n"
+"help.text"
+msgid "<emph>filename</emph>: It can be a <literal>FileName</literal> or a <literal>NamePattern</literal> indicating one or more files to be deleted."
+msgstr ""
+
+#. FnaSi
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id851626217167909\n"
+"help.text"
+msgid "In the examples below only files are deleted, subfolders are not deleted."
+msgstr ""
+
+#. c9ZCd
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id11584882015881\n"
+"help.text"
+msgid "Deletes one or more folders. Returns <literal>True</literal> if at least one folder has been deleted or <literal>False</literal> if an error occurred."
+msgstr ""
+
+#. bGmGo
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id21612999775346\n"
+"help.text"
+msgid "An error will also occur if the <literal>foldername</literal> parameter uses wildcard characters and does not match any folders."
+msgstr ""
+
+#. GsqDD
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id21613001848853\n"
+"help.text"
+msgid "The folders to be deleted must not be readonly."
+msgstr ""
+
+#. kRSqe
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id701612999808842\n"
+"help.text"
+msgid "The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred."
+msgstr ""
+
+#. 7YCXM
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id451584882542247\n"
+"help.text"
+msgid "<emph>foldername</emph>: It can be a <literal>FolderName</literal> or a <literal>NamePattern</literal> indicating one or more folders to be deleted."
+msgstr ""
+
+#. cCnG9
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id651626217314709\n"
+"help.text"
+msgid "In the examples below only folders and their contents are deleted. Files in the parent folder \"C:\\Temp\" are not deleted."
+msgstr ""
+
+#. gSG9s
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id11584882015025\n"
+"help.text"
+msgid "Returns a string containing the folder where the specified extension package is installed."
+msgstr ""
+
+#. xuDgD
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id21612999775311\n"
+"help.text"
+msgid "The current value of the property <literal>SF_FileSystem.FileNaming</literal> is used to determine the notation of the returned string."
+msgstr ""
+
+#. jWSSt
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id891644442917193\n"
+"help.text"
+msgid "Use the property <link href=\"text/sbasic/shared/03/sf_platform.xhp#hd_id711600788076834\" name=\"Extensions_link\"><literal>Extensions</literal></link> from the <literal>Platform</literal> service to get string array with the IDs of all installed extensions."
+msgstr ""
+
+#. w9vDF
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id451584882542121\n"
+"help.text"
+msgid "<emph>extension</emph>: A string value with the ID of the extension. If the extension is not installed, an exception is raised."
+msgstr ""
+
+#. YhQmv
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id651626217313369\n"
+"help.text"
+msgid "The examples below in Basic and Python return the folder where the APSO extension is installed."
+msgstr ""
+
+#. ZbyLn
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id161583764426709\n"
+"help.text"
+msgid "Returns <literal>True</literal> if a given file name is valid and exists, otherwise the method returns <literal>False</literal>."
+msgstr ""
+
+#. 7j5TN
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id91613003122613\n"
+"help.text"
+msgid "If the <literal>filename</literal> parameter is actually an existing folder name, the method returns <literal>False</literal>."
+msgstr ""
+
+#. fr2Ei
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id361583764426547\n"
+"help.text"
+msgid "<emph>filename</emph>: A string representing the file to be tested."
+msgstr ""
+
+#. ChDCL
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id11158394432779\n"
+"help.text"
+msgid "Returns a zero-based array of the files stored in a given folder. Each entry in the array is a string containing the full path and file name."
+msgstr ""
+
+#. JVjE3
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id641613003790120\n"
+"help.text"
+msgid "If the argument <literal>foldername</literal> specifies a folder that does not exist, an exception is raised."
+msgstr ""
+
+#. nFaPD
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id821613003779799\n"
+"help.text"
+msgid "The resulting list may be filtered with wildcards."
+msgstr ""
+
+#. bq6vD
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id731583944543140\n"
+"help.text"
+msgid "<emph>foldername</emph>: A string representing a folder. The folder must exist. This argument must not designate a file."
+msgstr ""
+
+#. EM5cJ
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id591585648450060\n"
+"help.text"
+msgid "<emph>filter</emph>: A string containing wildcards (\"?\" and \"*\") that will be applied to the resulting list of files (default = \"\")."
+msgstr ""
+
+#. zG7ec
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id51583765642590\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the specified <literal>FolderName</literal> is valid and exists, otherwise the method returns <literal>False</literal>."
+msgstr ""
+
+#. 9xtCG
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id151613004111990\n"
+"help.text"
+msgid "If the <literal>foldername</literal> parameter is actually an existing file name, the method returns <literal>False</literal>."
+msgstr ""
+
+#. qrf4A
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id1001583765642211\n"
+"help.text"
+msgid "<emph>foldername</emph>: A string representing the folder to be tested."
+msgstr ""
+
+#. eAFVs
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id521584110618989\n"
+"help.text"
+msgid "Returns the <literal>BaseName</literal> (equal to the last component) of a folder or file name, without its extension."
+msgstr ""
+
+#. YnBXv
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id731613004316790\n"
+"help.text"
+msgid "The method does not check if the specified file or folder exists."
+msgstr ""
+
+#. 3FPjB
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id691584110618308\n"
+"help.text"
+msgid "<emph>filename</emph>: A string representing the file name and its path."
+msgstr ""
+
+#. jwFaP
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id1001626271201609\n"
+"help.text"
+msgid "In the examples below, the first <literal>GetBaseName</literal> method call corresponds to a folder, so the function returns the last component of the path. The second call receives a file name as input, so the name of the file is returned without its extension."
+msgstr ""
+
+#. A56XC
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id831584032680866\n"
+"help.text"
+msgid "Returns the extension part of a file or folder name without the dot \".\" character."
+msgstr ""
+
+#. pdCJv
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id941613060736524\n"
+"help.text"
+msgid "The method does not check for the existence of the specified file or folder."
+msgstr ""
+
+#. Aqvwt
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id561613060896361\n"
+"help.text"
+msgid "If this method is applied to a folder name or to a file without an extension, then an empty string is returned."
+msgstr ""
+
+#. NzK5z
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id821584032680311\n"
+"help.text"
+msgid "<emph>filename</emph>: A string representing the file name and its path."
+msgstr ""
+
+#. Am6Bu
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id48160068505010\n"
+"help.text"
+msgid "The builtin <literal>FileLen</literal> Basic function returns the number of bytes contained in a file as a <literal>Long</literal> value, i.e. up to 2GB."
+msgstr ""
+
+#. 2FHpa
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id571613061005426\n"
+"help.text"
+msgid "The <literal>GetFileLen</literal> method can handle files with much larger sizes by returning a <literal>Currency</literal> value."
+msgstr ""
+
+#. PK2Fo
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id161600685050367\n"
+"help.text"
+msgid "<emph>filename</emph>: A string representing an existing file."
+msgstr ""
+
+#. o2GGJ
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id191584811478936\n"
+"help.text"
+msgid "Returns the last modified date of a given file."
+msgstr ""
+
+#. VMB4i
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id25158481147822\n"
+"help.text"
+msgid "<emph>filename</emph>: A string representing an existing file."
+msgstr ""
+
+#. VEZR6
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id711584032366587\n"
+"help.text"
+msgid "Returns the last component of a file or folder name in native operating system format."
+msgstr ""
+
+#. 4vAvz
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id541613061300811\n"
+"help.text"
+msgid "The method does not check if the specified file or folder exists."
+msgstr ""
+
+#. iajZD
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id671584032366193\n"
+"help.text"
+msgid "<emph>filename</emph>: A string representing the file name and its path."
+msgstr ""
+
+#. ffxFe
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id871584113432747\n"
+"help.text"
+msgid "Returns a string containing the name of the parent folder of a specified file or folder name."
+msgstr ""
+
+#. 2eBgA
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id611613061603039\n"
+"help.text"
+msgid "The method does not check if the specified file or folder exists."
+msgstr ""
+
+#. YUAQ3
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id471584113432231\n"
+"help.text"
+msgid "<emph>filename</emph>: A string with the file or folder name to be analyzed."
+msgstr ""
+
+#. Uc93M
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id82158385117289\n"
+"help.text"
+msgid "Returns a randomly generated temporary file name that is useful for performing operations that require a temporary file."
+msgstr ""
+
+#. FS3qq
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id391613061770924\n"
+"help.text"
+msgid "The returned file name does not have any suffix. The folder part of the returned string is the system's temporary folder."
+msgstr ""
+
+#. W7gF7
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id971613061774934\n"
+"help.text"
+msgid "The method does not create the temporary file."
+msgstr ""
+
+#. ch2AJ
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id58160104251423\n"
+"help.text"
+msgid "Hash functions are used by some cryptographic algorithms, in digital signatures, message authentication codes, fraud detection, fingerprints, checksums (message integrity check), hash tables, password storage and much more."
+msgstr ""
+
+#. qxDnP
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id301601042791356\n"
+"help.text"
+msgid "The <literal>HashFile</literal> method returns the result of a hash function, applied on a given file and using a specified algorithm. The returned value is a string of lower-case hexadecimal digits."
+msgstr ""
+
+#. eAW33
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id861601043268484\n"
+"help.text"
+msgid "The hash algorithms supported are: <literal>MD5</literal>, <literal>SHA1</literal>, <literal>SHA224</literal>, <literal>SHA256</literal>, <literal>SHA384</literal> and <literal>SHA512</literal>."
+msgstr ""
+
+#. s5ZiA
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id28160104251451\n"
+"help.text"
+msgid "<emph>filename</emph>: A string representing an existing file."
+msgstr ""
+
+#. Eomhm
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id71601042959846\n"
+"help.text"
+msgid "<emph>algorithm</emph>: One of the supported algorithms."
+msgstr ""
+
+#. HzFs2
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id51584791330688\n"
+"help.text"
+msgid "Moves one or more files from one location to another. Returns <literal>True</literal> if at least one file has been moved or <literal>False</literal> if an error occurred."
+msgstr ""
+
+#. RFrNE
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id631613062890648\n"
+"help.text"
+msgid "An error will also occur if the <literal>source</literal> parameter uses wildcard characters and does not match any files."
+msgstr ""
+
+#. ETmEP
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id241613062902777\n"
+"help.text"
+msgid "The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred."
+msgstr ""
+
+#. DbC6F
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id721584791330406\n"
+"help.text"
+msgid "<emph>source</emph>: It can be a <literal>FileName</literal> or <literal>NamePattern</literal> to designate one or more files to be moved."
+msgstr ""
+
+#. BHa7Y
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id291584791330181\n"
+"help.text"
+msgid "<emph>destination</emph>: If <literal>source</literal> is a <literal>FileName</literal> then this parameter indicates the new path and file name of the moved file."
+msgstr ""
+
+#. ZzA3Y
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id31613063334246\n"
+"help.text"
+msgid "If the move operation involves multiple files, then <literal>destination</literal> must be a folder name. If it does not exist, it is created."
+msgstr ""
+
+#. 39oR8
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id391613063494599\n"
+"help.text"
+msgid "If <literal>source</literal> and <literal>destination</literal> have the same parent folder, the method will rename the <literal>source</literal>."
+msgstr ""
+
+#. 7bzK4
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id941613063476533\n"
+"help.text"
+msgid "Wildcard characters are not allowed in <literal>destination</literal>."
+msgstr ""
+
+#. Bysqd
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id91626272612758\n"
+"help.text"
+msgid "In the following examples only files are moved, subfolders are not."
+msgstr ""
+
+#. iYBMe
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id301584791330868\n"
+"help.text"
+msgid "Moves one or more folders from one location to another. Returns <literal>True</literal> if at least one folder has been moved or <literal>False</literal> if an error occurred."
+msgstr ""
+
+#. RHjYG
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id411613072570664\n"
+"help.text"
+msgid "An error will also occur if the <literal>source</literal> parameter uses wildcard characters and does not match any folders."
+msgstr ""
+
+#. F2DaD
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id601613072595264\n"
+"help.text"
+msgid "The method stops immediately after it encounters an error. The method does not roll back nor does it undo changes made before the error occurred."
+msgstr ""
+
+#. xVGBy
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id541584791330777\n"
+"help.text"
+msgid "<emph>source</emph>: It can be a <literal>FolderName</literal> or <literal>NamePattern</literal> to designate one or more folders to be moved."
+msgstr ""
+
+#. 4Ampu
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id551584791330279\n"
+"help.text"
+msgid "<emph>destination</emph>: If the move operation involves a single folder, then <literal>destination</literal> is the name and path of the moved folder and it must not exist."
+msgstr ""
+
+#. dD7SB
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id11613072890641\n"
+"help.text"
+msgid "If multiple folders are being moved, then <literal>destination</literal> designates where the folders in <literal>source</literal> will be moved into. If <literal>destination</literal> does not exist, it is created."
+msgstr ""
+
+#. A69QS
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id301613072928159\n"
+"help.text"
+msgid "Wildcard characters are not allowed in <literal>destination</literal>."
+msgstr ""
+
+#. JNTia
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id121585320922117\n"
+"help.text"
+msgid "Opens a file and returns a <literal>TextStream</literal> object that can be used to read from, write to, or append to the file."
+msgstr ""
+
+#. ePMpQ
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id591613073104711\n"
+"help.text"
+msgid "Note that the method does not check if the given file is really a text file."
+msgstr ""
+
+#. SGJCd
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id951613073135036\n"
+"help.text"
+msgid "The method returns a <literal>Null</literal> object (in Basic) or <literal>None</literal> (in Python) if an error occurred."
+msgstr ""
+
+#. mxuwo
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id551585320922678\n"
+"help.text"
+msgid "<emph>filename</emph>: Identifies the file to open."
+msgstr ""
+
+#. tsRLR
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id671585320922388\n"
+"help.text"
+msgid "<emph>iomode</emph>: Indicates the input/output mode. It can be one of three constants: <literal>svc.ForReading</literal> (default), <literal>svc.ForWriting</literal>, or <literal>svc.ForAppending</literal>."
+msgstr ""
+
+#. z27vT
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id21585321398586\n"
+"help.text"
+msgid "<emph>create</emph>: Boolean value that indicates whether a new file can be created if the specified <literal>filename</literal> doesn't exist:"
+msgstr ""
+
+#. VDFAi
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id721613073434797\n"
+"help.text"
+msgid "If <literal>True</literal> a new file and its parent folders will be created if they do not exist;"
+msgstr ""
+
+#. EypVC
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id201613073469289\n"
+"help.text"
+msgid "If <literal>False</literal> then new files are not created (default)."
+msgstr ""
+
+#. wjGYH
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id771585321576210\n"
+"help.text"
+msgid "<emph>encoding</emph>: The character set to be used. The default encoding is \"UTF-8\"."
+msgstr ""
+
+#. FuYwe
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id871583670342501\n"
+"help.text"
+msgid "Opens a dialog box to open or save files."
+msgstr ""
+
+#. SjDBv
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id881613074436979\n"
+"help.text"
+msgid "If the <literal>SAVE</literal> mode is set and the picked file exists, a warning message will be displayed."
+msgstr ""
+
+#. YgsLZ
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id481583670342502\n"
+"help.text"
+msgid "<emph>defaultfile</emph>: This argument is a string composed of a folder and file name:"
+msgstr ""
+
+#. fyVCs
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id511613074665951\n"
+"help.text"
+msgid "The folder part indicates the folder that will be shown when the dialog opens (default = the last selected folder)."
+msgstr ""
+
+#. xs5hU
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id631613074685308\n"
+"help.text"
+msgid "The file part designates the default file to open or save."
+msgstr ""
+
+#. fBHyg
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id981583670342502\n"
+"help.text"
+msgid "<emph>mode</emph>: A string value that can be either \"OPEN\" (for input files) or \"SAVE\" (for output files). The default value is \"OPEN\"."
+msgstr ""
+
+#. uvwDP
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id31583670342502\n"
+"help.text"
+msgid "<emph>filter</emph>: The extension of the files displayed when the dialog is opened (default = no filter)."
+msgstr ""
+
+#. niaGR
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id881626276134300\n"
+"help.text"
+msgid "The examples below open a file picker with the \"txt\" filter applied."
+msgstr ""
+
+#. HkwaR
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id521583671701777\n"
+"help.text"
+msgid "Opens a dialog box to select a folder."
+msgstr ""
+
+#. mG6QD
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id951583671701872\n"
+"help.text"
+msgid "<emph>defaultfolder</emph>: A string containing the folder name that will be displayed when the dialog is opened (default = the last selected folder)."
+msgstr ""
+
+#. ymABK
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id821583671701764\n"
+"help.text"
+msgid "<emph>freetext</emph>: Text to display in the dialog (default = \"\")."
+msgstr ""
+
+#. 4FFby
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"bas_id921583671701610\n"
+"help.text"
+msgid "aFolder = FSO.PickFolder(\"C:\\Documents\", \"Choose a folder or press Cancel\")"
+msgstr ""
+
+#. nW8Rx
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"pyc_id631626276402296\n"
+"help.text"
+msgid "aFolder = fs.PickFolder(r\"C:\\Documents\", \"Choose a folder or press Cancel\")"
+msgstr ""
+
+#. xdfBh
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id431584016761996\n"
+"help.text"
+msgid "Returns a zero-based array of strings corresponding to the folders stored in a given <literal>foldername</literal>."
+msgstr ""
+
+#. LVNZq
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id431613075267241\n"
+"help.text"
+msgid "The list may be filtered with wildcards."
+msgstr ""
+
+#. 7pDiA
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id701584016761945\n"
+"help.text"
+msgid "<emph>foldername</emph>: A string representing a folder. The folder must exist. <literal>foldername</literal> must not designate a file."
+msgstr ""
+
+#. Xmg8b
+#: sf_filesystem.xhp
+msgctxt ""
+"sf_filesystem.xhp\n"
+"par_id471585648674921\n"
+"help.text"
+msgid "<emph>filter</emph>: A string containing wildcards (\"?\" and \"*\") that will be applied to the resulting list of folders (default = \"\")."
+msgstr ""
+
+#. XQG8t
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"tit\n"
+"help.text"
+msgid "SFDocuments.Form service"
+msgstr ""
+
+#. kanuY
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"bm_id781582391760253\n"
+"help.text"
+msgid "<variable id=\"FormService\"><link href=\"text/sbasic/shared/03/sf_form.xhp\" name=\"SFDocuments.Form\"><literal>SFDocuments</literal>.<literal>Form</literal> service</link></variable>"
+msgstr ""
+
+#. LDpRB
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id931583589764919\n"
+"help.text"
+msgid "The <literal>Form</literal> service provides methods and properties to manage forms in %PRODUCTNAME documents. This service supports forms in Base, Calc and Writer documents and allows to:"
+msgstr ""
+
+#. U3zGB
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id381618172063851\n"
+"help.text"
+msgid "Open and activate forms."
+msgstr ""
+
+#. SC6Yb
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id261618172129782\n"
+"help.text"
+msgid "Navigate through records shown by the form."
+msgstr ""
+
+#. krQfB
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id281618172141607\n"
+"help.text"
+msgid "Get access to the controls inside the form."
+msgstr ""
+
+#. itKdZ
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id371618172155483\n"
+"help.text"
+msgid "Get access to subforms of a parent form."
+msgstr ""
+
+#. QcJ24
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id351616768789190\n"
+"help.text"
+msgid "The <literal>SFDocuments</literal>.<literal>Form</literal> service is available from %PRODUCTNAME 7.2 onwards."
+msgstr ""
+
+#. Ga5NU
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id451616765867881\n"
+"help.text"
+msgid "Forms are usually used in %PRODUCTNAME documents to create user interfaces connected to relational databases. Hence, the <literal>Form</literal> service provides quick access to the linked database through the <link href=\"text/sbasic/shared/03/sf_database.xhp\" name=\"SFDatabases.Database\"><literal>SFDatabases</literal>.<literal>Database</literal> service</link>."
+msgstr ""
+
+#. rGB5M
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id891598188164936\n"
+"help.text"
+msgid "The <literal>SFDocuments</literal>.<literal>Form</literal> service is closely related to the <link href=\"text/sbasic/shared/03/sf_formcontrol.xhp\" name=\"SFDocuments.FormControl\"><literal>SFDocuments</literal>.<literal>FormControl</literal> service.</link>"
+msgstr ""
+
+#. 3HUmh
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"hd_id161616766330804\n"
+"help.text"
+msgid "Definitions"
+msgstr ""
+
+#. GYDbT
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id951618172906010\n"
+"help.text"
+msgid "Forms are usually created in Base documents, but they can be added to Writer and Calc documents as well."
+msgstr ""
+
+#. nKUdb
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id671618173380680\n"
+"help.text"
+msgid "In Base, each form you create using the <menuitem>Insert - Form</menuitem> functionality or through the <link href=\"text/shared/autopi/01090000.xhp\" name=\"FormWizard\">Form Wizard</link> is actually a <literal>FormDocument</literal> that can be handled with the <literal>Form</literal> service. Base documents can contain an unlimited number of form documents."
+msgstr ""
+
+#. kegBD
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id841618177362626\n"
+"help.text"
+msgid "Below is an example showing the hierarchy of all the elements involved in accessing forms and subforms in a Base document. Suppose you have a Base file named <literal>Employees.odb</literal> and inside it you created a form document to add new employees to the database. The form document contains a main form named <literal>EmployeeData</literal> that gives access to a table. There is also a subform <literal>WorksAtPlant</literal> that allows you to associate the new employee to one of the plants of the company."
+msgstr ""
+
+#. izkiB
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"bas_id151618176848874\n"
+"help.text"
+msgid "Employees.odb (Base document)"
+msgstr ""
+
+#. cz2fJ
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"bas_id941618176869485\n"
+"help.text"
+msgid "|-- EmployeeData (Main Form)"
+msgstr ""
+
+#. k8nxK
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id221618173444457\n"
+"help.text"
+msgid "A <literal>FormDocument</literal> can be seen as a set of forms that provide access to datasets such as database tables and queries from within %PRODUCTNAME documents. The names of forms and subforms inside a FormDocument can be accessed using the <link href=\"text/shared/02/01170600.xhp\" name=\"FormNavigator\">Form Navigator</link>."
+msgstr ""
+
+#. AMFVt
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"hd_id851616767037521\n"
+"help.text"
+msgid "Forms and Subforms"
+msgstr ""
+
+#. GA63u
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id681616767265034\n"
+"help.text"
+msgid "A form document is composed of one or more forms which, in turn, may also contain any number of subforms. A Form is an abstract set of controls that are linked to a specified data source, which can be a database table, a query or a SQL <literal>SELECT</literal> statement."
+msgstr ""
+
+#. fDvBD
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id711618178831976\n"
+"help.text"
+msgid "In Calc and Writer documents, each form can be linked to datasets located in different databases. On the other hand, in Base documents the database contained in the document is common to all forms."
+msgstr ""
+
+#. wDfhy
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id191616837111507\n"
+"help.text"
+msgid "To invoke the <literal>SFDocuments</literal>.<literal>Form</literal> service refer to the methods <literal>Forms()</literal>, <literal>FormDocuments()</literal> and <literal>OpenFormDocument()</literal> of the <link href=\"text/sbasic/shared/03/sf_document.xhp\" name=\"SFDocuments\"><literal>SFDocuments</literal>.<literal>Document</literal></link> service"
+msgstr ""
+
+#. gs4KC
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"hd_id581582885621841\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. WyEtQ
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>Form</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. KfjEA
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"hd_id991618179698545\n"
+"help.text"
+msgid "In Writer documents"
+msgstr ""
+
+#. 8s4VD
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id51616767892693\n"
+"help.text"
+msgid "The code snippet below shows how to access the form named <literal>Form1</literal> that is inside a Writer file:"
+msgstr ""
+
+#. NFikt
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id531618179517628\n"
+"help.text"
+msgid "Forms can be accessed by their names or by their indices, as shown below:"
+msgstr ""
+
+#. 8PHy6
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id181618250546617\n"
+"help.text"
+msgid "If you try to access a <literal>FormDocument</literal> that is currently opened in <emph>Design Mode</emph> an exception will be raised."
+msgstr ""
+
+#. xNr3R
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"hd_id921618179792926\n"
+"help.text"
+msgid "In Calc documents"
+msgstr ""
+
+#. yCpnG
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id481618179851104\n"
+"help.text"
+msgid "A form in a Calc file must have a unique name inside its sheet. Hence, the <literal>Forms</literal> method requires two arguments, the first indicating the sheet name and the second specifying the form name."
+msgstr ""
+
+#. i9Um4
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id51622028165429\n"
+"help.text"
+msgid "This is achieved identically using Python:"
+msgstr ""
+
+#. 2fB94
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"hd_id201618180055756\n"
+"help.text"
+msgid "In Base documents"
+msgstr ""
+
+#. J3Btp
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id711616768164987\n"
+"help.text"
+msgid "A <literal>FormDocument</literal> inside a Base document is accessed by its name. The following example opens the form document named <literal>thisFormDocument</literal> and accesses the form <literal>MainForm</literal>:"
+msgstr ""
+
+#. pbtEM
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"bas_id271598171225874\n"
+"help.text"
+msgid "' The statement below is necessary only if the form hasn't been opened yet"
+msgstr ""
+
+#. EDADK
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"bas_id51616768358888\n"
+"help.text"
+msgid "' Or, alternatively, to access the form by its index ..."
+msgstr ""
+
+#. 2v2aG
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id991618249636036\n"
+"help.text"
+msgid "To perform any action on a form using the <literal>Form</literal> service, the <literal>FormDocument</literal> must have been opened either manually by the user or programmatically in a user script. The latter can be done by calling the <literal>OpenFormDocument</literal> method of the <link href=\"text/sbasic/shared/03/sf_base.xhp\" name=\"ScriptForge Base Service\"><literal>Base</literal> service</link>."
+msgstr ""
+
+#. DDerZ
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id11618180564274\n"
+"help.text"
+msgid "To access a given subform of a form use the <literal>SubForms</literal> method. Note that in the example below <literal>mySubForm</literal> is a new instance of the <literal>Form</literal> service."
+msgstr ""
+
+#. e7fcY
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id681622028653480\n"
+"help.text"
+msgid "Previous examples translate in Python as:"
+msgstr ""
+
+#. ebc4K
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"pyc_id811622808499801\n"
+"help.text"
+msgid "# The statement below is necessary only if the form hasn't been opened yet"
+msgstr ""
+
+#. GdyX6
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"pyc_id511622808538351\n"
+"help.text"
+msgid "# Or, alternatively, to access the form by its index ..."
+msgstr ""
+
+#. QFFzk
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"hd_id211618180379064\n"
+"help.text"
+msgid "In Form events"
+msgstr ""
+
+#. WBzCD
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id421616768529754\n"
+"help.text"
+msgid "To invoke the <literal>Form</literal> service when a form event takes place:"
+msgstr ""
+
+#. k2fKf
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id721623150543016\n"
+"help.text"
+msgid "It is recommended to free resources after use of the Form service."
+msgstr ""
+
+#. pF9UQ
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id221623150547406\n"
+"help.text"
+msgid "This operation is done implicitly when a form document is closed with the <literal>CloseFormDocument()</literal> method described below."
+msgstr ""
+
+#. GueeT
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"hd_id651583668365757\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. 9LaxS
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id871583668386455\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. SpGw6
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id491583668386455\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. K7Bsy
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id271583668474014\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. ekeZU
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id401583668386455\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. wSC47
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id371583668519172\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. jJ2dL
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id771583668386455\n"
+"help.text"
+msgid "Specifies if the form allows to delete records."
+msgstr ""
+
+#. DBxgx
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id541583839708548\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. j5J3C
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id731583839708412\n"
+"help.text"
+msgid "Specifies if the form allows to add records."
+msgstr ""
+
+#. FCFEk
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id761584027709516\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 8qCAE
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id971584027709752\n"
+"help.text"
+msgid "Specifies if the form allows to update records."
+msgstr ""
+
+#. VxAL4
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id31583839767743\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. CRA7v
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id111583839767195\n"
+"help.text"
+msgid "Specifies the hierarchical name of the Base Form containing the actual form."
+msgstr ""
+
+#. FehA2
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id771583839920487\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. V8tZX
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id451583839920858\n"
+"help.text"
+msgid "Specifies uniquely the current record of the form's underlying table, query or SQL statement."
+msgstr ""
+
+#. 3jDxi
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id571588333908716\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 7NUo8
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id721588333908708\n"
+"help.text"
+msgid "Identifies the current record in the dataset being viewed on a form. If the row number is positive, the cursor moves to the given row number with respect to the beginning of the result set. Row count starts at 1. If the given row number is negative, the cursor moves to an absolute row position with respect to the end of the result set. Row -1 refers to the last row in the result set."
+msgstr ""
+
+#. FKDA7
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id501583774433513\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. eAsdX
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id151598177605296\n"
+"help.text"
+msgid "Specifies a subset of records to be displayed as a <literal>SQL</literal> <literal>WHERE</literal>-clause without the <literal>WHERE</literal> keyword."
+msgstr ""
+
+#. uyje5
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id271588334016191\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. FQDDW
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id251588334016874\n"
+"help.text"
+msgid "Specifies how records in a child subform are linked to records in its parent form."
+msgstr ""
+
+#. DMwPW
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id901616774153495\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 2EiCA
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id981616774153723\n"
+"help.text"
+msgid "Specifies how records in a child subform are linked to records in its parent form."
+msgstr ""
+
+#. ppCiD
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id501616774304840\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. kPfzG
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id461616774304497\n"
+"help.text"
+msgid "The name of the current form."
+msgstr ""
+
+#. vpBCA
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id751616774384451\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. ppErx
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id321616774384489\n"
+"help.text"
+msgid "Specifies in which order the records should be displayed as a <literal>SQL</literal> <literal>ORDER BY</literal> clause without the <literal>ORDER BY</literal> keywords."
+msgstr ""
+
+#. AGC5s
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id261616774918923\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. rjCpM
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id171616774918881\n"
+"help.text"
+msgid "The parent of the current form. It can be either a <literal>SFDocuments</literal>.<literal>Form</literal> or a <literal>SFDocuments</literal>.<literal>Document</literal> object."
+msgstr ""
+
+#. rLS8r
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id501616777650751\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. USDVC
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id91616777650933\n"
+"help.text"
+msgid "Specifies the source of the data, as a table name, a query name or a SQL statement."
+msgstr ""
+
+#. rtCsj
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id451598177924437\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. GxHLP
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id94159817792441\n"
+"help.text"
+msgid "UNO<br/>object"
+msgstr ""
+
+#. VYFDs
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id191598177924897\n"
+"help.text"
+msgid "The UNO object representing interactions with the form. Refer to <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1form_1_1XForm.html\" name=\"XForm interface\">XForm</link> and <link href=\"https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1form_1_1component_1_1DataForm.html\" name=\"DataForm service\">DataForm</link> in the API documentation for detailed information."
+msgstr ""
+
+#. cwE3k
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"hd_id421612628828054\n"
+"help.text"
+msgid "Event properties"
+msgstr ""
+
+#. eTuoa
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id41612629140856\n"
+"help.text"
+msgid "The properties below return or set URI strings that define the script triggered by the event."
+msgstr ""
+
+#. fdses
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id961612628879819\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. DsQGQ
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id401612628879819\n"
+"help.text"
+msgid "ReadOnly"
+msgstr ""
+
+#. 5FemG
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id281612628879819\n"
+"help.text"
+msgid "Basic IDE Description"
+msgstr ""
+
+#. PgdP8
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id111612629836630\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. GAgms
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id1001612629836902\n"
+"help.text"
+msgid "Before record change"
+msgstr ""
+
+#. Mr9ns
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id291612629836294\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. DwhZn
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id62161262983683\n"
+"help.text"
+msgid "Fill parameters"
+msgstr ""
+
+#. DrMbU
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id81612629836634\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. eAJAN
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id881612629836744\n"
+"help.text"
+msgid "Prior to reset"
+msgstr ""
+
+#. Y9d6z
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id591612629836830\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. LKxEu
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id161612629836775\n"
+"help.text"
+msgid "Before record action"
+msgstr ""
+
+#. Zyx2S
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id891612629836630\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 2HBeC
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id461612629836679\n"
+"help.text"
+msgid "Before submitting"
+msgstr ""
+
+#. 2fJrZ
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id131612629836291\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. BX4AH
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id151612629836151\n"
+"help.text"
+msgid "Confirm deletion"
+msgstr ""
+
+#. W9izF
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id211612629836725\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. pDvPB
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id361612629836624\n"
+"help.text"
+msgid "After record change"
+msgstr ""
+
+#. WprGG
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id311612629836481\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. Xn2CS
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id721612629836752\n"
+"help.text"
+msgid "Error occurred"
+msgstr ""
+
+#. B3zCy
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id981612629836116\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. L3Ac6
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id381612629836635\n"
+"help.text"
+msgid "When loading"
+msgstr ""
+
+#. 9Z9vv
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id711612629836704\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. XL4Js
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id35161262983642\n"
+"help.text"
+msgid "When reloading"
+msgstr ""
+
+#. P6DEi
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id44161677878329\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. ywCsh
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id661616778783899\n"
+"help.text"
+msgid "Before reloading"
+msgstr ""
+
+#. eGnRj
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id651616778529764\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. E6JUH
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id311616778529570\n"
+"help.text"
+msgid "After resetting"
+msgstr ""
+
+#. VDAk5
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id601616778529481\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 99FfH
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id351616778529352\n"
+"help.text"
+msgid "After record action"
+msgstr ""
+
+#. CxndA
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id711616778529292\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. DTDCq
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id981616778529250\n"
+"help.text"
+msgid "When unloading"
+msgstr ""
+
+#. iWroa
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id521616778529932\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. pVPR9
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id511616778529291\n"
+"help.text"
+msgid "Before unloading"
+msgstr ""
+
+#. EoCKE
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id961618181634322\n"
+"help.text"
+msgid "To learn more about URI strings, refer to the <link href=\"https://wiki.documentfoundation.org/Documentation/DevGuide/Scripting_Framework#Scripting_Framework_URI_Specification\" name=\"URI specification\">Scripting Framework URI Specification</link>."
+msgstr ""
+
+#. bkBH8
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id921606472825856\n"
+"help.text"
+msgid "List of methods in the Form service"
+msgstr ""
+
+#. KwDij
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id871583933076448\n"
+"help.text"
+msgid "Sets the focus on the current <literal>Form</literal> instance. Returns <literal>True</literal> if focusing was successful."
+msgstr ""
+
+#. 9qj5F
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id81616858956290\n"
+"help.text"
+msgid "The behavior of the <literal>Activate</literal> method depends on the type of document where the form is located:"
+msgstr ""
+
+#. YVgyr
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id761616858967361\n"
+"help.text"
+msgid "<emph>In Writer documents:</emph> Sets the focus on that document."
+msgstr ""
+
+#. HKFTw
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id931616859010103\n"
+"help.text"
+msgid "<emph>In Calc documents:</emph> Sets the focus on the sheet to which the form belongs."
+msgstr ""
+
+#. 6jx5G
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id41616859019478\n"
+"help.text"
+msgid "<emph>In Base documents:</emph> Sets the focus on the <literal>FormDocument</literal> the <literal>Form</literal> refers to."
+msgstr ""
+
+#. J5C7y
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id921618228229529\n"
+"help.text"
+msgid "The following example assumes you want to activate the form named <literal>FormA</literal> located in <literal>Sheet1</literal> of the currently open Calc file. It first gets access to the document using the <literal>Document</literal> service and <literal>ThisComponent</literal> and then activates the form."
+msgstr ""
+
+#. 4EC5M
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"bas_id21618228468066\n"
+"help.text"
+msgid "'Gets hold of the form that will be activated"
+msgstr ""
+
+#. M2Wks
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"bas_id201618228487565\n"
+"help.text"
+msgid "'Activates the form"
+msgstr ""
+
+#. YHxMm
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id81618228720782\n"
+"help.text"
+msgid "<literal>ThisComponent</literal> applies to Calc and Writer documents. For Base documents use <literal>ThisDataBaseDocument</literal>."
+msgstr ""
+
+#. QznyJ
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id501616860541195\n"
+"help.text"
+msgid "Closes the form document containing the actual <literal>Form</literal> instance. The <literal>Form</literal> instance is disposed."
+msgstr ""
+
+#. CcCpD
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id611618229004669\n"
+"help.text"
+msgid "This method only closes form documents located in Base documents. If the form is stored in a Writer or Calc document, calling <literal>CloseFormDocument</literal> will have no effect."
+msgstr ""
+
+#. a8CxQ
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id161584541257982\n"
+"help.text"
+msgid "The value returned by the <literal>Controls</literal> method depends on the arguments provided:"
+msgstr ""
+
+#. YkyY2
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id421598179770993\n"
+"help.text"
+msgid "If the method is called <emph>without arguments</emph>, then it returns the list of the controls contained in the form. Beware that the returned list does not contain any subform controls."
+msgstr ""
+
+#. SsiUX
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id81598185229301\n"
+"help.text"
+msgid "If the optional <literal>ControlName</literal> argument is provided, the method returns a <literal>FormControl</literal> class instance referring to the specified control."
+msgstr ""
+
+#. 7CFJU
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id1001584541257789\n"
+"help.text"
+msgid "<emph>controlname</emph> : A valid control name as a case-sensitive string. If absent, the list of control names is returned as a zero-based array."
+msgstr ""
+
+#. unh4B
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id291616861407907\n"
+"help.text"
+msgid "Return a <link href=\"text/sbasic/shared/03/sf_database.xhp\" name=\"DBService\"><literal>SFDatabases</literal>.<literal>Database</literal></link> instance giving access to the execution of SQL commands on the database the current form is connected to and/or that is stored in the current Base document."
+msgstr ""
+
+#. fZRst
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id991616861417207\n"
+"help.text"
+msgid "Each form has its own database connection, except in Base documents where they all share the same connection."
+msgstr ""
+
+#. wFSWb
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id701616861134906\n"
+"help.text"
+msgid "<emph>user, password</emph>: The login optional parameters (Default = \"\")."
+msgstr ""
+
+#. 83Jju
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id771616861842867\n"
+"help.text"
+msgid "The form cursor is positioned on the first record. Returns <literal>True</literal> if successful."
+msgstr ""
+
+#. rapRE
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id331616863143187\n"
+"help.text"
+msgid "The form cursor is positioned on the last record. Returns <literal>True</literal> if successful."
+msgstr ""
+
+#. HZELb
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id361616863143954\n"
+"help.text"
+msgid "The form cursor is positioned on the new record area. Returns <literal>True</literal> if successful."
+msgstr ""
+
+#. 2QwcR
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id541616863143461\n"
+"help.text"
+msgid "The form cursor is positioned on the next record. Returns <literal>True</literal> if successful."
+msgstr ""
+
+#. a2gGn
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id271616863582607\n"
+"help.text"
+msgid "<emph>offset</emph>: The number of records to go forward (Default = 1)."
+msgstr ""
+
+#. e6huC
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id616168637945\n"
+"help.text"
+msgid "The form cursor is positioned on the previous record. Returns <literal>True</literal> if successful."
+msgstr ""
+
+#. tAnVw
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id751616863794125\n"
+"help.text"
+msgid "<emph>offset</emph>: The number of records to go backwards (Default = 1)."
+msgstr ""
+
+#. Kp4Wo
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id811616864216529\n"
+"help.text"
+msgid "Reloads the current data from the database and refreshes the form. The cursor is positioned on the first record. Returns <literal>True</literal> if successful."
+msgstr ""
+
+#. 5gBGr
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id891616864510614\n"
+"help.text"
+msgid "The value returned by the <literal>Subforms</literal> method depends on the arguments provided:"
+msgstr ""
+
+#. 4yG2j
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id951616864510585\n"
+"help.text"
+msgid "If the method is called <emph>without any arguments</emph>, then it returns the list of subforms contained in the current form or subform instance."
+msgstr ""
+
+#. AD3Q6
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id591616864510445\n"
+"help.text"
+msgid "If the optional <literal>subform</literal> argument is provided, the method returns a new <literal>SFDocuments</literal>.<literal>Form</literal> instance based on the specified form/subform name or index."
+msgstr ""
+
+#. GCRsS
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id341616864510747\n"
+"help.text"
+msgid "<emph>subform</emph>: A subform stored in the current <literal>Form</literal> class instance given by its name or index."
+msgstr ""
+
+#. uKm6R
+#: sf_form.xhp
+msgctxt ""
+"sf_form.xhp\n"
+"par_id211618230389251\n"
+"help.text"
+msgid "When this argument is absent, the method returns a list of available subforms as a zero-based array. If the form has a single subform, you can set <literal>subform = 0</literal> to get access to it."
+msgstr ""
+
+#. CfGgB
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"tit\n"
+"help.text"
+msgid "SFDocuments.FormControl service"
+msgstr ""
+
+#. vND8Z
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"bm_id781582391760253\n"
+"help.text"
+msgid "<variable id=\"FormControlService\"><link href=\"text/sbasic/shared/03/sf_formcontrol.xhp\" name=\"SFDocuments.FormControl service\"><literal>SFDocuments</literal>.<literal>FormControl</literal> service</link></variable>"
+msgstr ""
+
+#. XFkrG
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id931583589764919\n"
+"help.text"
+msgid "The <literal>FormControl</literal> service provides access to the controls that belong to a form, a subform or a table control of a <literal>FormDocument</literal>. Each instance of the <literal>FormControl</literal> service refers to a single control in the form. This service allows users to:"
+msgstr ""
+
+#. irNFC
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id451618771561326\n"
+"help.text"
+msgid "Get and set the properties of the control represented by the <literal>FormControl</literal> instance."
+msgstr ""
+
+#. S5aH9
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id601618771565183\n"
+"help.text"
+msgid "Access the current value displayed by the control."
+msgstr ""
+
+#. P5xzV
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id981618771567951\n"
+"help.text"
+msgid "Set the focus on the desired control."
+msgstr ""
+
+#. LUDRM
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id301616939922857\n"
+"help.text"
+msgid "To use the <literal>FormControl</literal> service in a particular form, subform or table control, all controls must have unique names."
+msgstr ""
+
+#. JMFEb
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id541618771629112\n"
+"help.text"
+msgid "Radio buttons that share the same group name must also have unique control names."
+msgstr ""
+
+#. mAwyv
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id51618771641273\n"
+"help.text"
+msgid "The main purpose of the <literal>FormControl</literal> service is setting and getting the properties and values displayed by the controls in a form."
+msgstr ""
+
+#. K2Bgc
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id81618774023346\n"
+"help.text"
+msgid "All controls have a <literal>Value</literal> property. However, its contents will vary according to the control type. For more information, read <link href=\"text/sbasic/shared/03/sf_formcontrol.xhp#hd_id81598540704978\" name=\"Value property\">The <literal>Value</literal> Property</link> below."
+msgstr ""
+
+#. kF29h
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id881618771651907\n"
+"help.text"
+msgid "It is also possible to format the controls via the <literal>XControlModel</literal> and <literal>XControlView</literal> properties."
+msgstr ""
+
+#. WEST9
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id891598188164936\n"
+"help.text"
+msgid "The <literal>SFDocuments.FormControl</literal> service is closely related to the <link href=\"text/sbasic/shared/03/sf_form.xhp\" name=\"Form service\"><literal>SFDocuments.Form</literal></link> service."
+msgstr ""
+
+#. rUEuw
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"hd_id581582885621841\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. pzkhK
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>FormControl</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. BeDqF
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id361598174756160\n"
+"help.text"
+msgid "The <literal>FormControl</literal> service is invoked from an existing <literal>Form</literal> service instance through its <literal>Controls</literal> method."
+msgstr ""
+
+#. 56bE7
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"pyc_id721622556808773\n"
+"help.text"
+msgid "control.Value = 'Current Time = ' + strftime(\"%a, %d %b %Y %H:%M:%S\", localtime())"
+msgstr ""
+
+#. FaP92
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id781618772761258\n"
+"help.text"
+msgid "To learn more about how to open a <literal>FormDocument</literal> and get access to its forms, refer to the <link href=\"text/sbasic/shared/03/sf_form.xhp\" name=\"Form service\">SFDocuments.Form</link> service help page."
+msgstr ""
+
+#. qeXCN
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id951598174966322\n"
+"help.text"
+msgid "Alternatively a <literal>FormControl</literal> instance can be retrieved via the <literal>SFDocuments.FormEvent</literal> service, which returns the <literal>SFDocuments.FormControl</literal> class instance that triggered the event."
+msgstr ""
+
+#. bSfxy
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"bas_id801598175242937\n"
+"help.text"
+msgid "' oControl now represents the instance of the FormControl class that triggered the current event"
+msgstr ""
+
+#. EgCtB
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id251598176312571\n"
+"help.text"
+msgid "Note that in previous examples, the prefix <literal>\"SFDocuments.\"</literal> may be omitted."
+msgstr ""
+
+#. 7gE8Y
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id951618773412097\n"
+"help.text"
+msgid "The <literal>FormEvent</literal> service is used exclusively to create instances of the <literal>SFDocuments.Form</literal> and <literal>SFDocuments.FormControl</literal> services when a form or control event takes place."
+msgstr ""
+
+#. AppFj
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"hd_id71598455687512\n"
+"help.text"
+msgid "Control types"
+msgstr ""
+
+#. ezcW8
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id851598455863395\n"
+"help.text"
+msgid "The <literal>FormControl</literal> service is available for the following control types:"
+msgstr ""
+
+#. BESBv
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"hd_id651583668365757\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. VrBfK
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id871583668386455\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. hDr9G
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id491583668386455\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. kWac7
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id271583668474014\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. dXwGN
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id291598538799794\n"
+"help.text"
+msgid "Applicable to"
+msgstr ""
+
+#. bEQWc
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id401583668386455\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. N3ejK
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id371583668519172\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. PszFp
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id771583668386455\n"
+"help.text"
+msgid "Specifies the action triggered when the button is clicked. Accepted values are: <literal>none</literal>, <literal>submitForm</literal>, <literal>resetForm</literal>, <literal>refreshForm</literal>, <literal>moveToFirst</literal>, <literal>moveToLast</literal>, <literal>moveToNext</literal>, <literal>moveToPrev</literal>, <literal>saveRecord</literal>, <literal>moveToNew</literal>, <literal>deleteRecord</literal>, <literal>undoRecord</literal>."
+msgstr ""
+
+#. fmzNT
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id541583839708548\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 62Bud
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id731583839708412\n"
+"help.text"
+msgid "Specifies the text displayed by the control."
+msgstr ""
+
+#. nFFDY
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id411616942306677\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 8H6BR
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id461616942306745\n"
+"help.text"
+msgid "Specifies the rowset field mapped onto the current control."
+msgstr ""
+
+#. AJUH6
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id761584027709516\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. Enqxp
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id261598539120502\n"
+"help.text"
+msgid "All"
+msgstr ""
+
+#. FsCJK
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id971584027709752\n"
+"help.text"
+msgid "One of the control types listed above."
+msgstr ""
+
+#. DH84k
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id31583839767743\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. pRrwC
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id111583839767195\n"
+"help.text"
+msgid "Specifies whether a command button is the default OK button."
+msgstr ""
+
+#. 2dP2A
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id241616942739459\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. Sukx9
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id271616942739359\n"
+"help.text"
+msgid "Specifies the default value used to initialize a control in a new record."
+msgstr ""
+
+#. nFBUQ
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id771583839920487\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. fQYqd
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id891598539196786\n"
+"help.text"
+msgid "All (except HiddenControl)"
+msgstr ""
+
+#. MmDQ5
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id451583839920858\n"
+"help.text"
+msgid "Specifies if the control is accessible with the cursor."
+msgstr ""
+
+#. VDkDh
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id571588333908716\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 8X3Ho
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id721588333908708\n"
+"help.text"
+msgid "Specifies the format used to display dates and times. It must be one of following strings:"
+msgstr ""
+
+#. 6CqCN
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id891598456980194\n"
+"help.text"
+msgid "For dates: \"Standard (short)\", \"Standard (short YY)\", \"Standard (short YYYY)\", \"Standard (long)\", \"DD/MM/YY\", \"MM/DD/YY\", \"YY/MM/DD\", \"DD/MM/YYYY\", \"MM/DD/YYYY\" , \"YYYY/MM/DD\", \"YY-MM-DD\", \"YYYY-MM-DD\"."
+msgstr ""
+
+#. f6gni
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id221598456991070\n"
+"help.text"
+msgid "For times: \"24h short\", \"24h long\", \"12h short\", \"12h long\"."
+msgstr ""
+
+#. RqjAh
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id501583774433513\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. E4aHX
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id151598177605296\n"
+"help.text"
+msgid "Returns the number of rows in a ListBox or a ComboBox."
+msgstr ""
+
+#. ApC5v
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id271588334016191\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. XQ3AV
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id251588334016874\n"
+"help.text"
+msgid "Specifies which item is selected in a ListBox or ComboBox. In case of multiple selection, the index of the first item is returned or only one item is set."
+msgstr ""
+
+#. 5DjjX
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id891616944120697\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. nNqW5
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id901616944120614\n"
+"help.text"
+msgid "Specifies the data contained in a ComboBox or a ListBox as a zero-based array of string values."
+msgstr ""
+
+#. rvVZ7
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id21616944586559\n"
+"help.text"
+msgid "Combined with <literal>ListSourceType</literal>, may also contain the name of a table, a query or a complete <literal>SQL</literal> statement."
+msgstr ""
+
+#. jqgF5
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id821616944631740\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. sqr2g
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id131616944631625\n"
+"help.text"
+msgid "Specifies the type of data contained in a combobox or a listbox."
+msgstr ""
+
+#. Fdm4C
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id881616944631341\n"
+"help.text"
+msgid "It must be one of the <link href=\"https://api.libreoffice.org/docs/idl/ref/ListSourceType_8idl_source.html\" name=\"ListSourceType\"><literal>com.sun.star.form.ListSourceType.*</literal></link> constants."
+msgstr ""
+
+#. BQ7JE
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id961598457655506\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. EV4jD
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id2159845765568\n"
+"help.text"
+msgid "Specifies if the control is read-only."
+msgstr ""
+
+#. CXDED
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id621598457951781\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. e7HnA
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id821598457951782\n"
+"help.text"
+msgid "Specifies whether the user can select multiple items in a listbox."
+msgstr ""
+
+#. TZuvX
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id351598458170114\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. AtLKa
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id151598539764402\n"
+"help.text"
+msgid "All"
+msgstr ""
+
+#. EuBGK
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id621598458170392\n"
+"help.text"
+msgid "The name of the control."
+msgstr ""
+
+#. SNTgh
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id161598458580581\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. CTjAM
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id181598539807426\n"
+"help.text"
+msgid "All"
+msgstr ""
+
+#. z8w8o
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id801598458580456\n"
+"help.text"
+msgid "Depending on the parent type, a form, a subform or a tablecontrol, returns the parent <literal>SFDocuments</literal>.<literal>Form</literal> or <literal>SFDocuments</literal>.<literal>FormControl</literal> class object instance."
+msgstr ""
+
+#. fyoXF
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id971598458773352\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. RnXeR
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id451598458773588\n"
+"help.text"
+msgid "Specifies the file name containing a bitmap or other type of graphic to be displayed on the control. The filename must comply with the <literal>FileNaming</literal> attribute of the <literal>ScriptForge.FileSystem</literal> service."
+msgstr ""
+
+#. PHBtj
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id251616946015886\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. oYA7V
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id91616946015258\n"
+"help.text"
+msgid "A control is said required when the underlying data must not contain a <literal>null</literal> value."
+msgstr ""
+
+#. NbTpX
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id781598516764550\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. Rv448
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id11159851676440\n"
+"help.text"
+msgid "Gives access to the text being displayed by the control."
+msgstr ""
+
+#. 7kxit
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id411598517275112\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. MNqBi
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id171598539985022\n"
+"help.text"
+msgid "All (except HiddenControl)"
+msgstr ""
+
+#. VXR9Y
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id651598517275384\n"
+"help.text"
+msgid "Specifies the text that appears as a tooltip when you hover the mouse pointer over the control."
+msgstr ""
+
+#. Awzep
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id821598517418463\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 6S5EL
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id141598517418822\n"
+"help.text"
+msgid "Specifies if the checkbox control may appear dimmed (grayed) or not."
+msgstr ""
+
+#. mCQFz
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id701598517671373\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. mHxWu
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id1001598540024225\n"
+"help.text"
+msgid "This property depends on the current control type. Refer to <link href=\"text/sbasic/shared/03/sf_formcontrol.xhp#hd_id81598540704978\" name=\"Value property\">The <literal>Value</literal> property</link> for more information."
+msgstr ""
+
+#. ybVim
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id661598517730941\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. G52FE
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id761598540042290\n"
+"help.text"
+msgid "All (except HiddenControl)"
+msgstr ""
+
+#. 5juZG
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id881598517730836\n"
+"help.text"
+msgid "Specifies if the control is hidden or visible."
+msgstr ""
+
+#. FAYCA
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id451598177924437\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. UZ7ug
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id94159817792441\n"
+"help.text"
+msgid "UNO<br/>object"
+msgstr ""
+
+#. 65CSA
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id311598540066789\n"
+"help.text"
+msgid "All"
+msgstr ""
+
+#. 25EFH
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id191598177924897\n"
+"help.text"
+msgid "The UNO object representing the control model. Refer to <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1awt_1_1XControlModel.html\" name=\"awt.XControlModel\">XControlModel</link> and <link href=\"https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1awt_1_1UnoControlModel.html\" name=\"awt.UnoControlModel\">UnoControlModel</link> in the API documentation for more information."
+msgstr ""
+
+#. FzDR6
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id811598178083501\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. Bdvyd
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id981598178083938\n"
+"help.text"
+msgid "UNO<br/>object"
+msgstr ""
+
+#. DFQ5P
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id551598540079329\n"
+"help.text"
+msgid "All"
+msgstr ""
+
+#. XahSM
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id731598178083442\n"
+"help.text"
+msgid "The UNO object representing the control view. Refer to <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1awt_1_1XControl.html\" name=\"awt.XControl\">XControl</link> and <link href=\"https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1awt_1_1UnoControl.html\" name=\"awt.UnoControl\">UnoControl</link> in the API documentation for more information."
+msgstr ""
+
+#. pqsod
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"hd_id81598540704978\n"
+"help.text"
+msgid "The <variable id=\"ValueProperty\"><literal>Value</literal> property</variable>"
+msgstr ""
+
+#. PbEBw
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id10159854325492\n"
+"help.text"
+msgid "Control type"
+msgstr ""
+
+#. bsmCC
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id741598543254158\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. MWgHB
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id961598543254444\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. FLUGH
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id741598543254108\n"
+"help.text"
+msgid "Applicable to toggle buttons only."
+msgstr ""
+
+#. jpLCR
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id741598543254376\n"
+"help.text"
+msgid "Boolean or Integer"
+msgstr ""
+
+#. ErAZY
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id521598543254630\n"
+"help.text"
+msgid "0, False: not checked<br/>1, True: checked<br/>2: grayed out, don't know (applicable if <literal>TripleState</literal> is <literal>True</literal>)"
+msgstr ""
+
+#. 3frrW
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id331598543254947\n"
+"help.text"
+msgid "The selected value, as a String. The <literal>ListIndex</literal> property is an alternate option to access the index of the selected value."
+msgstr ""
+
+#. faEEm
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id5159854325443\n"
+"help.text"
+msgid "Numeric"
+msgstr ""
+
+#. VyagB
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id971598543254757\n"
+"help.text"
+msgid "A file name formatted in accordance with the <literal>FileNaming</literal> property of the <literal>ScriptForge.FileSystem</literal> service"
+msgstr ""
+
+#. CaGtr
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id221598543254760\n"
+"help.text"
+msgid "String or Numeric"
+msgstr ""
+
+#. gtxJY
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id42159854325422\n"
+"help.text"
+msgid "String or array of strings"
+msgstr ""
+
+#. kBH32
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id601598543254780\n"
+"help.text"
+msgid "The selected row(s) as a single string or an array of strings. Only a single value can be set. If the box is linked to a database, this property gets or sets the underlying data. Otherwise it gets or sets the data being displayed."
+msgstr ""
+
+#. f7EZX
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id461598543254909\n"
+"help.text"
+msgid "Numeric"
+msgstr ""
+
+#. DrhU9
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id851598543254624\n"
+"help.text"
+msgid "Each button has its own name. Multiple RadioButton controls are linked together when they share the same group name. If a RadioButton is set to <literal>True</literal>, the other related buttons are automatically set to <literal>False</literal>"
+msgstr ""
+
+#. WEsqT
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id531598543254869\n"
+"help.text"
+msgid "Numeric"
+msgstr ""
+
+#. LxeLY
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id21598543254994\n"
+"help.text"
+msgid "Must be within the predefined bounds"
+msgstr ""
+
+#. mpoa7
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id951616947400919\n"
+"help.text"
+msgid "Numeric"
+msgstr ""
+
+#. x6ZLt
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id48161694740085\n"
+"help.text"
+msgid "Must be within the predefined bounds"
+msgstr ""
+
+#. UZLYC
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id441598543254738\n"
+"help.text"
+msgid "The text appearing in the field"
+msgstr ""
+
+#. WBHoJ
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"hd_id421612628828054\n"
+"help.text"
+msgid "Event properties"
+msgstr ""
+
+#. tqnsA
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id41612629140856\n"
+"help.text"
+msgid "The properties below return or set URI strings that define the script triggered by the event."
+msgstr ""
+
+#. 7Azyz
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id961612628879819\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. N4btE
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id401612628879819\n"
+"help.text"
+msgid "ReadOnly"
+msgstr ""
+
+#. RXoDM
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id281612628879819\n"
+"help.text"
+msgid "Description as labeled in the Basic IDE"
+msgstr ""
+
+#. yhjPA
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id91612707166532\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. HVTKN
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id291612707166258\n"
+"help.text"
+msgid "Execute action"
+msgstr ""
+
+#. T5CTw
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id79161270716675\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. qs3LA
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id831612707166731\n"
+"help.text"
+msgid "While adjusting"
+msgstr ""
+
+#. vUbN6
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id301616948330694\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. PopWN
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id901616948330305\n"
+"help.text"
+msgid "Approve action"
+msgstr ""
+
+#. PmE7k
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id821616948330888\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. rjQCJ
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id111616948330257\n"
+"help.text"
+msgid "Prior to reset"
+msgstr ""
+
+#. octLi
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id271616948330553\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. D7yir
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id451616948330759\n"
+"help.text"
+msgid "Before updating"
+msgstr ""
+
+#. YM7Nt
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id71616948330769\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. pHG54
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id211616948330895\n"
+"help.text"
+msgid "Changed"
+msgstr ""
+
+#. UaRoN
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id121616948330654\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. tfW7M
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id2216169483303\n"
+"help.text"
+msgid "Error occurred"
+msgstr ""
+
+#. vDFhJ
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id111612629836630\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. NN9FK
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id1001612629836902\n"
+"help.text"
+msgid "When receiving focus"
+msgstr ""
+
+#. tLp7Y
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id291612629836294\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. DDcCF
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id62161262983683\n"
+"help.text"
+msgid "When losing focus"
+msgstr ""
+
+#. EBVQM
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id51612707354544\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. PLPUr
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id211612707354899\n"
+"help.text"
+msgid "Item status changed"
+msgstr ""
+
+#. zBci2
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id81612629836634\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. vPrAA
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id881612629836744\n"
+"help.text"
+msgid "Key pressed"
+msgstr ""
+
+#. 8cFqR
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id591612629836830\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 6rrBt
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id161612629836775\n"
+"help.text"
+msgid "Key released"
+msgstr ""
+
+#. 7Pzmy
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id891612629836630\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 2pMWG
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id461612629836679\n"
+"help.text"
+msgid "Mouse moved while key presses"
+msgstr ""
+
+#. SGYBr
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id131612629836291\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. AJGQd
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id151612629836151\n"
+"help.text"
+msgid "Mouse inside"
+msgstr ""
+
+#. 6cFkB
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id211612629836725\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. tfmtf
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id361612629836624\n"
+"help.text"
+msgid "Mouse outside"
+msgstr ""
+
+#. 6E7WA
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id311612629836481\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. CeNku
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id721612629836752\n"
+"help.text"
+msgid "Mouse moved"
+msgstr ""
+
+#. iSxsS
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id981612629836116\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. 9yirD
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id381612629836635\n"
+"help.text"
+msgid "Mouse button pressed"
+msgstr ""
+
+#. b6pFV
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id711612629836704\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. D5vXU
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id35161262983642\n"
+"help.text"
+msgid "Mouse button released"
+msgstr ""
+
+#. 9Ui2H
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id31616948666215\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. mdLSp
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id951616948666674\n"
+"help.text"
+msgid "After resetting"
+msgstr ""
+
+#. jb4at
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id811612707606330\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. m3Rb7
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id621612707606219\n"
+"help.text"
+msgid "Text modified"
+msgstr ""
+
+#. bfgkG
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id41616948721642\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. imn6B
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id311616948721872\n"
+"help.text"
+msgid "After updating"
+msgstr ""
+
+#. CrwBN
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id961618181634181\n"
+"help.text"
+msgid "To learn more about URI strings, refer to the <link href=\"https://wiki.documentfoundation.org/Documentation/DevGuide/Scripting_Framework#Scripting_Framework_URI_Specification\" name=\"URI specification\">Scripting Framework URI Specification</link>."
+msgstr ""
+
+#. RpNkd
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id891611613601554\n"
+"help.text"
+msgid "List of Methods in the FormControl Service"
+msgstr ""
+
+#. CKZDf
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id161584541257982\n"
+"help.text"
+msgid "This method is applicable only to controls of the <literal>TableControl</literal> type. The returned value depends on the arguments provided."
+msgstr ""
+
+#. DB3PG
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id701618777636827\n"
+"help.text"
+msgid "If the optional argument <literal>controlname</literal> is absent, then a zero-based Array containing the names of all controls is returned."
+msgstr ""
+
+#. GgAeu
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id851618777715892\n"
+"help.text"
+msgid "On the other hand, if a <literal>controlname</literal> is provided, the method returns a <literal>FormControl</literal> class instance corresponding to the specified control."
+msgstr ""
+
+#. eoLJG
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id1001584541257789\n"
+"help.text"
+msgid "<emph>controlname</emph>: A valid control name as a case-sensitive string. If absent, the list of control names is returned as a zero-based array."
+msgstr ""
+
+#. F4Sdy
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"bas_id471618778075117\n"
+"help.text"
+msgid "' Returns an Array with the names of all controls in \"myTableControl\""
+msgstr ""
+
+#. YoHSo
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id931618778110273\n"
+"help.text"
+msgid "' Returns a FormControl class instance corresponding to \"myCheckBox\""
+msgstr ""
+
+#. AGA7Z
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id391622559441530\n"
+"help.text"
+msgid "Using Python:"
+msgstr ""
+
+#. CprjV
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id871583933076448\n"
+"help.text"
+msgid "Sets the focus on the control. Returns <literal>True</literal> if focusing was successful."
+msgstr ""
+
+#. LuxFE
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id151598178880227\n"
+"help.text"
+msgid "This method is often called from a form or control event."
+msgstr ""
+
+#. haAXC
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"hd_id141618777179310\n"
+"help.text"
+msgid "Additional examples"
+msgstr ""
+
+#. JopFS
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id331618777195723\n"
+"help.text"
+msgid "Below are two examples that illustrate the use of the <literal>FormControl</literal> service."
+msgstr ""
+
+#. 5iGmg
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id371618776324489\n"
+"help.text"
+msgid "The first example reads the current value in a ComboBox containing city names and writes it to a FixedTest control in a Form:"
+msgstr ""
+
+#. 3eh6E
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"pyc_id991622562833004\n"
+"help.text"
+msgid "bas = CreateScriptService('ScriptForge.Basic') # Basic-like methods"
+msgstr ""
+
+#. 8jneo
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"pyc_id781622561048794\n"
+"help.text"
+msgid "lbl_city.Caption = \"Selected city: \" + combo_city.Value"
+msgstr ""
+
+#. kz9SK
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"par_id251618776614814\n"
+"help.text"
+msgid "The following code snippet can be used to process RadioButton controls that share the same group name. In this example, suppose there are three radio buttons with names <literal>optA</literal>, <literal>optB</literal> and <literal>optC</literal> and we wish to display the caption of the selected control."
+msgstr ""
+
+#. hRhNC
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"bas_id251618776933304\n"
+"help.text"
+msgid "MsgBox \"Selected option: \" & optControl.Caption"
+msgstr ""
+
+#. YnBgM
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"pyc_id991622562822004\n"
+"help.text"
+msgid "bas = CreateScriptService('ScriptForge.Basic') # Basic-like methods"
+msgstr ""
+
+#. TNTT9
+#: sf_formcontrol.xhp
+msgctxt ""
+"sf_formcontrol.xhp\n"
+"pyc_id441622562080419\n"
+"help.text"
+msgid "bas.MsgBox('Selected option: ' + control.Caption)"
+msgstr ""
+
+#. czP76
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"tit\n"
+"help.text"
+msgid "Creating Python Scripts with ScriptForge"
+msgstr ""
+
+#. 8BEWT
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"hd_id461623364876507\n"
+"help.text"
+msgid "<variable id=\"title\"><link href=\"text/sbasic/shared/03/sf_intro.xhp\" name=\"SF_Intro_Page\">Creating Python Scripts with <literal>ScriptForge</literal></link></variable>"
+msgstr ""
+
+#. 6JuA3
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"hd_id361623410405420\n"
+"help.text"
+msgid "Differences between Basic and Python"
+msgstr ""
+
+#. 3GzhB
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id41623410443946\n"
+"help.text"
+msgid "The <link href=\"text/sbasic/shared/03/lib_ScriptForge.xhp\" name=\"SF_Lib\">ScriptForge library</link> is available both for Basic and Python. Most services, methods and properties work identically in both programming languages. However, due to differences in how each language works, <literal>ScriptForge</literal> users must be aware of some characteristics of the library when using Python:"
+msgstr ""
+
+#. HsKzK
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id551623410718241\n"
+"help.text"
+msgid "<emph>Methods and Property names:</emph> In Python, all methods and properties can be used in lowercased, ProperCased or camelCased formats."
+msgstr ""
+
+#. Rg29x
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id741623411104297\n"
+"help.text"
+msgid "<emph>Arguments:</emph> All keyword arguments passed on to methods are lowercased."
+msgstr ""
+
+#. C6VCu
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id441623411216354\n"
+"help.text"
+msgid "<emph>Dates:</emph> All date objects are passed and returned as <literal>datetime.datetime</literal> native Python objects."
+msgstr ""
+
+#. FcX93
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id891623411367669\n"
+"help.text"
+msgid "<emph>Arrays:</emph> One-dimensional arrays are passed and returned as tuples (which is an immutable object). Two-dimensional arrays are passed and returned as tuples of tuples."
+msgstr ""
+
+#. S6wwX
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id981623411507442\n"
+"help.text"
+msgid "<emph>None:</emph> Python's <literal>None</literal> keyword is equivalent to Basic's <literal>Null</literal>, <literal>Empty</literal> or <literal>Nothing</literal>."
+msgstr ""
+
+#. 2G2uk
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id21623411611447\n"
+"help.text"
+msgid "<emph>UNO objects:</emph> All UNO structures are exchanged between Basic and Python without any changes."
+msgstr ""
+
+#. WFDrN
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id651623412069496\n"
+"help.text"
+msgid "<emph>Debugging:</emph> Whenever an error occurs in Python scripts that use <literal>ScriptForge</literal>, the error message provided by the Python execution stack displays the line of code that triggered the error. In Basic error messages do not display this information."
+msgstr ""
+
+#. cPtYB
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id31623411828158\n"
+"help.text"
+msgid "Visit <link href=\"text/sbasic/python/main0000.xhp#\" name=\"pyscripts_link\">%PRODUCTNAME Python Scripts Help</link> for more information on Python scripting using %PRODUCTNAME."
+msgstr ""
+
+#. CZiTF
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"hd_id391623411150080\n"
+"help.text"
+msgid "Running Python scripts on %PRODUCTNAME"
+msgstr ""
+
+#. 2j29F
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id411623364895100\n"
+"help.text"
+msgid "Depending on what you intend to achieve, you may choose one of the following approaches to running Python scripts in %PRODUCTNAME:"
+msgstr ""
+
+#. XHP4Z
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id681623365274024\n"
+"help.text"
+msgid "<emph>Run Scripts inside the current %PRODUCTNAME process:</emph> Python scripts are executed from within the %PRODUCTNAME process by using the <menuitem>Tools - Macros - Run Macro</menuitem> menu or the APSO extension to call user scripts stored in the Python scripts folder. You can also use the APSO Python shell to interactively run Python scripts."
+msgstr ""
+
+#. pnXQT
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id761623365278133\n"
+"help.text"
+msgid "<emph>Run Scripts separately from the %PRODUCTNAME process:</emph> Python scripts are executed from an external process that connects to an ongoing %PRODUCTNAME process using a socket."
+msgstr ""
+
+#. uyCPN
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id631623365667011\n"
+"help.text"
+msgid "If you plan to run scripts from inside the %PRODUCTNAME process, it is recommended to install the <link href=\"https://extensions.libreoffice.org/en/extensions/show/apso-alternative-script-organizer-for-python\" name=\"APSO\">APSO (Alternative Script Organizer for Python) extension</link>. However, to develop Python scripts from outside %PRODUCTNAME, you can choose your preferred Python IDE."
+msgstr ""
+
+#. R4Rfk
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"hd_id431623365836802\n"
+"help.text"
+msgid "Running Scripts from inside the %PRODUCTNAME process"
+msgstr ""
+
+#. UFGaA
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"hd_id111623365861568\n"
+"help.text"
+msgid "Using the APSO extension"
+msgstr ""
+
+#. GAQwg
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id681623365892513\n"
+"help.text"
+msgid "The easiest way to get started with Python scripting in %PRODUCTNAME is by installing the APSO extension. After installing it, open any %PRODUCTNAME component and go to <menuitem>Tools - Macros - Organize Python Scripts</menuitem>."
+msgstr ""
+
+#. iXiDt
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id111623366334727\n"
+"help.text"
+msgid "In APSO's main window go to <menuitem>Menu - Python Shell</menuitem>."
+msgstr ""
+
+#. JBFa3
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id931623366329927\n"
+"help.text"
+msgid "Alternatively you can open APSO using the default shortcut <keycode>Alt + Shift + F11</keycode>."
+msgstr ""
+
+#. TKAXE
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id661623366478092\n"
+"help.text"
+msgid "Now you can start typing Python commands and the shell will print the corresponding output after each line of code is executed."
+msgstr ""
+
+#. zGCxS
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id581623366559478\n"
+"help.text"
+msgid "To start using the <literal>ScriptForge</literal> library, you need to import the <literal>CreateScriptService</literal> method, with which you will be able to access the services provided by the library. The example below uses the <literal>Basic</literal> service to display a message box."
+msgstr ""
+
+#. F7c8N
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id701623366829587\n"
+"help.text"
+msgid "To run the example above, enter each line in the Python shell, one by one, pressing the Enter key after you type each line of code."
+msgstr ""
+
+#. 4PS26
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id471623366906045\n"
+"help.text"
+msgid "Now you can start executing Python commands using any of the ScriptForge services. For example, the code snippet below uses the <literal>UI</literal> service to create a blank Writer document."
+msgstr ""
+
+#. N5A9E
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"hd_id961623367376768\n"
+"help.text"
+msgid "Creating Python script files"
+msgstr ""
+
+#. xqmvY
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id821623367433650\n"
+"help.text"
+msgid "You can create your own Python files and edit them with your preferred text editor. Later you can call them from within any %PRODUCTNAME component."
+msgstr ""
+
+#. arDpS
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id51623367560321\n"
+"help.text"
+msgid "The first step is to locate where your user scripts are stored. For that, refer to <link href=\"text/sbasic/python/python_locations.xhp\" name=\"Python_Scripts_Path\">Python Scripts Organization and Location</link> help page."
+msgstr ""
+
+#. NdM4Y
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id821623367773032\n"
+"help.text"
+msgid "Now you can create a text file inside your Python user scripts folder, for instance <emph>sf_test.py</emph>, and start typing your scripts."
+msgstr ""
+
+#. rFyBp
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id271623367917630\n"
+"help.text"
+msgid "Next is a simple example that gets the numeric value from a Calc cell and increments it by 1. Simply type the following code into the <emph>sf_test.py</emph> file."
+msgstr ""
+
+#. EQxF2
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id171623368511426\n"
+"help.text"
+msgid "This example creates the <literal>increment_cell</literal> function. Note that <literal>g_exportedScripts</literal> is a tuple that tells which functions will be displayed in %PRODUCTNAME as user scripts."
+msgstr ""
+
+#. UUnv4
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id471623368615244\n"
+"help.text"
+msgid "To run this script from within a Calc document:"
+msgstr ""
+
+#. FynYm
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id811623368677444\n"
+"help.text"
+msgid "Create or open a Calc file."
+msgstr ""
+
+#. qdWEL
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id281623368679141\n"
+"help.text"
+msgid "Enter some numeric value into cell \"A1\" in the current sheet."
+msgstr ""
+
+#. bFQSh
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id111623368679893\n"
+"help.text"
+msgid "Go to <menuitem>Tools - Macros - Run Macros</menuitem> ."
+msgstr ""
+
+#. HkBwz
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id421623368680565\n"
+"help.text"
+msgid "Choose My Macros - sf_test in the library selector. Then choose the <literal>increment_cell</literal> function under the <menuitem>Macro Name</menuitem> list."
+msgstr ""
+
+#. FPZD6
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id131623368875763\n"
+"help.text"
+msgid "Click <emph>Run</emph>. Note that the value in cell \"A1\" was incremented by 1."
+msgstr ""
+
+#. 9FozC
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id781623368934689\n"
+"help.text"
+msgid "You can also use APSO to run Python scripts in a similar manner:"
+msgstr ""
+
+#. Lyyxc
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id501623369002537\n"
+"help.text"
+msgid "First open APSO by going to <menuitem>Tools - Macros - Organize Python Scripts</menuitem>."
+msgstr ""
+
+#. ayPs5
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id521623369004825\n"
+"help.text"
+msgid "In the macro list, navigate to <menuitem>My Macros - sf_test - increment_cell</menuitem>."
+msgstr ""
+
+#. WaGHv
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id101623369005929\n"
+"help.text"
+msgid "Click <menuitem>Execute</menuitem>."
+msgstr ""
+
+#. ujB4e
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"hd_id531623369208159\n"
+"help.text"
+msgid "Running Scripts separately from the %PRODUCTNAME process"
+msgstr ""
+
+#. 9yG9z
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"hd_id261623370168228\n"
+"help.text"
+msgid "Determining the Installation Path"
+msgstr ""
+
+#. 2ijCM
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id261623369722023\n"
+"help.text"
+msgid "The first step to run scripts from a separate process is to find the folder where %PRODUCTNAME is installed. There are several ways to do that, but <literal>ScriptForge</literal> provides a quick way to identify your installation path. For that, open APSO's Python shell and type:"
+msgstr ""
+
+#. UEwkB
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id81623370150730\n"
+"help.text"
+msgid "The output from the code above is the base directory where %PRODUCTNAME is installed. Now you need to add the \"program\" subfolder to the resulting path. This is the base folder from which you will run Python scripts from a separate process."
+msgstr ""
+
+#. EvDcx
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id451623370201479\n"
+"help.text"
+msgid "For example, suppose you get <emph>/usr/lib/libreoffice/</emph> as the result from running the Python code above. Then you need to consider <emph>/usr/lib/libreoffice/program</emph> as the path to run your Python scripts."
+msgstr ""
+
+#. 6EYGe
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"hd_id231623370501084\n"
+"help.text"
+msgid "Start %PRODUCTNAME with socket settings"
+msgstr ""
+
+#. F94mp
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id721623369245475\n"
+"help.text"
+msgid "To run Python scripts from a separate process, you need to start %PRODUCTNAME with a few additional options that specify the hostname and port through which the external process will communicate with the %PRODUCTNAME component process."
+msgstr ""
+
+#. mfbEM
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id221623369584132\n"
+"help.text"
+msgid "Open the your operating system's command prompt, navigate to the program folder of your %PRODUCTNAME installation directory and type:"
+msgstr ""
+
+#. 6hDm4
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id981623370706743\n"
+"help.text"
+msgid "The command above will start %PRODUCTNAME with a communication channel open so that other processes can exchange messages with it."
+msgstr ""
+
+#. SB5LE
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id621623370871360\n"
+"help.text"
+msgid "Note that the previous example opens %PRODUCTNAME start center. If you want to open a specific component, for instance Writer, you can add the --writer flag to the command, as follows."
+msgstr ""
+
+#. cVRuV
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id431623373618951\n"
+"help.text"
+msgid "Take note of the <literal>host</literal> and <literal>port</literal> parameters, which in this example are <emph>localhost</emph> and <emph>2021</emph>, respectively."
+msgstr ""
+
+#. Z7z5C
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"hd_id861623370468356\n"
+"help.text"
+msgid "Running an External Python Shell"
+msgstr ""
+
+#. eBmVz
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id621623371253647\n"
+"help.text"
+msgid "Start the Python shell from within the <emph>program</emph> folder inside your %PRODUCTNAME installation path. Follow the steps <link href=\"text/sbasic/shared/03/sf_intro.xhp#InstallPath\" name=\"Install_Path\">above</link> to learn how to find your installation path."
+msgstr ""
+
+#. 69F7S
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id11623373098602\n"
+"help.text"
+msgid "<emph>On Linux / Mac OS:</emph>"
+msgstr ""
+
+#. PFWiq
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id311623373151552\n"
+"help.text"
+msgid "<emph>On Windows:</emph>"
+msgstr ""
+
+#. HGBuK
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id791623373520018\n"
+"help.text"
+msgid "This will open the Python shell and now you can start typing commands that will be executed by %PRODUCTNAME. But first you need to set up the socket connection."
+msgstr ""
+
+#. s54tE
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id351623373686414\n"
+"help.text"
+msgid "The second line of code above defines the <literal>host</literal> and <literal>port</literal> settings so that the Python shell can communicate with an ongoing %PRODUCTNAME process opened with the same socket settings."
+msgstr ""
+
+#. RiXDx
+#: sf_intro.xhp
+msgctxt ""
+"sf_intro.xhp\n"
+"par_id721623373769471\n"
+"help.text"
+msgid "Now you can run other Python commands and they will be able to communicate with the %PRODUCTNAME process. For example:"
+msgstr ""
+
+#. VCRTD
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge.L10N service"
+msgstr ""
+
+#. q7BSh
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"hd_id521585843652750\n"
+"help.text"
+msgid "<variable id=\"L10NService\"><link href=\"text/sbasic/shared/03/sf_l10n.xhp\" name=\"L10N service\"><literal>ScriptForge</literal>.<literal>L10N</literal> service</link></variable>"
+msgstr ""
+
+#. FRAiJ
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id411585843652556\n"
+"help.text"
+msgid "This service provides a number of methods related to the translation of strings with minimal impact on the program's source code. The methods provided by the <literal>L10N</literal> service can be used mainly to:"
+msgstr ""
+
+#. gw2rW
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id601614351922212\n"
+"help.text"
+msgid "Create POT files that can be used as templates for translation of all strings in the program."
+msgstr ""
+
+#. sbVQL
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id131614352196513\n"
+"help.text"
+msgid "Get translated strings at runtime for the language defined in the <literal>Locale</literal> property."
+msgstr ""
+
+#. kCrgU
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id971614966420419\n"
+"help.text"
+msgid "The acronym <literal>L10N</literal> stands for Localization and refers to a set of procedures for translating software to a specific country or region."
+msgstr ""
+
+#. supr5
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id291585843652438\n"
+"help.text"
+msgid "PO files have long been promoted in the free software community as a means to providing multilingual user interfaces. This is accomplished through the use of human-readable text files with a well defined structure that specifies, for any given language, the source language string and the localized string."
+msgstr ""
+
+#. j6xsd
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id181585843652814\n"
+"help.text"
+msgid "The main advantage of the PO format is dissociation of the programmer and the translator. PO files are independent text files, so the programmer can send POT template files to translators, who will then translate their contents and return the translated PO files for each supported language."
+msgstr ""
+
+#. iBQxR
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id811614352321187\n"
+"help.text"
+msgid "The <literal>L10N</literal> service is based on the GNU implementation of PO (portable object) files. To learn more about this file format, visit <link href=\"https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html\" name=\"GetText\">GNU gettext Utilities: PO Files</link>."
+msgstr ""
+
+#. DGiG9
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id91585843652832\n"
+"help.text"
+msgid "This service implements the methods listed below:"
+msgstr ""
+
+#. fBXDW
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id1158584365237\n"
+"help.text"
+msgid "<emph>AddText</emph>: Used by the programmer to build a set of strings that will be translated later."
+msgstr ""
+
+#. BtuQ3
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id81637866601151\n"
+"help.text"
+msgid "<emph>AddTextsFromDialog</emph>: Extracts all strings from a <literal>Dialog</literal> service instance."
+msgstr ""
+
+#. cm7fq
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id681585843652331\n"
+"help.text"
+msgid "<emph>ExportToPOTFile</emph>: Exports the strings added by the <literal>AddText</literal> method to a POT file."
+msgstr ""
+
+#. Z7dU5
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id531585843652697\n"
+"help.text"
+msgid "<emph>GetText</emph>: Gets the translated strings at runtime."
+msgstr ""
+
+#. D4Fyf
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id361614361362393\n"
+"help.text"
+msgid "Note that the first two methods are used to build a set of translatable strings and export them to a POT file. However, it is not mandatory to create POT files using these methods. Since they are text files, the programmer could have created them using any text editor."
+msgstr ""
+
+#. Rn7FL
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"hd_id351585843652312\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. 2WXAQ
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>L10N</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. 9xE8t
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id421614353247163\n"
+"help.text"
+msgid "There are several ways to invoke the <literal>L10N</literal> service using up to five optional arguments that specify the folder where PO files are stored, the locale and encoding to be used, as well as a fallback PO file and its encoding."
+msgstr ""
+
+#. cCwBS
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id331585843652877\n"
+"help.text"
+msgid "<emph>foldername</emph>: The folder containing the PO files. It must be expressed in the <literal>FileSystem.FileNaming</literal> notation."
+msgstr ""
+
+#. oQD4m
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id581585843652789\n"
+"help.text"
+msgid "<emph>locale</emph>: A string in the form \"la-CO\" (language-COUNTRY) or in the form \"la\" (language) only."
+msgstr ""
+
+#. gswGR
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id591646219881864\n"
+"help.text"
+msgid "<emph>encoding</emph>: The character set to be used. The default encoding is \"UTF-8\"."
+msgstr ""
+
+#. CXd3e
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id281646219882464\n"
+"help.text"
+msgid "<emph>locale2</emph>: A string specifying the fallback locale to be used in case the PO file corresponding to the locale defined the <literal>locale</literal> parameter does not exist. This parameter is expressed in the form \"la-CO\" (language-COUNTRY) or \"la\" (language) only."
+msgstr ""
+
+#. TaFFX
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id881646219882951\n"
+"help.text"
+msgid "<emph>encoding2</emph>: The character set of the fallback PO file corresponding to the <literal>locale2</literal> argument. The default encoding is \"UTF-8\"."
+msgstr ""
+
+#. wbSFz
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id141613001281573\n"
+"help.text"
+msgid "To learn more about the names of character sets, visit <link href=\"https://www.iana.org/assignments/character-sets/character-sets.xhtml\" name=\"Character Sets\">IANA's Character Set</link> page. Beware that %PRODUCTNAME does not implement all existing character sets."
+msgstr ""
+
+#. 3ApdD
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id891614358528334\n"
+"help.text"
+msgid "The following example instantiates the <literal>L10N</literal> service without any optional arguments. This will only enable the <literal>AddText</literal> and <literal>ExportToPOTFile</literal> methods, which is useful for creating POT files."
+msgstr ""
+
+#. rFfgF
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id611614358672609\n"
+"help.text"
+msgid "The example below specifies the folder containing the PO files. Because the locale is not defined, the service instance will use the locale defined for the %PRODUCTNAME user interface, which is the same locale defined in the <literal>OfficeLocale</literal> property of the <link href=\"text/sbasic/shared/03/sf_platform.xhp\" name=\"OfficeLocale_link\">Platform</link> service."
+msgstr ""
+
+#. FewYJ
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id391625855630975\n"
+"help.text"
+msgid "The example above will result in an runtime error if the PO file corresponding to the <literal>OfficeLocale</literal> locale does not exist in the specified folder."
+msgstr ""
+
+#. gSzLN
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id321614358809763\n"
+"help.text"
+msgid "In the example below, the locale is explicitly defined to be Belgian French (\"fr-BE\"), hence the service will load the file \"fr-BE.po\" from the folder \"C:\\myPOFiles\". If the file does not exist, an error will occur."
+msgstr ""
+
+#. WpYLF
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id271646220649616\n"
+"help.text"
+msgid "To avoid errors, it is possible to specify a preferred and a fallback locale and encoding. The following example will first try to load the file \"fr-BE.po\" from the specified folder and if it does not exist, the file \"en-US.po\" will be loaded."
+msgstr ""
+
+#. UGFWB
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id411585843652496\n"
+"help.text"
+msgid "PO files must be named in the form \"la-CO.po\" or \"la.po\", where \"la\" refers to the language and \"CO\" is the country. Some examples are: \"en-US.po\", \"fr-BE.po\" or \"fr.po\"."
+msgstr ""
+
+#. zQhHX
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id171585843652545\n"
+"help.text"
+msgid "It is recommended to free resources after use:"
+msgstr ""
+
+#. CmhnJ
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id281625854773330\n"
+"help.text"
+msgid "The examples above can be translated to Python as follows:"
+msgstr ""
+
+#. Z5Pb3
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id301614358956087\n"
+"help.text"
+msgid "Several instances of the <literal>L10N</literal> service may coexist. However, each instance must use a separate directory for its PO files."
+msgstr ""
+
+#. 6mcLb
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"hd_id561585843652465\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. mJaFd
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id181585843652958\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. FFbDK
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id741585843652162\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. X3tJK
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id291585843652823\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. 8ECBX
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id351585843652638\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. j3wEj
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id451585843652928\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. uED9S
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id751585843652642\n"
+"help.text"
+msgid "The folder containing the PO files (see the <link href=\"text/sbasic/shared/03/sf_filesystem.xhp#bm_id901612991354326\" name=\"FileNaming property\"><literal>FileSystem.FileNaming</literal></link> property to learn about the notation used)."
+msgstr ""
+
+#. Zsp7p
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id96158584365279\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. vdfiw
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id331585843652912\n"
+"help.text"
+msgid "A zero-based array listing all the base names (without the \".po\" extension) of the PO-files found in the specified <literal>Folder</literal>."
+msgstr ""
+
+#. NWxhu
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id961585843652589\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. LSNA3
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id561585843652947\n"
+"help.text"
+msgid "The currently active language-COUNTRY combination. This property will be initially empty if the service was instantiated without any of the optional arguments."
+msgstr ""
+
+#. 5cs7h
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id231614360519973\n"
+"help.text"
+msgid "List of Methods in the L10N Service"
+msgstr ""
+
+#. Q24j9
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id1001585843652271\n"
+"help.text"
+msgid "Adds a new entry in the list of localizable strings. It must not exist yet."
+msgstr ""
+
+#. 5Fs5v
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id641625855725050\n"
+"help.text"
+msgid "The method returns <literal>True</literal> if successful."
+msgstr ""
+
+#. gyUYQ
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id391585843652753\n"
+"help.text"
+msgid "<emph>context</emph>: The key to retrieve the translated string with the <literal>GetText</literal> method. This parameter has a default value of \"\"."
+msgstr ""
+
+#. YVUWx
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id581585844419114\n"
+"help.text"
+msgid "<emph>msgid</emph>: The untranslated string, which is the text appearing in the program code. It must not be empty. The <literal>msgid</literal> becomes the key to retrieve the translated string via <literal>GetText</literal> method when <literal>context</literal> is empty."
+msgstr ""
+
+#. 7FDE9
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id311614361926844\n"
+"help.text"
+msgid "The <literal>msgid</literal> string may contain any number of placeholders (%1 %2 %3 ...) for dynamically modifying the string at runtime."
+msgstr ""
+
+#. ioGmP
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id541585844475331\n"
+"help.text"
+msgid "<emph>comment</emph>: Optional comment to be added alongside the string to help translators."
+msgstr ""
+
+#. TAyPG
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id461614364298440\n"
+"help.text"
+msgid "The example below creates a set of strings in English:"
+msgstr ""
+
+#. rWt7U
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id1001585843659821\n"
+"help.text"
+msgid "Automatically extracts strings from a dialog and adds them to the list of localizable text strings. The following strings are extracted:"
+msgstr ""
+
+#. bS7ZL
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id621637863440015\n"
+"help.text"
+msgid "The title of the dialog."
+msgstr ""
+
+#. EBFAC
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id61637863440399\n"
+"help.text"
+msgid "The caption of the following control types: Button, CheckBox, FixedLine, FixedText, GroupBox and RadioButton."
+msgstr ""
+
+#. uCL85
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id251637863440626\n"
+"help.text"
+msgid "Static strings in ListBoxes and ComboBoxes."
+msgstr ""
+
+#. HWkAU
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id811637863596791\n"
+"help.text"
+msgid "The tooltip or help text displayed when the mouse hovers over the control."
+msgstr ""
+
+#. gKbEN
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id641625855723650\n"
+"help.text"
+msgid "The method returns <literal>True</literal> if successful."
+msgstr ""
+
+#. Kcowa
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id731637863894577\n"
+"help.text"
+msgid "The dialog from which strings will be extracted must not be open when the method is called."
+msgstr ""
+
+#. 75EGY
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id911637864050221\n"
+"help.text"
+msgid "When a <literal>L10N</literal> service instance is created from an existing PO file, use the <link href=\"text/sbasic/shared/03/sf_dialog.xhp#GetTextsFromL10N\" name=\"GetTextsFromL10N\">GetTextsFromL10N</link> method from the <literal>Dialog</literal> service to automatically load all translated strings into the dialog."
+msgstr ""
+
+#. ejhbN
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id391585843652113\n"
+"help.text"
+msgid "<emph>dialog</emph>: a Dialog service instance corresponding to the dialog from which strings will be extracted."
+msgstr ""
+
+#. QzWzG
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id461614364298983\n"
+"help.text"
+msgid "The following example extracts all strings from the dialog \"MyDialog\" stored in the \"Standard\" library and exports them to a POT file:"
+msgstr ""
+
+#. DqFBf
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id281586102707242\n"
+"help.text"
+msgid "Exports a set of untranslated strings as a POT file."
+msgstr ""
+
+#. NABBq
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id711586102939257\n"
+"help.text"
+msgid "To build a set of strings you can use either a succession of <literal>AddText</literal> method calls, or by a successful invocation of the <literal>L10N</literal> service with the <literal>foldername</literal> argument present. It is also possible to use a combination of both techniques."
+msgstr ""
+
+#. Pb4VF
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id641625855725141\n"
+"help.text"
+msgid "The method returns <literal>True</literal> if successful."
+msgstr ""
+
+#. BsmCX
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id31586102707537\n"
+"help.text"
+msgid "<emph>filename</emph>: The output file in <literal>FileSystem.FileNaming</literal> notation."
+msgstr ""
+
+#. jQV77
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id851586102707579\n"
+"help.text"
+msgid "<emph>header</emph>: Comments that will be added on top of the generated POT file."
+msgstr ""
+
+#. YhYbQ
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id111614364686973\n"
+"help.text"
+msgid "Do not include any leading \"#\" characters. If you want the header to be broken into multiple lines, insert escape sequences (\\n) where relevant. A standard header will be added alongside the text specified in the <literal>header</literal> argument."
+msgstr ""
+
+#. E2Loj
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id5158610270728\n"
+"help.text"
+msgid "<emph>encoding</emph>: The character set to be used (Default = \"UTF-8\")."
+msgstr ""
+
+#. uDu7z
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id581614364494235\n"
+"help.text"
+msgid "The generated file should successfully pass the <literal>msgfmt --check</literal> GNU command."
+msgstr ""
+
+#. 32fPj
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id891586165768715\n"
+"help.text"
+msgid "Gets the translated string corresponding to the given <literal>msgid</literal> argument."
+msgstr ""
+
+#. NzGZC
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id291614365296959\n"
+"help.text"
+msgid "A list of arguments may be specified to replace the placeholders (%1, %2, ...) in the string."
+msgstr ""
+
+#. 9DBFa
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id231586166181909\n"
+"help.text"
+msgid "If no translated string is found, the method returns the untranslated string after replacing the placeholders with the specified arguments."
+msgstr ""
+
+#. bAcmJ
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id871586352505927\n"
+"help.text"
+msgid "This method can be called either by the full name <literal>GetText</literal> or by the shortcut <literal>_</literal> (a single underscore):"
+msgstr ""
+
+#. mvB66
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id421614967136502\n"
+"help.text"
+msgid "In the ScriptForge library, all methods starting with the \"_\" character are reserved for internal use only. However, the shortcut <literal>_</literal> used for <literal>GetText</literal> is the only exception to this rule, hence it can be safely used in Basic and Python scripts."
+msgstr ""
+
+#. 2ZVAQ
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id51586165768525\n"
+"help.text"
+msgid "<emph>msgid</emph>: The untranslated string, which is the text appearing in the program code. It must not be empty. It may contain any number of placeholders (%1 %2 %3 ...) that can be used to dynamically insert text at runtime."
+msgstr ""
+
+#. dALxK
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id11614365537450\n"
+"help.text"
+msgid "Besides using a single <literal>msgid</literal> string, this method also accepts the following formats:"
+msgstr ""
+
+#. Q7Bbm
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id961614365557277\n"
+"help.text"
+msgid "The <literal>context</literal> string with which the method will retrieve the <literal>msgid</literal> in the PO file, or;"
+msgstr ""
+
+#. rTDrq
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id981614365589866\n"
+"help.text"
+msgid "A combination <literal>context|msgid</literal>, instructing the method to retrieve the <literal>msgid</literal> using specified <literal>context</literal> value. The second part of the argument is used to improve code readability."
+msgstr ""
+
+#. dW6RE
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id571586165768106\n"
+"help.text"
+msgid "<emph>args</emph>: Values to be inserted into the placeholders. Any variable type is allowed, however only strings, numbers and dates will be considered."
+msgstr ""
+
+#. cCZDK
+#: sf_l10n.xhp
+msgctxt ""
+"sf_l10n.xhp\n"
+"par_id701614365961454\n"
+"help.text"
+msgid "Consider the following code is running on a %PRODUCTNAME installation with locale set to \"es-ES\". Additionally, there is a file \"es-ES.po\" inside the specified folder that translates the string passed to the <literal>GetText</literal> method:"
+msgstr ""
+
+#. yD78g
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"tit\n"
+"help.text"
+msgid "SFWidgets.Menu service"
+msgstr ""
+
+#. F5KPb
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"bm_id681600788076499\n"
+"help.text"
+msgid "<variable id=\"MenuService\"><link href=\"text/sbasic/shared/03/sf_menu.xhp\" name=\"Menu service\"><literal>SFWidgets</literal>.<literal>Menu</literal> service</link></variable>"
+msgstr ""
+
+#. FqGPg
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id181600788076612\n"
+"help.text"
+msgid "The <literal>Menu</literal> service can be used to create and remove menus from the menubar of a %PRODUCTNAME document window. Each menu entry can be associated with a script or with a UNO command. This service provides the following capabilities:"
+msgstr ""
+
+#. UYDdv
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id301600788076785\n"
+"help.text"
+msgid "Creation of menus with custom entries, checkboxes, radio buttons and separators."
+msgstr ""
+
+#. KB9XF
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id1001600788076848\n"
+"help.text"
+msgid "Decoration of menu items with icons and tooltips."
+msgstr ""
+
+#. JSwJW
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id581643133675012\n"
+"help.text"
+msgid "Menus created with this service are available only for a specified document window. They are not saved into the document or as application settings. Closing and opening the document will restore the default menubar settings."
+msgstr ""
+
+#. FEfWE
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id291643224925643\n"
+"help.text"
+msgid "When OLE objects such as Math formulas or Calc charts are edited from within a document, %PRODUCTNAME reconfigures the menubar according to the object. When this happens, the menus created with the <literal>Menu</literal> service are removed and are not be restored after editing the OLE object."
+msgstr ""
+
+#. GftK9
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"hd_id281600788076359\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. o7QCg
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>Menu</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. DzDmt
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id321614902851541\n"
+"help.text"
+msgid "The <literal>Menu</literal> service is instantiated by calling the <link href=\"text/sbasic/shared/03/sf_document.xhp#CreateMenu\" name=\"CreateMenu_link\"><literal>CreateMenu</literal></link> method from the <literal>Document</literal> service. The code snippet below creates a menu named <emph>My Menu</emph> in the current document window with two entries <emph>Item A</emph> and <emph>Item B</emph>."
+msgstr ""
+
+#. pf7FV
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"bas_id261643134374056\n"
+"help.text"
+msgid "Set oMenu = oDoc.CreateMenu(\"My Menu\")"
+msgstr ""
+
+#. Hoh4Q
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"bas_id431643134582213\n"
+"help.text"
+msgid ".AddItem(\"Item A\", Command := \"About\")"
+msgstr ""
+
+#. u52BY
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"bas_id571643134582396\n"
+"help.text"
+msgid ".AddItem(\"Item B\", Script := \"vnd.sun.star.script:Standard.Module1.ItemB_Listener?language=Basic&location=application\")"
+msgstr ""
+
+#. nd5od
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id371643135157996\n"
+"help.text"
+msgid "After creating the menu, it is recommended to call the <literal>Dispose</literal> method to free the resources used by the <literal>Menu</literal> service instance."
+msgstr ""
+
+#. 2VDkD
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id341636718182262\n"
+"help.text"
+msgid "In the example above, <emph>Item A</emph> is associated with the UNO command <literal>.uno:About</literal> whereas <emph>Item B</emph> is associated with the script <literal>ItemB_Listener</literal> defined in <literal>Module1</literal> of the <literal>Standard</literal> library of the <literal>My Macros</literal> container."
+msgstr ""
+
+#. 9G7de
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id851635274721129\n"
+"help.text"
+msgid "The following example defines <literal>ItemB_Listener</literal> that will be called when <emph>Item B</emph> is clicked. This listener simply splits the argument string passed to the <literal>Sub</literal> and shows them in a message box."
+msgstr ""
+
+#. AFHBG
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"bas_id716431354225603\n"
+"help.text"
+msgid "' Process the argument string passed to the listener"
+msgstr ""
+
+#. GzLwF
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"bas_id901643135423012\n"
+"help.text"
+msgid "MsgBox \"Menu name: \" & sArgs(0) & Chr(13) & _"
+msgstr ""
+
+#. qGB7L
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"bas_id301643136028263\n"
+"help.text"
+msgid "\"Menu item: \" & sArgs(1) & Chr(13) & _"
+msgstr ""
+
+#. wFTww
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"bas_id181643136028557\n"
+"help.text"
+msgid "\"Item ID: \" & sArgs(2) & Chr(13) & _"
+msgstr ""
+
+#. 9SGVd
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"bas_id561643136028710\n"
+"help.text"
+msgid "\"Item status: \" & sArgs(3)"
+msgstr ""
+
+#. MQJ7M
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id531636493797707\n"
+"help.text"
+msgid "As shown in the example above, menu entries associated with a script receive a comma-separated string argument with the following values:"
+msgstr ""
+
+#. uprfo
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id921643136489994\n"
+"help.text"
+msgid "The toplevel name of the menu."
+msgstr ""
+
+#. 7Jxz9
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id611643136491059\n"
+"help.text"
+msgid "The string ID of the selected menu entry."
+msgstr ""
+
+#. hENoG
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id961643136491491\n"
+"help.text"
+msgid "The numeric ID of the selected menu entry."
+msgstr ""
+
+#. nYABy
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id381643136494580\n"
+"help.text"
+msgid "The current state of the menu item. This is useful for checkboxes and radio buttons. If the item is checked, the value \"1\" is returned, otherwise \"0\" is returned."
+msgstr ""
+
+#. HHjiV
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id131635275172617\n"
+"help.text"
+msgid "The examples above can be written in Python as follows:"
+msgstr ""
+
+#. 6LQF4
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"pyc_id981636717957632\n"
+"help.text"
+msgid "msg = f\"Menu name: {s_args[0]}\\n\""
+msgstr ""
+
+#. GPKGe
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"pyc_id851636718008427\n"
+"help.text"
+msgid "msg += f\"Menu item: {s_args[1]}\\n\""
+msgstr ""
+
+#. EfEaE
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"pyc_id331636727047102\n"
+"help.text"
+msgid "msg += f\"Item ID: {s_args[2]}\\n\""
+msgstr ""
+
+#. FPzcf
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"pyc_id71643137333404\n"
+"help.text"
+msgid "msg += f\"Item status: {s_args[3]}\""
+msgstr ""
+
+#. XxChZ
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"hd_id711600788076834\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. 98USM
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id461600788076917\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. fT8mQ
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id221600788076591\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. DGBgA
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id761600788076328\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. 2EE9k
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id67160078807636\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. qnRDA
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id49160078807654\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. LE27e
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id81600788076419\n"
+"help.text"
+msgid "Character used to define the access key of a menu item. The default character is \"~\"."
+msgstr ""
+
+#. GSJAG
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id311600788076756\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. fb3iG
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id441600788076826\n"
+"help.text"
+msgid "Character or string that defines how menu items are nested. The default character is \">\"."
+msgstr ""
+
+#. bDCZ8
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"hd_id181636719707892\n"
+"help.text"
+msgid "Menu and Submenus"
+msgstr ""
+
+#. YE5FL
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id741636719725402\n"
+"help.text"
+msgid "To create a menu with submenus, use the character defined in the <literal>SubmenuCharacter</literal> property while creating the menu entry to define where it will be placed. For instance, consider the following menu/submenu hierarchy."
+msgstr ""
+
+#. Y4ETY
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id211636720111489\n"
+"help.text"
+msgid "The code below uses the default submenu character \">\" to create the menu/submenu hierarchy defined above:"
+msgstr ""
+
+#. WkCis
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id121636721243578\n"
+"help.text"
+msgid "The string \"---\" is used to define line separators in menus or submenus."
+msgstr ""
+
+#. CYbLC
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"hd_id501582887473754\n"
+"help.text"
+msgid "Methods"
+msgstr ""
+
+#. Lofgb
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id891611613601554\n"
+"help.text"
+msgid "List of Methods in the Menu Service"
+msgstr ""
+
+#. aDqJH
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id93158919969864\n"
+"help.text"
+msgid "Inserts a check box in the menu. Returns an integer value that identifies the inserted item."
+msgstr ""
+
+#. T8Fkq
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id821591631203996\n"
+"help.text"
+msgid "<emph>menuitem:</emph> Defines the text to be displayed in the menu. This argument also defines the hierarchy of the item inside the menu by using the submenu character."
+msgstr ""
+
+#. SkMmC
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id821591631203116\n"
+"help.text"
+msgid "<emph>name:</emph> String value used to identify the menu item. By default, the last component of the menu hierarchy is used."
+msgstr ""
+
+#. 7zhpM
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id821591631203133\n"
+"help.text"
+msgid "<emph>status:</emph> Defines whether the item is selected when the menu is created (Default = <literal>False</literal>)."
+msgstr ""
+
+#. JPboo
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id11636721653313\n"
+"help.text"
+msgid "<emph>icon:</emph> Path and name of the icon to be displayed without the leading path separator. The actual icon shown depends on the icon set being used."
+msgstr ""
+
+#. YzJwB
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id11636721653208\n"
+"help.text"
+msgid "<emph>tooltip:</emph> Text to be displayed as tooltip."
+msgstr ""
+
+#. 3WPXT
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id11636721653328\n"
+"help.text"
+msgid "<emph>command:</emph> The name of a UNO command without the <literal>.uno:</literal> prefix. If the command name does not exist, nothing happens."
+msgstr ""
+
+#. LaF26
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id11636721653107\n"
+"help.text"
+msgid "<emph>script:</emph> The URI for a Basic or Python script that will be executed when the item is clicked."
+msgstr ""
+
+#. PTXhK
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id31643198954204\n"
+"help.text"
+msgid "The arguments <literal>command</literal> and <literal>script</literal> are mutually exclusive, hence only one of them can be set for each menu item."
+msgstr ""
+
+#. 57vEy
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id31643148484084\n"
+"help.text"
+msgid "Read <link href=\"https://wiki.documentfoundation.org/Documentation/DevGuide/Scripting_Framework#Scripting_Framework_URI_Specification\" name=\"URI_Notation\">Scripting Framework URI Specification</link> to learn more about the URI syntax used in the <literal>script</literal> argument."
+msgstr ""
+
+#. Aj8cF
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"bas_id191643306748853\n"
+"help.text"
+msgid "' Menu entry associated with the .uno:Paste command"
+msgstr ""
+
+#. gQCkK
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"bas_id271643147793320\n"
+"help.text"
+msgid "' Runs the Basic script Standard.Module1.MyListener stored in the document"
+msgstr ""
+
+#. 5fxEG
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"bas_id801643306742620\n"
+"help.text"
+msgid "' Runs the Python script MyListener located in file myScripts.py in the user scripts folder"
+msgstr ""
+
+#. uAbp9
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id93158919963364\n"
+"help.text"
+msgid "Inserts a label entry in the menu. Returns an integer value that identifies the inserted item."
+msgstr ""
+
+#. tCHcD
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id821591631203021\n"
+"help.text"
+msgid "<emph>menuitem:</emph> Defines the text to be displayed in the menu. This argument also defines the hierarchy of the item inside the menu by using the submenu character."
+msgstr ""
+
+#. yFQns
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id821591631203026\n"
+"help.text"
+msgid "<emph>name:</emph> String value to be returned when the item is clicked. By default, the last component of the menu hierarchy is used."
+msgstr ""
+
+#. DMEeJ
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id11636721652886\n"
+"help.text"
+msgid "<emph>icon:</emph> Path and name of the icon to be displayed without the leading path separator. The actual icon shown depends on the icon set being used."
+msgstr ""
+
+#. aZPNP
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id11636721653118\n"
+"help.text"
+msgid "<emph>tooltip:</emph> Text to be displayed as tooltip."
+msgstr ""
+
+#. 23fax
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id11636721653314\n"
+"help.text"
+msgid "<emph>command:</emph> The name of a UNO command without the <literal>.uno:</literal> prefix. If the command name does not exist, nothing happens."
+msgstr ""
+
+#. wysyV
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id11636721652057\n"
+"help.text"
+msgid "<emph>script:</emph> The URI for a Basic or Python script that will be executed when the item is clicked."
+msgstr ""
+
+#. QYzCL
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"bas_id41158919969106\n"
+"help.text"
+msgid "oMenu.AddItem(\"Item A\", Tooltip := \"A descriptive message\")"
+msgstr ""
+
+#. dxYAv
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"pyc_id321621534170554\n"
+"help.text"
+msgid "oMenu.AddItem(\"Item A\", tooltip = \"A descriptive message\")"
+msgstr ""
+
+#. qB7zU
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id93158919969399\n"
+"help.text"
+msgid "Inserts a radio button entry in the menu. Returns an integer value that identifies the inserted item."
+msgstr ""
+
+#. FTrvY
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id821591631203501\n"
+"help.text"
+msgid "<emph>menuitem:</emph> Defines the text to be displayed in the menu. This argument also defines the hierarchy of the item inside the menu by using the submenu character."
+msgstr ""
+
+#. syjtC
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id821591631228716\n"
+"help.text"
+msgid "<emph>name:</emph> String value to be returned when the item is clicked. By default, the last component of the menu hierarchy is used."
+msgstr ""
+
+#. 7WBgE
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id821591631203643\n"
+"help.text"
+msgid "<emph>status:</emph> Defines whether the item is selected when the menu is created (Default = <literal>False</literal>)."
+msgstr ""
+
+#. 4uxXA
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id11636721653228\n"
+"help.text"
+msgid "<emph>icon:</emph> Path and name of the icon to be displayed without the leading path separator. The actual icon shown depends on the icon set being used."
+msgstr ""
+
+#. ZfFDR
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id11636721653114\n"
+"help.text"
+msgid "<emph>tooltip:</emph> Text to be displayed as tooltip."
+msgstr ""
+
+#. Sx9Bm
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id11636721653447\n"
+"help.text"
+msgid "<emph>command:</emph> The name of a UNO command without the <literal>.uno:</literal> prefix. If the command name does not exist, nothing happens."
+msgstr ""
+
+#. AEnA6
+#: sf_menu.xhp
+msgctxt ""
+"sf_menu.xhp\n"
+"par_id11636721652598\n"
+"help.text"
+msgid "<emph>script:</emph> The URI for a Basic or Python script that will be executed when the item is clicked."
+msgstr ""
+
+#. yYNtX
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge Method Signatures"
+msgstr ""
+
+#. ycA6s
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"hd_id31529004750471\n"
+"help.text"
+msgid "<variable id=\"SF_Signatures\"><link href=\"text/sbasic/shared/03/sf_methods.xhp\" name=\"ScriptForge Method Signatures\"><literal>ScriptForge</literal> Method Signatures</link></variable>"
+msgstr ""
+
+#. gEAos
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"bm_id491529070339774\n"
+"help.text"
+msgid "<bookmark_value>ScriptForge; Method signatures</bookmark_value>"
+msgstr ""
+
+#. Xq2N5
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"par_id681619700336879\n"
+"help.text"
+msgid "ScriptForge libraries aggregate macro scripting resources for %PRODUCTNAME to be invoked from Basic macros or Python scripts. Its modules and classes are invoked from user scripts as \"Services\" that expose properties, methods and events."
+msgstr ""
+
+#. paARG
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"par_id681623415196030\n"
+"help.text"
+msgid "Whenever service methods are proposed solely for %PRODUCTNAME Basic, their syntax presentation matches that of Basic subroutines, functions or properties."
+msgstr ""
+
+#. 4dWnv
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"par_id401623415235965\n"
+"help.text"
+msgid "Whenever service methods are proposed for Python and Basic, or solely for Python, their syntax and arguments use a specific textual layout."
+msgstr ""
+
+#. McY36
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"hd_id1001623415980365\n"
+"help.text"
+msgid "Basic only service method"
+msgstr ""
+
+#. tCvuL
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"par_id791623418737799\n"
+"help.text"
+msgid "Typographical characters such as brackets, ellipsis or curly braces denote optional, repetitive or compulsory arguments:"
+msgstr ""
+
+#. FkDFy
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"hd_id711623416000470\n"
+"help.text"
+msgid "Python or Basic service methods"
+msgstr ""
+
+#. 8C6EM
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"par_id221623415475781\n"
+"help.text"
+msgid "The following typographical rules are mixing the UML notation, the API documentation layout and the UNO object inspector user interface:"
+msgstr ""
+
+#. aSSDq
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"par_id661623417427142\n"
+"help.text"
+msgid "Optional parameters are indicated with either opt, '=' accompanying a default value, or '[ ]' brackets."
+msgstr ""
+
+#. 534sD
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"par_id351623417430814\n"
+"help.text"
+msgid "arguments are lowercased, in order to comply with Python PEP 8 while Basic is case-agnostic."
+msgstr ""
+
+#. kFDAg
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"par_id781623417432494\n"
+"help.text"
+msgid "Collections arguments or API sequences are denoted using UML multiplicity. That applies also to return values."
+msgstr ""
+
+#. bmVjq
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"par_id741623417433319\n"
+"help.text"
+msgid "Basic data types and Python annotations are syntactically transposed as:"
+msgstr ""
+
+#. GGeNU
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"par_id441613838858931\n"
+"help.text"
+msgid "Syntax"
+msgstr ""
+
+#. ENqPg
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"par_id851613847558931\n"
+"help.text"
+msgid "Boolean"
+msgstr ""
+
+#. vWABe
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"par_id931623419595424\n"
+"help.text"
+msgid "UNO Object"
+msgstr ""
+
+#. 2q5Bk
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"par_id951623419595631\n"
+"help.text"
+msgid "User Defined<br/>Type (UDT)"
+msgstr ""
+
+#. h4Tu4
+#: sf_methods.xhp
+msgctxt ""
+"sf_methods.xhp\n"
+"par_id451623419793734\n"
+"help.text"
+msgid "<literal>ScriptForge</literal><br/>service"
+msgstr ""
+
+#. Ah5Gj
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge.Platform service"
+msgstr ""
+
+#. PCkEG
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"bm_id681600788076499\n"
+"help.text"
+msgid "<variable id=\"PlatformService\"><link href=\"text/sbasic/shared/03/sf_platform.xhp\" name=\"Platform service\"><literal>ScriptForge</literal>.<literal>Platform</literal> service</link></variable>"
+msgstr ""
+
+#. 7D6Dx
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id181600788076612\n"
+"help.text"
+msgid "The <literal>Platform</literal> service provides a collection of properties about the current execution environment and context, such as:"
+msgstr ""
+
+#. FDJFB
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id301600788076785\n"
+"help.text"
+msgid "The hardware platform (architecture, CPU count, machine type, etc)"
+msgstr ""
+
+#. i9FbJ
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id1001600788076848\n"
+"help.text"
+msgid "Operating system information (OS type, release, version, etc)"
+msgstr ""
+
+#. 6sN8Q
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id67160078807676\n"
+"help.text"
+msgid "The %PRODUCTNAME version"
+msgstr ""
+
+#. BrEr7
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id671600788076855\n"
+"help.text"
+msgid "The current user name"
+msgstr ""
+
+#. ZvBqs
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id951614903258253\n"
+"help.text"
+msgid "All properties of the <literal>Platform</literal> service are read-only."
+msgstr ""
+
+#. iK4Gv
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"hd_id281600788076359\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. dogmo
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>Platform</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. mHGZk
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id321614902851541\n"
+"help.text"
+msgid "The examples below in Basic and Python instantiate the <literal>Platform</literal> service and access the <literal>Architecture</literal> property."
+msgstr ""
+
+#. KC5eN
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"hd_id711600788076834\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. VXJ8a
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id461600788076917\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. JN68D
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id221600788076591\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. ZndAt
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id761600788076328\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. dAoKA
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id67160078807636\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. XdLGG
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id311600788076756\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. EEWuL
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id441600788076826\n"
+"help.text"
+msgid "The hardware bit architecture. Example: '<literal>32bit</literal>' or '<literal>64bit</literal>'"
+msgstr ""
+
+#. 8EZ8A
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id49160078807654\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. iG4iH
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id81600788076419\n"
+"help.text"
+msgid "The computer's network name."
+msgstr ""
+
+#. hvAeY
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id711600788076534\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. v3N6U
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id541600788076645\n"
+"help.text"
+msgid "The number of central processing units."
+msgstr ""
+
+#. 89Lo8
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id891600788076190\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. rmGRV
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id91600788076674\n"
+"help.text"
+msgid "The name of the currently logged user."
+msgstr ""
+
+#. rCN2h
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id561633021747014\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. T2MVx
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id201633021748566\n"
+"help.text"
+msgid "String array"
+msgstr ""
+
+#. 5Fkqe
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id831633021749125\n"
+"help.text"
+msgid "Returns a zero-based array of strings containing the internal IDs of all installed extensions."
+msgstr ""
+
+#. HE2VZ
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id561633021747209\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. MgENM
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id201633021748322\n"
+"help.text"
+msgid "String array"
+msgstr ""
+
+#. bhBD2
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id831633021749118\n"
+"help.text"
+msgid "Returns a zero-based unsorted array of strings containing the available document import and export filter names."
+msgstr ""
+
+#. 9aGdF
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id561633021747903\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. yuuvA
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id201633021748455\n"
+"help.text"
+msgid "String array"
+msgstr ""
+
+#. BvYt3
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id831633021749007\n"
+"help.text"
+msgid "Returns a zero-based array of strings containing the names of all available fonts."
+msgstr ""
+
+#. 86VFG
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id561633021748013\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 9qBZR
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id831633021749297\n"
+"help.text"
+msgid "Returns the locale used for numbers and dates as a string in the format \"la-CO\" (language-COUNTRY)."
+msgstr ""
+
+#. Av85C
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id561633021743188\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. sYrDn
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id831633021749018\n"
+"help.text"
+msgid "Returns the locale of the operating system as a string in the format \"la-CO\" (language-COUNTRY). This is equivalent to the <literal>SystemLocale</literal> property."
+msgstr ""
+
+#. Dt7J5
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id391600788076253\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. LA6EN
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id21600788076541\n"
+"help.text"
+msgid "The machine type. Examples are: '<literal>i386</literal>' or '<literal>x86_64</literal>'."
+msgstr ""
+
+#. LbQr2
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id561633021706513\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. ZZcSc
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id831633021741117\n"
+"help.text"
+msgid "Returns the locale of the user interface as a string in the format \"la-CO\" (language-COUNTRY)."
+msgstr ""
+
+#. tqwyD
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id211600788076138\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. WLRju
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id521600788076371\n"
+"help.text"
+msgid "The actual %PRODUCTNAME version expressed as<br/>' <literal>%PRODUCTNAME w.x.y.z (The Document Foundation)</literal>'."
+msgstr ""
+
+#. 2q29b
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id621614902220807\n"
+"help.text"
+msgid "Example: '<literal>LibreOffice 7.4.1.2 (The Document Foundation, Debian and Ubuntu)</literal>'"
+msgstr ""
+
+#. 7WDer
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id21600788076758\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. NUSby
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id781600788076694\n"
+"help.text"
+msgid "The operating system type. Example: '<literal>Darwin</literal>, <literal>Linux</literal>' or '<literal>Windows</literal>'."
+msgstr ""
+
+#. cLiaw
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id261600788076841\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. nepQ6
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id11600788076757\n"
+"help.text"
+msgid "A single string identifying the underlying platform with as much useful and human-readable information as possible."
+msgstr ""
+
+#. EH36m
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id501614902381381\n"
+"help.text"
+msgid "Example: '<literal>Linux-5.8.0-44-generic-x86_64-with-glibc2.32</literal>'"
+msgstr ""
+
+#. hbyth
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id531600789141795\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 4iEvV
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id301600789141619\n"
+"help.text"
+msgid "The operating system's release. Example: '<literal>5.8.0-44-generic</literal>'"
+msgstr ""
+
+#. 2fBtD
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id541600789286532\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. iukPq
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id701600789286280\n"
+"help.text"
+msgid "The operating system's build or version."
+msgstr ""
+
+#. DWQNA
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id351614902520555\n"
+"help.text"
+msgid "Example: '<literal>#50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021</literal>'"
+msgstr ""
+
+#. E8DzK
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id941608709527698\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. ArFcn
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id661300789527859\n"
+"help.text"
+msgid "The list of available printers as a zero-based array."
+msgstr ""
+
+#. nN5EG
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id111614952098396\n"
+"help.text"
+msgid "The default printer is put in the first position of the list (index = 0)."
+msgstr ""
+
+#. fCdYi
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id941600789527698\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. wkthE
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id631600789527859\n"
+"help.text"
+msgid "The real processor name. Example: '<literal>amdk6</literal>'."
+msgstr ""
+
+#. MYY9M
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id111614902598396\n"
+"help.text"
+msgid "This property may return the same value as the <literal>Machine</literal> property."
+msgstr ""
+
+#. yWwgE
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id941608709527036\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. Rw373
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id661300789527994\n"
+"help.text"
+msgid "Returns the version of the Python interpreter being used as a string in the format \"Python major.minor.patchlevel\" (ex: \"Python 3.9.7\")."
+msgstr ""
+
+#. Ad9Cw
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id561633021708547\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. Aue6E
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id831633021741336\n"
+"help.text"
+msgid "Returns the locale of the operating system as a string in the format \"la-CO\" (language-COUNTRY). This is equivalent to the <literal>Locale</literal> property."
+msgstr ""
+
+#. FJs9t
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id311633022159446\n"
+"help.text"
+msgid "The following examples in Basic and Python illustrate how to use the <literal>Fonts</literal> property to write the names of all available fonts to the current Calc sheet starting at cell \"A1\":"
+msgstr ""
+
+#. 3yeMr
+#: sf_platform.xhp
+msgctxt ""
+"sf_platform.xhp\n"
+"par_id301613065794148\n"
+"help.text"
+msgid "<link href=\"text/scalc/01/04060104.xhp#bm_id3691824\" name=\"Calc_Info\">Platform information with INFO(\"system\") Calc formula</link>"
+msgstr ""
+
+#. h6atN
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"tit\n"
+"help.text"
+msgid "SFWidgets.PopupMenu service"
+msgstr ""
+
+#. QADne
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"bm_id681600788076499\n"
+"help.text"
+msgid "<variable id=\"PopupMenuService\"><link href=\"text/sbasic/shared/03/sf_popupmenu.xhp\" name=\"PopupMenu service\"><literal>SFWidgets</literal>.<literal>PopupMenu</literal> service</link></variable>"
+msgstr ""
+
+#. DGbZ3
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id181600788076612\n"
+"help.text"
+msgid "The <literal>PopupMenu</literal> service can be used to create popup menus that can be associated with events or executed by scripts. This service provides the following capabilities:"
+msgstr ""
+
+#. fGtNp
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id301600788076785\n"
+"help.text"
+msgid "Creation of popup menus with custom entries, checkboxes and radio buttons."
+msgstr ""
+
+#. QvyBB
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id1001600788076848\n"
+"help.text"
+msgid "Decoration of menu items with icons and tooltips."
+msgstr ""
+
+#. GA9DY
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"hd_id281600788076359\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. wHrLq
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>PopupMenu</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. aGukU
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id321614902851541\n"
+"help.text"
+msgid "The <literal>PopupMenu</literal> service can be instantiated in multiple ways. The example below creates a popup menu without associating it with a mouse or application event."
+msgstr ""
+
+#. zEX7M
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"bas_id841636717357955\n"
+"help.text"
+msgid "MsgBox(\"Selected item ID: \" & vResponse)"
+msgstr ""
+
+#. XcbWz
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id341636718182262\n"
+"help.text"
+msgid "Running the <literal>Sub</literal> defined above will create a popup menu with two entries in the position X=300 and Y=300 on the screen."
+msgstr ""
+
+#. AySnz
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id711636493696169\n"
+"help.text"
+msgid "The prefix <literal>SFWidgets</literal> can be suppressed while invoking the <literal>PopupMenu</literal> service."
+msgstr ""
+
+#. HnBew
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id851635274721129\n"
+"help.text"
+msgid "The following example defines a <literal>Sub</literal> that can be associated with a mouse event:"
+msgstr ""
+
+#. iZdDG
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"bas_id721636488722999\n"
+"help.text"
+msgid "' Populate popupmenu with items"
+msgstr ""
+
+#. Czn9U
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"bas_id311636488724795\n"
+"help.text"
+msgid "' Do something based on vResponse"
+msgstr ""
+
+#. ChBWz
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id991636718278125\n"
+"help.text"
+msgid "Use the <literal>Dispose</literal> method to free resources after executing the popup menu."
+msgstr ""
+
+#. K8FAQ
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id531636493797707\n"
+"help.text"
+msgid "It is also possible to associate a popup menu with events triggered by %PRODUCTNAME applications, form and dialog controls. Events such as \"Mouse button pressed\" and \"Mouse button released\" are commonly associated with popup menus."
+msgstr ""
+
+#. L5Dhq
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id131635275172617\n"
+"help.text"
+msgid "The examples above can be written in Python as follows:"
+msgstr ""
+
+#. 6esys
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"pyc_id916367179574588\n"
+"help.text"
+msgid "# Populate popupmenu with items"
+msgstr ""
+
+#. Nj85P
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"pyc_id851636718008427\n"
+"help.text"
+msgid "# Do something based on response"
+msgstr ""
+
+#. Bkw3n
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"hd_id711600788076834\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. 7remQ
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id461600788076917\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. zWaD9
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id221600788076591\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. 3bRwD
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id761600788076328\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. yAUC9
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id67160078807636\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. qnMK2
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id49160078807654\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. zYGVp
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id81600788076419\n"
+"help.text"
+msgid "Character used to define the access key of a menu item. The default character is \"~\"."
+msgstr ""
+
+#. G2c6G
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id311600788076756\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. bcd7a
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id441600788076826\n"
+"help.text"
+msgid "Character or string that defines how menu items are nested. The default character is \">\"."
+msgstr ""
+
+#. drBFS
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"hd_id181636719707892\n"
+"help.text"
+msgid "Menu and Submenus"
+msgstr ""
+
+#. XGwV6
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id741636719725402\n"
+"help.text"
+msgid "To create a popup menu with submenus, use the character defined in the <literal>SubmenuCharacter</literal> property while creating the menu entry to define where it will be placed. For instance, consider the following menu/submenu hierarchy."
+msgstr ""
+
+#. D3b2e
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id211636720111489\n"
+"help.text"
+msgid "The code below uses the default submenu character \">\" to create the menu/submenu hierarchy defined above:"
+msgstr ""
+
+#. MvF78
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id121636721243578\n"
+"help.text"
+msgid "The string \"---\" is used to define line separators in menus or submenus.."
+msgstr ""
+
+#. nA7BW
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"hd_id211636723438558\n"
+"help.text"
+msgid "Using icons"
+msgstr ""
+
+#. UKLV5
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id981636723485402\n"
+"help.text"
+msgid "Items in the menu can have icons, which are specified as arguments in the <literal>AddCheckBox</literal>, <literal>AddItem</literal> and <literal>AddRadioButton</literal> methods."
+msgstr ""
+
+#. TLDpD
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id881636724112434\n"
+"help.text"
+msgid "All icons available in %PRODUCTNAME can be used by specifying their path relative to the folder where icon files are located in the installation folder. Icons are located in the following folder:"
+msgstr ""
+
+#. n2owj
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id941636724808906\n"
+"help.text"
+msgid "Use the <literal>InstallFolder</literal> property of the <literal>FileSystem</literal> service to determine where %PRODUCTNAME is installed in your system."
+msgstr ""
+
+#. xbEsC
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id201636724575911\n"
+"help.text"
+msgid "This folder contains a series of ZIP files containing the image files of each available icon set. The images inside these ZIP files are organized into folders. To use an icon, specify the icon file with the path to its location inside the ZIP file."
+msgstr ""
+
+#. 5yvv9
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id641636724972071\n"
+"help.text"
+msgid "The example below uses the icon \"sc_newdoc.svg\" that is located inside the \"cmd\" folder. The forward slash \"/\" character is used as the path separator regardless of the operating system."
+msgstr ""
+
+#. 2QW4m
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id691636725233961\n"
+"help.text"
+msgid "All icon sets have the same internal structure. The actual icon displayed depends on the icon set currently in use."
+msgstr ""
+
+#. v6wRS
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"hd_id501582887473754\n"
+"help.text"
+msgid "Methods"
+msgstr ""
+
+#. CWGtf
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id891611613601554\n"
+"help.text"
+msgid "List of Methods in the PopupMenu Service"
+msgstr ""
+
+#. RAcsN
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id93158919969864\n"
+"help.text"
+msgid "Inserts a check box in the popup menu. Returns an integer value that identifies the inserted item."
+msgstr ""
+
+#. ZZrDA
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id821591631203996\n"
+"help.text"
+msgid "<emph>menuitem:</emph> Defines the text to be displayed in the menu. This argument also defines the hierarchy of the item inside the menu by using the submenu character."
+msgstr ""
+
+#. riy7p
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id821591631203116\n"
+"help.text"
+msgid "<emph>name:</emph> String value to be returned when the item is clicked. By default, the last component of the menu hierarchy is used."
+msgstr ""
+
+#. yxK8E
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id821591631203133\n"
+"help.text"
+msgid "<emph>status:</emph> Defines whether the item is selected when the menu is created (Default = <literal>False</literal>)."
+msgstr ""
+
+#. Q4ZNV
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id11636721653313\n"
+"help.text"
+msgid "<emph>icon:</emph> Path and name of the icon to be displayed without the leading path separator. The actual icon shown depends on the icon set being used."
+msgstr ""
+
+#. dkqgP
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id11636721653208\n"
+"help.text"
+msgid "<emph>tooltip:</emph> Text to be displayed as tooltip."
+msgstr ""
+
+#. NEE76
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id93158919963364\n"
+"help.text"
+msgid "Inserts a menu entry in the popup menu. Returns an integer value that identifies the inserted item."
+msgstr ""
+
+#. vdtEn
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id821591631203021\n"
+"help.text"
+msgid "<emph>menuitem:</emph> Defines the text to be displayed in the menu. This argument also defines the hierarchy of the item inside the menu by using the submenu character."
+msgstr ""
+
+#. 8eE5y
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id821591631203026\n"
+"help.text"
+msgid "<emph>name:</emph> String value to be returned when the item is clicked. By default, the last component of the menu hierarchy is used."
+msgstr ""
+
+#. F646F
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id11636721652886\n"
+"help.text"
+msgid "<emph>icon:</emph> Path and name of the icon to be displayed without the leading path separator. The actual icon shown depends on the icon set being used."
+msgstr ""
+
+#. XFkGB
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id11636721653118\n"
+"help.text"
+msgid "<emph>tooltip:</emph> Text to be displayed as tooltip."
+msgstr ""
+
+#. dJTZs
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"bas_id41158919969106\n"
+"help.text"
+msgid "myPopup.AddItem(\"Item A\", Tooltip := \"A descriptive message\")"
+msgstr ""
+
+#. VDLFK
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"pyc_id321621534170554\n"
+"help.text"
+msgid "my_popup.AddItem(\"Item A\", tooltip = \"A descriptive message\")"
+msgstr ""
+
+#. U2vBb
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id93158919969399\n"
+"help.text"
+msgid "Inserts a radio button entry in the popup menu. Returns an integer value that identifies the inserted item."
+msgstr ""
+
+#. 92F32
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id821591631203501\n"
+"help.text"
+msgid "<emph>menuitem:</emph> Defines the text to be displayed in the menu. This argument also defines the hierarchy of the item inside the menu by using the submenu character."
+msgstr ""
+
+#. 2PuBE
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id821591631228716\n"
+"help.text"
+msgid "<emph>name:</emph> String value to be returned when the item is clicked. By default, the last component of the menu hierarchy is used."
+msgstr ""
+
+#. yLvRM
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id821591631203643\n"
+"help.text"
+msgid "<emph>status:</emph> Defines whether the item is selected when the menu is created (Default = <literal>False</literal>)."
+msgstr ""
+
+#. 6XiD7
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id11636721653228\n"
+"help.text"
+msgid "<emph>icon:</emph> Path and name of the icon to be displayed without the leading path separator. The actual icon shown depends on the icon set being used."
+msgstr ""
+
+#. cRTRD
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id11636721653114\n"
+"help.text"
+msgid "<emph>tooltip:</emph> Text to be displayed as tooltip."
+msgstr ""
+
+#. nQrD3
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id93158919963279\n"
+"help.text"
+msgid "Displays the popup menu and waits for a user action. Returns the item clicked by the user."
+msgstr ""
+
+#. qwwKx
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id101636726249788\n"
+"help.text"
+msgid "If the user clicks outside the popup menu or presses the <keycode>Esc</keycode> key, then no item is selected. In such cases, the returned value depends on the <literal>returnid</literal> parameter. If <literal>returnid = True</literal> and no item is selected, then the value 0 (zero) is returned. Otherwise an empty string \"\" is returned."
+msgstr ""
+
+#. EFriZ
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id821591631202088\n"
+"help.text"
+msgid "<emph>returnid:</emph> If <literal>True</literal> the selected item ID is returned. If <literal>False</literal> the method returns the item's name (Default = <literal>True</literal>)."
+msgstr ""
+
+#. y4PWP
+#: sf_popupmenu.xhp
+msgctxt ""
+"sf_popupmenu.xhp\n"
+"par_id51636726671698\n"
+"help.text"
+msgid "In the examples below, a popup menu is created and the item's name is returned because the <literal>returnid</literal> argument is set to <literal>False</literal>."
+msgstr ""
+
+#. b8bDr
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge.Region service"
+msgstr ""
+
+#. SYtNX
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bm_id681600788076499\n"
+"help.text"
+msgid "<variable id=\"RegionService\"><link href=\"text/sbasic/shared/03/sf_region.xhp\" name=\"Region service\"><literal>ScriptForge</literal>.<literal>Region</literal> service</link></variable>"
+msgstr ""
+
+#. w3WgP
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id181600788076612\n"
+"help.text"
+msgid "The <literal>Region</literal> service provides a collection of properties and methods to handle locale and region-related aspects of programming, such as:"
+msgstr ""
+
+#. TEk7a
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id301600788076785\n"
+"help.text"
+msgid "Accessing locale and region-dependent settings such as number formatting, currency and timezones."
+msgstr ""
+
+#. 2f7KC
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id1001600788076848\n"
+"help.text"
+msgid "Converting timezones and calculate Daylight Saving Time (DST) offsets."
+msgstr ""
+
+#. tqznj
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id67160078807676\n"
+"help.text"
+msgid "Transforming numbers into text in any supported language."
+msgstr ""
+
+#. 9nRv7
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"hd_id851656012844548\n"
+"help.text"
+msgid "Definitions"
+msgstr ""
+
+#. sGNu7
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"hd_id421656012886648\n"
+"help.text"
+msgid "Locale or Region"
+msgstr ""
+
+#. FiW7z
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id191656012908838\n"
+"help.text"
+msgid "A string combining a language and a country in the format \"la-CO\". The language part is expressed with 2 or 3 lowercase characters followed by a dash and 2 uppercase characters representing the country."
+msgstr ""
+
+#. GQEGW
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id431656013368415\n"
+"help.text"
+msgid "For instance, \"en-US\" corresponds to the English language in the United States; \"fr-BE\" corresponds to the French language in Belgium, and so forth."
+msgstr ""
+
+#. CQYAX
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id981656013623018\n"
+"help.text"
+msgid "On some situations the full locale is not required and only the language or country may be specified."
+msgstr ""
+
+#. 4qFTD
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id261656013132204\n"
+"help.text"
+msgid "Most properties and methods accept a locale as argument. If no locale is specified, then the user-interface locale is used, which is defined in the <link href=\"text/sbasic/shared/03/sf_platform.xhp#bm_id111614901524769\" name=\"OfficeLocale_link\"><literal>OfficeLocale</literal></link> property of the <literal>Platform</literal> service."
+msgstr ""
+
+#. 6ToTC
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"hd_id51656013825718\n"
+"help.text"
+msgid "Timezone"
+msgstr ""
+
+#. pV5MS
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id541656013854150\n"
+"help.text"
+msgid "A string in the format \"Region/City\" such as \"Europe/Berlin\", or a timezone ID such as \"UTC\" or \"GMT-8:00\". Refer to the wiki page <link href=\"https://wikipedia.org/wiki/List_of_tz_database_time_zones\" name=\"TimeZones_List\">List of tz database and timezones</link> for a list of possible timezone names and IDs."
+msgstr ""
+
+#. exa3B
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id981656078937577\n"
+"help.text"
+msgid "Providing an invalid timezone string to any of the methods in the <literal>Region</literal> service will not result in a runtime error. Instead, methods as <literal>UTCDateTime</literal> and <literal>UTCNow</literal> will return the current operating system date and time."
+msgstr ""
+
+#. 7GTLU
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id611656014040098\n"
+"help.text"
+msgid "The time offset between the timezone and the Greenwich Meridian Time (GMT) is expressed in minutes."
+msgstr ""
+
+#. ottwV
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id121656014053670\n"
+"help.text"
+msgid "The Daylight Saving Time (DST) is an additional offset."
+msgstr ""
+
+#. yXHrp
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id591656014140929\n"
+"help.text"
+msgid "The timezone and DST offsets may be positive or negative."
+msgstr ""
+
+#. EyNvN
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"hd_id281600788076359\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. F9Wnj
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>Region</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. 7AXFZ
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id321614902851541\n"
+"help.text"
+msgid "The examples below in Basic and Python instantiate the <literal>Region</literal> service and access the <literal>Country</literal> property."
+msgstr ""
+
+#. 69CF7
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id791600788431935\n"
+"help.text"
+msgid "MsgBox oRegion.Country(\"en-US\") ' United States"
+msgstr ""
+
+#. FDNKL
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"hd_id711600788076834\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. VEB3D
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id601656018689690\n"
+"help.text"
+msgid "All properties listed below accept a <literal>locale</literal> argument, provided as a string. Some properties require this argument to be in the format \"la-CO\", whereas others may receive \"la\" or \"CO\" as input."
+msgstr ""
+
+#. vzB4T
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id461600788076917\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. ay9iH
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id221600788076591\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. rBUEm
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id761600788076328\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. FpD5h
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id131656330679679\n"
+"help.text"
+msgid "Locale"
+msgstr ""
+
+#. FxnFK
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id67160078807636\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. 4Ss2G
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id311600788076756\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. ExbtG
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id441600788076826\n"
+"help.text"
+msgid "Returns the country name in English corresponding to a given region."
+msgstr ""
+
+#. FN4XC
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id49160078807654\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. vpDwN
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id81600788076419\n"
+"help.text"
+msgid "Returns the ISO 4217 currency code of the specified region."
+msgstr ""
+
+#. Aqcuy
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id711600788076534\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 6cgk7
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id911600788076842\n"
+"help.text"
+msgid "String array"
+msgstr ""
+
+#. Jhkc3
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id541600788076645\n"
+"help.text"
+msgid "Returns a zero-based array of strings containing the date acceptance patterns for the specified region."
+msgstr ""
+
+#. T4sUQ
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id891600788076190\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. vAJYH
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id91600788076674\n"
+"help.text"
+msgid "Returns the date separator used in the given region."
+msgstr ""
+
+#. QKyGp
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id561633021747014\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. jSVY8
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id201633021748566\n"
+"help.text"
+msgid "String array"
+msgstr ""
+
+#. CnTuU
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id831633021745014\n"
+"help.text"
+msgid "Returns a zero-based array of strings containing the list of abbreviated weekday names in the specified language."
+msgstr ""
+
+#. jRUnx
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id561633021747209\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. CGeKU
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id201633021748322\n"
+"help.text"
+msgid "String array"
+msgstr ""
+
+#. tjGhP
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id831633021748865\n"
+"help.text"
+msgid "Returns a zero-based array of strings containing the list of weekday names in the specified language."
+msgstr ""
+
+#. gVevH
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id561633021747903\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. hL4sb
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id201633021748455\n"
+"help.text"
+msgid "String array"
+msgstr ""
+
+#. GHdGz
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id831633021747711\n"
+"help.text"
+msgid "Returns a zero-based array of strings containing the list of the initials of weekday names in the specified language."
+msgstr ""
+
+#. TFzKG
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id561633021748013\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. CWLzi
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id831633021749297\n"
+"help.text"
+msgid "Returns the decimal separator used in numbers in the specified region."
+msgstr ""
+
+#. pqWDC
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id561633021743188\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. droDW
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id831633021749018\n"
+"help.text"
+msgid "Returns the name of the language, in English, of the specified region."
+msgstr ""
+
+#. ojXGP
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id391600788076253\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. a4SKv
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id21600788076541\n"
+"help.text"
+msgid "Returns the list separator used in the specified region."
+msgstr ""
+
+#. vUwhJ
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id561633021706513\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 79WHE
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id201633021746335\n"
+"help.text"
+msgid "String array"
+msgstr ""
+
+#. Dz2X6
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id831633021741117\n"
+"help.text"
+msgid "Returns a zero-based array of strings containing the list of abbreviated month names in the specified language."
+msgstr ""
+
+#. NvQaB
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id211600788076138\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. ZMsz8
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id221600788076518\n"
+"help.text"
+msgid "String array"
+msgstr ""
+
+#. EbAXk
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id521600788076371\n"
+"help.text"
+msgid "Returns a zero-based array of strings containing the list of month names in the specified language."
+msgstr ""
+
+#. GeqFt
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id21600788076758\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. wGD4y
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id871600788076196\n"
+"help.text"
+msgid "String array"
+msgstr ""
+
+#. RisPb
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id781600788076694\n"
+"help.text"
+msgid "Returns a zero-based array of strings containing the list of the initials of month names in the specified language."
+msgstr ""
+
+#. DBDyW
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id261600788076841\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. fLZD2
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id116007880767507\n"
+"help.text"
+msgid "Returns the thousands separator used in numbers in the specified region."
+msgstr ""
+
+#. AUNfp
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id531600789141795\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. MjrCr
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id301600789141619\n"
+"help.text"
+msgid "Returns the separator used to format times in the specified region."
+msgstr ""
+
+#. Bog4G
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id651606319520519\n"
+"help.text"
+msgid "List of Methods in the Region Service"
+msgstr ""
+
+#. szpDY
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id71621894830071\n"
+"help.text"
+msgid "Computes the additional Daylight Saving Time (DST) offset, in minutes, that is applicable to a given region and timezone."
+msgstr ""
+
+#. CbDHo
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id401621896675880\n"
+"help.text"
+msgid "<emph>localdatetime</emph>: the local date and time expressed as a date."
+msgstr ""
+
+#. cA2tD
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id401621896675125\n"
+"help.text"
+msgid "<emph>timezone</emph>: the timezone for which the offset will be calculated."
+msgstr ""
+
+#. w5gKK
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id401621896675963\n"
+"help.text"
+msgid "<emph>locale</emph>: the locale specifying the country for which the offset will be calculated, given either in \"la-CO\" or \"CO\" formats. The default value is the locale defined in the <link href=\"text/sbasic/shared/03/sf_platform.xhp#bm_id111614901524769\" name=\"OfficeLocale_link\"><literal>OfficeLocale</literal></link> property of the <literal>Platform</literal> service."
+msgstr ""
+
+#. cBF4y
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id531656022497519\n"
+"help.text"
+msgid "' Calculates the offset applicable in the \"America/Los_Angeles\" timezone"
+msgstr ""
+
+#. XYu4u
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id801656022498143\n"
+"help.text"
+msgid "offset = oRegion.DSTOffset(aDateTime, \"America/Los_Angeles\", \"US\") ' 60 (minutes)"
+msgstr ""
+
+#. CfiFK
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id831656022498543\n"
+"help.text"
+msgid "offset = oRegion.DSTOffset(aDateTime, \"America/Los_Angeles\", \"US\") ' 0 (minutes)"
+msgstr ""
+
+#. 4CkKJ
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"pyc_id871621898933281\n"
+"help.text"
+msgid "offset = oRegion.DSTOffset(aDateTime, \"America/Los_Angeles\", \"US\") ' 60 (minutes)"
+msgstr ""
+
+#. nkcRi
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"pyc_id871621898934141\n"
+"help.text"
+msgid "offset = oRegion.DSTOffset(aDateTime, \"America/Los_Angeles\", \"US\") ' 0 (minutes)"
+msgstr ""
+
+#. BbUgj
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id71621894832058\n"
+"help.text"
+msgid "Computes the local date and time from a UTC date and time."
+msgstr ""
+
+#. v4YSt
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id401621896674716\n"
+"help.text"
+msgid "<emph>utcdatetime</emph>: the UTC date and time, expressed using a date object."
+msgstr ""
+
+#. i63on
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id401621896675449\n"
+"help.text"
+msgid "<emph>timezone</emph>: the timezone for which the local time will be calculated."
+msgstr ""
+
+#. YWDWQ
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id401621896675193\n"
+"help.text"
+msgid "<emph>locale</emph>: the locale specifying the country for which the local time will be calculated, given either in \"la-CO\" or \"CO\" formats. The default value is the locale defined in the <link href=\"text/sbasic/shared/03/sf_platform.xhp#bm_id111614901524769\" name=\"OfficeLocale_link\"><literal>OfficeLocale</literal></link> property of the <literal>Platform</literal> service."
+msgstr ""
+
+#. 8UTFQ
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id201656022497017\n"
+"help.text"
+msgid "' June 6th, 2022 at 10:30:45 (used here as UTC time)"
+msgstr ""
+
+#. Hcjqt
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id531656022497121\n"
+"help.text"
+msgid "' Calculates local time in Sao Paulo, Brazil"
+msgstr ""
+
+#. yhKtd
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id601656022498318\n"
+"help.text"
+msgid "' June 6th, 2022 at 07:30:45"
+msgstr ""
+
+#. YJv72
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id71621894832089\n"
+"help.text"
+msgid "Converts numbers and monetary values into written text for any of the currently supported languages."
+msgstr ""
+
+#. qu8dt
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id971656026551328\n"
+"help.text"
+msgid "For a list of all supported languages visit the <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1linguistic2_1_1XNumberText.html\" name=\"XNumberText\">XNumberText Interface</link> API reference."
+msgstr ""
+
+#. xTUD6
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id401621896675306\n"
+"help.text"
+msgid "<emph>number</emph>: the number to be converted into written text. It can be provided either as a numeric type or as a string. When a string is provided, it can be preceded by a prefix informing how the numbers should be written. It is also possible to include ISO 4217 currency codes. See examples below for more information."
+msgstr ""
+
+#. eppdr
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id401621896675412\n"
+"help.text"
+msgid "<emph>locale</emph>: the locale defining the language into which the number will be converted to, given either in \"la-CO\" or \"la\" formats. The default value is the locale defined in the <link href=\"text/sbasic/shared/03/sf_platform.xhp#bm_id111614901524769\" name=\"OfficeLocale_link\"><literal>OfficeLocale</literal></link> property of the <literal>Platform</literal> service."
+msgstr ""
+
+#. QeBpA
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id301656027173020\n"
+"help.text"
+msgid "' Returns \"one hundred five\""
+msgstr ""
+
+#. 7xovc
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id531656022496631\n"
+"help.text"
+msgid "numText = oRegion.Number2Text(105, \"en-US\")"
+msgstr ""
+
+#. UGGvv
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id771656027217144\n"
+"help.text"
+msgid "' Returns: \"two point four two\""
+msgstr ""
+
+#. Xr7no
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id201656022493367\n"
+"help.text"
+msgid "numText = oRegion.Number2Text(2.42, \"en-US\")"
+msgstr ""
+
+#. 7hYbk
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id281656027262234\n"
+"help.text"
+msgid "' Returns: \"twenty-five euro and ten cents\" Notice the \"EUR\" currency symbol"
+msgstr ""
+
+#. DBPc8
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id201656022497171\n"
+"help.text"
+msgid "numText = oRegion.Number2Text(\"EUR 25.10\", \"en-US\")"
+msgstr ""
+
+#. pd3Fm
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id981656027330132\n"
+"help.text"
+msgid "' Returns: \"fifteenth\"; Notice the \"ordinal\" prefix"
+msgstr ""
+
+#. ggt2A
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id841656027330394\n"
+"help.text"
+msgid "numText = oRegion.Number2Text(\"ordinal 15\", \"en-US\")"
+msgstr ""
+
+#. YQCCF
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"pyc_id401656027481473\n"
+"help.text"
+msgid "numText = oRegion.Number2Text(105, \"en-US\")"
+msgstr ""
+
+#. FTGnF
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"pyc_id781656027481769\n"
+"help.text"
+msgid "numText = oRegion.Number2Text(2.42, \"en-US\")"
+msgstr ""
+
+#. RCDq5
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"pyc_id951656027482096\n"
+"help.text"
+msgid "numText = oRegion.Number2Text(\"EUR 25.10\", \"en-US\")"
+msgstr ""
+
+#. vtGFv
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"pyc_id231656027482425\n"
+"help.text"
+msgid "numText = oRegion.Number2Text(\"ordinal 15\", \"en-US\")"
+msgstr ""
+
+#. CHCJt
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id801656027524051\n"
+"help.text"
+msgid "To get a list of all supported prefixes in a given language, call <literal>Number2Text</literal> with the special \"help\" argument, as shown in the example below:"
+msgstr ""
+
+#. ZqfNT
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id181656027807107\n"
+"help.text"
+msgid "' Considering the \"en-US\" locale the message box will show the following text"
+msgstr ""
+
+#. hRef2
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id216560277123601\n"
+"help.text"
+msgid "' one, two, three"
+msgstr ""
+
+#. YMJ5N
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id361656027712711\n"
+"help.text"
+msgid "' ordinal: first, second, third"
+msgstr ""
+
+#. vhTrp
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id891656027712920\n"
+"help.text"
+msgid "' ordinal-number: 1st, 2nd, 3rd"
+msgstr ""
+
+#. YGCiN
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id611656027713104\n"
+"help.text"
+msgid "' year: nineteen ninety-nine, two thousand, two thousand one"
+msgstr ""
+
+#. vEMTZ
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id861656027713288\n"
+"help.text"
+msgid "' currency (for example, USD): two U.S. dollars and fifty cents"
+msgstr ""
+
+#. xYrSL
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id841656027713503\n"
+"help.text"
+msgid "' money USD: two and 50/100 U.S. dollars"
+msgstr ""
+
+#. RBkxp
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id781656027840633\n"
+"help.text"
+msgid "The first line in the message box does not have a prefix, which means that it is the standard format. The subsequent lines include the prefix and some examples of numbers using its format."
+msgstr ""
+
+#. WPApK
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id781656028528520\n"
+"help.text"
+msgid "Each language has its own set of supported prefixes."
+msgstr ""
+
+#. dShiA
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id71621894832117\n"
+"help.text"
+msgid "Returns the offset between GMT and the given timezone and locale, in minutes."
+msgstr ""
+
+#. xCAjE
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id401621896675018\n"
+"help.text"
+msgid "<emph>timezone</emph>: the timezone for which the offset to the GMT will be calculated."
+msgstr ""
+
+#. egZXu
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id401621896675691\n"
+"help.text"
+msgid "<emph>locale</emph>: the locale specifying the country for which the offset will be calculated, given either in \"la-CO\" or \"CO\" formats. The default value is the locale defined in the <link href=\"text/sbasic/shared/03/sf_platform.xhp#bm_id111614901524769\" name=\"OfficeLocale_link\"><literal>OfficeLocale</literal></link> property of the <literal>Platform</literal> service."
+msgstr ""
+
+#. JiFjE
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id71621894864217\n"
+"help.text"
+msgid "Returns the UTC date and time considering a given local date and time in a timezone."
+msgstr ""
+
+#. AK3nQ
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id401621896674748\n"
+"help.text"
+msgid "<emph>localdatetime</emph>: the local date and time in a specific timezone expressed as a date."
+msgstr ""
+
+#. hpxBF
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id401621896675739\n"
+"help.text"
+msgid "<emph>timezone</emph>: the timezone for which the <literal>localdatetime</literal> argument was given."
+msgstr ""
+
+#. aEuir
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id401621896675550\n"
+"help.text"
+msgid "<emph>locale</emph>: the locale specifying the country for which the <literal>localdatetime</literal> argument was given, expressed either in \"la-CO\" or \"CO\" formats. The default value is the locale defined in the <link href=\"text/sbasic/shared/03/sf_platform.xhp#bm_id111614901524769\" name=\"OfficeLocale_link\"><literal>OfficeLocale</literal></link> property of the <literal>Platform</literal> service."
+msgstr ""
+
+#. y3NSm
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id861656077547861\n"
+"help.text"
+msgid "' Date/Time in Berlin, June 23, 2022 at 14:30:00"
+msgstr ""
+
+#. HjSnk
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id731656077523173\n"
+"help.text"
+msgid "' The UTC date/time is June 23, 2022 at 12:30:00"
+msgstr ""
+
+#. RpFvL
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"pyc_id361656077667354\n"
+"help.text"
+msgid "import datetime"
+msgstr ""
+
+#. hgcCJ
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"pyc_id901656077667666\n"
+"help.text"
+msgid "localDT = datetime.datetime(2022, 6, 23, 14, 30, 0)"
+msgstr ""
+
+#. A7GXw
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"pyc_id521656077682826\n"
+"help.text"
+msgid "utcTime = oRegion.UTCDateTime(localDT, \"Europe/Berlin\", \"DE\")"
+msgstr ""
+
+#. tZoWt
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id71621894835287\n"
+"help.text"
+msgid "Returns the current UTC date and time, given a timezone and locale."
+msgstr ""
+
+#. zzSQA
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id491656078254442\n"
+"help.text"
+msgid "This method uses the current date and time of your operating system to calculate the UTC time."
+msgstr ""
+
+#. XxBE8
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id401621896673318\n"
+"help.text"
+msgid "<emph>timezone</emph>: the timezone for which the current UTC time will be calculated."
+msgstr ""
+
+#. FDJ5e
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"par_id401621896674831\n"
+"help.text"
+msgid "<emph>locale</emph>: the locale specifying the country for which the current UTC time will be calculated, given either in \"la-CO\" or \"CO\" formats. The default value is the locale defined in the <link href=\"text/sbasic/shared/03/sf_platform.xhp#bm_id111614901524769\" name=\"OfficeLocale_link\"><literal>OfficeLocale</literal></link> property of the <literal>Platform</literal> service."
+msgstr ""
+
+#. FWSJp
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id861656078128374\n"
+"help.text"
+msgid "' Suppose the operating system time is June 23rd, 2022 at 10:42:00"
+msgstr ""
+
+#. CWY76
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"bas_id691656078180784\n"
+"help.text"
+msgid "' If the computer is in Europe/Berlin, then UTC time is June 23rd, 2022 at 08:42:00"
+msgstr ""
+
+#. NPVe5
+#: sf_region.xhp
+msgctxt ""
+"sf_region.xhp\n"
+"pyc_id821656078645252\n"
+"help.text"
+msgid "utcTime = oRegion.UTCNow(\"Europe/Berlin\", \"DE\")"
+msgstr ""
+
+#. GpvmN
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge.Services service"
+msgstr ""
+
+#. bFtkf
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"hd_id471582710868716\n"
+"help.text"
+msgid "<variable id=\"ScriptForgeServices\"><link href=\"text/sbasic/shared/03/sf_services.xhp\" name=\"Services service\"><literal>ScriptForge</literal>.<literal>Services</literal> service</link></variable>"
+msgstr ""
+
+#. SDbDJ
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"par_id241627513489594\n"
+"help.text"
+msgid "The main purpose of the <literal>Services</literal> module is to provide access to the <literal>CreateScriptService</literal> method, which can be called in user scripts to instantiate services that are implemented using the ScriptForge framework."
+msgstr ""
+
+#. 7B2KJ
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"par_id351582710868545\n"
+"help.text"
+msgid "In ScriptForge terminology a service is a collection of methods and properties that can be used for a common purpose. For example, the <literal>String</literal> service provides methods for manipulating strings whereas the <literal>FileSystem</literal> service allows for the manipulation of files and folders."
+msgstr ""
+
+#. NW4BS
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"par_id541627513771828\n"
+"help.text"
+msgid "The <literal>Services</literal> module of the ScriptForge library provides additional methods that are used either internally to register available services or by developers who are interested in extending ScriptForge by creating new services. The only method that is relevant for user scripts is <literal>CreateScriptService</literal>."
+msgstr ""
+
+#. FW4FC
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"par_id871582714020043\n"
+"help.text"
+msgid "This method is used to instantiate a ScriptForge service so it can be called in user scripts."
+msgstr ""
+
+#. jG6U9
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"par_id711627514310039\n"
+"help.text"
+msgid "The returned value is a Basic object or <literal>Nothing</literal> if an error occurred."
+msgstr ""
+
+#. oojMF
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"par_id971582714020045\n"
+"help.text"
+msgid "<emph>service</emph>: The name of the service identified as a string in the format \"library.service\":"
+msgstr ""
+
+#. CEqku
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"par_id11627475954271\n"
+"help.text"
+msgid "The <emph>library</emph> is a Basic library that must exist in the <link href=\"text/sbasic/shared/03131900.xhp\" name=\"GlobalScope\">GlobalScope</link>. The default value is \"ScriptForge\"."
+msgstr ""
+
+#. BBFeA
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"par_id811627475954641\n"
+"help.text"
+msgid "The <emph>service</emph> is one of the services registered by the ScriptForge library."
+msgstr ""
+
+#. btbtw
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"par_id391582714020045\n"
+"help.text"
+msgid "<emph>arg0, ...</emph>: A list of arguments required by the invoked service."
+msgstr ""
+
+#. yAaks
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"par_id841627475900817\n"
+"help.text"
+msgid "If the first argument refers to an event manager, then <literal>arg0</literal> is mandatory and must be the UNO object representing the event provided as argument to the user macro."
+msgstr ""
+
+#. wuR7S
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"bas_id981582898174133\n"
+"help.text"
+msgid "' To be done once"
+msgstr ""
+
+#. oqovE
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"bas_id311582715700844\n"
+"help.text"
+msgid "' Refers to the \"ScriptForge.Array\" service or SF_Array"
+msgstr ""
+
+#. KvcPo
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"bas_id61582715759468\n"
+"help.text"
+msgid "' Returns a new empty dictionary class instance; \"ScriptForge.\" is optional"
+msgstr ""
+
+#. pMGcR
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"bas_id901582715797722\n"
+"help.text"
+msgid "' Refers to the Calc service, implemented in the associated SFDocuments library"
+msgstr ""
+
+#. BoXHx
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"bas_id361582715845747\n"
+"help.text"
+msgid "' Returns a Timer class instance starting immediately"
+msgstr ""
+
+#. 9bmdn
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"bas_id571596298708062\n"
+"help.text"
+msgid "' Refers to the DocumentEvent service implemented in the associated SFDocuments library"
+msgstr ""
+
+#. DFhat
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"bas_id121613492254532\n"
+"help.text"
+msgid "' Returns the instance of the Document class that fired the event"
+msgstr ""
+
+#. zhCyY
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"par_id321627570607194\n"
+"help.text"
+msgid "Python scripts support keyword arguments when calling <literal>CreateScriptService</literal>. The following example illustrates this concept by instantiating the <literal>Timer</literal> and <literal>Document</literal> services using keyword arguments."
+msgstr ""
+
+#. jah7F
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"par_id901627576693156\n"
+"help.text"
+msgid "To make writing Python scripts more fluid, ScriptForge provides the <literal>Basic</literal> service which allows Python scripts to call a collection of methods with the same syntax and meaning as their homonymous native Basic functions."
+msgstr ""
+
+#. SDQ7m
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"par_id41627644806288\n"
+"help.text"
+msgid "The following example instantiates the <literal>Basic</literal> service and calls the <literal>MsgBox</literal> method, which is equivalent to the <literal>MsgBox</literal> function available in Basic:"
+msgstr ""
+
+#. zVgQm
+#: sf_services.xhp
+msgctxt ""
+"sf_services.xhp\n"
+"par_id581627645023307\n"
+"help.text"
+msgid "Beware that the <literal>Basic</literal> service has to be instantiated in Python scripts using the <literal>CreateScriptService</literal> method."
+msgstr ""
+
+#. LCVem
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge.Session service"
+msgstr ""
+
+#. DxnDG
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"hd_id901582814720985\n"
+"help.text"
+msgid "<variable id=\"SessionService\"><link href=\"text/sbasic/shared/03/sf_session.xhp\" name=\"Session service\"><literal>ScriptForge.Session</literal> service</link></variable>"
+msgstr ""
+
+#. yTgFK
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id861582814720987\n"
+"help.text"
+msgid "The <literal>Session</literal> service gathers various general-purpose methods about:"
+msgstr ""
+
+#. a2DCM
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id34158281472051\n"
+"help.text"
+msgid "the installation or execution environment"
+msgstr ""
+
+#. cf5WG
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id411582814720361\n"
+"help.text"
+msgid "UNO introspection"
+msgstr ""
+
+#. fBApv
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id321582814720863\n"
+"help.text"
+msgid "the invocation of external scripts or programs"
+msgstr ""
+
+#. 63uDb
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"hd_id91582814720116\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. XRvpV
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>Session</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. 8BEnm
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"hd_id291582814720762\n"
+"help.text"
+msgid "Constants"
+msgstr ""
+
+#. zcRQu
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id82158281472034\n"
+"help.text"
+msgid "Below is a list of constants available to ease the designation of the library containing a Basic or Python script to invoke. Use them as <literal>session.CONSTANT</literal>."
+msgstr ""
+
+#. yyF2R
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id9158281472045\n"
+"help.text"
+msgid "Value"
+msgstr ""
+
+#. Wd88w
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id241582814720636\n"
+"help.text"
+msgid "Where to find the library?"
+msgstr ""
+
+#. k58kN
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id361582814720116\n"
+"help.text"
+msgid "Applicable"
+msgstr ""
+
+#. DJspw
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id451582814720105\n"
+"help.text"
+msgid "in the document"
+msgstr ""
+
+#. Q2KtM
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id73158281472032\n"
+"help.text"
+msgid "in any shared library"
+msgstr ""
+
+#. E7meg
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id391582814720487\n"
+"help.text"
+msgid "in My Macros"
+msgstr ""
+
+#. MiuWT
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id56158281472073\n"
+"help.text"
+msgid "in an extension installed for the current user"
+msgstr ""
+
+#. SAMnM
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id21582814720997\n"
+"help.text"
+msgid "in %PRODUCTNAME macros"
+msgstr ""
+
+#. LnKrt
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id981582814720125\n"
+"help.text"
+msgid "in an extension installed for all users"
+msgstr ""
+
+#. gCi9j
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id93158281472047\n"
+"help.text"
+msgid "in an extension but the installation parameters are unknown"
+msgstr ""
+
+#. mLURi
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id891611613601554\n"
+"help.text"
+msgid "List of Methods in the Session Service"
+msgstr ""
+
+#. JvBuZ
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id491613061572993\n"
+"help.text"
+msgid "<literal>Execute...</literal> methods in <literal>Session</literal> service behave as follows: <br/>Arguments are passed by value. Changes made by the called function to the arguments do not update their values in the calling script. <br/>A single value or an array of values is returned to the calling script."
+msgstr ""
+
+#. 72GZi
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id451582815407230\n"
+"help.text"
+msgid "Execute the Basic script given its name and location and fetch its result if any."
+msgstr ""
+
+#. yFnSG
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id921600856780901\n"
+"help.text"
+msgid "If the script returns nothing, which is the case of procedures defined with <literal>Sub</literal>, the returned value is <literal>Empty</literal>."
+msgstr ""
+
+#. VTyCE
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id631582815407231\n"
+"help.text"
+msgid "<emph>scope</emph>: String specifying where the script is stored. It can be either \"document\" (constant <literal>session.SCRIPTISEMBEDDED</literal>) or \"application\" (constant <literal>session.SCRIPTISAPPLICATION</literal>)."
+msgstr ""
+
+#. SCCpE
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id691582815407231\n"
+"help.text"
+msgid "<emph>script</emph>: String specifying the script to be called in the format \"library.module.method\" as a case-sensitive string."
+msgstr ""
+
+#. hS5x4
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id741626828862265\n"
+"help.text"
+msgid "The library is loaded in memory if necessary."
+msgstr ""
+
+#. D8AL6
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id981626828863001\n"
+"help.text"
+msgid "The module must not be a class module."
+msgstr ""
+
+#. VsUFD
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id721626828863257\n"
+"help.text"
+msgid "The method may be a <literal>Sub</literal> or a <literal>Function</literal>."
+msgstr ""
+
+#. eExjm
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id881582815407231\n"
+"help.text"
+msgid "<emph>args</emph>: The arguments to be passed to the called script."
+msgstr ""
+
+#. mg5WG
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id21626809513802\n"
+"help.text"
+msgid "Consider the following Basic function named <literal>DummyFunction</literal> that is stored in \"My Macros\" in the \"Standard\" library inside a module named \"Module1\"."
+msgstr ""
+
+#. PMyrB
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id551626810319766\n"
+"help.text"
+msgid "The function simply takes in two integer values <literal>v1</literal> and <literal>v2</literal> and return the sum of all values starting in <literal>v1</literal> and ending in <literal>v2</literal>."
+msgstr ""
+
+#. Gx6fV
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id461626810470057\n"
+"help.text"
+msgid "The examples below show how to call <literal>DummyFunction</literal> from within Basic and Python scripts."
+msgstr ""
+
+#. Yr22N
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id111582816585181\n"
+"help.text"
+msgid "Execute a Calc function using its English name and based on the given arguments. <br/>If the arguments are arrays, the function is executed as an <link href=\"text/scalc/01/04060107.xhp\" name=\"array formula\">array formula</link>."
+msgstr ""
+
+#. EDU9x
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id771582816585183\n"
+"help.text"
+msgid "<emph>calcfunction</emph>: The name of the Calc function to be called, in English."
+msgstr ""
+
+#. FJJJh
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id371582816585183\n"
+"help.text"
+msgid "<emph>args</emph>: The arguments to be passed to the called Calc function. Each argument must be either a string, a numeric value or an array of arrays combining those types."
+msgstr ""
+
+#. XMfUD
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"bas_id881582816585185\n"
+"help.text"
+msgid "' Generates an error."
+msgstr ""
+
+#. ygESx
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id571582818023245\n"
+"help.text"
+msgid "Execute the Python script given its location and name, fetch its result if any. Result can be a single value or an array of values."
+msgstr ""
+
+#. SB2gx
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id71600856817410\n"
+"help.text"
+msgid "If the script is not found, or if it returns nothing, the returned value is <literal>Empty</literal>."
+msgstr ""
+
+#. jdWTU
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id791582818023246\n"
+"help.text"
+msgid "<emph>scope</emph>: One of the applicable constants listed <link href=\"text/sbasic/shared/03/sf_session.xhp#constants\" name=\"Session constants\">above</link>. The default value is <literal>session.SCRIPTISSHARED</literal>."
+msgstr ""
+
+#. ELfda
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id71582818023247\n"
+"help.text"
+msgid "<emph>script</emph>: Either \"library/module.py$method\" or \"module.py$method\" or \"myExtension.oxt|myScript|module.py$method\" as a case-sensitive string."
+msgstr ""
+
+#. P6ZKD
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id501613061041313\n"
+"help.text"
+msgid "library: The folder path to the Python module."
+msgstr ""
+
+#. ktFHu
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id771613061043097\n"
+"help.text"
+msgid "myScript: The folder containing the Python module."
+msgstr ""
+
+#. ANBoy
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id301613061123849\n"
+"help.text"
+msgid "module.py: The Python module."
+msgstr ""
+
+#. f4B8C
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id241613061044560\n"
+"help.text"
+msgid "method: The Python function."
+msgstr ""
+
+#. ByFdE
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id711582818023247\n"
+"help.text"
+msgid "<emph>args</emph>: The arguments to be passed to the called script."
+msgstr ""
+
+#. ckvXs
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id701626817164878\n"
+"help.text"
+msgid "Consider the Python function <literal>odd_integers</literal> defined below that creates a list with odd integer values between <literal>v1</literal> and <literal>v2</literal>. Suppose this function is stored in a file named <emph>my_macros.py</emph> in your user scripts folder."
+msgstr ""
+
+#. o6DUm
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id751626817335715\n"
+"help.text"
+msgid "Read the help page <link href=\"text/sbasic/python/python_locations.xhp\" name=\"pylocation_link\">Python Scripts Organization and Location</link> to learn more about where Python scripts can be stored."
+msgstr ""
+
+#. vqBm9
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id121626817725471\n"
+"help.text"
+msgid "The following examples show how to call the function <literal>odd_integers</literal> from within Basic and Python scripts."
+msgstr ""
+
+#. pbmij
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id111582816585087\n"
+"help.text"
+msgid "Returns the current PDF export settings defined in the <menuitem>PDF Options</menuitem> dialog, which can be accessed by choosing <menuitem>File - Export as - Export as PDF</menuitem>."
+msgstr ""
+
+#. K7j2q
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id931638383270026\n"
+"help.text"
+msgid "Export options set with the <menuitem>PDF Options</menuitem> dialog are kept for future use. Hence <literal>GetPDFExportOptions</literal> returns the settings currently defined. In addition, use <literal>SetPDFExportOptions</literal> to change current PDF export options."
+msgstr ""
+
+#. uFCEq
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id801638383659558\n"
+"help.text"
+msgid "This method returns a <literal>Dictionary</literal> object wherein each key represent export options and the corresponding values are the current PDF export settings."
+msgstr ""
+
+#. 6kXBe
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id751638383457198\n"
+"help.text"
+msgid "Read the <link href=\"https://wiki.openoffice.org/wiki/API/Tutorials/PDF_export\" name=\"PDFExport_Wiki\">PDF Export wiki page</link> to learn more about all available options."
+msgstr ""
+
+#. Lv4iA
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id111587477335982\n"
+"help.text"
+msgid "Returns <literal>True</literal> if an UNO object contains the given method. Returns <literal>False</literal> when the method is not found or when an argument is invalid."
+msgstr ""
+
+#. HAw32
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id921587477335673\n"
+"help.text"
+msgid "<emph>unoobject</emph>: The object to inspect."
+msgstr ""
+
+#. DDw6g
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id631587477566016\n"
+"help.text"
+msgid "<emph>methodname</emph>: the method as a case-sensitive string"
+msgstr ""
+
+#. gDBRB
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id191587477832959\n"
+"help.text"
+msgid "Returns <literal>True</literal> if a UNO object has the given property. Returns <literal>False</literal> when the property is not found or when an argument is invalid."
+msgstr ""
+
+#. 54oXs
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id121587477832805\n"
+"help.text"
+msgid "<emph>unoobject</emph>: The object to inspect."
+msgstr ""
+
+#. hCTCk
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id701587477832750\n"
+"help.text"
+msgid "<emph>propertyname</emph>: the property as a case-sensitive string"
+msgstr ""
+
+#. QWaTF
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id97160112964017\n"
+"help.text"
+msgid "Open a Uniform Resource Locator (<link href=\"text/shared/00/00000002.xhp#URL\" name=\"URL\">URL</link>) in the default browser."
+msgstr ""
+
+#. 4tFWV
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id241601129640549\n"
+"help.text"
+msgid "<emph>url</emph>: The URL to open."
+msgstr ""
+
+#. hJqsF
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id311582819697897\n"
+"help.text"
+msgid "Executes an arbitrary system command and returns <literal>True</literal> if it was launched successfully."
+msgstr ""
+
+#. D483F
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id461582819697898\n"
+"help.text"
+msgid "<emph>command</emph>: The command to execute. This may be an executable file or a document which is registered with an application so that the system knows what application to launch for that document. The command must be expressed in the current <literal>SF_FileSystem.FileNaming</literal> notation."
+msgstr ""
+
+#. b8hbC
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id611582819697899\n"
+"help.text"
+msgid "<emph>parameters</emph>: A list of space separated parameters as a single string. The method does not validate the given parameters, but only passes them to the specified command."
+msgstr ""
+
+#. 2hTM7
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id131601030349755\n"
+"help.text"
+msgid "Send a message - with optional attachments - to recipients from the user's mail client. The message may be edited by the user before sending or, alternatively, be sent immediately."
+msgstr ""
+
+#. FCn8e
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id701601030349896\n"
+"help.text"
+msgid "<emph>recipient</emph>: An email address (the \"To\" recipient)."
+msgstr ""
+
+#. BdMiD
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id571601030349904\n"
+"help.text"
+msgid "<emph>cc</emph>: A comma-separated list of email addresses (the \"carbon copy\" recipients)."
+msgstr ""
+
+#. ADjaV
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id961601031043346\n"
+"help.text"
+msgid "<emph>bcc</emph>: A comma-separated list of email addresses (the \"blind carbon copy\" recipients)."
+msgstr ""
+
+#. zAkWZ
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id891601031050814\n"
+"help.text"
+msgid "<emph>subject</emph>: the header of the message."
+msgstr ""
+
+#. 69CFR
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id191601031056673\n"
+"help.text"
+msgid "<emph>body</emph>: The contents of the message as an unformatted text."
+msgstr ""
+
+#. McuEx
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id511601031063269\n"
+"help.text"
+msgid "<emph>filenames</emph>: a comma-separated list of file names. Each file name must respect the <literal>SF_FileSystem.FileNaming</literal> notation."
+msgstr ""
+
+#. h9Urq
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id161601032784063\n"
+"help.text"
+msgid "<emph>editmessage</emph>: When <literal>True</literal> (default), the message is edited before being sent."
+msgstr ""
+
+#. g7zLC
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id111582816583005\n"
+"help.text"
+msgid "Modifies the PDF export settings defined in the <menuitem>PDF Options</menuitem> dialog, which can be accessed by choosing <menuitem>File - Export as - Export as PDF</menuitem>."
+msgstr ""
+
+#. T2DkW
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id181638385131806\n"
+"help.text"
+msgid "Calling this method changes the actual values set in the <menuitem>PDF Options</menuitem> dialog, which are used by the <literal>ExportAsPDF</literal> method from the <literal>Document</literal> service."
+msgstr ""
+
+#. FBrKg
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id391638385313847\n"
+"help.text"
+msgid "This method returns <literal>True</literal> when successful."
+msgstr ""
+
+#. 9BqH3
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id751638383457321\n"
+"help.text"
+msgid "Read the <link href=\"https://wiki.openoffice.org/wiki/API/Tutorials/PDF_export\" name=\"PDFExport_Wiki\">PDF Export wiki page</link> to learn more about all available options."
+msgstr ""
+
+#. JhhXU
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id771582816585233\n"
+"help.text"
+msgid "<emph>pdfoptions</emph>: <literal>Dictionary</literal> object that defines the PDF export settings to be changed. Each key-value pair represents an export option and the value that will be set in the dialog."
+msgstr ""
+
+#. 8DKZK
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id141638386087986\n"
+"help.text"
+msgid "The following example changes the maximum image resolution to 150 dpi and exports the current document as a PDF file."
+msgstr ""
+
+#. HtzHP
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id321587478024997\n"
+"help.text"
+msgid "Returns a list of the methods callable from an UNO object. The list is a zero-based array of strings and may be empty."
+msgstr ""
+
+#. DX8qb
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id251587478024311\n"
+"help.text"
+msgid "<emph>unoobject</emph>: The object to inspect."
+msgstr ""
+
+#. sL6Ri
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id141587478343306\n"
+"help.text"
+msgid "Returns a list of the properties of an UNO object. The list is a zero-based array of strings and may be empty."
+msgstr ""
+
+#. CFZRP
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id241587478343323\n"
+"help.text"
+msgid "<emph>unoobject</emph>: The object to inspect."
+msgstr ""
+
+#. Cm4eK
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id371582820251347\n"
+"help.text"
+msgid "Identify the type of a UNO object as a string."
+msgstr ""
+
+#. Cs3VC
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id921582820251349\n"
+"help.text"
+msgid "<emph>unoobject</emph>: The object to identify."
+msgstr ""
+
+#. UAy4i
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id341582821057373\n"
+"help.text"
+msgid "Get some web content from a URI."
+msgstr ""
+
+#. BU5XR
+#: sf_session.xhp
+msgctxt ""
+"sf_session.xhp\n"
+"par_id771582821057374\n"
+"help.text"
+msgid "<emph>uri</emph>: URI address of the web service."
+msgstr ""
+
+#. gn6AM
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge.String service (SF_String)"
+msgstr ""
+
+#. ZhvDP
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"hd_id521580038927003\n"
+"help.text"
+msgid "<variable id=\"StringService\"><link href=\"text/sbasic/shared/03/sf_string.xhp\" name=\"String service\"><literal>ScriptForge</literal>.<literal>String</literal> service</link></variable>"
+msgstr ""
+
+#. yaisH
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id351579602570526\n"
+"help.text"
+msgid "The <literal>String</literal> service provides a collection of methods for string processing. These methods can be used to:"
+msgstr ""
+
+#. oNvbV
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id611611952070366\n"
+"help.text"
+msgid "Validate the contents of strings"
+msgstr ""
+
+#. UmFAv
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id611611952070376\n"
+"help.text"
+msgid "Format strings by trimming, justifying or wrapping their contents"
+msgstr ""
+
+#. EZKAi
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id611611952070367\n"
+"help.text"
+msgid "Use regular expressions to search and replace substrings"
+msgstr ""
+
+#. D2qPU
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id611611952070368\n"
+"help.text"
+msgid "Apply hash algorithms on strings, etc."
+msgstr ""
+
+#. Nd4es
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"hd_id961579603699855\n"
+"help.text"
+msgid "Definitions"
+msgstr ""
+
+#. dQjPv
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"hd_id441579603838777\n"
+"help.text"
+msgid "Line breaks"
+msgstr ""
+
+#. ePyj2
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id791611946942340\n"
+"help.text"
+msgid "The <literal>String</literal> service recognizes the following line breaks:"
+msgstr ""
+
+#. o2TiZ
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id151611947117831\n"
+"help.text"
+msgid "Symbolic name"
+msgstr ""
+
+#. fEbm9
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id721611947117831\n"
+"help.text"
+msgid "ASCII number"
+msgstr ""
+
+#. yqVHd
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id761611947117831\n"
+"help.text"
+msgid "Line feed<br/> Vertical tab<br/> Carriage return<br/> Line feed + Carriage return<br/> File separator<br/> Group separator<br/> Record separator<br/> Next line<br/> Line separator<br/> Paragraph separator"
+msgstr ""
+
+#. WCvgW
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"hd_id161579604225813\n"
+"help.text"
+msgid "Whitespaces"
+msgstr ""
+
+#. mFfbq
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id401611948279056\n"
+"help.text"
+msgid "The <literal>String</literal> service recognizes the following whitespaces:"
+msgstr ""
+
+#. U3GSy
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id151611947117893\n"
+"help.text"
+msgid "Symbolic name"
+msgstr ""
+
+#. ZsSFF
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id721611947117855\n"
+"help.text"
+msgid "ASCII number"
+msgstr ""
+
+#. TXAFP
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id761611947117835\n"
+"help.text"
+msgid "Space<br/> Horizontal tab<br/> Line feed<br/> Vertical tab<br/> Form feed<br/> Carriage return<br/> Next line<br/> No-break space<br/> Line separator<br/> Paragraph separator"
+msgstr ""
+
+#. UPByW
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"hd_id191580480825160\n"
+"help.text"
+msgid "Escape sequences"
+msgstr ""
+
+#. JD6CK
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id971611949145057\n"
+"help.text"
+msgid "Below is a list of escape sequences that can be used in strings."
+msgstr ""
+
+#. D4DjE
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id151611947117287\n"
+"help.text"
+msgid "Escape Sequence"
+msgstr ""
+
+#. xzDai
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id721611947117732\n"
+"help.text"
+msgid "Symbolic name"
+msgstr ""
+
+#. rrxV4
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id721611947117144\n"
+"help.text"
+msgid "ASCII number"
+msgstr ""
+
+#. fS24a
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id761611947119834\n"
+"help.text"
+msgid "Line feed<br/> Carriage return<br/> Horizontal tab"
+msgstr ""
+
+#. wAbkt
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id251611949474763\n"
+"help.text"
+msgid "To have the escape sequence \"\\n\" interpreted as an actual string, simply use \"\\\\n\" instead of <literal>\"\\\" & Chr(10).</literal>"
+msgstr ""
+
+#. AYQbH
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"hd_id771579606799550\n"
+"help.text"
+msgid "Non-printable characters:"
+msgstr ""
+
+#. WXEDi
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id531579606877342\n"
+"help.text"
+msgid "Characters defined in the Unicode Character Database as “Other” or “Separator” are considered as non-printable characters."
+msgstr ""
+
+#. EsBdD
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id221611949584320\n"
+"help.text"
+msgid "Control characters (ascii code <= 0x1F) are also considered as non-printable."
+msgstr ""
+
+#. GfNfK
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"hd_id661579604944268\n"
+"help.text"
+msgid "Quotes inside strings:"
+msgstr ""
+
+#. 6KLF9
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id551579605035332\n"
+"help.text"
+msgid "To add quotes in strings use \\' (single quote) or \\\" (double quote). For example:"
+msgstr ""
+
+#. BKoHN
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id201611949691285\n"
+"help.text"
+msgid "The string <literal>[str\\'i\\'ng]</literal> is interpreted as <literal>[str'i'ng]</literal>"
+msgstr ""
+
+#. eRosR
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id201611949691323\n"
+"help.text"
+msgid "The string <literal>[str\\\"i\\\"ng]</literal> is interpreted as <literal>[str\"i\"ng]</literal>"
+msgstr ""
+
+#. FtzhT
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"hd_id201586594659135\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. 4WFve
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>ScriptForge.String</literal> service the <literal>ScriptForge</literal> library needs to be loaded using:"
+msgstr ""
+
+#. znLHV
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id271627158844922\n"
+"help.text"
+msgid "Loading the library will create the <literal>SF_String</literal> object that can be used to call the methods in the <literal>String</literal> service."
+msgstr ""
+
+#. e2Gty
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id63158659509728\n"
+"help.text"
+msgid "The following code snippets show the three ways to call methods from the <literal>String</literal> service (the <literal>Capitalize</literal> method is used as an example):"
+msgstr ""
+
+#. UE3DL
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id761627158463235\n"
+"help.text"
+msgid "The code snippet below illustrates how to invoke methods from the <literal>String</literal> service in Python scripts. The <literal>IsIPv4</literal> method is used as an example."
+msgstr ""
+
+#. GfEcK
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"hd_id651584978211886\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. qKhL4
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id241611950267068\n"
+"help.text"
+msgid "The <literal>SF_String</literal> object provides the following properties for Basic scripts:"
+msgstr ""
+
+#. FDjPb
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id271584978211792\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. HGYbF
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id241584978211550\n"
+"help.text"
+msgid "ReadOnly"
+msgstr ""
+
+#. 5qXzL
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id621584978211403\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. 6DG3u
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id71584978715562\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. YJA6w
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id581584978715701\n"
+"help.text"
+msgid "Carriage return: Chr(13)"
+msgstr ""
+
+#. NCbTs
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id211584978211383\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. xht7K
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id691584978211774\n"
+"help.text"
+msgid "Carriage return + Linefeed: Chr(13) & Chr(10)"
+msgstr ""
+
+#. ennLs
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id671584978666689\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. pdykp
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id951584978666296\n"
+"help.text"
+msgid "Linefeed: Chr(10)"
+msgstr ""
+
+#. TTF6v
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id421584978666327\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 9djV3
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id901584978666158\n"
+"help.text"
+msgid "Carriage return + Linefeed, which can be<br/>1) Chr(13) & Chr(10) or <br/>2) Linefeed: Chr(10) <br/>depending on the operating system."
+msgstr ""
+
+#. EMV7g
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id541584978666991\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. VrjGQ
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id741584978666508\n"
+"help.text"
+msgid "Horizontal tabulation: Chr(9)"
+msgstr ""
+
+#. Ee5CF
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id461584978880380\n"
+"help.text"
+msgid "You can use the properties above to identify or insert the corresponding characters inside strings. For example, the Linefeed can be replaced by <literal>SF_String.sfLF</literal>."
+msgstr ""
+
+#. DDXd3
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id891611613601554\n"
+"help.text"
+msgid "List of Methods in the String Service"
+msgstr ""
+
+#. TFfR3
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id151611951803163\n"
+"help.text"
+msgid "The first argument of most methods is the string to be considered. It is always passed by reference and left unchanged. Methods such as <literal>Capitalize</literal>, <literal>Escape</literal>, etc return a new string after their execution."
+msgstr ""
+
+#. PYcny
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id371627158142730\n"
+"help.text"
+msgid "Because Python has comprehensive built-in string support, most of the methods in the <literal>String</literal> service are available for Basic scripts only. The methods available for Basic and Python are: <literal>HashStr</literal>, <literal>IsADate</literal>, <literal>IsEmail</literal>, <literal>IsFileName</literal>, <literal>IsIBAN</literal>, <literal>IsIPv4</literal>, <literal>IsLike</literal>, <literal>IsSheetName</literal>, <literal>IsUrl</literal>, <literal>SplitNotQuoted</literal> and <literal>Wrap</literal>."
+msgstr ""
+
+#. jaBZR
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id271579683706571\n"
+"help.text"
+msgid "Capitalizes the first character from each word in the input string."
+msgstr ""
+
+#. ibgky
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id941582304592013\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be capitalized."
+msgstr ""
+
+#. DB982
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id891582384556756\n"
+"help.text"
+msgid "Counts the number of occurrences of a substring or a regular expression within a string."
+msgstr ""
+
+#. DxK5L
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id571582384689863\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The input string to be examined"
+msgstr ""
+
+#. QUeur
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id601582384696486\n"
+"help.text"
+msgid "<emph>substring</emph>: The substring or the regular expression to be used during search"
+msgstr ""
+
+#. vGiqm
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id451582384703719\n"
+"help.text"
+msgid "<emph>isregex</emph>: Use <literal>True</literal> if the substring is a regular expression (Default = <literal>False</literal>)"
+msgstr ""
+
+#. WiFme
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id141582384726168\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: The search can be case sensitive or not (Default = <literal>False</literal>)."
+msgstr ""
+
+#. QcE5q
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id371582384749769\n"
+"help.text"
+msgid "'Counts the occurrences of the substring \"or\" inside the input string (returns 2)"
+msgstr ""
+
+#. XXCR4
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id561582384801586\n"
+"help.text"
+msgid "'Counts the number of words with only lowercase letters (returns 7)"
+msgstr ""
+
+#. aJNDg
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id131612223767126\n"
+"help.text"
+msgid "To learn more about regular expressions, refer to the Python's documentation on <link href=\"https://docs.python.org/3/library/re.html\" name=\"Regular expressions\">Regular Expression Operations</link>."
+msgstr ""
+
+#. CCzMc
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id581579687739629\n"
+"help.text"
+msgid "Returns <literal>True</literal> if a string ends with a specified substring."
+msgstr ""
+
+#. cAmFW
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id21612306392239\n"
+"help.text"
+msgid "The function returns <literal>False</literal> when either the string or the substring have a length = 0 or when the substring is longer than the string."
+msgstr ""
+
+#. qk5nE
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id191579861552201\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be tested."
+msgstr ""
+
+#. ErigR
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id211579861561473\n"
+"help.text"
+msgid "<emph>substring</emph>: The substring to be searched at the end of <literal>inputstr</literal>."
+msgstr ""
+
+#. 4DKkW
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id801579861574009\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: The search can be case sensitive or not (Default = <literal>False</literal>)."
+msgstr ""
+
+#. gn2F8
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id811579862998452\n"
+"help.text"
+msgid "'Returns True because the method was called with the default CaseSensitive = False"
+msgstr ""
+
+#. vJDmx
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id231579863168747\n"
+"help.text"
+msgid "'Returns False due to the CaseSensitive parameter"
+msgstr ""
+
+#. zThMM
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id921585921441429\n"
+"help.text"
+msgid "Converts linebreaks and tabs contained in the input string to their equivalent escaped sequence (\\\\, \\n, \\r, \\t)."
+msgstr ""
+
+#. kBiBE
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id9158592144110\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be converted."
+msgstr ""
+
+#. cpLKD
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id901585921441483\n"
+"help.text"
+msgid "'Returns the string \"abc\\n\\tdef\\\\n\""
+msgstr ""
+
+#. ADN8M
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id271579868053137\n"
+"help.text"
+msgid "Replaces Tab characters <literal>Chr(9)</literal> by space characters to replicate the behavior of tab stops."
+msgstr ""
+
+#. Eb23Z
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id951579868064344\n"
+"help.text"
+msgid "If a line break is found, a new line is started and the character counter is reset."
+msgstr ""
+
+#. E73Ko
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id231579868290408\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be expanded"
+msgstr ""
+
+#. 9dyYc
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id281579868299807\n"
+"help.text"
+msgid "<emph>tabsize</emph>: This parameter is used to determine the Tab stops using the formula: TabSize + 1, 2 * TabSize + 1 , ... N * TabSize + 1 (Default = 8)"
+msgstr ""
+
+#. GUoE8
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id161579874552729\n"
+"help.text"
+msgid "Replaces all non-printable characters in the input string by a given character."
+msgstr ""
+
+#. GpHwp
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id431579874633865\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be searched"
+msgstr ""
+
+#. GttDN
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id31579874656437\n"
+"help.text"
+msgid "<emph>replacedby</emph>: Zero, one or more characters that will replace all non-printable characters in <literal>inputstr</literal> (Default = \"\")"
+msgstr ""
+
+#. W44TL
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id1001579876228707\n"
+"help.text"
+msgid "Finds in a string a substring matching a given regular expression."
+msgstr ""
+
+#. aq28M
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id131579876314120\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be searched"
+msgstr ""
+
+#. hRrBB
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id751579876371545\n"
+"help.text"
+msgid "<emph>regex</emph>: The regular expression"
+msgstr ""
+
+#. y2Fqs
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id881579876394584\n"
+"help.text"
+msgid "<emph>start</emph>: The position in the string where the search will begin. This parameter is passed by reference, so after execution the value of <literal>start</literal> will point to the first character of the found substring. If no matching substring is found, <literal>start</literal> will be set to 0."
+msgstr ""
+
+#. yZMDg
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id251579876403831\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: The search can be case sensitive or not (Default = <literal>False</literal>)."
+msgstr ""
+
+#. A4JC7
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id841579876412287\n"
+"help.text"
+msgid "<emph>forward</emph>: Determines the direction of the search. If <literal>True</literal>, search moves forward. If <literal>False</literal> search moves backwards (Default = <literal>True</literal>)"
+msgstr ""
+
+#. SkaCi
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id451612309155653\n"
+"help.text"
+msgid "At the first iteration, if <literal>forward = True</literal>, then <literal>start</literal> should be equal to 1, whereas if <literal>forward = False</literal> then <literal>start</literal> should be equal to <literal>Len(inputstr)</literal>"
+msgstr ""
+
+#. gv3oo
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id221612309579001\n"
+"help.text"
+msgid "In the example above, the new value of <literal>lStart</literal> can be used to keep searching the same input string by setting the <literal>Start</literal> parameter to <literal>lStart + Len(result)</literal> at the next iteration."
+msgstr ""
+
+#. qAkN4
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id471601048983628\n"
+"help.text"
+msgid "Hash functions are used inside some cryptographic algorithms, in digital signatures, message authentication codes, manipulation detection, fingerprints, checksums (message integrity check), hash tables, password storage and much more."
+msgstr ""
+
+#. HupGD
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id301601048983765\n"
+"help.text"
+msgid "The <literal>HashStr</literal> method returns the result of a hash function applied on a given string and using a specified algorithm, as a string of lowercase hexadecimal digits."
+msgstr ""
+
+#. ZRZEF
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id631601048983149\n"
+"help.text"
+msgid "The hash algorithms supported are: <literal>MD5</literal>, <literal>SHA1</literal>, <literal>SHA224</literal>, <literal>SHA256</literal>, <literal>SHA384</literal> and <literal>SHA512</literal>."
+msgstr ""
+
+#. yUmmb
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id621601048983210\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to hash. It is presumed to be encoded in UTF-8. The hashing algorithm will consider the string as a stream of bytes."
+msgstr ""
+
+#. nuQRb
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id941601048983822\n"
+"help.text"
+msgid "<emph>algorithm</emph>: One of the supported algorithms listed above, passed as a string."
+msgstr ""
+
+#. TXGmB
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id221579879516929\n"
+"help.text"
+msgid "Encodes the input string into the HTML character codes, replacing special characters by their <literal>&</literal> counterparts."
+msgstr ""
+
+#. YNfid
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id341612351999692\n"
+"help.text"
+msgid "For example, the character <literal>é</literal> would be replaced by <literal>&eacute;</literal> or an equivalent numerical HTML code."
+msgstr ""
+
+#. CGFQH
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id501579879570781\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to encode."
+msgstr ""
+
+#. jpv97
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id171579880990533\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the input string is a valid date according to a specified date format."
+msgstr ""
+
+#. tBGBH
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id151579881091821\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>"
+msgstr ""
+
+#. nmTv3
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id991579881107670\n"
+"help.text"
+msgid "<emph>dateformat</emph>: The date format, as a string. It can be either \"YYYY-MM-DD\" (default), \"DD-MM-YYYY\" or \"MM-DD-YYYY\""
+msgstr ""
+
+#. GvZLC
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id291579881117126\n"
+"help.text"
+msgid "The dash (-) may be replaced by a dot (.), a slash (/) or a space."
+msgstr ""
+
+#. yCA3T
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id51579881125801\n"
+"help.text"
+msgid "If the format is invalid, the method returns <literal>False</literal>."
+msgstr ""
+
+#. qFmWW
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id211612370427721\n"
+"help.text"
+msgid "This method checks the format of the input string without performing any calendar-specific checks. Hence it does not test the input string for leap years or months with 30 or 31 days. For that, refer to the <link href=\"text/sbasic/shared/03102300.xhp\" name=\"IsDate function\"><literal>IsDate</literal> built-in function</link>."
+msgstr ""
+
+#. DJQFQ
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id181612371147364\n"
+"help.text"
+msgid "The example below shows the difference between the methods <literal>IsADate</literal> (ScriptForge) and the <literal>IsDate</literal> (built-in) function."
+msgstr ""
+
+#. hAADi
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id161579881600317\n"
+"help.text"
+msgid "Returns <literal>True</literal> if all characters in the string are alphabetic."
+msgstr ""
+
+#. Cpeo3
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id251579881615469\n"
+"help.text"
+msgid "Alphabetic characters are those characters defined in the <link href=\"https://unicode.org/reports/tr44/\" name=\"Unicode documentation\">Unicode Character Database</link> as <literal>Letter</literal>."
+msgstr ""
+
+#. a9rTa
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id11579881691826\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. KaLGv
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id421579883181382\n"
+"help.text"
+msgid "Returns <literal>True</literal> if all characters in the string are alphabetic, digits or \"_\" (underscore). The first character must not be a digit."
+msgstr ""
+
+#. BAEB4
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id31579884464101\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. qAZpA
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id671580039484786\n"
+"help.text"
+msgid "Returns <literal>True</literal> if all characters in the string are Ascii characters."
+msgstr ""
+
+#. 3DNou
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id791580039528838\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. iuPF4
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id861580044805749\n"
+"help.text"
+msgid "Returns <literal>True</literal> if all characters in the string are digits."
+msgstr ""
+
+#. yU7cc
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id41580044873043\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. J8Ykx
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id521580045221758\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the string is a valid email address."
+msgstr ""
+
+#. 8Pxsn
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id841580045280071\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. R6MsU
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id41580047039666\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the string is a valid filename in a given operating system."
+msgstr ""
+
+#. aQbRF
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id801580047079938\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. jWMpJ
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id781580047088954\n"
+"help.text"
+msgid "<emph>osname</emph>: The operating system name, as a string. It can be \"WINDOWS\", \"LINUX\", \"MACOSX\" or \"SOLARIS\"."
+msgstr ""
+
+#. GnrxA
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id991612372824234\n"
+"help.text"
+msgid "The default value is the current operating system on which the script is running."
+msgstr ""
+
+#. FPuAV
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id911580047551929\n"
+"help.text"
+msgid "Returns <literal>True</literal> if all characters in the string are hexadecimal digits."
+msgstr ""
+
+#. hWqAh
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id331580047594144\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. kEz4y
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id521612377109554\n"
+"help.text"
+msgid "The hexadecimal digits may be prefixed with \"0x\" or \"&H\"."
+msgstr ""
+
+#. 3WKNf
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id791584008420941\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the string is a valid International Bank Account Number (IBAN). The comparison is not case-sensitive."
+msgstr ""
+
+#. DnC6i
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id951880048466565\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. VgT3x
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id631619526542367\n"
+"help.text"
+msgid "<literal>True</literal> if the string contains a valid IBAN number."
+msgstr ""
+
+#. CcTNk
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id791580048420941\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the string is a valid IP(v4) address."
+msgstr ""
+
+#. rMpXB
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id981580048466565\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. yWHew
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id831580049093038\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the whole input string matches a given pattern containing wildcards."
+msgstr ""
+
+#. PzigS
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id141580049142548\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. XEBzh
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id31580049154551\n"
+"help.text"
+msgid "<emph>pattern</emph>: The pattern as a string. Wildcards are:"
+msgstr ""
+
+#. ZCzDP
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id181612441703306\n"
+"help.text"
+msgid "\"?\" represents any single character;"
+msgstr ""
+
+#. CFPcW
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id861612377611438\n"
+"help.text"
+msgid "\"*\" represents zero, one, or multiple characters."
+msgstr ""
+
+#. eLYBF
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id991580049206617\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: The search can be case sensitive or not (Default = <literal>False</literal>)."
+msgstr ""
+
+#. kSMmn
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id581580050048679\n"
+"help.text"
+msgid "Returns <literal>True</literal> if all characters in the string are in lowercase. Non-alphabetic characters are ignored."
+msgstr ""
+
+#. nWGvX
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id751580050122938\n"
+"help.text"
+msgid "<emph>InputStr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. BzD3y
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id231580051650488\n"
+"help.text"
+msgid "Returns <literal>True</literal> if all characters in the string are printable."
+msgstr ""
+
+#. gUhut
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id721580051706431\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. HYBp5
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id281580052400960\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the whole input string matches a given regular expression."
+msgstr ""
+
+#. ZuBxC
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id161580052454770\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. mi4mi
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id581580052467973\n"
+"help.text"
+msgid "<emph>regex</emph>: The regular expression. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. vmqZM
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id621580052654341\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: The search can be case sensitive or not (Default = <literal>False</literal>)."
+msgstr ""
+
+#. iZSEw
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id1001589460240467\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the input string is a valid Calc sheet name."
+msgstr ""
+
+#. xPFLm
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id671589460240552\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. uE5gz
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id551612442002823\n"
+"help.text"
+msgid "A sheet name must not contain the characters [ ] * ? : / \\ or the character ' (apostrophe) as first or last character."
+msgstr ""
+
+#. ALdgg
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id371580293093655\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the first character of every word is in uppercase and the other characters are in lowercase."
+msgstr ""
+
+#. uVF9U
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id471580293142283\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. 7Ryzp
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id801580128672004\n"
+"help.text"
+msgid "Returns <literal>True</literal> if all characters in the string are in uppercase. Non alphabetic characters are ignored."
+msgstr ""
+
+#. HFDCW
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id391580128736809\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. BTRpG
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id531580132067813\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the string is a valid absolute URL (Uniform Resource Locator) address. Only the http, https and ftp protocols are supported."
+msgstr ""
+
+#. HrFqG
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id321580132113593\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. wBAqG
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id41580132491698\n"
+"help.text"
+msgid "Returns <literal>True</literal> if all characters in the string are whitespaces"
+msgstr ""
+
+#. JDD85
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id801580132535511\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be checked. If empty, the method returns <literal>False</literal>."
+msgstr ""
+
+#. 7EBbA
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id891580133307100\n"
+"help.text"
+msgid "Returns the input string center-justified."
+msgstr ""
+
+#. TLmnE
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id571612380829021\n"
+"help.text"
+msgid "The leading and trailing white spaces are stripped and the remaining characters are completed left and right up to a specified total <literal>length</literal> with the character <literal>padding</literal>."
+msgstr ""
+
+#. 4uuQT
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id911580133391827\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be center-justified. If empty, the method returns an empty string."
+msgstr ""
+
+#. jHJNT
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id671580133694946\n"
+"help.text"
+msgid "<emph>length</emph>: The length of the resulting string (default = the length of the input string)."
+msgstr ""
+
+#. A3qof
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id511612381090109\n"
+"help.text"
+msgid "If the specified length is shorter than the center-justified input string, then the returned string is truncated."
+msgstr ""
+
+#. fys4j
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id101580133705268\n"
+"help.text"
+msgid "<emph>padding</emph>: The single character to be used as padding (default = the Ascii space \" \")."
+msgstr ""
+
+#. 4zk3p
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id911580135466348\n"
+"help.text"
+msgid "Returns the input string left-justified."
+msgstr ""
+
+#. 9KeCE
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id431612381917641\n"
+"help.text"
+msgid "The leading white spaces are stripped and the remaining characters are completed to the right up to a specified total <literal>length</literal> with the character <literal>padding</literal>."
+msgstr ""
+
+#. UQXSM
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id281580135523448\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be left-justified. If empty, the method returns an empty string."
+msgstr ""
+
+#. EAwAa
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id431580135534910\n"
+"help.text"
+msgid "<emph>length</emph>: The length of the resulting string (default = the length of the input string)."
+msgstr ""
+
+#. ntKXx
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id161612381664182\n"
+"help.text"
+msgid "If the specified length is shorter than the left-justified input string, then the returned string is truncated."
+msgstr ""
+
+#. wBnmv
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id221580135568475\n"
+"help.text"
+msgid "<emph>padding</emph>: The single character to be used as padding (default = the Ascii space \" \")."
+msgstr ""
+
+#. TTokb
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id821580136091225\n"
+"help.text"
+msgid "Returns the input string right-justified."
+msgstr ""
+
+#. 4fG7c
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id771612382000293\n"
+"help.text"
+msgid "The leading white spaces are stripped and the remaining characters are completed to the left up to a specified total <literal>length</literal> with the character <literal>padding</literal>."
+msgstr ""
+
+#. KxskT
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id201580136154170\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be right-justified. If empty, the method returns an empty string."
+msgstr ""
+
+#. FboQc
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id71580136164632\n"
+"help.text"
+msgid "<emph>length</emph>: The length of the resulting string (default = the length of the input string)."
+msgstr ""
+
+#. dshKE
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id191612381732163\n"
+"help.text"
+msgid "If the specified length is shorter than the right-justified input string, then the returned string is truncated."
+msgstr ""
+
+#. LtcVG
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id751580136200680\n"
+"help.text"
+msgid "<emph>padding</emph>: The single character to be used as padding (default = the Ascii space \" \")."
+msgstr ""
+
+#. Wn55u
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id251580136888958\n"
+"help.text"
+msgid "Returns the input string enclosed in single or double quotes. Existing quotes are left unchanged, including leading and/or trailing quotes."
+msgstr ""
+
+#. YBvt4
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id811580136944674\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to quote."
+msgstr ""
+
+#. GynWV
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id581599129397412\n"
+"help.text"
+msgid "<emph>quotechar</emph>: Either the single (') or double (\") quote (default)."
+msgstr ""
+
+#. fY3PC
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id911612382537087\n"
+"help.text"
+msgid "This method can be useful while preparing a string field to be stored in a csv-like file, which requires that text values be enclosed with single or double quotes."
+msgstr ""
+
+#. 8Rr4M
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id951580139124650\n"
+"help.text"
+msgid "Replaces all occurrences of the characters specified in the <literal>Before</literal> parameter by the corresponding characters specified in <literal>After</literal>."
+msgstr ""
+
+#. 5hn2y
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id1001612384040018\n"
+"help.text"
+msgid "If the length of <literal>Before</literal> is greater than the length of <literal>After</literal>, the residual characters in <literal>Before</literal> are replaced by the last character in <literal>After</literal>."
+msgstr ""
+
+#. DD2CL
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id11580139160633\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The input string on which replacements will occur."
+msgstr ""
+
+#. DvaRE
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id111580139169795\n"
+"help.text"
+msgid "<emph>before</emph>: A string with the characters that will be searched in the input string for replacement."
+msgstr ""
+
+#. N46b3
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id851580139182113\n"
+"help.text"
+msgid "<emph>after</emph>: A string with the new characters that will replace those defined in <literal>before</literal>."
+msgstr ""
+
+#. CDuCC
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id921580139218457\n"
+"help.text"
+msgid "' Replaces accented characters"
+msgstr ""
+
+#. 5ww5A
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id151612442904499\n"
+"help.text"
+msgid "The <literal>SF_String</literal> service provides useful public constants for the Latin character sets, as shown in the example below:"
+msgstr ""
+
+#. 9SPjv
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id671580140272818\n"
+"help.text"
+msgid "Replaces all occurrences of a given regular expression by a new string."
+msgstr ""
+
+#. ujCyu
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id471580140311626\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The input string on which replacements will occur."
+msgstr ""
+
+#. o2DS2
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id651580140322666\n"
+"help.text"
+msgid "<emph>regex</emph>: The regular expression."
+msgstr ""
+
+#. itEEd
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id891580140334754\n"
+"help.text"
+msgid "<emph>newstr</emph>: The replacing string."
+msgstr ""
+
+#. gJRAr
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id581580140345221\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: The search can be case sensitive or not (Default = <literal>False</literal>)."
+msgstr ""
+
+#. ykPVR
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id961612384647003\n"
+"help.text"
+msgid "' \"Lxxxx xxxxx xxxxx xxx xxxx, xxxxxxxxxxx xxxxxxxxxx xxxx.\" (each lowercase letter is replaced by \"x\")"
+msgstr ""
+
+#. rkMsv
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id751612384623936\n"
+"help.text"
+msgid "' \"x x x x x, x x x.\" (each word is replaced by \"x\")"
+msgstr ""
+
+#. 2Gd5C
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id51580146471894\n"
+"help.text"
+msgid "Replaces in a string some or all occurrences of an array of strings by an array of new strings."
+msgstr ""
+
+#. SDpot
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id831580146504326\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The input string on which replacements will occur."
+msgstr ""
+
+#. UfuEm
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id411580146514927\n"
+"help.text"
+msgid "<emph>oldstr</emph>: A single string or an array of strings. Zero-length strings are ignored."
+msgstr ""
+
+#. Ukr3F
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id591580146532966\n"
+"help.text"
+msgid "<emph>newstr</emph>: The replacing string or the array of replacing strings."
+msgstr ""
+
+#. 7BQ7F
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id611612384873347\n"
+"help.text"
+msgid "If <literal>oldstr</literal> is an array, each occurrence of any of the items in <literal>oldstr</literal> is replaced by <literal>newstr</literal>."
+msgstr ""
+
+#. AfRz6
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id611612384880820\n"
+"help.text"
+msgid "If <literal>oldstr</literal> and <literal>newstr</literal> are arrays, replacements occur one by one up to the <literal>UBound(newstr)</literal>."
+msgstr ""
+
+#. E39aH
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id241612385058264\n"
+"help.text"
+msgid "If <literal>oldstr</literal> has more entries than <literal>newstr</literal>, then the residual elements in <literal>oldstr</literal> are replaced by the last element in <literal>newstr</literal>."
+msgstr ""
+
+#. MkqW5
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id701580146547619\n"
+"help.text"
+msgid "<emph>occurrences</emph>: The maximum number of replacements. The default value is 0, meaning that all occurrences will be replaced."
+msgstr ""
+
+#. QX33p
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id741612385380533\n"
+"help.text"
+msgid "When <literal>oldstr</literal> is an array, the <literal>occurrence</literal> parameter is computed separately for each item in the array."
+msgstr ""
+
+#. aWrvA
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id301580146556599\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: The search can be case sensitive or not (Default = <literal>False</literal>)."
+msgstr ""
+
+#. eygyi
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id901580147558931\n"
+"help.text"
+msgid "Returns a string with a readable representation of the argument, truncated at a given length. This is useful mainly for debugging or logging purposes."
+msgstr ""
+
+#. cU3Ev
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id11612386054691\n"
+"help.text"
+msgid "If the <literal>anyvalue</literal> parameter is an object, it will be enclosed with square brackets \"[\" and \"]\"."
+msgstr ""
+
+#. gVB32
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id491612386081802\n"
+"help.text"
+msgid "In strings, tabs and line breaks are replaced by \\t, \\n or \\r."
+msgstr ""
+
+#. SfUGD
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id921612386089103\n"
+"help.text"
+msgid "If the final length exceeds the <literal>maxlength</literal> parameter, the latter part of the string is replaced by \" ... (N)\" where N is the total length of the original string before truncation."
+msgstr ""
+
+#. zLfNR
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id91580147593626\n"
+"help.text"
+msgid "<emph>anyvalue</emph>: The input value to be represented. It can be any value, such as a string, an array, a Basic object, a UNO object, etc."
+msgstr ""
+
+#. hdDFi
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id811580147609322\n"
+"help.text"
+msgid "<emph>maxlength</emph>: The maximum length of the resulting string. The default value is 0, meaning there is no limit to the length of the resulting representation."
+msgstr ""
+
+#. Ape7i
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id641612386659292\n"
+"help.text"
+msgid "Note that the representation of data types such as Arrays and <literal>ScriptForge.Dictionary</literal> object instances include both the data type and their values:"
+msgstr ""
+
+#. ZFFAD
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id971612386906463\n"
+"help.text"
+msgid "' An example with a Basic built-in Array"
+msgstr ""
+
+#. GEZzM
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id401612386876329\n"
+"help.text"
+msgid "' An example with a ScriptForge Array"
+msgstr ""
+
+#. mZ3ar
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id551612386931680\n"
+"help.text"
+msgid "' An example with a ScriptForge Dictionary"
+msgstr ""
+
+#. vvADG
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id411580312925741\n"
+"help.text"
+msgid "Returns the input string in reversed order."
+msgstr ""
+
+#. EEyG6
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id141612387177873\n"
+"help.text"
+msgid "This method is equivalent to the built-in <link href=\"text/sbasic/shared/03120412.xhp\" name=\"StrReverse function\"><literal>StrReverse</literal> Basic function</link>."
+msgstr ""
+
+#. ZEarP
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id961612387463144\n"
+"help.text"
+msgid "To use the <literal>StrReverse</literal> function, the statement <literal>Option VBASupport 1</literal> must be present in the module."
+msgstr ""
+
+#. pSyL6
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id241580312964497\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be reversed."
+msgstr ""
+
+#. KBFDk
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id721580210762286\n"
+"help.text"
+msgid "Returns a zero-based array of strings with the lines in the input string. Each item in the array is obtained by splitting the input string at newline characters."
+msgstr ""
+
+#. nuUF6
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id481580210806878\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be split."
+msgstr ""
+
+#. FEFUw
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id231580210820309\n"
+"help.text"
+msgid "<emph>keepbreaks</emph>: When <literal>True</literal>, line breaks are preserved in the output array (default = <literal>False</literal>)."
+msgstr ""
+
+#. HAG8Q
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id471580211762739\n"
+"help.text"
+msgid "Splits a string into an array of elements using a specified delimiter."
+msgstr ""
+
+#. zsADB
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id281612388034501\n"
+"help.text"
+msgid "If a quoted substring contains a delimiter, it is ignored. This is useful when parsing CSV-like records that contain quoted strings."
+msgstr ""
+
+#. JKAaG
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id881580211809490\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be split."
+msgstr ""
+
+#. zFjwe
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id811580211821162\n"
+"help.text"
+msgid "<emph>delimiter</emph>: A string of one or more characters that will be used as delimiter. The default delimiter is the Ascii space \" \" character."
+msgstr ""
+
+#. 3rGRu
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id181580211833778\n"
+"help.text"
+msgid "<emph>occurrences</emph>: The maximum number of substrings to return. The default value is 0, meaning that there is no limit to the number of returned strings."
+msgstr ""
+
+#. W2og7
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id421599123777334\n"
+"help.text"
+msgid "<emph>quotechar</emph>: Either the single (') or double (\") quote."
+msgstr ""
+
+#. DiYMJ
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id661627251379676\n"
+"help.text"
+msgid "Beware of the differences between Basic and Python when representing strings. For example, in Basic two \"\" characters inside a string are interpreted as a single \" character. In Python, strings enclosed with single quotes can contain \" characters without having to double them."
+msgstr ""
+
+#. 6Q2tJ
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id771580212837884\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the first characters of a string are identical to a given substring."
+msgstr ""
+
+#. BYx4G
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id781612393174350\n"
+"help.text"
+msgid "This method returns <literal>False</literal> if either the input string or the substring have a length = 0 or when the substring is longer than the input string."
+msgstr ""
+
+#. jrzxu
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id271580212876135\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be tested."
+msgstr ""
+
+#. tE9WD
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id571580212889462\n"
+"help.text"
+msgid "<emph>substring</emph>: The substring to be searched at the start of <literal>inputstr</literal>."
+msgstr ""
+
+#. ZeQP4
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id811580212900799\n"
+"help.text"
+msgid "<emph>casesensitive</emph>: The search can be case sensitive or not (Default = <literal>False</literal>)."
+msgstr ""
+
+#. DGgBx
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id911580295999690\n"
+"help.text"
+msgid "Returns the input string without its leading and trailing whitespaces."
+msgstr ""
+
+#. BESEu
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id541580296044377\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to trim."
+msgstr ""
+
+#. 9t9vX
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id61580483096936\n"
+"help.text"
+msgid "Converts any escaped sequence (\\\\, \\n, \\r, \\t) in the input string to their corresponding Ascii character."
+msgstr ""
+
+#. mzTsG
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id971580483124743\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to be converted."
+msgstr ""
+
+#. BoYHV
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id831580213634029\n"
+"help.text"
+msgid "Removes the single or double quotes enclosing the input string."
+msgstr ""
+
+#. Ae8c5
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id811612393585600\n"
+"help.text"
+msgid "This is useful when parsing CSV-like records that contain quoted strings."
+msgstr ""
+
+#. BhVvp
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id761580213677493\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to unquote."
+msgstr ""
+
+#. gRUHA
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id211599129509890\n"
+"help.text"
+msgid "<emph>quotechar</emph>: Either the single (') or double (\") quote (default)."
+msgstr ""
+
+#. nGq4Q
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id371580213702598\n"
+"help.text"
+msgid "' s = \"Some text\" (without enclosing quotes)"
+msgstr ""
+
+#. Fp8ip
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id51580213693694\n"
+"help.text"
+msgid "' The string below does not have enclosing quotes, so it remains unchanged"
+msgstr ""
+
+#. A4Eki
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id961612393917830\n"
+"help.text"
+msgid "' s = \"Some text\" (unchanged)"
+msgstr ""
+
+#. ULtxx
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id461612394182689\n"
+"help.text"
+msgid "' Quotes inside the string are not removed"
+msgstr ""
+
+#. 8w4ia
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"bas_id961612394171208\n"
+"help.text"
+msgid "' s = \"The \"\"true\"\" meaning\" (unchanged)"
+msgstr ""
+
+#. JGhWK
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id871585834468102\n"
+"help.text"
+msgid "Converts the input string into an array of substrings so that each item in the array has at most a given number of characters."
+msgstr ""
+
+#. 4G9FU
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id21612394465120\n"
+"help.text"
+msgid "In practice, this method returns a zero-based array of output lines, without newlines at the end, except for the pre-existing line-breaks."
+msgstr ""
+
+#. qgd6X
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id601612395193333\n"
+"help.text"
+msgid "Tabs are expanded using the same procedure performed by the <link href=\"text/sbasic/shared/03/sf_string.xhp#ExpandTabs\" name=\"ExpandTabs method\">ExpandTabs</link> method."
+msgstr ""
+
+#. kTwEG
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id641612394826616\n"
+"help.text"
+msgid "Symbolic line breaks are replaced by their equivalent Ascii characters."
+msgstr ""
+
+#. y7VvP
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id361612394859733\n"
+"help.text"
+msgid "If the wrapped output has no content, the returned array is empty."
+msgstr ""
+
+#. SNRzH
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id251585834468498\n"
+"help.text"
+msgid "<emph>inputstr</emph>: The string to wrap."
+msgstr ""
+
+#. MiptC
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id351585834773177\n"
+"help.text"
+msgid "<emph>width</emph>: The maximum number of characters in each line (Default = 70)."
+msgstr ""
+
+#. epG6z
+#: sf_string.xhp
+msgctxt ""
+"sf_string.xhp\n"
+"par_id741585834874500\n"
+"help.text"
+msgid "<emph>tabsize</emph>: Before wrapping the text, the existing TAB <literal>Chr(9)</literal> characters are replaced with spaces. The argument <literal>tabsize</literal> defines the TAB stops at TabSize + 1, 2 * TabSize + 1 , ... N * TabSize + 1 (Default = 8)."
+msgstr ""
+
+#. HjZDB
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge.TextStream service"
+msgstr ""
+
+#. cEA5U
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"bm_id351585330787295\n"
+"help.text"
+msgid "<variable id=\"TextStreamService\"><link href=\"text/sbasic/shared/03/sf_textstream.xhp\" name=\"TextStream service\"><literal>ScriptForge</literal>.<literal>TextStream</literal> service</link></variable>"
+msgstr ""
+
+#. nBJsE
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id511585330787205\n"
+"help.text"
+msgid "The <literal>TextStream</literal> service is used to sequentially read from and write to files opened or created using the <literal>ScriptForge.FileSystem</literal> service."
+msgstr ""
+
+#. TeRTa
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id41613596903894\n"
+"help.text"
+msgid "The methods <literal>OpenTextFile</literal> and <literal>CreateTextFile</literal> from the <literal>FileSystem</literal> service return an instance of the <literal>TextStream</literal> service."
+msgstr ""
+
+#. MVFWC
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id161585330787262\n"
+"help.text"
+msgid "Line delimiters may be specified by the user. In input operations CR, LF or CR+LF are supported. In output operations, the default line delimiter is the one used by the operating system."
+msgstr ""
+
+#. GDkir
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id831613598137669\n"
+"help.text"
+msgid "The line delimiter for the operating system where the macro is being executed can be accessed using the <literal>SF_String.sfNEWLINE</literal> property."
+msgstr ""
+
+#. SvXzF
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id851613597445432\n"
+"help.text"
+msgid "All operations needed to read from or write to a file (open, read/write and close) are presumed to happen during the same macro run."
+msgstr ""
+
+#. dc5KN
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"hd_id83158533078741\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. AuQX2
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id351613598192725\n"
+"help.text"
+msgid "The examples below in Basic and Python use the <literal>OpenTextFile</literal> method to create an instance of the <literal>TextStream</literal> Service."
+msgstr ""
+
+#. UUudg
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id371585330787197\n"
+"help.text"
+msgid "The file must be closed with the <literal>CloseFile</literal> method after all read or write operations have been executed:"
+msgstr ""
+
+#. zNveN
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id891582733781994\n"
+"help.text"
+msgid "Optionally, the resources used by the <literal>TextStream</literal> instance can be released using the <literal>Dispose</literal> method:"
+msgstr ""
+
+#. nsGCZ
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id121612917368946\n"
+"help.text"
+msgid "The methods in the <literal>TextStream</literal> service are mostly based on the <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1io_1_1XTextInputStream.html\" name=\"XTextInputStream API\"><literal>XTextInputStream</literal></link> and <link href=\"https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1io_1_1XTextOutputStream.html\" name=\"XTextOutputStream API\"><literal>XTextOutputStream</literal></link> UNO interfaces."
+msgstr ""
+
+#. JAmgD
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"hd_id941585330787948\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. aN9zM
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id631585330787267\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. vwGC5
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id401585330787370\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. GpL38
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id581585330787700\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. 6FDuM
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id551585330787608\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. ECkTm
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id181585330787752\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. YFkaY
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id901585330787680\n"
+"help.text"
+msgid "Used in read mode. A <literal>True</literal> value indicates that the end of the file has been reached. A test using this property should precede calls to the <literal>ReadLine</literal> method."
+msgstr ""
+
+#. EFEnA
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id561585330787568\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. cVCoJ
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id741585330787777\n"
+"help.text"
+msgid "The character set to be used. The default encoding is \"UTF-8\"."
+msgstr ""
+
+#. p5s3X
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id641585330787207\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. JjEqX
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id281585330787614\n"
+"help.text"
+msgid "Returns the name of the current file either in URL format or in the native operating system's format, depending on the current value of the <literal>FileNaming</literal> property of the <literal>FileSystem</literal> service."
+msgstr ""
+
+#. goEnw
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id111585330787410\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. MZS6Z
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id861585330787417\n"
+"help.text"
+msgid "Indicates the input/output mode. Possible values are \"READ\", \"WRITE\" or \"APPEND\"."
+msgstr ""
+
+#. 7nTb9
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id87158533078795\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. j45gC
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id561585330787741\n"
+"help.text"
+msgid "Returns the number of lines read or written so far."
+msgstr ""
+
+#. CLAvQ
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id531585330787157\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. rdA5M
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id691585330787279\n"
+"help.text"
+msgid "Sets or returns the current delimiter to be inserted between two successive written lines. The default value is the native line delimiter in the current operating system."
+msgstr ""
+
+#. dCeHZ
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id141613001281573\n"
+"help.text"
+msgid "To learn more about the names of character sets, visit <link href=\"https://www.iana.org/assignments/character-sets/character-sets.xhtml\" name=\"Character Sets\">IANA's Character Set</link> page. Beware that %PRODUCTNAME does not implement all existing character sets."
+msgstr ""
+
+#. hKJkD
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id891611613601554\n"
+"help.text"
+msgid "List of Methods in the TextStream Service"
+msgstr ""
+
+#. DBBKM
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id421585330787675\n"
+"help.text"
+msgid "Closes the current input or output stream and empties the output buffer if relevant. Returns <literal>True</literal> if the file was successfully closed."
+msgstr ""
+
+#. MCW3q
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id65158533078799\n"
+"help.text"
+msgid "Returns all the remaining lines in the text stream as a single string. Line breaks are not removed."
+msgstr ""
+
+#. Vr34D
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id71613600347125\n"
+"help.text"
+msgid "The resulting string can be split in lines either by using the <literal>Split</literal> built-in Basic function if the line delimiter is known, or with the <literal>SF_String.SplitLines</literal> method."
+msgstr ""
+
+#. VRLGn
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id91585330787373\n"
+"help.text"
+msgid "For large files, using the <literal>ReadAll</literal> method wastes memory resources. In such cases it is recommended to read the file line by line using the <literal>ReadLine</literal> method."
+msgstr ""
+
+#. BuBVA
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id921613595637851\n"
+"help.text"
+msgid "Consider the text file \"Students.txt\" with the following contents (a name in each line):"
+msgstr ""
+
+#. hk7q4
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id391613596019750\n"
+"help.text"
+msgid "The examples below in Basic and Python use the <literal>ReadAll</literal> and <literal>SplitLines</literal> methods to read the contents of the file into an array of strings:"
+msgstr ""
+
+#. BuRJE
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"bas_id251613595640550\n"
+"help.text"
+msgid "'Loads the FileSystem service"
+msgstr ""
+
+#. L2a3D
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"bas_id181613595641087\n"
+"help.text"
+msgid "'Opens the text file with the names to be read"
+msgstr ""
+
+#. rDCSD
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"bas_id711613595642109\n"
+"help.text"
+msgid "'Reads all the contents in the input file as a single string"
+msgstr ""
+
+#. 6w73J
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"bas_id961613595643093\n"
+"help.text"
+msgid "'Splits the string into an array"
+msgstr ""
+
+#. 7Fq9E
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id871585330787885\n"
+"help.text"
+msgid "Returns the next line in the text stream as a string. Line breaks are removed from the returned string."
+msgstr ""
+
+#. 6iDcF
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id431613600221626\n"
+"help.text"
+msgid "The <literal>AtEndOfStream</literal> test should precede the <literal>ReadLine</literal> method like in the example below."
+msgstr ""
+
+#. GRRkq
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id171585330787774\n"
+"help.text"
+msgid "An error will be raised if the <literal>AtEndOfStream</literal> was reached during the previous <literal>ReadLine</literal> or <literal>SkipLine</literal> method call."
+msgstr ""
+
+#. mAty4
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id11585330787847\n"
+"help.text"
+msgid "Skips the next line in the input stream when reading a <literal>TextStream</literal> file."
+msgstr ""
+
+#. FDMJB
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id441613600704766\n"
+"help.text"
+msgid "This method can result in <literal>AtEndOfStream</literal> being set to <literal>True</literal>."
+msgstr ""
+
+#. D4JVb
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id141585330787657\n"
+"help.text"
+msgid "Writes a specified number of empty lines to the output stream."
+msgstr ""
+
+#. YsBUm
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id291585330787357\n"
+"help.text"
+msgid "<emph>lines</emph>: The number of empty lines to write to the file."
+msgstr ""
+
+#. GCPCC
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id101585330787215\n"
+"help.text"
+msgid "Writes the given string to the output stream as a single line."
+msgstr ""
+
+#. Eska7
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id421613601002074\n"
+"help.text"
+msgid "The character defined in the <literal>NewLine</literal> property is used as the line delimiter."
+msgstr ""
+
+#. LXFPE
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id491585330787650\n"
+"help.text"
+msgid "<emph>line</emph>: The line to write, may be empty."
+msgstr ""
+
+#. PM5Bx
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"par_id821626894480105\n"
+"help.text"
+msgid "The examples below in Basic and Python create a text file in CSV format in which each line contains a value and its square until <literal>lastValue</literal> is reached."
+msgstr ""
+
+#. 39u4o
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"bas_id21613321528612\n"
+"help.text"
+msgid "'Instantiates the FileSystem Service"
+msgstr ""
+
+#. FnTiG
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"bas_id191613321529277\n"
+"help.text"
+msgid "'Creates a text file"
+msgstr ""
+
+#. f5RSB
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"bas_id641613321530181\n"
+"help.text"
+msgid "'Writes the Value and Value squared, separated by \";\""
+msgstr ""
+
+#. FCowk
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"bas_id141613321530960\n"
+"help.text"
+msgid "myFile.WriteLine(\"Value;Value Squared\")"
+msgstr ""
+
+#. m9Mo4
+#: sf_textstream.xhp
+msgctxt ""
+"sf_textstream.xhp\n"
+"bas_id881613321532598\n"
+"help.text"
+msgid "'Closes the file and free resources"
+msgstr ""
+
+#. PCSPY
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge.Timer service"
+msgstr ""
+
+#. cxRDS
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"hd_id731582733781114\n"
+"help.text"
+msgid "<variable id=\"TimerService\"><link href=\"text/sbasic/shared/03/sf_timer.xhp\" name=\"ScriptForge.Timer service\"><literal>ScriptForge</literal>.<literal>Timer</literal> service</link></variable>"
+msgstr ""
+
+#. WyVvH
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id961582733781662\n"
+"help.text"
+msgid "The <literal>Timer</literal> service measures the amount of time it takes to run user scripts."
+msgstr ""
+
+#. qDa8E
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id181582733781323\n"
+"help.text"
+msgid "A <literal>Timer</literal> measures <emph>durations</emph>. It can be:"
+msgstr ""
+
+#. ErpLm
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id711582733781252\n"
+"help.text"
+msgid "Started, to indicate when to start measuring time."
+msgstr ""
+
+#. NAAFg
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id631582733781431\n"
+"help.text"
+msgid "Suspended, to pause measuring running time."
+msgstr ""
+
+#. nt9Qc
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id691582733781498\n"
+"help.text"
+msgid "Resumed, to continue tracking running time after the Timer has been suspended."
+msgstr ""
+
+#. DVCBM
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id31582733781344\n"
+"help.text"
+msgid "Restarted, which will cancel previous measurements and start the <literal>Timer</literal> at zero."
+msgstr ""
+
+#. dm7yA
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id991582733781280\n"
+"help.text"
+msgid "Durations are expressed in seconds with a precision of 3 decimal digits (milliseconds). A duration value of 12.345 means 12 seconds and 345 milliseconds"
+msgstr ""
+
+#. CVhDR
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"hd_id201582733781265\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. fYto9
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>Timer</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. SCYEX
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id891610734806133\n"
+"help.text"
+msgid "The example below creates a <literal>Timer</literal> object named <literal>myTimer</literal> and starts it immediately."
+msgstr ""
+
+#. WMZog
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"bas_id681582733781715\n"
+"help.text"
+msgid "'The timer starts immediately when the second argument = True, default = False"
+msgstr ""
+
+#. CnZqc
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id891582733781994\n"
+"help.text"
+msgid "It is recommended to free resources after use:"
+msgstr ""
+
+#. 8h3fp
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"hd_id521582733781450\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. dVncX
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id71582733781260\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. hFnkK
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id711582733781103\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. NvqK9
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id76158273378122\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. 7zFYh
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id751582733781926\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. T92or
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id621582733781588\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 9yDgM
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id731582733781476\n"
+"help.text"
+msgid "The actual running time elapsed since start or between start and stop (does not consider suspended time)"
+msgstr ""
+
+#. ThAaG
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id301582733781498\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. tqpDU
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id401582733781608\n"
+"help.text"
+msgid "<literal>True</literal> when timer is started or suspended"
+msgstr ""
+
+#. pSPgk
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id181582733781551\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. SGyi4
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id161582733781328\n"
+"help.text"
+msgid "<literal>True</literal> when timer is started and suspended"
+msgstr ""
+
+#. qoNpD
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id651582733781874\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. E45MD
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id171582733781456\n"
+"help.text"
+msgid "The actual time elapsed while suspended since start or between start and stop"
+msgstr ""
+
+#. gxF8S
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id141582733781303\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. FeCob
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id411582733781932\n"
+"help.text"
+msgid "The actual time elapsed since start or between start and stop (including suspensions and running time)"
+msgstr ""
+
+#. a63gW
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id9158273378151\n"
+"help.text"
+msgid "Note that the <literal>TotalDuration</literal> property is equivalent to summing the <literal>Duration</literal> and <literal>SuspendDuration</literal> properties."
+msgstr ""
+
+#. Mav4g
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"hd_id141582734141895\n"
+"help.text"
+msgid "Methods"
+msgstr ""
+
+#. P8RQj
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id291582734377752\n"
+"help.text"
+msgid "All methods do not require arguments and return a <literal>Boolean</literal> value."
+msgstr ""
+
+#. onEib
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id311582734894257\n"
+"help.text"
+msgid "If the returned value is <literal>False</literal>, then nothing happened."
+msgstr ""
+
+#. U82Do
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id871582734180676\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. 6oGwx
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id971582734180676\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. ZMfpe
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id911582734180676\n"
+"help.text"
+msgid "Returned value"
+msgstr ""
+
+#. 6DJTP
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id301582734180676\n"
+"help.text"
+msgid "Resumes the <literal>Timer</literal> if it has been suspended"
+msgstr ""
+
+#. ixF7A
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id661582734180676\n"
+"help.text"
+msgid "<literal>False</literal> if the timer is not suspended"
+msgstr ""
+
+#. AAozF
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id821582734649305\n"
+"help.text"
+msgid "Terminates the <literal>Timer</literal> and discards its current property values, restarting as a new clean <literal>Timer</literal>"
+msgstr ""
+
+#. UtCTT
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id761582734649305\n"
+"help.text"
+msgid "<literal>False</literal> if the timer is inactive"
+msgstr ""
+
+#. AkgAy
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id641582734802443\n"
+"help.text"
+msgid "Starts a new clean timer"
+msgstr ""
+
+#. B4gTh
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id921582734802443\n"
+"help.text"
+msgid "<literal>False</literal> if the timer is already started"
+msgstr ""
+
+#. D7CoH
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id81582734905507\n"
+"help.text"
+msgid "Suspends a running timer"
+msgstr ""
+
+#. YbeSJ
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id661582734905507\n"
+"help.text"
+msgid "<literal>False</literal> if the timer is not started or already suspended"
+msgstr ""
+
+#. sgXra
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id861582734996722\n"
+"help.text"
+msgid "Stops a running timer"
+msgstr ""
+
+#. WkCCC
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id381582734996722\n"
+"help.text"
+msgid "<literal>False</literal> if the timer is neither started nor suspended"
+msgstr ""
+
+#. DuD3h
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id731626871820490\n"
+"help.text"
+msgid "The examples below in Basic and Python illustrate the use of the methods and properties in the <literal>Timer</literal> service."
+msgstr ""
+
+#. UgBnC
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"bas_id141582735926821\n"
+"help.text"
+msgid "'The time elapsed while the Dialog box is open will be counted as suspended time"
+msgstr ""
+
+#. 4jHcj
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"bas_id901582735961725\n"
+"help.text"
+msgid "'The time elapsed while the Dialog box is open will be counted as running time"
+msgstr ""
+
+#. 7QhZU
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"bas_id941610739926687\n"
+"help.text"
+msgid "'Shows the final time measurements"
+msgstr ""
+
+#. J6XGB
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id281610740093006\n"
+"help.text"
+msgid "If you call the <literal>Terminate</literal> method, subsequent calls for the <literal>Continue</literal> method will not resume time measurement. Similarly, after a Timer has been terminated, calling the <literal>Start</literal> method will restart it as if it were a clean new Timer."
+msgstr ""
+
+#. DSYKj
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id391626872019832\n"
+"help.text"
+msgid "Beware that the <literal>Wait</literal> function in Basic takes in a duration argument in milliseconds whereas the <literal>sleep</literal> function in Python uses seconds in its argument."
+msgstr ""
+
+#. bHEyr
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"hd_id431610989623086\n"
+"help.text"
+msgid "Working with Multiple Timers"
+msgstr ""
+
+#. dr779
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id741610989639201\n"
+"help.text"
+msgid "It is possible to instantiate multiple <literal>Timer</literal> services in parallel, which gives flexibility in measuring time in different parts of the code."
+msgstr ""
+
+#. ueLgB
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"par_id921610989722908\n"
+"help.text"
+msgid "The following example illustrates how to create two <literal>Timer</literal> objects and start them separately."
+msgstr ""
+
+#. PtA4E
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"bas_id481610989853679\n"
+"help.text"
+msgid "'Starts myTimerA"
+msgstr ""
+
+#. VUdGW
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"bas_id331610989849501\n"
+"help.text"
+msgid "'Starts myTimerB"
+msgstr ""
+
+#. t98Fv
+#: sf_timer.xhp
+msgctxt ""
+"sf_timer.xhp\n"
+"bas_id931610989837747\n"
+"help.text"
+msgid "'Terminate both timers"
+msgstr ""
+
+#. dphFv
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"tit\n"
+"help.text"
+msgid "ScriptForge.UI service"
+msgstr ""
+
+#. QWA6E
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"hd_id371587913266310\n"
+"help.text"
+msgid "<variable id=\"UIService\"><link href=\"text/sbasic/shared/03/sf_ui.xhp\" name=\"ScriptForge.UI service\"><literal>ScriptForge</literal>.<literal>UI</literal> service</link></variable>"
+msgstr ""
+
+#. cAtxQ
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id31587913266153\n"
+"help.text"
+msgid "The UI (User Interface) service simplifies the identification and the manipulation of the different windows composing the whole %PRODUCTNAME application:"
+msgstr ""
+
+#. nTqj5
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id591587913266547\n"
+"help.text"
+msgid "Windows selection"
+msgstr ""
+
+#. 45jFA
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id511587913266292\n"
+"help.text"
+msgid "Windows moving and resizing"
+msgstr ""
+
+#. UKRyn
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id51587913266596\n"
+"help.text"
+msgid "Statusbar settings"
+msgstr ""
+
+#. oj2kC
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id401599404339702\n"
+"help.text"
+msgid "Display of a floating progress bar"
+msgstr ""
+
+#. iE5hR
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id761587913266388\n"
+"help.text"
+msgid "Creation of new windows"
+msgstr ""
+
+#. Dxuyy
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id591587913266489\n"
+"help.text"
+msgid "Access to the underlying \"documents\""
+msgstr ""
+
+#. W5BL2
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id181620312953395\n"
+"help.text"
+msgid "The UI service is the starting point to open, create or access to the content of new or existing documents from a user script."
+msgstr ""
+
+#. ERvRF
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"hd_id881587913266307\n"
+"help.text"
+msgid "Definitions"
+msgstr ""
+
+#. L8Ate
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id741587913266919\n"
+"help.text"
+msgid "A window can be designated using various ways:"
+msgstr ""
+
+#. Bhs9h
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id291587913946648\n"
+"help.text"
+msgid "a full path and file name"
+msgstr ""
+
+#. CK62z
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id991587914045862\n"
+"help.text"
+msgid "the last component of the full file name or even only the last component without its suffix"
+msgstr ""
+
+#. 8qLrG
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id541587914079744\n"
+"help.text"
+msgid "the title of the window"
+msgstr ""
+
+#. rdSGt
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id191587914134221\n"
+"help.text"
+msgid "for new documents, something like \"Untitled 1\""
+msgstr ""
+
+#. GrAxe
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id911587914185746\n"
+"help.text"
+msgid "one of the special windows \"<literal>BASICIDE</literal>\" and \"<literal>WELCOMESCREEN</literal>\""
+msgstr ""
+
+#. n5ZLz
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id181587914255236\n"
+"help.text"
+msgid "The window name is case-sensitive."
+msgstr ""
+
+#. CC5D5
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"hd_id541588520711430\n"
+"help.text"
+msgid "Document object"
+msgstr ""
+
+#. w8QcA
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id841588521238711\n"
+"help.text"
+msgid "The methods <literal>CreateDocument</literal>, <literal>CreateBaseDocument</literal>, <literal>GetDocument</literal>, <literal>OpenBaseDocument</literal> and <literal>OpenDocument</literal>, described below, generate document objects. When a window contains a document, an instance of the <literal>Document</literal> class represents that document. A counterexample the Basic IDE is not a document but is a window in our terminology. Additionally a document has a type: <literal>Calc</literal>, <literal>Impress</literal>, <literal>Writer</literal>, ..."
+msgstr ""
+
+#. CbJ8H
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id331588521254916\n"
+"help.text"
+msgid "The specific properties and methods applicable on documents are implemented in a document class."
+msgstr ""
+
+#. CEisb
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id971588521292976\n"
+"help.text"
+msgid "The implementation of the document objects class is done in the <literal>SFDocuments</literal> associated library. See its \"<literal>Document</literal>\" service."
+msgstr ""
+
+#. 8NGPA
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"hd_id91587913266988\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. WhLKN
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>UI</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. 2tFG6
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"hd_id841587913266618\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. m8i6L
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id521587913266568\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. 48SHW
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id421587913266368\n"
+"help.text"
+msgid "ReadOnly"
+msgstr ""
+
+#. GpADs
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id631587914939732\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. nB9z5
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id951587913266220\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. c5EiC
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id651587913266754\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. vQ8TT
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id351587913266349\n"
+"help.text"
+msgid "a valid and unique <literal>WindowName</literal> for the currently active window. When the window cannot be identified, a zero-length string is returned."
+msgstr ""
+
+#. DiCRC
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id658517913266754\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. Bjyuv
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id153587913266349\n"
+"help.text"
+msgid "The list of the currently open documents. Special windows are ignored. This list consists of a zero-based one dimensional array either of filenames (in SF_FileSystem.FileNaming notation) or of window titles for unsaved documents."
+msgstr ""
+
+#. 5oGpF
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id651587913266945\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 2RdP5
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id351587913266211\n"
+"help.text"
+msgid "Returns the height of the active window in pixels."
+msgstr ""
+
+#. AM4nR
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id651587913266645\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. MmDG7
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id351587913266036\n"
+"help.text"
+msgid "Returns the width of the active window in pixels."
+msgstr ""
+
+#. uZMBs
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id651587913266312\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 9AKCg
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id351587913266296\n"
+"help.text"
+msgid "Returns the X coordinate of the active window, which is the distance to the left edge of the screen in pixels."
+msgstr ""
+
+#. aBiGF
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id651587913266670\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. 3DBVb
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id351587913266216\n"
+"help.text"
+msgid "Returns the Y coordinate of the active window, which is the distance to the top edge of the screen in pixels. This value does not consider window decorations added by your operating system, so even when the window is maximized this value may not be zero."
+msgstr ""
+
+#. BH9YJ
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"hd_id511620762163390\n"
+"help.text"
+msgid "Constants"
+msgstr ""
+
+#. ziD2D
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id761620761856238\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. eBD6E
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id591620761856238\n"
+"help.text"
+msgid "Value"
+msgstr ""
+
+#. 2DU4R
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id711620761856238\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. adCUF
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id341620761856238\n"
+"help.text"
+msgid "Macros are always executed"
+msgstr ""
+
+#. 7hEDg
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id101620761893011\n"
+"help.text"
+msgid "Macros are never executed"
+msgstr ""
+
+#. 6Jgt7
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id11620761899780\n"
+"help.text"
+msgid "Macro execution depends on user settings"
+msgstr ""
+
+#. BTUQ4
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id311620312548992\n"
+"help.text"
+msgid "The examples below show a <literal>MsgBox</literal> with the names of all currently open documents."
+msgstr ""
+
+#. DfpBz
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id881608131596153\n"
+"help.text"
+msgid "List of Methods in the UI Service"
+msgstr ""
+
+#. 4fc2p
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id431620322170443\n"
+"help.text"
+msgid "Note, as an exception, that the methods marked <emph>(*)</emph> are <emph>not applicable to Base documents</emph>."
+msgstr ""
+
+#. 778Fh
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id201587913266596\n"
+"help.text"
+msgid "Make the specified window active. The method returns <literal>True</literal> if the given window is found and can be activated. There is no change in the actual user interface if no window matches the selection."
+msgstr ""
+
+#. w9DR4
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id381587913266946\n"
+"help.text"
+msgid "<emph>windowname</emph>: see the definitions above."
+msgstr ""
+
+#. 5kwSb
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id13159655484952\n"
+"help.text"
+msgid "Creates and stores a new %PRODUCTNAME Base document embedding an empty database of the given type. The method returns a <literal>Document</literal> service instance."
+msgstr ""
+
+#. gqGpB
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id441596554849949\n"
+"help.text"
+msgid "<emph>filename</emph> : Identifies the file to create. It must follow the <literal>SF_FileSystem.FileNaming</literal> notation. If the file already exists, it is overwritten without warning"
+msgstr ""
+
+#. Jub7D
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id381596554849698\n"
+"help.text"
+msgid "<emph>embeddeddatabase</emph> : Either \"HSQLDB\" (default), \"FIREBIRD\" or \"CALC\"."
+msgstr ""
+
+#. BWgpN
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id521596554849185\n"
+"help.text"
+msgid "<emph>registrationname</emph> : The name used to store the new database in the databases register. When = \"\" (default), no registration takes place. If the name already exists it is overwritten without warning."
+msgstr ""
+
+#. AFin6
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id181629364905056\n"
+"help.text"
+msgid "<emph>calcfilename</emph> : Only when <literal>embeddeddatabase</literal> = \"CALC\", <literal>calcfilename</literal> represents the file containing the tables as Calc sheets. The file must exist or an error is raised."
+msgstr ""
+
+#. GtB5n
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id651588521753997\n"
+"help.text"
+msgid "Create a new %PRODUCTNAME document of a given type or based on a given template. The method returns a document object."
+msgstr ""
+
+#. JnBPt
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id51588521753302\n"
+"help.text"
+msgid "<emph>documenttype</emph> : \"Calc\", \"Writer\", etc. If absent, the <literal>templatefile</literal> argument must be present."
+msgstr ""
+
+#. BQ6UD
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id401588522663325\n"
+"help.text"
+msgid "<emph>templatefile</emph> : The full <literal>FileName</literal> of the template to build the new document on. If the file does not exist, the argument is ignored. The <literal>FileSystem</literal> service provides the <literal>TemplatesFolder</literal> and <literal>UserTemplatesFolder</literal> properties to help to build the argument."
+msgstr ""
+
+#. VeNQg
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id131588522824366\n"
+"help.text"
+msgid "<emph>hidden</emph>: if <literal>True</literal>, open the new document in the background (default = <literal>False</literal>). To use with caution: activation or closure afterwards can only happen programmatically."
+msgstr ""
+
+#. gWFt9
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id701620762417802\n"
+"help.text"
+msgid "In both examples below, the first call to <literal>CreateDocument</literal> method creates a blank Calc document, whereas the second creates a document from a template file."
+msgstr ""
+
+#. shCRf
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id201588520551463\n"
+"help.text"
+msgid "Returns an open document object referring to either the active window, a given window or the active document."
+msgstr ""
+
+#. xgMAv
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id851588520551368\n"
+"help.text"
+msgid "<emph>windowname</emph>: See the definitions <link href=\"text/sbasic/shared/03/sf_ui.xhp#WindowName\" name=\"WindowName section\">above</link>. If this argument is absent, the active window is used. UNO objects of types <literal>com.sun.star.lang.XComponent</literal> or <literal>com.sun.star.comp.dba.ODatabaseDocument</literal> are also accepted. Thus passing <literal>ThisComponent</literal> or <literal>ThisDatabaseDocument</literal> as argument creates a new <link href=\"text/sbasic/shared/03/sf_document.xhp\" name=\"Document service\">SFDocuments.Document</link>, <link href=\"text/sbasic/shared/03/sf_base.xhp\" name=\"Base service\">Base</link> or <link href=\"text/sbasic/shared/03/sf_calc.xhp\" name=\"Calc service\">Calc</link> service."
+msgstr ""
+
+#. AAjDB
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id521620330287071\n"
+"help.text"
+msgid "To access the name of the currently active window, refer to the <literal>ActiveWindow</literal> property."
+msgstr ""
+
+#. CYsyC
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id24158798644169\n"
+"help.text"
+msgid "Maximizes the active window or the given window."
+msgstr ""
+
+#. hD4TC
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id951587986441954\n"
+"help.text"
+msgid "<emph>windowname</emph>: see the definitions <link href=\"text/sbasic/shared/03/sf_ui.xhp#WindowName\" name=\"WindowName section\">above</link>. If this argument is absent, the active window is maximized."
+msgstr ""
+
+#. vzDdG
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id871587986592696\n"
+"help.text"
+msgid "Minimizes the active window or the given window."
+msgstr ""
+
+#. Enys5
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id751587986592626\n"
+"help.text"
+msgid "<emph>windowname</emph>: see the definitions <link href=\"text/sbasic/shared/03/sf_ui.xhp#WindowName\" name=\"WindowName section\">above</link>. If this argument is absent, the active window is minimized."
+msgstr ""
+
+#. WHDDQ
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id691596555746539\n"
+"help.text"
+msgid "Open an existing %PRODUCTNAME Base document. The method returns a document object."
+msgstr ""
+
+#. CZBya
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id231596555746385\n"
+"help.text"
+msgid "<emph>filename</emph>: Identifies the file to open. It must follow the <literal>SF_FileSystem.FileNaming</literal> notation."
+msgstr ""
+
+#. mtpoL
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id711596555746281\n"
+"help.text"
+msgid "<emph>registrationname</emph>: The name to use to find the database in the databases register. It is ignored if <literal>FileName</literal> <> \"\"."
+msgstr ""
+
+#. TqAd2
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"id721596556313545\n"
+"help.text"
+msgid "<emph>macroexecution</emph>: 0 = behaviour is defined by the user configuration, 1 = macros are not executable, 2 = macros are executable."
+msgstr ""
+
+#. Dok5e
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id941620762989833\n"
+"help.text"
+msgid "To improve code readability you can use <link href=\"text/sbasic/shared/03/sf_ui.xhp#Constants\" name=\"CHANGE ME\">predefined constants</link> for the <literal>macroexecution</literal> argument, as in the examples above."
+msgstr ""
+
+#. LBgGQ
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id541588523635283\n"
+"help.text"
+msgid "Opens an existing %PRODUCTNAME document with the given options. Returns a document object or one of its subclasses. The method returns <literal>Nothing</literal> (in Basic) / <literal>None</literal> (in Python) if the opening failed, even when the failure is caused by a user decision."
+msgstr ""
+
+#. 8tjbg
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id481588523635890\n"
+"help.text"
+msgid "<emph>filename</emph>: Identifies the file to open. It must follow the <literal>FileNaming</literal> notation of the <literal>FileSystem</literal> service."
+msgstr ""
+
+#. PWvQz
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id451588523635507\n"
+"help.text"
+msgid "<emph>password</emph>: To use when the document is protected. If wrong or absent while the document is protected, the user will be prompted to enter a password."
+msgstr ""
+
+#. 2jjFK
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id611588524329781\n"
+"help.text"
+msgid "<emph>readonly</emph>: Default = <literal>False</literal>."
+msgstr ""
+
+#. BcyEp
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id641588523635497\n"
+"help.text"
+msgid "<emph>hidden</emph>: if <literal>True</literal>, open the new document in the background (default = <literal>False</literal>). To use with caution: activation or closure afterwards can only happen programmatically."
+msgstr ""
+
+#. sbgeH
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id981588524474719\n"
+"help.text"
+msgid "<emph>macroexecution</emph>: 0 = behaviour is defined by the user configuration, 1 = macros are not executable, 2 = macros are executable."
+msgstr ""
+
+#. AF7iF
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id611588524584693\n"
+"help.text"
+msgid "<emph>filtername</emph>: The name of a filter that should be used for loading the document. If present, the filter must exist."
+msgstr ""
+
+#. MKueU
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id191588524634348\n"
+"help.text"
+msgid "<emph>filteroptions</emph>: An optional string of options associated with the filter."
+msgstr ""
+
+#. qMTrj
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id751587986945965\n"
+"help.text"
+msgid "Resizes and/or moves the active window. Absent and negative arguments are ignored. If the window is minimized or maximized, calling <literal>Resize</literal> without arguments restores it."
+msgstr ""
+
+#. 6NUcv
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id441587986945696\n"
+"help.text"
+msgid "<emph>left, top</emph>: Distances of the top-left corner from top and left edges of the screen, in pixels."
+msgstr ""
+
+#. AdcjG
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id601587987453825\n"
+"help.text"
+msgid "<emph>width, height</emph>: New dimensions of the window, in pixels."
+msgstr ""
+
+#. vDNVH
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id801587987507028\n"
+"help.text"
+msgid "In the following examples, the <literal>width</literal> and <literal>height</literal> of the window are changed while <literal>top</literal> and <literal>left</literal> are left unchanged."
+msgstr ""
+
+#. HP2Jb
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id21620332301809\n"
+"help.text"
+msgid "To resize a window that is not active, first activate it using the <literal>Activate</literal> method."
+msgstr ""
+
+#. mDaA5
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id991589202413257\n"
+"help.text"
+msgid "Runs a UNO command on the current window. A few typical commands are: Save, SaveAs, ExportToPDF, Undo, Copy, Paste, etc."
+msgstr ""
+
+#. x52HD
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id921611152932311\n"
+"help.text"
+msgid "Commands can be run with or without arguments. Arguments are not validated before running the command. If the command or its arguments are invalid, then nothing will happen."
+msgstr ""
+
+#. rhYJj
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id31644182402479\n"
+"help.text"
+msgid "For a complete list of UNO commands that can be run in %PRODUCTNAME, refer to the Wiki page <link href=\"https://wiki.documentfoundation.org/Development/DispatchCommands\" name=\"Commands_Wiki\">Development/DispatchCommands</link>."
+msgstr ""
+
+#. Fkf3T
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id401589202413575\n"
+"help.text"
+msgid "<emph>command</emph>: Case-sensitive string containing the UNO command name. The inclusion of the prefix \".uno:\" in the command is optional. The command itself is not checked for correctness. If nothing happens after the command call, then the command is probably wrong."
+msgstr ""
+
+#. cZgrF
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id521644182774710\n"
+"help.text"
+msgid "<emph>args</emph>: For each argument to be passed to the command, specify a pair containing the argument name and value."
+msgstr ""
+
+#. t3CjC
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id721611153068137\n"
+"help.text"
+msgid "The following example runs the <literal>.uno:About</literal> command in the current window."
+msgstr ""
+
+#. cFYc9
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id371644184276886\n"
+"help.text"
+msgid "Below is an example that runs the UNO command <literal>.uno:BasicIDEAppear</literal> and passes the arguments required to open the Basic IDE at a specific line of a module."
+msgstr ""
+
+#. fTXvL
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"bas_id631644184414955\n"
+"help.text"
+msgid "' Arguments passed to the command:"
+msgstr ""
+
+#. cyWLC
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id41644184549167\n"
+"help.text"
+msgid "Note that calling the command <literal>BasicIDEAppear</literal> without arguments will simply open the <menuitem>Basic IDE</menuitem>."
+msgstr ""
+
+#. BKNap
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id311644243516674\n"
+"help.text"
+msgid "In Python it is also possible to call <literal>RunCommand</literal> using keyword arguments:"
+msgstr ""
+
+#. Em5in
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id191611153511038\n"
+"help.text"
+msgid "Each %PRODUCTNAME component has its own set of commands available. One easy way to learn commands is going to <emph>Tools - Customize - Keyboard</emph>. When you position your mouse over a function in the <emph>Function</emph> list, a tooltip will appear with the corresponding UNO command."
+msgstr ""
+
+#. NnBWM
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id281587996421580\n"
+"help.text"
+msgid "Display a text and a progressbar in the status bar of the active window. Any subsequent calls in the same macro run refer to the same status bar of the same window, even if the window is not visible anymore. A call without arguments resets the status bar to its normal state."
+msgstr ""
+
+#. rDr2L
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id71587996421829\n"
+"help.text"
+msgid "<emph>text</emph>: An optional text to be displayed in front of the progress bar."
+msgstr ""
+
+#. hbCpG
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id881587996421777\n"
+"help.text"
+msgid "<emph>percentage</emph>: an optional degree of progress between 0 and 100."
+msgstr ""
+
+#. qbGdy
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"bas_id651620332601083\n"
+"help.text"
+msgid "' Resets the statusbar"
+msgstr ""
+
+#. oQfWc
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id571598864255776\n"
+"help.text"
+msgid "Displays a non-modal dialog box. Specify its title, an explicatory text and a percentage of progress to be represented on a progressbar. The dialog will remain visible until a call to the method without arguments or until the user manually closes the dialog."
+msgstr ""
+
+#. drhV6
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id441598864535695\n"
+"help.text"
+msgid "<emph>title</emph> : The title appearing on top of the dialog box. Default = \"ScriptForge\"."
+msgstr ""
+
+#. jvrZV
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id311598864255297\n"
+"help.text"
+msgid "<emph>text</emph>: An optional text to be displayed above the progress bar."
+msgstr ""
+
+#. Qj3N3
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id881598864255424\n"
+"help.text"
+msgid "<emph>percentage</emph>: an optional degree of progress between 0 and 100."
+msgstr ""
+
+#. rVBX3
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"bas_id651620333289753\n"
+"help.text"
+msgid "' Closes the Progress Bar window"
+msgstr ""
+
+#. u3gZ8
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"pyc_id761620333269236\n"
+"help.text"
+msgid "# Closes the Progress Bar window"
+msgstr ""
+
+#. ZEG6t
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id431588587119925\n"
+"help.text"
+msgid "Returns <literal>True</literal> if the given window could be identified."
+msgstr ""
+
+#. rkJbT
+#: sf_ui.xhp
+msgctxt ""
+"sf_ui.xhp\n"
+"par_id45158858711917\n"
+"help.text"
+msgid "<emph>windowname</emph>: see the definitions above."
+msgstr ""
+
+#. BuQiK
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"tit\n"
+"help.text"
+msgid "SFUnitTests.UnitTest service"
+msgstr ""
+
+#. iVee6
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bm_id681600788076499\n"
+"help.text"
+msgid "<variable id=\"UnitTestService\"><link href=\"text/sbasic/shared/03/sf_unittest.xhp\" name=\"UnitTest service\"><literal>SFUnitTests</literal>.<literal>UnitTest</literal> service</link></variable>"
+msgstr ""
+
+#. iRNwD
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id181600788076612\n"
+"help.text"
+msgid "The <literal>UnitTest</literal> service provides a framework for automating unit tests using the Basic language, including the ability to:"
+msgstr ""
+
+#. wkD9p
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id301600788076785\n"
+"help.text"
+msgid "Aggregate test cases into test suites and unit tests."
+msgstr ""
+
+#. Dgg9t
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id1001600788076848\n"
+"help.text"
+msgid "Share setup and shutdown code among test cases."
+msgstr ""
+
+#. 768q7
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id67160078807676\n"
+"help.text"
+msgid "Report test results using the <literal>Console</literal>."
+msgstr ""
+
+#. UEt5G
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id411656351918942\n"
+"help.text"
+msgid "Both the unit tests and the code to be tested must be written in Basic. The code being tested may call functions written in other languages."
+msgstr ""
+
+#. CCgbB
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id601656621416963\n"
+"help.text"
+msgid "The <literal>UnitTest</literal> service is not available for Python scripts."
+msgstr ""
+
+#. PBJpL
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"hd_id491656351958796\n"
+"help.text"
+msgid "Definitions"
+msgstr ""
+
+#. kTZBz
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"hd_id31656351967453\n"
+"help.text"
+msgid "Test Case"
+msgstr ""
+
+#. 2SE2W
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id571656351977812\n"
+"help.text"
+msgid "A test case is the individual unit of testing. It checks for a specific response to a particular set of inputs."
+msgstr ""
+
+#. XiXCu
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id391656352078166\n"
+"help.text"
+msgid "In the <literal>UnitTest</literal> service, a test case is represented by a single Basic <literal>Sub</literal> whose name starts with a common prefix (the default is \"Test_\")."
+msgstr ""
+
+#. 2g5tx
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id701656352338645\n"
+"help.text"
+msgid "The test case fails if one of the <literal>AssertX</literal> methods returns <literal>False</literal>."
+msgstr ""
+
+#. 6yQXs
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"hd_id431656352497598\n"
+"help.text"
+msgid "Test Suite"
+msgstr ""
+
+#. Jk79j
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id771656352513789\n"
+"help.text"
+msgid "A test suite is a collection of test cases that should be executed together."
+msgstr ""
+
+#. cFV9D
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id941656352597973\n"
+"help.text"
+msgid "All test cases of a test suite are stored in a single Basic module."
+msgstr ""
+
+#. UEVyk
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id51656352696989\n"
+"help.text"
+msgid "A test suite may implement the <literal>SetUp</literal> and <literal>TearDown</literal> methods to prepare for test cases in its module."
+msgstr ""
+
+#. nEFMy
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"hd_id351656352884283\n"
+"help.text"
+msgid "Unit Test"
+msgstr ""
+
+#. xieZW
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id461656352894003\n"
+"help.text"
+msgid "A full unit test consists of a set of test suites in the same Basic library."
+msgstr ""
+
+#. 6XiCa
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"hd_id991656353328287\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. FVzhB
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>UnitTest</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. GHXzG
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"hd_id941656357981021\n"
+"help.text"
+msgid "Simple mode"
+msgstr ""
+
+#. C5qBi
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id381656357996613\n"
+"help.text"
+msgid "Invoke the service in <emph>simple mode</emph> to call <literal>AssertX</literal> functions without having to build the full hierarchy of test suites and test cases."
+msgstr ""
+
+#. DRzjW
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id331656358092318\n"
+"help.text"
+msgid "In simple mode, the service is invoked inside the test case, as shown in the example below:"
+msgstr ""
+
+#. RuMFA
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bas_id501656358186053\n"
+"help.text"
+msgid "' A few dummy tests"
+msgstr ""
+
+#. 2Firz
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bas_id981656421186233\n"
+"help.text"
+msgid "MsgBox(\"All tests passed\")"
+msgstr ""
+
+#. nMFgq
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bas_id971656421186872\n"
+"help.text"
+msgid "myTest.ReportError(\"A test failed\")"
+msgstr ""
+
+#. ki4xc
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id321656421319505\n"
+"help.text"
+msgid "In this example, if any of the <literal>AssertEqual</literal> calls fail, the interpreter will go to the <literal>CatchError</literal> label and report the error by calling the <literal>ReportError</literal> method."
+msgstr ""
+
+#. AMsHe
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"hd_id341656353807950\n"
+"help.text"
+msgid "Full mode"
+msgstr ""
+
+#. Cev96
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id881656353390116\n"
+"help.text"
+msgid "When invoked in <emph>full mode</emph>, the service creation is external to the test code and all tests are organized into test cases and test suites inside a single library."
+msgstr ""
+
+#. kRFxC
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id41656354017140\n"
+"help.text"
+msgid "The following example creates a <literal>UnitTest</literal> instance whose tests are located inside the current document (<literal>ThisComponent</literal>) in the \"Tests\" library."
+msgstr ""
+
+#. 3pPFr
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"hd_id731656421609300\n"
+"help.text"
+msgid "A minimalist example in full mode"
+msgstr ""
+
+#. ktFcg
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id721656421629357\n"
+"help.text"
+msgid "Consider that a ODS file has a module named \"MathUtils\" in its \"Standard\" library with the following code:"
+msgstr ""
+
+#. ZijqG
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bas_id821656421926586\n"
+"help.text"
+msgid "' Code in module Standard.MathUtils"
+msgstr ""
+
+#. N8ifA
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id871656422027581\n"
+"help.text"
+msgid "To create a full test suite, consider that a new library named \"Tests\" is created in the file with a single module \"AllTests\" containing the code below:"
+msgstr ""
+
+#. TdD5n
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bas_id731656422341011\n"
+"help.text"
+msgid "' Code in module Tests.AllTests"
+msgstr ""
+
+#. TeQGD
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bas_id671656422476689\n"
+"help.text"
+msgid "' Preparation code ran prior to the first test case"
+msgstr ""
+
+#. 5YeqU
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bas_id621656422479007\n"
+"help.text"
+msgid "' Optional cleanup code called after the last test case"
+msgstr ""
+
+#. ANk96
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bas_id141656422684085\n"
+"help.text"
+msgid "test.AssertEqual(Sum(1, 1), 2, \"Sum two positive integers\")"
+msgstr ""
+
+#. vZeA5
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bas_id491656422684324\n"
+"help.text"
+msgid "test.AssertEqual(Sum(-10, 20), 10, \"Sum of negative and positive integers\")"
+msgstr ""
+
+#. xAf6Z
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bas_id201656422684556\n"
+"help.text"
+msgid "test.AssertEqual(Sum(1.5, 1), 2.5, \"Sum of float and integer values\")"
+msgstr ""
+
+#. Lp9XE
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bas_id716356422685228\n"
+"help.text"
+msgid "test.ReportError(\"Sum method is broken\")"
+msgstr ""
+
+#. u2CVn
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bas_id416564228330400\n"
+"help.text"
+msgid "test.AssertEqual(Multiply(2, 2), 4, \"Multiply two positive integers\")"
+msgstr ""
+
+#. BhroA
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bas_id231656422833240\n"
+"help.text"
+msgid "test.AssertEqual(Multiply(-4, 2), -8, \"Multiply negative and positive integers\")"
+msgstr ""
+
+#. whh5d
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bas_id931656422833480\n"
+"help.text"
+msgid "test.AssertEqual(Multiply(1.5, 3), 4.5, \"Multiply of float and integer values\")"
+msgstr ""
+
+#. ixjF2
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"bas_id151656422834184\n"
+"help.text"
+msgid "test.ReportError(\"Multiply method is broken\")"
+msgstr ""
+
+#. y6q9H
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id681656423030706\n"
+"help.text"
+msgid "The test suite above consists of two test cases <literal>Test_Sum</literal> and <literal>Test_Multiply</literal>. To run all tests simply run the <literal>Main</literal> method from the \"AllTests\" module."
+msgstr ""
+
+#. CFFEG
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id681656423146183\n"
+"help.text"
+msgid "The <link href=\"text/sbasic/shared/03/sf_exception.xhp#Console\" name=\"Console\"><literal>Console</literal></link> from the <literal>Exception</literal> service is used as the default output to print test results. After running the example above, the following output will be displayed in the console:"
+msgstr ""
+
+#. SX4Hy
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id161656423510879\n"
+"help.text"
+msgid "If any of the <literal>AssertEqual</literal> methods fails during these tests, an error message is added to the console."
+msgstr ""
+
+#. SKsNp
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"hd_id711600788076834\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. dUKA3
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id461600788076917\n"
+"help.text"
+msgid "Name"
+msgstr ""
+
+#. 4CFLw
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id221600788076591\n"
+"help.text"
+msgid "Readonly"
+msgstr ""
+
+#. hmcQA
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id761600788076328\n"
+"help.text"
+msgid "Type"
+msgstr ""
+
+#. qr48K
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id67160078807636\n"
+"help.text"
+msgid "Description"
+msgstr ""
+
+#. BLCXX
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id311600788076756\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. LwYBg
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id441600788076826\n"
+"help.text"
+msgid "When set to <literal>True</literal> (default) the console shows the standard message appended to the message provided by the tester. When <literal>False</literal>, only the message defined by the tester is used."
+msgstr ""
+
+#. m6reQ
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id49160078807654\n"
+"help.text"
+msgid "Yes"
+msgstr ""
+
+#. diGQ4
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id81600788076419\n"
+"help.text"
+msgid "Value returned by <literal>RunTest</literal> after the unit test is finished. Next is a list of possible values:"
+msgstr ""
+
+#. RqYbB
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id141656425588260\n"
+"help.text"
+msgid "0 - Test finished without errors or test not started<br/> 1 - An assertion within a test case returned <literal>False</literal><br/> 2 - A <literal>SkipTest</literal> was issued by the <literal>Setup</literal> method or by one of the test cases.<br/> 3 - Abnormal end of test"
+msgstr ""
+
+#. sa2t9
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id711600788076534\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. WG8MM
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id541600788076645\n"
+"help.text"
+msgid "When set to <literal>True</literal>, all assertions are reported in the console (failing or not). When <literal>False</literal> (default), only failing assertions are reported."
+msgstr ""
+
+#. kbkBT
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id891600788076190\n"
+"help.text"
+msgid "No"
+msgstr ""
+
+#. H5D7L
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id91600788076674\n"
+"help.text"
+msgid "Defines what is done when an assertion fails. Next is a list of possible values:"
+msgstr ""
+
+#. EQBpN
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id671656425606077\n"
+"help.text"
+msgid "0 - Ignore the failure and continue running the test<br/> 1 - The <literal>TearDown</literal> method in the module is executed in the current test suite and the next suite is started (default in full mode).<br/> 2 - Stop immediately (default in simple mode)"
+msgstr ""
+
+#. oxRCB
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id651606319520519\n"
+"help.text"
+msgid "List of Methods in the UnitTest Service"
+msgstr ""
+
+#. d4CFS
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"hd_id201656428230690\n"
+"help.text"
+msgid "Arguments of the AssertX methods"
+msgstr ""
+
+#. ArRiA
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id591656428251124\n"
+"help.text"
+msgid "All assertions test one or two expressions, referred in the remainder of this help page as <emph>A</emph> and <emph>B</emph>. They are always the first one or two arguments in the <literal>AssertX</literal> method."
+msgstr ""
+
+#. Nanrc
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id231656428367462\n"
+"help.text"
+msgid "All <literal>AssertX</literal> methods accept a <literal>message</literal> argument specifying a custom message to be reported in the console regarding the assertion. By default an empty string is used. This argument is always in the last position of the assertion."
+msgstr ""
+
+#. d7AFB
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id91656451227291\n"
+"help.text"
+msgid "Some <literal>AssertX</literal> methods also accept additional arguments, as described by their syntaxes below."
+msgstr ""
+
+#. xbDmc
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894833351\n"
+"help.text"
+msgid "Returns <literal>True</literal> when <emph>A</emph> and <emph>B</emph> are numerical values and are considered to be close to each other, given a relative tolerance."
+msgstr ""
+
+#. STVnD
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id241656426318310\n"
+"help.text"
+msgid "This assertion returns <literal>True</literal> if the two conditions below are met:"
+msgstr ""
+
+#. zBAge
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id861656426361793\n"
+"help.text"
+msgid "A and B can be converted to the <literal>Double</literal> type."
+msgstr ""
+
+#. 48tqj
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id851656426362072\n"
+"help.text"
+msgid "The absolute difference between A and B divided by the largest absolute value of A or B is <emph>lower</emph> than the value specified in <literal>tolerance</literal>."
+msgstr ""
+
+#. Z7Aap
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894830182\n"
+"help.text"
+msgid "Returns <literal>True</literal> when <emph>A</emph> and <emph>B</emph> are considered to be equal."
+msgstr ""
+
+#. 5EHVv
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id241656426317440\n"
+"help.text"
+msgid "When A and B are scalars, <literal>True</literal> is returned if:"
+msgstr ""
+
+#. EACHw
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id861656426361808\n"
+"help.text"
+msgid "Both expressions have the same <literal>VarType</literal> or are both numeric."
+msgstr ""
+
+#. rEEuD
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id851656426362362\n"
+"help.text"
+msgid "Booleans and numeric values are compared with the = operator."
+msgstr ""
+
+#. VFGGv
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id201656427500186\n"
+"help.text"
+msgid "Strings are compared with the builtin <literal>StrComp</literal> function. The comparison is case-sensitive."
+msgstr ""
+
+#. D8kiC
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id861656427531067\n"
+"help.text"
+msgid "Dates and times are compared up to the second."
+msgstr ""
+
+#. nGv5Z
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id361656427557940\n"
+"help.text"
+msgid "<literal>Null</literal>, <literal>Empty</literal> and <literal>Nothing</literal> are not equal, but <literal>AssertEqual(Nothing, Nothing)</literal> returns <literal>True</literal>."
+msgstr ""
+
+#. 7ZYdu
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id31656427624016\n"
+"help.text"
+msgid "UNO objects are compared with the builtin <literal>EqualUnoObjects</literal> method."
+msgstr ""
+
+#. Ec6PU
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id301656427695507\n"
+"help.text"
+msgid "Note that Basic objects are never equal."
+msgstr ""
+
+#. WpMkU
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id691656427837518\n"
+"help.text"
+msgid "When A and B are arrays, <literal>True</literal> is returned if:"
+msgstr ""
+
+#. A5kTv
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id831656427894608\n"
+"help.text"
+msgid "Both arrays have the same number of dimensions (up to 2 dimensions) and their lower and upper bounds are identical for all dimensions."
+msgstr ""
+
+#. sABNY
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id851656427895040\n"
+"help.text"
+msgid "All items in both arrays are equal, one by one."
+msgstr ""
+
+#. eAjBU
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id571656427895400\n"
+"help.text"
+msgid "Two empty arrays are considered to be equal."
+msgstr ""
+
+#. PxfTp
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894830071\n"
+"help.text"
+msgid "Returns <literal>True</literal> when the type of A is <literal>Boolean</literal> and its value is <literal>False</literal>."
+msgstr ""
+
+#. C3NgG
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894830337\n"
+"help.text"
+msgid "Returns <literal>True</literal> when A is greater than B."
+msgstr ""
+
+#. bT3CG
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id991656428670110\n"
+"help.text"
+msgid "The comparison between A and B assumes the following:"
+msgstr ""
+
+#. Uunox
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id591656428689390\n"
+"help.text"
+msgid "Eligible data types are <literal>String</literal>, <literal>Date</literal> or numeric."
+msgstr ""
+
+#. F7Cyz
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id516564286489629\n"
+"help.text"
+msgid "Both expressions must have the same <literal>VarType</literal> or both must be numeric."
+msgstr ""
+
+#. LfUrX
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id211656428689774\n"
+"help.text"
+msgid "String comparisons are case-sensitive."
+msgstr ""
+
+#. HtcFS
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894838548\n"
+"help.text"
+msgid "Returns <literal>True</literal> when A is greater than or equal to B."
+msgstr ""
+
+#. gwLLH
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id991656428670202\n"
+"help.text"
+msgid "The comparison between A and B assumes the following:"
+msgstr ""
+
+#. 8KqmD
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id591656428689207\n"
+"help.text"
+msgid "Eligible data types are <literal>String</literal>, <literal>Date</literal> or numeric."
+msgstr ""
+
+#. oDfjA
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id516564286455529\n"
+"help.text"
+msgid "Both expressions must have the same <literal>VarType</literal> or both must be numeric."
+msgstr ""
+
+#. DWEby
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id211656428663284\n"
+"help.text"
+msgid "String comparisons are case-sensitive."
+msgstr ""
+
+#. BcYoQ
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894831448\n"
+"help.text"
+msgid "Returns <literal>True</literal> when A is found in B."
+msgstr ""
+
+#. UqzzY
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id991656428677632\n"
+"help.text"
+msgid "This assertion assumes the following:"
+msgstr ""
+
+#. gKnpk
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id591656428688858\n"
+"help.text"
+msgid "Expression B may be a 1D array, a ScriptForge <literal>Dictionary</literal> object or a string."
+msgstr ""
+
+#. WSuUE
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id516564286454219\n"
+"help.text"
+msgid "When expression B is a 1D array, expression A may be a date or a numeric value."
+msgstr ""
+
+#. B6JVZ
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id51656678140228\n"
+"help.text"
+msgid "When expression B is a ScriptForge <literal>Dictionary</literal> object, then string A is searched for among the keys in B."
+msgstr ""
+
+#. vvgdS
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id211656428663299\n"
+"help.text"
+msgid "String comparisons are case-sensitive."
+msgstr ""
+
+#. pCSa8
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894831399\n"
+"help.text"
+msgid "Returns <literal>True</literal> when A is an instance of a specified object type, specified as a string containing the type name."
+msgstr ""
+
+#. P4Q7u
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id991656428676302\n"
+"help.text"
+msgid "Expression A may be one of the following:"
+msgstr ""
+
+#. Kd3yd
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id591656428676428\n"
+"help.text"
+msgid "A ScriptForge object. In this case, the <literal>objecttype</literal> argument is a string such as \"DICTIONARY\", \"calc\", \"Dialog\", etc."
+msgstr ""
+
+#. pAE9x
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id516564286456619\n"
+"help.text"
+msgid "A UNO object. In this case, the <literal>objecttype</literal> argument must be a string identical to the value returned by the <literal>SF_Session.UnoObjectType()</literal> method."
+msgstr ""
+
+#. TAtM4
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id211656428680559\n"
+"help.text"
+msgid "An Array. In this case, the <literal>objecttype</literal> argument is expected to be \"array\"."
+msgstr ""
+
+#. dvkQB
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id891656439858783\n"
+"help.text"
+msgid "Any other variable (neither an <literal>Object</literal> nor an <literal>Array</literal>). In this case, <literal>objecttype</literal> is a string matching the value returned by the builtin <literal>TypeName</literal> function."
+msgstr ""
+
+#. cNXhg
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894830197\n"
+"help.text"
+msgid "Returns <literal>True</literal> when A is an object that has the <literal>Nothing</literal> value."
+msgstr ""
+
+#. DAqbe
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894863251\n"
+"help.text"
+msgid "Returns <literal>True</literal> when A has the <literal>Null</literal> value."
+msgstr ""
+
+#. oQpZL
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894838018\n"
+"help.text"
+msgid "Returns <literal>True</literal> when A is less than B."
+msgstr ""
+
+#. DGdwP
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id991656428672332\n"
+"help.text"
+msgid "The comparison between A and B assumes the following:"
+msgstr ""
+
+#. AmmHx
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id591656428689311\n"
+"help.text"
+msgid "Eligible data types are <literal>String</literal>, <literal>Date</literal> or numeric."
+msgstr ""
+
+#. Y6GRH
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id516564286265809\n"
+"help.text"
+msgid "Both expressions must have the same <literal>VarType</literal> or both must be numeric."
+msgstr ""
+
+#. SNBHr
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id211656428660996\n"
+"help.text"
+msgid "String comparisons are case-sensitive."
+msgstr ""
+
+#. wAvBZ
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894208818\n"
+"help.text"
+msgid "Returns <literal>True</literal> when A is less than or equal to B."
+msgstr ""
+
+#. kvCHD
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id991656428606322\n"
+"help.text"
+msgid "The comparison between A and B assumes the following:"
+msgstr ""
+
+#. jD42E
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id591656428682251\n"
+"help.text"
+msgid "Eligible data types are <literal>String</literal>, <literal>Date</literal> or numeric."
+msgstr ""
+
+#. UMG2p
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id516564286265711\n"
+"help.text"
+msgid "Both expressions must have the same <literal>VarType</literal> or both must be numeric."
+msgstr ""
+
+#. tcjQC
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id211656428660176\n"
+"help.text"
+msgid "String comparisons are case-sensitive."
+msgstr ""
+
+#. Zg5MZ
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894862651\n"
+"help.text"
+msgid "Returns <literal>True</literal> if string A matches a given pattern containing wildcards."
+msgstr ""
+
+#. GD2Hu
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id51656446203238\n"
+"help.text"
+msgid "The following wildcards are accepted:"
+msgstr ""
+
+#. CjJSF
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id661656446233484\n"
+"help.text"
+msgid "? - Represents any single character."
+msgstr ""
+
+#. dozgH
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id681656446233831\n"
+"help.text"
+msgid "* - Represents zero, one, or multiple characters."
+msgstr ""
+
+#. fsu2Z
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894832641\n"
+"help.text"
+msgid "Returns <literal>True</literal> when <emph>A</emph> and <emph>B</emph> are numerical values and are <emph>not</emph> considered to be close to each other, given a relative tolerance."
+msgstr ""
+
+#. 3CNkz
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id241656426317970\n"
+"help.text"
+msgid "This assertion returns <literal>True</literal> if the two conditions below are met:"
+msgstr ""
+
+#. NtkrB
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id861656426361686\n"
+"help.text"
+msgid "A and B can be converted to the <literal>Double</literal> type."
+msgstr ""
+
+#. 4L9bJ
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id851656426332052\n"
+"help.text"
+msgid "The absolute difference between A and B divided by the largest absolute value of A or B is <emph>greater</emph> than the value specified in <literal>tolerance</literal>."
+msgstr ""
+
+#. KVBYJ
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894862842\n"
+"help.text"
+msgid "Returns <literal>True</literal> when <emph>A</emph> and <emph>B</emph> are <emph>not</emph> considered to be equal."
+msgstr ""
+
+#. f8xcB
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id581656446598206\n"
+"help.text"
+msgid "This method works both for scalars and arrays. Read the instructions in <link href=\"text/sbasic/shared/03/sf_unittest.xhp#AssertEqual\" name=\"AssertEqual\"><literal>AssertEqual</literal></link> for more information on what equality means in this assertion."
+msgstr ""
+
+#. ENDBA
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894832638\n"
+"help.text"
+msgid "Returns <literal>True</literal> when A (a string) is <emph>not</emph> found in B."
+msgstr ""
+
+#. KNFSF
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id271656446302516\n"
+"help.text"
+msgid "Read the instructions in <link href=\"text/sbasic/shared/03/sf_unittest.xhp#AssertIn\" name=\"AssertIn\"><literal>AssertIn</literal></link> for more information on the assumptions of this method."
+msgstr ""
+
+#. BCzDu
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894831403\n"
+"help.text"
+msgid "Returns <literal>True</literal> when A is <emph>not</emph> an instance of a specified object type."
+msgstr ""
+
+#. 2FDwf
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id271656446949396\n"
+"help.text"
+msgid "Read the instructions in <link href=\"text/sbasic/shared/03/sf_unittest.xhp#AssertIsInstance\" name=\"AssertIsInstance\"><literal>AssertIsInstance</literal></link> for more information on the assumptions of this method."
+msgstr ""
+
+#. TRtFA
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894863961\n"
+"help.text"
+msgid "Returns <literal>True</literal> if string A <emph>does not</emph> match a given pattern containing wildcards."
+msgstr ""
+
+#. aRFUp
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id271656446258396\n"
+"help.text"
+msgid "Read the instructions in <link href=\"text/sbasic/shared/03/sf_unittest.xhp#AssertLike\" name=\"AssertLike\"><literal>AssertLike</literal></link> for more information on the assumptions of this method."
+msgstr ""
+
+#. C9GJn
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894420261\n"
+"help.text"
+msgid "Returns <literal>True</literal> except when A is an object that has the <literal>Nothing</literal> value."
+msgstr ""
+
+#. tdWWt
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894876551\n"
+"help.text"
+msgid "Returns <literal>True</literal> except when A has the <literal>Null</literal> value."
+msgstr ""
+
+#. piNCq
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894860331\n"
+"help.text"
+msgid "Returns <literal>True</literal> when A is <emph>not</emph> a string or <emph>does not</emph> match the given regular expression."
+msgstr ""
+
+#. 24iRs
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id931656448163772\n"
+"help.text"
+msgid "The comparison is case-sensitive."
+msgstr ""
+
+#. LBAZt
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894836031\n"
+"help.text"
+msgid "Returns <literal>True</literal> when string A matches the given regular expression."
+msgstr ""
+
+#. YDnGG
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id931656448163625\n"
+"help.text"
+msgid "The comparison is case-sensitive."
+msgstr ""
+
+#. B2c4q
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894063449\n"
+"help.text"
+msgid "Returns <literal>True</literal> when expression A is a <literal>Boolean</literal> and its value is <literal>True</literal>."
+msgstr ""
+
+#. CsZXs
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894086431\n"
+"help.text"
+msgid "Forces a test case to fail."
+msgstr ""
+
+#. aMzvc
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id751656448550854\n"
+"help.text"
+msgid "A message can be provided to be reported in the console."
+msgstr ""
+
+#. 6ZD5u
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894063631\n"
+"help.text"
+msgid "Writes the specified <literal>message</literal> in the console."
+msgstr ""
+
+#. HmfG2
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id751656448510894\n"
+"help.text"
+msgid "A message can be provided to be reported in the console."
+msgstr ""
+
+#. b2AUv
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894199311\n"
+"help.text"
+msgid "Displays a message box with a message and the current property values of the <literal>Exception</literal> service."
+msgstr ""
+
+#. by77W
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id851656622819891\n"
+"help.text"
+msgid "This method is commonly used in the exception handling section of the <literal>Sub</literal> containing the test case, which is reached when an assertion fails or when the <literal>Fail</literal> method is called."
+msgstr ""
+
+#. ozRN8
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id291656448892783\n"
+"help.text"
+msgid "Depending on the value of the property <literal>WhenAssertionFails</literal>, the test execution may continue or be interrupted."
+msgstr ""
+
+#. q42xs
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id551656448951538\n"
+"help.text"
+msgid "When writing test cases it is recommended to include a call to the <literal>ReportError</literal> method in the exception handling section of the <literal>Sub</literal>."
+msgstr ""
+
+#. pze6V
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id711656449128572\n"
+"help.text"
+msgid "If the property <literal>LongMessage</literal> is equal to <literal>True</literal>, the specified <literal>message</literal> is followed by the standard error message description. Otherwise only the <literal>message</literal> is displayed."
+msgstr ""
+
+#. AtCyJ
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894063361\n"
+"help.text"
+msgid "Executes the complete test suite implemented in the specified module. Each test case is run independently from each other."
+msgstr ""
+
+#. AqkBH
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id201656449688023\n"
+"help.text"
+msgid "Running a test suite consists of:"
+msgstr ""
+
+#. YqC5U
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id751656449718279\n"
+"help.text"
+msgid "Executing the optional <literal>Setup</literal> method present in the module."
+msgstr ""
+
+#. Kmshw
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id611656449718505\n"
+"help.text"
+msgid "Executing once each test case, in no specific order."
+msgstr ""
+
+#. dpWzo
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id461656449718687\n"
+"help.text"
+msgid "Executing the optional <literal>TearDown</literal> method present in the module."
+msgstr ""
+
+#. rFf8d
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id751656448521144\n"
+"help.text"
+msgid "The argument <literal>testcasepattern</literal> specifies a pattern composed of \"?\" and \"*\" wildcards to select which test cases will be run. The comparison is not case-sensitive."
+msgstr ""
+
+#. T3faF
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id81656448858455\n"
+"help.text"
+msgid "If a <literal>message</literal> is provided, it is written to the console when the test starts."
+msgstr ""
+
+#. TDXg5
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id71621894064311\n"
+"help.text"
+msgid "Interrupts the running test suite without calling the <literal>TearDown</literal> method."
+msgstr ""
+
+#. A6W9G
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id781656450313544\n"
+"help.text"
+msgid "Skipping a test is usually meaningful during the <literal>Setup</literal> method when not all conditions to run the test are met."
+msgstr ""
+
+#. wzZy2
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id531656450405799\n"
+"help.text"
+msgid "It is up to the <literal>Setup</literal> method to exit the <literal>Sub</literal> shortly after the <literal>SkipTest</literal> call."
+msgstr ""
+
+#. KEaV4
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id581656450504005\n"
+"help.text"
+msgid "If <literal>SkipTest</literal> is called from within a test case, the execution of the test suite is interrupted and the remaining test cases are not run. Keep in mind that the order in which test cases are run is arbitrary within a test suite."
+msgstr ""
+
+#. BFyev
+#: sf_unittest.xhp
+msgctxt ""
+"sf_unittest.xhp\n"
+"par_id81656449618455\n"
+"help.text"
+msgid "If a <literal>message</literal> is provided, it is written to the console."
+msgstr ""
+
+#. NyP5B
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"tit\n"
+"help.text"
+msgid "SFDocuments.Writer service"
+msgstr ""
+
+#. 5i7vz
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"hd_id731582733781114\n"
+"help.text"
+msgid "<variable id=\"WriterService\"><link href=\"text/sbasic/shared/03/sf_writer.xhp\" name=\"Writer service\"><literal>SFDocuments</literal>.<literal>Writer</literal> service</link></variable>"
+msgstr ""
+
+#. dUwYw
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id381589189355849\n"
+"help.text"
+msgid "The <literal>SFDocuments</literal> shared library provides a number of methods and properties to facilitate the management and handling of %PRODUCTNAME documents."
+msgstr ""
+
+#. FvF79
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id351591014177269\n"
+"help.text"
+msgid "Some methods are generic for all types of documents and are inherited from the <literal>SF_Document</literal> module, whereas other methods that are specific for Writer documents are defined in the <literal>SF_Writer</literal> module."
+msgstr ""
+
+#. LTpqJ
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"hd_id581582885621841\n"
+"help.text"
+msgid "Service invocation"
+msgstr ""
+
+#. YFLf6
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id141609955500101\n"
+"help.text"
+msgid "Before using the <literal>Writer</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:"
+msgstr ""
+
+#. 3LPrN
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id591589191059889\n"
+"help.text"
+msgid "The <literal>Writer</literal> service is closely related to the <literal>UI</literal> service of the <literal>ScriptForge</literal> library. Below are a few examples of how the <literal>Writer</literal> service can be invoked."
+msgstr ""
+
+#. NvcUB
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id551621623999947\n"
+"help.text"
+msgid "The code snippet below creates a <literal>Writer</literal> service instance that corresponds to the currently active Writer document."
+msgstr ""
+
+#. 4P2m8
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id341621467500466\n"
+"help.text"
+msgid "Another way to create an instance of the <literal>Writer</literal> service is using the <literal>UI</literal> service. In the following example, a new Writer document is created and <literal>oDoc</literal> is a <literal>Writer</literal> service instance:"
+msgstr ""
+
+#. dENpx
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id921621467621019\n"
+"help.text"
+msgid "Or using the <literal>OpenDocument</literal> method from the <literal>UI</literal> service:"
+msgstr ""
+
+#. WopGb
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id741621467697967\n"
+"help.text"
+msgid "It is also possible to instantiate the <literal>Writer</literal> service using the <literal>CreateScriptService</literal> method:"
+msgstr ""
+
+#. WTDbw
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id271621467810774\n"
+"help.text"
+msgid "In the example above, \"MyFile.odt\" is the name of an open document window. If this argument is not provided, the active window is considered."
+msgstr ""
+
+#. EEAZF
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id71158288562139\n"
+"help.text"
+msgid "It is recommended to free resources after use:"
+msgstr ""
+
+#. wPWMP
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id231611610666018\n"
+"help.text"
+msgid "However, if the document was closed using the <literal>CloseDocument</literal> method, it becomes unnecessary to free resources using the command described above."
+msgstr ""
+
+#. 7JvGW
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id71611090922315\n"
+"help.text"
+msgid "The use of the prefix \"<literal>SFDocuments.</literal>\" while calling the service is optional."
+msgstr ""
+
+#. EcQjk
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"hd_id291631196803182\n"
+"help.text"
+msgid "Definitions"
+msgstr ""
+
+#. ausGU
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"hd_id351582885195476\n"
+"help.text"
+msgid "Properties"
+msgstr ""
+
+#. VB9Jj
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"hd_id501582887473754\n"
+"help.text"
+msgid "Methods"
+msgstr ""
+
+#. ioXEB
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id891611613601554\n"
+"help.text"
+msgid "List of Methods in the Writer Service"
+msgstr ""
+
+#. 3uC2J
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id501623063693649\n"
+"help.text"
+msgid "Depending on the parameters provided this method will return:"
+msgstr ""
+
+#. YpgWy
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id611623063742045\n"
+"help.text"
+msgid "A zero-based Array (or a tuple in Python) with the names of all the forms contained in the document (if the <literal>form</literal> argument is absent)"
+msgstr ""
+
+#. CNfBX
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id641623063744536\n"
+"help.text"
+msgid "A <literal>SFDocuments.Form</literal> service instance representing the form specified as argument."
+msgstr ""
+
+#. ULjtu
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id821623076570573\n"
+"help.text"
+msgid "This method is applicable only for Writer documents. Calc and Base documents have their own <literal>Forms</literal> method in the <link href=\"text/sbasic/shared/03/sf_calc.xhp#Forms\" name=\"Calc_Forms\">Calc</link> and <link href=\"text/sbasic/shared/03/sf_base.xhp#Forms\" name=\"Base_Forms\">Base</link> services, respectively."
+msgstr ""
+
+#. ty8pu
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id451623063459286\n"
+"help.text"
+msgid "<emph>form</emph>: The name or index corresponding to a form stored in the document. If this argument is absent, the method will return a list with the names of all forms available in the document."
+msgstr ""
+
+#. 7Ywp9
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id251623063305557\n"
+"help.text"
+msgid "In the following examples, the first line gets the names of all forms in the document and the second line retrieves the <literal>Form</literal> object of the form named \"Form_A\"."
+msgstr ""
+
+#. y684J
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id31592919577984\n"
+"help.text"
+msgid "Send the contents of the document to the printer. The printer may be previously defined by default, by the user or by the <link href=\"text/sbasic/03/sf_document.xhp#SetPrinter\" name=\"SetPrinter method\"><literal>SetPrinter</literal></link> method of the <link href=\"text/sbasic/03/sf_document.xhp\" name=\"Document service\">Document</link> service. Returns <literal>True</literal> when successful."
+msgstr ""
+
+#. CKDb5
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id441592919577809\n"
+"help.text"
+msgid "<emph>pages</emph>: The pages to print as a string, like in the user interface. Example: \"1-4;10;15-18\". Default = all pages"
+msgstr ""
+
+#. mYCkV
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id221636020923278\n"
+"help.text"
+msgid "<emph>copies</emph>: The number of copies, default is 1."
+msgstr ""
+
+#. aFEAa
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id121636020926764\n"
+"help.text"
+msgid "<emph>printbackground</emph>: Prints the background image when <literal>True</literal> (default)."
+msgstr ""
+
+#. D4krC
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id261636020927276\n"
+"help.text"
+msgid "<emph>printblankpages</emph>: When <literal>False</literal> (default), omits empty pages."
+msgstr ""
+
+#. LFSzm
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id021636020927484\n"
+"help.text"
+msgid "<emph>printevenpages</emph>: Prints even pages when <literal>True</literal> (default)."
+msgstr ""
+
+#. iewN5
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id391636020927676\n"
+"help.text"
+msgid "<emph>printoddpages</emph>: Print odd pages when <literal>True</literal> (default)."
+msgstr ""
+
+#. 4mYCT
+#: sf_writer.xhp
+msgctxt ""
+"sf_writer.xhp\n"
+"par_id121636021103996\n"
+"help.text"
+msgid "<emph>printimages</emph>: Print graphic objects when <literal>True</literal> (default)."
+msgstr ""