fdo#50118 use English add-in function names

This patch sets the function names of add-in functions as set
in the golbal configuration of LibreOffice ('Use English Function names')

Changing this setting has not yet an immediate effect. (I'm still working on
that, which is a hard nut to crack.) The add-in function names are set at
start up of calc.

Change-Id: I5fffd9edb09647c1bcd0c3f35ffa6ab69ef48589
Reviewed-on: https://gerrit.libreoffice.org/6032
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
This commit is contained in:
Winfried Donkers
2013-09-25 07:41:34 +02:00
committed by Eike Rathke
parent 3ef5e26111
commit ddac824d9c

View File

@@ -50,6 +50,7 @@
#include "rangeseq.hxx" #include "rangeseq.hxx"
#include "funcdesc.hxx" #include "funcdesc.hxx"
#include "svl/sharedstring.hxx" #include "svl/sharedstring.hxx"
#include "formulaopt.hxx" //fdo50118
using namespace com::sun::star; using namespace com::sun::star;
@@ -746,12 +747,15 @@ void ScUnoAddInCollection::ReadFromAddIn( const uno::Reference<uno::XInterface>&
uno::Reference<lang::XServiceName> xName( xInterface, uno::UNO_QUERY ); uno::Reference<lang::XServiceName> xName( xInterface, uno::UNO_QUERY );
if ( xAddIn.is() && xName.is() ) if ( xAddIn.is() && xName.is() )
{ {
// AddIns must use the language for which the office is installed // fdo50118 when GetUseEnglishFunctionName() returns true, set the
lang::Locale aLocale( Application::GetSettings().GetUILanguageTag().getLocale()); // locale to en-US to get English function names
xAddIn->setLocale( aLocale ); if ( SC_MOD()->GetFormulaOptions().GetUseEnglishFuncName() )
xAddIn->setLocale( lang::Locale( "en", "US", ""));
else
xAddIn->setLocale( Application::GetSettings().GetUILanguageTag().getLocale());
OUString aServiceName( xName->getServiceName() ); OUString aServiceName( xName->getServiceName() );
ScUnoAddInHelpIdGenerator aHelpIdGenerator( xName->getServiceName() ); ScUnoAddInHelpIdGenerator aHelpIdGenerator( aServiceName );
//! pass XIntrospection to ReadFromAddIn //! pass XIntrospection to ReadFromAddIn
@@ -1001,8 +1005,12 @@ void ScUnoAddInCollection::UpdateFromAddIn( const uno::Reference<uno::XInterface
uno::Reference<lang::XLocalizable> xLoc( xInterface, uno::UNO_QUERY ); uno::Reference<lang::XLocalizable> xLoc( xInterface, uno::UNO_QUERY );
if ( xLoc.is() ) // optional in new add-ins if ( xLoc.is() ) // optional in new add-ins
{ {
lang::Locale aLocale( Application::GetSettings().GetUILanguageTag().getLocale()); // fdo50118 when GetUseEnglishFunctionName() returns true, set the
xLoc->setLocale( aLocale ); // locale to en-US to get English function names
if ( SC_MOD()->GetFormulaOptions().GetUseEnglishFuncName() )
xLoc->setLocale( lang::Locale( "en", "US", ""));
else
xLoc->setLocale( Application::GetSettings().GetUILanguageTag().getLocale());
} }
// if function list was already initialized, it must be updated // if function list was already initialized, it must be updated