tdf#132389 - Case-insensitive operation for non-ASCII characters

The replace function should depend on the application locale, instead of the UI language.

Change-Id: I1582db07a1560da9ea87c0b127cf92611c8544bd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115540
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index 73bfe7f..fce05bf 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -1292,8 +1292,9 @@ void SbRtl_Replace(StarBASIC *, SbxArray & rPar, bool)
    if (bCaseInsensitive)
    {
        // tdf#132389 - case-insensitive operation for non-ASCII characters
        const css::lang::Locale& rLocale = Application::GetSettings().GetUILanguageTag().getLocale();
        css::uno::Reference < i18n::XCharacterClassification > xCharClass = vcl::unohelper::CreateCharacterClassification();
        const css::lang::Locale& rLocale = Application::GetSettings().GetLanguageTag().getLocale();
        css::uno::Reference<i18n::XCharacterClassification> xCharClass
            = vcl::unohelper::CreateCharacterClassification();
        aSrcStr = xCharClass->toUpper(aSrcStr, 0, aSrcStr.getLength(), rLocale);
        aFindStr = xCharClass->toUpper(aFindStr, 0, aFindStr.getLength(), rLocale);
    }