summaryrefslogtreecommitdiff
path: root/testautomation/spreadsheet/tools/includes/c_l10n_tools.inc
diff options
context:
space:
mode:
Diffstat (limited to 'testautomation/spreadsheet/tools/includes/c_l10n_tools.inc')
-rw-r--r--testautomation/spreadsheet/tools/includes/c_l10n_tools.inc217
1 files changed, 217 insertions, 0 deletions
diff --git a/testautomation/spreadsheet/tools/includes/c_l10n_tools.inc b/testautomation/spreadsheet/tools/includes/c_l10n_tools.inc
new file mode 100644
index 000000000000..9766f6464621
--- /dev/null
+++ b/testautomation/spreadsheet/tools/includes/c_l10n_tools.inc
@@ -0,0 +1,217 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@sun.com
+'*
+'* short description : tools for localisation in calc
+'*
+'**************************************************************************************************
+'*
+' #1 fFunctionname 'Returns the localized name of a given function in the current UI language
+' #1 fError_l10n 'Returns the localized name of a given errorcode in the current UI language
+'*
+'\************************************************************************************************
+
+function fFunctionname ( sFunctionname_en as string ) as string
+
+ '///<b>The function returns the localized name of a given function in the current UI language</b>
+ '///+ -Input is the english name of the function as string
+ '///+ -Output is the localized name of the function as string
+ '///+ -If there is no translation available the fallback is the english name
+
+ dim sloaddocument as string
+ dim sfunctionstring as string
+ dim scelladress as string
+
+ use "global/tools/includes/required/t_doc2.inc"
+ const CFN = "qa:qatesttool:spreadsheet:tools:includes:c_l10n_tools.in:fFunctionname "
+
+ sloaddocument = Convertpath (gTesttoolPath + "spreadsheet\tools\input\Functionnames.ods" )
+
+ '///Load document with all functions <i>gTestToolPath</i>/spreadsheet/tools/input/Functionnames.ods
+ call hFileOpen ( sloaddocument )
+ sleep (2)
+ '///Make sure that the file is editable
+ call sMakeReadOnlyDocumentEditable()
+
+ '///Setting selection to A1 to avoid messagebox in Search and Replace dialog.
+ call fCalcSelectRange ("A1")
+ '///Search for function by Search and Replace dialog
+ kontext "DocumentCalc"
+ EditSearchAndReplace
+ sleep (1)
+ kontext "FindAndReplace"
+ '///Setting dialog to defaults
+ More.Click
+ SimilaritySearch.UnCheck
+ CurrentSelectionOnly.UnCheck
+ Backwards.UnCheck
+ SearchForStyles.UnCheck
+ SearchIn.Select 1
+ '///Setting search parameter
+ WholeWordsOnly.Check
+ SearchFor.SetText sFunctionname_en
+ SearchNow.click
+ kontext
+ '///If a MsgBox appears the search must have failed => Fallback to english name
+ if active.exists then
+ if active.getRT = 304 then
+ warnlog CFN & "Function not found, falling back to english name"
+ fFunctionname = sFunctionname_en
+ active.OK
+ else
+ '///Throw a warning if a dialog of unexpected resource type appears
+ warnlog CFN & "Unknown message box! " & active.GetText
+ active.Default
+ fFunctionname = sFunctionname_en
+ end if
+ kontext "FindAndReplace"
+ sleep (1)
+ '///Reset dialog to defaultsetting
+ WholeWordsOnly.UnCheck
+ FindAndReplace.Close
+ call hCloseDocument
+ exit function
+ end if
+ kontext "FindAndReplace"
+ sleep (1)
+ '///Reset dialog to defaultsettings
+ WholeWordsOnly.UnCheck
+ FindAndReplace.Close
+ Kontext "RechenleisteCalc"
+ scelladress = Bereich.GetSelText
+ if fCalcGetCellValue (scelladress) = sFunctionname_en then
+ '///Get localised string for function by extracting functionname out of next cell
+ call fCalcSelectRange ( "B" & mid(scelladress,2) )
+ kontext ( "RechenleisteCalc" )
+ EingabeZeileCalc.TypeKeys ("<f2><mod1 a>")
+ editcopy
+ sfunctionstring = GetClipboardText ()
+ kontext "DocumentCalc"
+ DocumentCalc.TypeKeys ("<ESCAPE>",2)
+ ' DEBUG: printlog sfunctionstring
+ ' DEBUG: printlog len(sfunctionstring)
+ ' DEBUG: printlog instr(sfunctionstring,"(")
+ fFunctionname = mid(sfunctionstring,2,(instr(sfunctionstring,"(")-2)
+ printlog " The name of the function in this locale (" & iSprache & ") is " & fFunctionname
+ else
+ warnlog CFN & "Function not found, falling back to english version"
+ fFunctionname = sFunctionname_en
+ end if
+
+ call hCloseDocument
+
+end function
+
+'
+'----------------------------------------------------------------------------
+'
+
+function fError_l10n ( sError_en as string ) as string
+
+ '///<b>The function returns the localized name of a given error in the current UI language</b>
+ '///+ -Input is the english name of the error as string
+ '///+ -Output is the localized name of the error as string
+ '///+ -If there is no translation available the fallback is the english name
+
+ dim sloaddocument as string
+ dim sfunctionstring as string
+ dim scelladress as string
+
+ use "global/tools/includes/required/t_doc2.inc"
+ const CFN = "qa:qatesttool:spreadsheet:tools:includes:c_l10n_tools.in:fError_l10n "
+
+ sloaddocument = Convertpath (gTesttoolPath + "spreadsheet\tools\input\Errorcodes.ods" )
+
+ '///Load document with all errorcodes <i>gTestToolPath</i>/spreadsheet/tools/input/Errorcodes.ods
+ call hFileOpen ( sloaddocument )
+ sleep (2)
+ '///Make sure that the file is editable
+ call sMakeReadOnlyDocumentEditable()
+
+ '///Setting selection to A1 to avoid messagebox in Search and Replace dialog.
+ call fCalcSelectRange ("A1")
+ '///Search for function by Search and Replace dialog
+ kontext "DocumentCalc"
+ EditSearchAndReplace
+ sleep (1)
+ kontext "FindAndReplace"
+ '///Setting dialog to defaults
+ More.Click
+ SimilaritySearch.UnCheck
+ CurrentSelectionOnly.UnCheck
+ Backwards.UnCheck
+ SearchForStyles.UnCheck
+ SearchIn.Select 1
+ '///Setting search parameter
+ WholeWordsOnly.Check
+ SearchFor.SetText sError_en
+ SearchNow.click
+ kontext
+ '///If a MsgBox appears the search must have failed => Fallback to english name
+ if active.exists then
+ if active.getRT = 304 then
+ warnlog CFN & "Function not found, falling back to english name"
+ fError_l10n = sError_en
+ active.OK
+ else
+ '///Throw a warning if a dialog of unexpected resource type appears
+ warnlog CFN & "Unknown message box! " & active.GetText
+ active.Default
+ fError_l10n = sError_en
+ end if
+ kontext "FindAndReplace"
+ sleep (1)
+ '///Reset dialog to defaultsetting
+ WholeWordsOnly.UnCheck
+ FindAndReplace.Close
+ call hCloseDocument
+ exit function
+ end if
+ kontext "FindAndReplace"
+ sleep (1)
+ '///Reset dialog to defaultsetting
+ WholeWordsOnly.UnCheck
+ FindAndReplace.Close
+ Kontext "RechenleisteCalc"
+ scelladress = Bereich.GetSelText
+ if fCalcGetCellValue (scelladress) = sError_en then
+ '///Get localised string for ERR by extracting errorcode out of next cell
+ call fCalcSelectRange ( "B" & mid(scelladress,2) )
+ kontext "DocumentCalc"
+ editcopy
+ fError_l10n = GetClipboardText ()
+ kontext "DocumentCalc"
+ printlog " The name for ERR in this locale (" & iSprache & ") is " & fError_l10n
+ else
+ warnlog CFN & "Errorcode not found, falling back to english version"
+ fError_l10n = sError_en
+ end if
+
+ call hCloseDocument
+
+end function