[Libreoffice-commits] .: accessibility/Library_acc.mk accessibility/source avmedia/Library_avmedia.mk avmedia/source basctl/Library_basctl.mk basctl/source basic/CppunitTest_basic_scanner.mk basic/Library_sb.mk basic/source chart2/Library_chartcontroller.mk chart2/source cui/source dbaccess/Library_dbu.mk dbaccess/source desktop/source drawinglayer/source editeng/source extensions/Library_res.mk extensions/source filter/Library_eps.mk filter/Library_flash.mk filter/Library_pdffilter.mk filter/Library_svgfilter.mk filter/Library_xsltdlg.mk filter/source forms/source formula/Library_for.mk formula/source framework/Library_fwe.mk framework/source lotuswordpro/Library_lwpft.mk lotuswordpro/source oox/Library_oox.mk oox/source padmin/source reportdesign/source sc/Library_scfilt.mk scripting/Library_dlgprov.mk scripting/source sc/source sd/source sfx2/source starmath/Library_sm.mk starmath/source svtools/source svx/Library_textconversiondlgs.mk svx/source sw/CppunitTest_sw_subsequent_rtfimport. mk sw/qa sw/source toolkit/Library_tk.mk toolkit/source uui/Library_uui.mk uui/source vcl/generic vcl/inc vcl/source vcl/unx writerfilter/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu Nov 22 03:35:27 PST 2012


 accessibility/Library_acc.mk                                          |    1 
 accessibility/source/extended/accessibleiconchoicectrlentry.cxx       |    2 
 accessibility/source/extended/accessiblelistboxentry.cxx              |    2 
 accessibility/source/extended/accessibletabbar.cxx                    |    2 
 accessibility/source/extended/accessibletabbarpage.cxx                |    2 
 accessibility/source/extended/accessibletabbarpagelist.cxx            |    2 
 accessibility/source/helper/accresmgr.cxx                             |    2 
 accessibility/source/standard/accessiblemenucomponent.cxx             |    2 
 accessibility/source/standard/accessiblemenuitemcomponent.cxx         |    2 
 accessibility/source/standard/vclxaccessiblelistitem.cxx              |    2 
 accessibility/source/standard/vclxaccessiblemenuitem.cxx              |    2 
 accessibility/source/standard/vclxaccessiblestatusbaritem.cxx         |    4 
 accessibility/source/standard/vclxaccessibletabpage.cxx               |    4 
 accessibility/source/standard/vclxaccessibletextcomponent.cxx         |    2 
 accessibility/source/standard/vclxaccessibletoolboxitem.cxx           |    2 
 avmedia/Library_avmedia.mk                                            |    1 
 avmedia/source/framework/mediamisc.cxx                                |    2 
 basctl/Library_basctl.mk                                              |    1 
 basctl/source/accessibility/accessibledialogcontrolshape.cxx          |    2 
 basctl/source/accessibility/accessibledialogwindow.cxx                |    2 
 basctl/source/basicide/baside2b.cxx                                   |    4 
 basctl/source/basicide/baside3.cxx                                    |    2 
 basctl/source/basicide/iderdll.cxx                                    |    2 
 basctl/source/dlged/managelang.cxx                                    |    4 
 basic/CppunitTest_basic_scanner.mk                                    |    1 
 basic/Library_sb.mk                                                   |    1 
 basic/source/classes/global.cxx                                       |    2 
 basic/source/comp/basiccharclass.cxx                                  |    2 
 basic/source/runtime/basrdll.cxx                                      |    2 
 basic/source/runtime/methods.cxx                                      |    6 
 basic/source/runtime/methods1.cxx                                     |    7 
 basic/source/runtime/runtime.cxx                                      |    4 
 basic/source/runtime/step0.cxx                                        |    2 
 basic/source/sbx/sbxdate.cxx                                          |    4 
 basic/source/sbx/sbxscan.cxx                                          |    6 
 basic/source/uno/dlgcont.cxx                                          |    2 
 chart2/Library_chartcontroller.mk                                     |    1 
 chart2/source/controller/accessibility/AccessibleBase.cxx             |    2 
 cui/source/dialogs/insdlg.cxx                                         |    2 
 cui/source/dialogs/pastedlg.cxx                                       |    2 
 cui/source/dialogs/postdlg.cxx                                        |    6 
 cui/source/factory/cuiresmgr.cxx                                      |    2 
 cui/source/options/optasian.cxx                                       |    2 
 cui/source/options/optdict.cxx                                        |    2 
 cui/source/options/optgdlg.cxx                                        |    4 
 cui/source/options/optgenrl.cxx                                       |    2 
 cui/source/options/optlingu.cxx                                       |    2 
 cui/source/options/optupdt.cxx                                        |    2 
 cui/source/tabpages/autocdlg.cxx                                      |    4 
 cui/source/tabpages/numpages.cxx                                      |    4 
 cui/source/tabpages/tabstpge.cxx                                      |    2 
 dbaccess/Library_dbu.mk                                               |    1 
 dbaccess/source/core/resource/core_resource.cxx                       |    2 
 dbaccess/source/ui/browser/unodatbr.cxx                               |    2 
 dbaccess/source/ui/control/sqledit.cxx                                |    2 
 dbaccess/source/ui/dlg/tablespage.cxx                                 |    2 
 dbaccess/source/ui/misc/TokenWriter.cxx                               |    2 
 dbaccess/source/ui/misc/UITools.cxx                                   |    2 
 dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx                 |    2 
 desktop/source/app/app.cxx                                            |    3 
 desktop/source/deployment/gui/dp_gui_extlistbox.cxx                   |    2 
 desktop/source/deployment/gui/dp_gui_service.cxx                      |    4 
 drawinglayer/source/processor2d/getdigitlanguage.cxx                  |    2 
 editeng/source/editeng/editview.cxx                                   |    6 
 editeng/source/editeng/eerdll.cxx                                     |    2 
 editeng/source/editeng/impedit3.cxx                                   |    4 
 editeng/source/items/numitem.cxx                                      |    4 
 editeng/source/misc/svxacorr.cxx                                      |    2 
 editeng/source/rtf/svxrtf.cxx                                         |    6 
 extensions/Library_res.mk                                             |    1 
 extensions/source/propctrlr/fontdialog.cxx                            |    6 
 extensions/source/resource/oooresourceloader.cxx                      |    2 
 filter/Library_eps.mk                                                 |    1 
 filter/Library_flash.mk                                               |    1 
 filter/Library_pdffilter.mk                                           |    1 
 filter/Library_svgfilter.mk                                           |    1 
 filter/Library_xsltdlg.mk                                             |    1 
 filter/source/flash/swfdialog.cxx                                     |    2 
 filter/source/graphicfilter/eps/eps.cxx                               |    4 
 filter/source/pdf/impdialog.cxx                                       |    2 
 filter/source/pdf/pdfexport.cxx                                       |    2 
 filter/source/svg/svgfontexport.cxx                                   |    2 
 filter/source/svg/svgwriter.cxx                                       |    2 
 filter/source/xsltdialog/xmlfilterdialogcomponent.cxx                 |    2 
 forms/source/component/FormattedField.cxx                             |    2 
 forms/source/component/FormattedFieldWrapper.cxx                      |    2 
 forms/source/resource/frm_resource.cxx                                |    2 
 forms/source/richtext/richtextimplcontrol.cxx                         |    2 
 formula/Library_for.mk                                                |    1 
 formula/source/core/resource/core_resource.cxx                        |    2 
 framework/Library_fwe.mk                                              |    1 
 framework/source/classes/fwlresid.cxx                                 |    2 
 framework/source/fwe/classes/fwkresid.cxx                             |    2 
 framework/source/fwi/helper/mischelper.cxx                            |    4 
 framework/source/services/license.cxx                                 |    2 
 framework/source/uielement/controlmenucontroller.cxx                  |    4 
 framework/source/uielement/fontsizemenucontroller.cxx                 |    2 
 framework/source/uielement/toolbarsmenucontroller.cxx                 |    2 
 lotuswordpro/Library_lwpft.mk                                         |    1 
 lotuswordpro/source/filter/lwptools.cxx                               |    6 
 oox/Library_oox.mk                                                    |    1 
 oox/source/export/drawingml.cxx                                       |    2 
 padmin/source/helper.cxx                                              |    3 
 reportdesign/source/core/api/ReportComponent.cxx                      |    2 
 reportdesign/source/core/resource/core_resource.cxx                   |    2 
 sc/Library_scfilt.mk                                                  |    1 
 sc/source/core/data/documen8.cxx                                      |    2 
 sc/source/core/data/drwlayer.cxx                                      |    2 
 sc/source/core/data/global.cxx                                        |   12 -
 sc/source/core/data/stlpool.cxx                                       |    2 
 sc/source/core/tool/addincol.cxx                                      |    7 
 sc/source/core/tool/callform.cxx                                      |    2 
 sc/source/core/tool/zforauto.cxx                                      |    4 
 sc/source/filter/excel/xlroot.cxx                                     |    6 
 sc/source/ui/dbgui/textimportoptions.cxx                              |    2 
 sc/source/ui/view/spelleng.cxx                                        |    2 
 sc/source/ui/view/viewutil.cxx                                        |    2 
 scripting/Library_dlgprov.mk                                          |    1 
 scripting/source/dlgprov/dlgprov.cxx                                  |    2 
 sd/source/core/drawdoc.cxx                                            |    6 
 sd/source/core/drawdoc2.cxx                                           |    4 
 sd/source/core/drawdoc4.cxx                                           |    4 
 sd/source/filter/eppt/pptx-text.cxx                                   |    2 
 sd/source/ui/accessibility/AccessibleSlideSorterView.cxx              |    2 
 sd/source/ui/accessibility/AccessibleTreeNode.cxx                     |    2 
 sd/source/ui/animations/CustomAnimationCreateDialog.cxx               |    2 
 sd/source/ui/dlg/TemplateScanner.cxx                                  |    2 
 sd/source/ui/unoidl/unomodel.cxx                                      |    2 
 sd/source/ui/view/Outliner.cxx                                        |    2 
 sd/source/ui/view/drviews5.cxx                                        |    2 
 sd/source/ui/view/sdview.cxx                                          |    2 
 sfx2/source/appl/appserv.cxx                                          |    2 
 sfx2/source/appl/newhelp.cxx                                          |    2 
 sfx2/source/dialog/dinfdlg.cxx                                        |    8 
 sfx2/source/dialog/templdlg.cxx                                       |    6 
 sfx2/source/dialog/versdlg.cxx                                        |    4 
 sfx2/source/doc/objcont.cxx                                           |    2 
 sfx2/source/view/orgmgr.cxx                                           |    2 
 starmath/Library_sm.mk                                                |    1 
 starmath/source/accessibility.cxx                                     |    4 
 starmath/source/cfgitem.cxx                                           |    2 
 starmath/source/parse.cxx                                             |    6 
 starmath/source/unomodel.cxx                                          |    2 
 svtools/source/contnr/DocumentInfoPreview.cxx                         |    2 
 svtools/source/contnr/fileview.cxx                                    |    2 
 svtools/source/contnr/svimpbox.cxx                                    |    2 
 svtools/source/control/ctrlbox.cxx                                    |   10 
 svtools/source/control/ctrltool.cxx                                   |    2 
 svtools/source/control/stdmenu.cxx                                    |    2 
 svtools/source/edit/syntaxhighlight.cxx                               |    2 
 svtools/source/filter/SvFilterOptionsDialog.cxx                       |    2 
 svtools/source/filter/filter.cxx                                      |    2 
 svtools/source/graphic/provider.cxx                                   |    2 
 svtools/source/misc/ehdl.cxx                                          |    6 
 svtools/source/misc/langhelp.cxx                                      |    4 
 svtools/source/misc/svtresid.cxx                                      |    2 
 svtools/source/svhtml/htmlout.cxx                                     |    2 
 svx/Library_textconversiondlgs.mk                                     |    1 
 svx/source/accessibility/AccessibleFrameSelector.cxx                  |    2 
 svx/source/dialog/_contdlg.cxx                                        |    4 
 svx/source/dialog/compressgraphicdialog.cxx                           |    2 
 svx/source/dialog/dialcontrol.cxx                                     |    2 
 svx/source/dialog/dialmgr.cxx                                         |    2 
 svx/source/dialog/imapdlg.cxx                                         |    4 
 svx/source/dialog/simptabl.cxx                                        |    2 
 svx/source/dialog/swframeexample.cxx                                  |    2 
 svx/source/fmcomp/fmgridcl.cxx                                        |    2 
 svx/source/fmcomp/gridcell.cxx                                        |    4 
 svx/source/fmcomp/gridctrl.cxx                                        |    2 
 svx/source/form/datanavi.cxx                                          |    2 
 svx/source/form/filtnav.cxx                                           |    2 
 svx/source/form/fmshimp.cxx                                           |    2 
 svx/source/form/formcontroller.cxx                                    |    2 
 svx/source/gallery2/galmisc.cxx                                       |    2 
 svx/source/gallery2/galobj.cxx                                        |    2 
 svx/source/items/numfmtsh.cxx                                         |    2 
 svx/source/svdraw/svdattr.cxx                                         |    2 
 svx/source/svdraw/svdetc.cxx                                          |    2 
 svx/source/svdraw/svdmodel.cxx                                        |    2 
 svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx |    2 
 sw/CppunitTest_sw_subsequent_rtfimport.mk                             |    1 
 sw/qa/extras/rtfimport/rtfimport.cxx                                  |    8 
 sw/source/core/access/acccontext.cxx                                  |    2 
 sw/source/core/bastyp/init.cxx                                        |    2 
 sw/source/filter/ww8/ww8scan.cxx                                      |    2 
 sw/source/ui/app/docshini.cxx                                         |    2 
 sw/source/ui/config/optpage.cxx                                       |    2 
 sw/source/ui/docvw/srcedtw.cxx                                        |    4 
 sw/source/ui/lingu/olmenu.cxx                                         |   10 
 toolkit/Library_tk.mk                                                 |    1 
 toolkit/source/awt/vclxaccessiblecomponent.cxx                        |    2 
 toolkit/source/controls/grid/sortablegriddatamodel.cxx                |    2 
 toolkit/source/helper/tkresmgr.cxx                                    |    2 
 uui/Library_uui.mk                                                    |    1 
 uui/source/iahndl-ssl.cxx                                             |    2 
 vcl/generic/print/genprnpsp.cxx                                       |    2 
 vcl/generic/print/genpspgraphics.cxx                                  |    2 
 vcl/inc/vcl/settings.hxx                                              |   26 --
 vcl/source/app/dbggui.cxx                                             |    2 
 vcl/source/app/settings.cxx                                           |  106 ++--------
 vcl/source/app/svapp.cxx                                              |    7 
 vcl/source/app/svdata.cxx                                             |    2 
 vcl/source/control/edit.cxx                                           |   33 ++-
 vcl/source/control/field.cxx                                          |   16 -
 vcl/source/control/field2.cxx                                         |   14 -
 vcl/source/control/ilstbox.cxx                                        |    2 
 vcl/source/edit/texteng.cxx                                           |    2 
 vcl/source/edit/vclmedit.cxx                                          |    2 
 vcl/source/edit/xtextedt.cxx                                          |    2 
 vcl/source/gdi/impimagetree.cxx                                       |    3 
 vcl/source/gdi/outdev3.cxx                                            |    4 
 vcl/source/window/builder.cxx                                         |    2 
 vcl/source/window/dlgctrl.cxx                                         |    2 
 vcl/source/window/menu.cxx                                            |    6 
 vcl/source/window/mnemonic.cxx                                        |    6 
 vcl/source/window/window.cxx                                          |    4 
 vcl/source/window/window2.cxx                                         |    2 
 vcl/unx/generic/app/saldisp.cxx                                       |    2 
 vcl/unx/generic/printer/ppdparser.cxx                                 |    2 
 vcl/unx/gtk/fpicker/SalGtkPicker.cxx                                  |    3 
 vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx                              |    2 
 writerfilter/source/rtftok/rtfdocumentimpl.cxx                        |    2 
 writerfilter/source/rtftok/rtftokenizer.cxx                           |    2 
 223 files changed, 379 insertions(+), 395 deletions(-)

New commits:
commit 9955dbebbdf1b7d36fec272dfea46f57fab47e19
Author: Eike Rathke <erack at redhat.com>
Date:   Thu Nov 22 12:26:52 2012 +0100

    AllSettings with LanguageTag
    
    Change-Id: I710ae66e51139662eb442b681fdf9cc9d158551d

diff --git a/accessibility/Library_acc.mk b/accessibility/Library_acc.mk
index d10769f..d0a0e36 100644
--- a/accessibility/Library_acc.mk
+++ b/accessibility/Library_acc.mk
@@ -40,6 +40,7 @@ $(eval $(call gb_Library_use_libraries,acc,\
     cppu \
     cppuhelper \
     sal \
+    i18nisolang1 \
     sot \
     svl \
     svt \
diff --git a/accessibility/source/extended/accessibleiconchoicectrlentry.cxx b/accessibility/source/extended/accessibleiconchoicectrlentry.cxx
index 01ea6fd..b1b58fc 100644
--- a/accessibility/source/extended/accessibleiconchoicectrlentry.cxx
+++ b/accessibility/source/extended/accessibleiconchoicectrlentry.cxx
@@ -185,7 +185,7 @@ throw(RuntimeException)
     Locale AccessibleIconChoiceCtrlEntry::implGetLocale()
     {
         Locale aLocale;
-        aLocale = Application::GetSettings().GetUILocale();
+        aLocale = Application::GetSettings().GetUILanguageTag().getLocale();
 
         return aLocale;
     }
diff --git a/accessibility/source/extended/accessiblelistboxentry.cxx b/accessibility/source/extended/accessiblelistboxentry.cxx
index e0b5bbb..1c038e7 100644
--- a/accessibility/source/extended/accessiblelistboxentry.cxx
+++ b/accessibility/source/extended/accessiblelistboxentry.cxx
@@ -182,7 +182,7 @@ namespace accessibility
     Locale AccessibleListBoxEntry::implGetLocale()
     {
         Locale aLocale;
-        aLocale = Application::GetSettings().GetUILocale();
+        aLocale = Application::GetSettings().GetUILanguageTag().getLocale();
 
         return aLocale;
     }
diff --git a/accessibility/source/extended/accessibletabbar.cxx b/accessibility/source/extended/accessibletabbar.cxx
index ee34dd8..8e1730b 100644
--- a/accessibility/source/extended/accessibletabbar.cxx
+++ b/accessibility/source/extended/accessibletabbar.cxx
@@ -386,7 +386,7 @@ namespace accessibility
     {
         OExternalLockGuard aGuard( this );
 
-        return Application::GetSettings().GetLocale();
+        return Application::GetSettings().GetLanguageTag().getLocale();
     }
 
     // -----------------------------------------------------------------------------
diff --git a/accessibility/source/extended/accessibletabbarpage.cxx b/accessibility/source/extended/accessibletabbarpage.cxx
index 5d84d49..3fe2426 100644
--- a/accessibility/source/extended/accessibletabbarpage.cxx
+++ b/accessibility/source/extended/accessibletabbarpage.cxx
@@ -394,7 +394,7 @@ namespace accessibility
     {
         OExternalLockGuard aGuard( this );
 
-        return Application::GetSettings().GetLocale();
+        return Application::GetSettings().GetLanguageTag().getLocale();
     }
 
     // -----------------------------------------------------------------------------
diff --git a/accessibility/source/extended/accessibletabbarpagelist.cxx b/accessibility/source/extended/accessibletabbarpagelist.cxx
index eed67be..8899086 100644
--- a/accessibility/source/extended/accessibletabbarpagelist.cxx
+++ b/accessibility/source/extended/accessibletabbarpagelist.cxx
@@ -567,7 +567,7 @@ namespace accessibility
     {
         OExternalLockGuard aGuard( this );
 
-        return Application::GetSettings().GetLocale();
+        return Application::GetSettings().GetLanguageTag().getLocale();
     }
 
     // -----------------------------------------------------------------------------
diff --git a/accessibility/source/helper/accresmgr.cxx b/accessibility/source/helper/accresmgr.cxx
index 3df8744..81e675d 100644
--- a/accessibility/source/helper/accresmgr.cxx
+++ b/accessibility/source/helper/accresmgr.cxx
@@ -43,7 +43,7 @@ void TkResMgr::ensureImplExists()
     if (m_pImpl)
         return;
 
-    ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILocale();
+    ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILanguageTag().getLocale();
 
     m_pImpl = SimpleResMgr::Create("acc", aLocale );
 
diff --git a/accessibility/source/standard/accessiblemenucomponent.cxx b/accessibility/source/standard/accessiblemenucomponent.cxx
index f6a4ba3..3bf4d15 100644
--- a/accessibility/source/standard/accessiblemenucomponent.cxx
+++ b/accessibility/source/standard/accessiblemenucomponent.cxx
@@ -247,7 +247,7 @@ Locale OAccessibleMenuComponent::getLocale(  ) throw (IllegalAccessibleComponent
 {
     OExternalLockGuard aGuard( this );
 
-    return Application::GetSettings().GetLocale();
+    return Application::GetSettings().GetLanguageTag().getLocale();
 }
 
 // -----------------------------------------------------------------------------
diff --git a/accessibility/source/standard/accessiblemenuitemcomponent.cxx b/accessibility/source/standard/accessiblemenuitemcomponent.cxx
index b60504c..e458e95 100644
--- a/accessibility/source/standard/accessiblemenuitemcomponent.cxx
+++ b/accessibility/source/standard/accessiblemenuitemcomponent.cxx
@@ -391,7 +391,7 @@ Locale OAccessibleMenuItemComponent::getLocale(  ) throw (IllegalAccessibleCompo
 {
     OExternalLockGuard aGuard( this );
 
-    return Application::GetSettings().GetLocale();
+    return Application::GetSettings().GetLanguageTag().getLocale();
 }
 
 // -----------------------------------------------------------------------------
diff --git a/accessibility/source/standard/vclxaccessiblelistitem.cxx b/accessibility/source/standard/vclxaccessiblelistitem.cxx
index a4bc12f..9676f78 100644
--- a/accessibility/source/standard/vclxaccessiblelistitem.cxx
+++ b/accessibility/source/standard/vclxaccessiblelistitem.cxx
@@ -134,7 +134,7 @@ OUString VCLXAccessibleListItem::implGetText()
 // -----------------------------------------------------------------------------
 Locale VCLXAccessibleListItem::implGetLocale()
 {
-    return Application::GetSettings().GetLocale();
+    return Application::GetSettings().GetLanguageTag().getLocale();
 }
 // -----------------------------------------------------------------------------
 void VCLXAccessibleListItem::implGetSelection( sal_Int32& nStartIndex, sal_Int32& nEndIndex )
diff --git a/accessibility/source/standard/vclxaccessiblemenuitem.cxx b/accessibility/source/standard/vclxaccessiblemenuitem.cxx
index ff70acb..dc36a48 100644
--- a/accessibility/source/standard/vclxaccessiblemenuitem.cxx
+++ b/accessibility/source/standard/vclxaccessiblemenuitem.cxx
@@ -137,7 +137,7 @@ OUString VCLXAccessibleMenuItem::implGetText()
 
 Locale VCLXAccessibleMenuItem::implGetLocale()
 {
-    return Application::GetSettings().GetLocale();
+    return Application::GetSettings().GetLanguageTag().getLocale();
 }
 
 // -----------------------------------------------------------------------------
diff --git a/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx b/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx
index 650dcfd..f026fb5 100644
--- a/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx
+++ b/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx
@@ -191,7 +191,7 @@ OUString VCLXAccessibleStatusBarItem::implGetText()
 
 lang::Locale VCLXAccessibleStatusBarItem::implGetLocale()
 {
-    return Application::GetSettings().GetLocale();
+    return Application::GetSettings().GetLanguageTag().getLocale();
 }
 
 // -----------------------------------------------------------------------------
@@ -381,7 +381,7 @@ Locale VCLXAccessibleStatusBarItem::getLocale(  ) throw (IllegalAccessibleCompon
 {
     OExternalLockGuard aGuard( this );
 
-    return Application::GetSettings().GetLocale();
+    return Application::GetSettings().GetLanguageTag().getLocale();
 }
 
 // -----------------------------------------------------------------------------
diff --git a/accessibility/source/standard/vclxaccessibletabpage.cxx b/accessibility/source/standard/vclxaccessibletabpage.cxx
index 144e625..67a4c87 100644
--- a/accessibility/source/standard/vclxaccessibletabpage.cxx
+++ b/accessibility/source/standard/vclxaccessibletabpage.cxx
@@ -224,7 +224,7 @@ OUString VCLXAccessibleTabPage::implGetText()
 
 lang::Locale VCLXAccessibleTabPage::implGetLocale()
 {
-    return Application::GetSettings().GetLocale();
+    return Application::GetSettings().GetLanguageTag().getLocale();
 }
 
 // -----------------------------------------------------------------------------
@@ -429,7 +429,7 @@ Locale VCLXAccessibleTabPage::getLocale(  ) throw (IllegalAccessibleComponentSta
 {
     OExternalLockGuard aGuard( this );
 
-    return Application::GetSettings().GetLocale();
+    return Application::GetSettings().GetLanguageTag().getLocale();
 }
 
 // -----------------------------------------------------------------------------
diff --git a/accessibility/source/standard/vclxaccessibletextcomponent.cxx b/accessibility/source/standard/vclxaccessibletextcomponent.cxx
index 5017521..e186c6b 100644
--- a/accessibility/source/standard/vclxaccessibletextcomponent.cxx
+++ b/accessibility/source/standard/vclxaccessibletextcomponent.cxx
@@ -106,7 +106,7 @@ OUString VCLXAccessibleTextComponent::implGetText()
 
 lang::Locale VCLXAccessibleTextComponent::implGetLocale()
 {
-    return Application::GetSettings().GetLocale();
+    return Application::GetSettings().GetLanguageTag().getLocale();
 }
 
 // -----------------------------------------------------------------------------
diff --git a/accessibility/source/standard/vclxaccessibletoolboxitem.cxx b/accessibility/source/standard/vclxaccessibletoolboxitem.cxx
index e7e9f30..04889bf 100644
--- a/accessibility/source/standard/vclxaccessibletoolboxitem.cxx
+++ b/accessibility/source/standard/vclxaccessibletoolboxitem.cxx
@@ -229,7 +229,7 @@ OUString VCLXAccessibleToolBoxItem::implGetText()
 // -----------------------------------------------------------------------------
 Locale VCLXAccessibleToolBoxItem::implGetLocale()
 {
-    return Application::GetSettings().GetUILocale();
+    return Application::GetSettings().GetUILanguageTag().getLocale();
 }
 // -----------------------------------------------------------------------------
 void VCLXAccessibleToolBoxItem::implGetSelection( sal_Int32& nStartIndex, sal_Int32& nEndIndex )
diff --git a/avmedia/Library_avmedia.mk b/avmedia/Library_avmedia.mk
index 40f952e..2dfd7c6 100644
--- a/avmedia/Library_avmedia.mk
+++ b/avmedia/Library_avmedia.mk
@@ -50,6 +50,7 @@ $(eval $(call gb_Library_use_libraries,avmedia,\
 	cppu \
 	cppuhelper \
 	sal \
+	i18nisolang1 \
 	sfx \
 	svl \
 	svt \
diff --git a/avmedia/source/framework/mediamisc.cxx b/avmedia/source/framework/mediamisc.cxx
index ca4cf57..87468d8 100644
--- a/avmedia/source/framework/mediamisc.cxx
+++ b/avmedia/source/framework/mediamisc.cxx
@@ -29,7 +29,7 @@ ResMgr* GetResMgr()
 
     if( !pResMgr )
     {
-        pResMgr = ResMgr::CreateResMgr("avmedia", Application::GetSettings().GetUILocale());
+        pResMgr = ResMgr::CreateResMgr("avmedia", Application::GetSettings().GetUILanguageTag().getLocale());
     }
 
     return pResMgr;
diff --git a/basctl/Library_basctl.mk b/basctl/Library_basctl.mk
index b6e1c3b..ce7cbb7 100644
--- a/basctl/Library_basctl.mk
+++ b/basctl/Library_basctl.mk
@@ -47,6 +47,7 @@ $(eval $(call gb_Library_use_libraries,basctl,\
 	editeng \
 	fwe \
 	sal \
+	i18nisolang1 \
 	sb \
 	sfx \
 	sot \
diff --git a/basctl/source/accessibility/accessibledialogcontrolshape.cxx b/basctl/source/accessibility/accessibledialogcontrolshape.cxx
index afc4558..86738b6 100644
--- a/basctl/source/accessibility/accessibledialogcontrolshape.cxx
+++ b/basctl/source/accessibility/accessibledialogcontrolshape.cxx
@@ -484,7 +484,7 @@ Locale AccessibleDialogControlShape::getLocale(  ) throw (IllegalAccessibleCompo
 {
     OExternalLockGuard aGuard( this );
 
-    return Application::GetSettings().GetLocale();
+    return Application::GetSettings().GetLanguageTag().getLocale();
 }
 
 // -----------------------------------------------------------------------------
diff --git a/basctl/source/accessibility/accessibledialogwindow.cxx b/basctl/source/accessibility/accessibledialogwindow.cxx
index d360799..0e4dd99 100644
--- a/basctl/source/accessibility/accessibledialogwindow.cxx
+++ b/basctl/source/accessibility/accessibledialogwindow.cxx
@@ -801,7 +801,7 @@ Locale AccessibleDialogWindow::getLocale(  ) throw (IllegalAccessibleComponentSt
 {
     OExternalLockGuard aGuard( this );
 
-    return Application::GetSettings().GetLocale();
+    return Application::GetSettings().GetLanguageTag().getLocale();
 }
 
 // -----------------------------------------------------------------------------
diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index db2888c..c95ac09 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -279,7 +279,7 @@ String EditorWindow::GetWordAtCursor()
             const TextPaM& rSelStart = rSelection.GetStart();
             const TextPaM& rSelEnd = rSelection.GetEnd();
             String aText = pTextEngine->GetText( rSelEnd.GetPara() );
-            CharClass aClass( ::comphelper::getProcessComponentContext() , Application::GetSettings().GetLocale() );
+            CharClass aClass( ::comphelper::getProcessComponentContext() , Application::GetSettings().GetLanguageTag().getLocale() );
             xub_StrLen nSelStart = static_cast< xub_StrLen >( rSelStart.GetIndex() );
             xub_StrLen nSelEnd = static_cast< xub_StrLen >( rSelEnd.GetIndex() );
             xub_StrLen nLength = static_cast< xub_StrLen >( aText.Len() );
@@ -826,7 +826,7 @@ void EditorWindow::ImplSetFont()
         get_value_or( OUString() ) );
     if ( sFontName.isEmpty() )
     {
-        Font aTmpFont( OutputDevice::GetDefaultFont( DEFAULTFONT_FIXED, Application::GetSettings().GetUILanguage(), 0 , this ) );
+        Font aTmpFont( OutputDevice::GetDefaultFont( DEFAULTFONT_FIXED, Application::GetSettings().GetUILanguageTag().getLanguageType(), 0 , this ) );
         sFontName = aTmpFont.GetName();
     }
     Size aFontSize(0, officecfg::Office::Common::Font::SourceViewFont::FontHeight::get());
diff --git a/basctl/source/basicide/baside3.cxx b/basctl/source/basicide/baside3.cxx
index 959fa8c..4d4e0bc 100644
--- a/basctl/source/basicide/baside3.cxx
+++ b/basctl/source/basicide/baside3.cxx
@@ -1065,7 +1065,7 @@ bool implImportDialog( Window* pWin, const OUString& rCurPath, const ScriptDocum
             }
 
             // Resource?
-            ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILocale();
+            ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILanguageTag().getLocale();
             Reference< task::XInteractionHandler > xDummyHandler;
             bool bReadOnly = true;
             Reference< XStringResourceWithLocation > xImportStringResource =
diff --git a/basctl/source/basicide/iderdll.cxx b/basctl/source/basicide/iderdll.cxx
index c0669e8..966a6ec 100644
--- a/basctl/source/basicide/iderdll.cxx
+++ b/basctl/source/basicide/iderdll.cxx
@@ -126,7 +126,7 @@ Dll::Dll () :
     (void)pFact;
 
     ResMgr* pMgr = ResMgr::CreateResMgr(
-        "basctl", Application::GetSettings().GetUILocale()
+        "basctl", Application::GetSettings().GetUILanguageTag().getLocale()
     );
 
     Module::Get() = new Module( pMgr, &DocShell::Factory() );
diff --git a/basctl/source/dlged/managelang.cxx b/basctl/source/dlged/managelang.cxx
index 61b41eb..b58b326 100644
--- a/basctl/source/dlged/managelang.cxx
+++ b/basctl/source/dlged/managelang.cxx
@@ -61,7 +61,7 @@ namespace {
         long nWidth = 0;
         Reference< XBreakIterator > xBreakIter( vcl::unohelper::CreateBreakIterator() );
         sal_Int32 nStartPos = 0;
-        const Locale aLocale = Application::GetSettings().GetUILocale();
+        const Locale aLocale = Application::GetSettings().GetUILanguageTag().getLocale();
         Boundary aBoundary = xBreakIter->getWordBoundary(
             rText, nStartPos, aLocale, WordType::ANYWORD_IGNOREWHITESPACES, true );
 
@@ -341,7 +341,7 @@ void SetDefaultLanguageDialog::FillLanguageBox()
     }
     else
         // preselect current UI language
-        m_pLanguageLB->SelectLanguage( Application::GetSettings().GetUILanguage() );
+        m_pLanguageLB->SelectLanguage( Application::GetSettings().GetUILanguageTag().getLanguageType() );
 }
 
 void SetDefaultLanguageDialog::CalcInfoSize()
diff --git a/basic/CppunitTest_basic_scanner.mk b/basic/CppunitTest_basic_scanner.mk
index 193c4a5..b5eccfa 100644
--- a/basic/CppunitTest_basic_scanner.mk
+++ b/basic/CppunitTest_basic_scanner.mk
@@ -21,6 +21,7 @@ $(eval $(call gb_CppunitTest_use_libraries,basic_scanner, \
     cppuhelper \
     sal \
     salhelper \
+	i18nisolang1 \
     sb \
     sot \
     svl \
diff --git a/basic/Library_sb.mk b/basic/Library_sb.mk
index 73eb631..16bb39e 100644
--- a/basic/Library_sb.mk
+++ b/basic/Library_sb.mk
@@ -42,6 +42,7 @@ $(eval $(call gb_Library_use_libraries,sb,\
 	cppuhelper \
 	sal \
 	salhelper \
+	i18nisolang1 \
 	sot \
 	svl \
 	svt \
diff --git a/basic/source/classes/global.cxx b/basic/source/classes/global.cxx
index 2907b5c..43a3414 100644
--- a/basic/source/classes/global.cxx
+++ b/basic/source/classes/global.cxx
@@ -45,7 +45,7 @@ namespace
                 comphelper::getProcessComponentContext(),
                 com::sun::star::i18n::TransliterationModules_IGNORE_CASE )
         {
-            const LanguageType eOfficeLanguage = Application::GetSettings().GetLanguage();
+            const LanguageType eOfficeLanguage = Application::GetSettings().GetLanguageTag().getLanguageType();
             m_aTransliteration.loadModuleIfNeeded( eOfficeLanguage );
         }
         utl::TransliterationWrapper& getTransliteration() { return m_aTransliteration; }
diff --git a/basic/source/comp/basiccharclass.cxx b/basic/source/comp/basiccharclass.cxx
index e3a83f3..4b905d7 100644
--- a/basic/source/comp/basiccharclass.cxx
+++ b/basic/source/comp/basiccharclass.cxx
@@ -100,7 +100,7 @@ bool BasicCharClass::isLetterUnicode( sal_Unicode c )
 {
   static CharClass* pCharClass = NULL;
   if( pCharClass == NULL )
-    pCharClass = new CharClass( Application::GetSettings().GetLocale() );
+    pCharClass = new CharClass( Application::GetSettings().GetLanguageTag().getLocale() );
   // can we get pCharClass to accept a sal_Unicode instead of this waste?
   return pCharClass->isLetter( rtl::OUString(c), 0 );
 }
diff --git a/basic/source/runtime/basrdll.cxx b/basic/source/runtime/basrdll.cxx
index 882ffc0..ccd50c0 100644
--- a/basic/source/runtime/basrdll.cxx
+++ b/basic/source/runtime/basrdll.cxx
@@ -36,7 +36,7 @@ BasResId::BasResId( sal_uInt32 nId ) :
 BasicDLL::BasicDLL()
 {
     BASIC_DLL() = this;
-    ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILocale();
+    ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILanguageTag().getLocale();
     pBasResMgr = ResMgr::CreateResMgr("sb", aLocale );
     bDebugMode = false;
     bBreakEnabled = true;
diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index 18da6ae..27ba48f 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -137,7 +137,7 @@ static const CharClass& GetCharClass( void )
     if( bNeedsInit )
     {
         bNeedsInit = false;
-        aLocale = Application::GetSettings().GetLocale();
+        aLocale = Application::GetSettings().GetLanguageTag().getLocale();
     }
     static CharClass aCharClass( aLocale );
     return aCharClass;
@@ -1650,7 +1650,7 @@ RTLFUNC(StrComp)
                     i18n::TransliterationModules_IGNORE_WIDTH );
         }
 
-        LanguageType eLangType = GetpApp()->GetSettings().GetLanguage();
+        LanguageType eLangType = GetpApp()->GetSettings().GetLanguageTag().getLanguageType();
         pTransliterationWrapper->loadModuleIfNeeded( eLangType );
         nRetValue = pTransliterationWrapper->compareString( rStr1, rStr2 );
     }
@@ -1953,7 +1953,7 @@ RTLFUNC(DateValue)
         // by using SbiInstance::GetNumberFormatter.
         // It seems that both locale number formatter and English number formatter
         // are supported in Visual Basic.
-        LanguageType eLangType = GetpApp()->GetSettings().GetLanguage();
+        LanguageType eLangType = GetpApp()->GetSettings().GetLanguageTag().getLanguageType();
         if( !bSuccess && ( eLangType != LANGUAGE_ENGLISH_US ) )
         {
             // Create a new SvNumberFormatter by using LANGUAGE_ENGLISH to get the date value;
diff --git a/basic/source/runtime/methods1.cxx b/basic/source/runtime/methods1.cxx
index c6a37f1..aac1e63 100644
--- a/basic/source/runtime/methods1.cxx
+++ b/basic/source/runtime/methods1.cxx
@@ -74,7 +74,7 @@ static Reference< XCalendar3 > getLocaleCalendar( void )
     static com::sun::star::lang::Locale aLastLocale;
     static bool bNeedsInit = true;
 
-    com::sun::star::lang::Locale aLocale = Application::GetSettings().GetLocale();
+    com::sun::star::lang::Locale aLocale = Application::GetSettings().GetLanguageTag().getLocale();
     bool bNeedsReload = false;
     if( bNeedsInit )
     {
@@ -82,7 +82,8 @@ static Reference< XCalendar3 > getLocaleCalendar( void )
         bNeedsReload = true;
     }
     else if( aLocale.Language != aLastLocale.Language ||
-             aLocale.Country  != aLastLocale.Country )
+             aLocale.Country  != aLastLocale.Country ||
+             aLocale.Variant  != aLastLocale.Variant )
     {
         bNeedsReload = true;
     }
@@ -2543,7 +2544,7 @@ RTLFUNC(FormatDateTime)
                 SbiInstance::PrepareNumberFormatter( pFormatter, n, n, n );
             }
 
-            LanguageType eLangType = GetpApp()->GetSettings().GetLanguage();
+            LanguageType eLangType = GetpApp()->GetSettings().GetLanguageTag().getLanguageType();
             sal_uIntPtr nIndex = pFormatter->GetFormatIndex( NF_DATE_SYSTEM_LONG, eLangType );
             Color* pCol;
             pFormatter->GetOutputString( dDate, nIndex, aRetStr, &pCol );
diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx
index 4825263..1223577 100644
--- a/basic/source/runtime/runtime.cxx
+++ b/basic/source/runtime/runtime.cxx
@@ -321,7 +321,7 @@ SbiDllMgr* SbiInstance::GetDllMgr()
 // #39629 create NumberFormatter with the help of a static method now
 SvNumberFormatter* SbiInstance::GetNumberFormatter()
 {
-    LanguageType eLangType = GetpApp()->GetSettings().GetLanguage();
+    LanguageType eLangType = GetpApp()->GetSettings().GetLanguageTag().getLanguageType();
     SvtSysLocale aSysLocale;
     DateFormat eDate = aSysLocale.GetLocaleData().getDateFormat();
     if( pNumberFormatter )
@@ -358,7 +358,7 @@ void SbiInstance::PrepareNumberFormatter( SvNumberFormatter*& rpNumberFormatter,
     }
     else
     {
-        eLangType = GetpApp()->GetSettings().GetLanguage();
+        eLangType = GetpApp()->GetSettings().GetLanguageTag().getLanguageType();
     }
     DateFormat eDate;
     if( peFormatterDateFormat )
diff --git a/basic/source/runtime/step0.cxx b/basic/source/runtime/step0.cxx
index dc07984..4128473 100644
--- a/basic/source/runtime/step0.cxx
+++ b/basic/source/runtime/step0.cxx
@@ -289,7 +289,7 @@ void SbiRuntime::StepLIKE()
 
     aSearchOpt.algorithmType = com::sun::star::util::SearchAlgorithms_REGEXP;
 
-    aSearchOpt.Locale = Application::GetSettings().GetLocale();
+    aSearchOpt.Locale = Application::GetSettings().GetLanguageTag().getLocale();
     aSearchOpt.searchString = pattern;
 
     int bTextMode(1);
diff --git a/basic/source/sbx/sbxdate.cxx b/basic/source/sbx/sbxdate.cxx
index 7c01827..6d0a407 100644
--- a/basic/source/sbx/sbxdate.cxx
+++ b/basic/source/sbx/sbxdate.cxx
@@ -96,7 +96,7 @@ double ImpGetDate( const SbxValues* p )
         }
         else
         {
-            LanguageType eLangType = GetpApp()->GetSettings().GetLanguage();
+            LanguageType eLangType = GetpApp()->GetSettings().GetLanguageTag().getLanguageType();
 
             SvNumberFormatter* pFormatter;
             com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >
@@ -270,7 +270,7 @@ start:
             }
             Color* pColor;
 
-            LanguageType eLangType = GetpApp()->GetSettings().GetLanguage();
+            LanguageType eLangType = GetpApp()->GetSettings().GetLanguageTag().getLanguageType();
             SvNumberFormatter* pFormatter;
             com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >
                 xFactory = comphelper::getProcessServiceFactory();
diff --git a/basic/source/sbx/sbxscan.cxx b/basic/source/sbx/sbxscan.cxx
index 111c8b3..f9a328e 100644
--- a/basic/source/sbx/sbxscan.cxx
+++ b/basic/source/sbx/sbxscan.cxx
@@ -629,7 +629,7 @@ ResMgr* implGetResMgr( void )
     static ResMgr* pResMgr = NULL;
     if( !pResMgr )
     {
-        ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILocale();
+        ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILanguageTag().getLocale();
         pResMgr = ResMgr::CreateResMgr("sb", aLocale );
     }
     return pResMgr;
@@ -725,7 +725,7 @@ void SbxValue::Format( OUString& rRes, const OUString* pFmt ) const
             return;
         }
 
-        LanguageType eLangType = GetpApp()->GetSettings().GetLanguage();
+        LanguageType eLangType = GetpApp()->GetSettings().GetLanguageTag().getLanguageType();
         com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >
             xFactory = comphelper::getProcessServiceFactory();
         SvNumberFormatter aFormatter( xFactory, eLangType );
@@ -853,7 +853,7 @@ void SbxValue::Format( OUString& rRes, const OUString* pFmt ) const
         {
             SbxAppData& rAppData = GetSbxData_Impl();
 
-            LanguageType eLangType = GetpApp()->GetSettings().GetLanguage();
+            LanguageType eLangType = GetpApp()->GetSettings().GetLanguageTag().getLanguageType();
             if( rAppData.pBasicFormater )
             {
                 if( rAppData.eBasicFormaterLangType != eLangType )
diff --git a/basic/source/uno/dlgcont.cxx b/basic/source/uno/dlgcont.cxx
index 7820e72..4be2ef2 100644
--- a/basic/source/uno/dlgcont.cxx
+++ b/basic/source/uno/dlgcont.cxx
@@ -367,7 +367,7 @@ Reference< ::com::sun::star::resource::XStringResourcePersistence >
     bool bReadOnly = pDialogLibrary->mbReadOnly;
 
     // get ui locale
-    ::com::sun  ::star::lang::Locale aLocale = Application::GetSettings().GetUILocale();
+    ::com::sun  ::star::lang::Locale aLocale = Application::GetSettings().GetUILanguageTag().getLocale();
 
     OUString aComment(aResourceFileCommentBase);
     aComment += aLibName;
diff --git a/chart2/Library_chartcontroller.mk b/chart2/Library_chartcontroller.mk
index 96044b9..3f5a420 100644
--- a/chart2/Library_chartcontroller.mk
+++ b/chart2/Library_chartcontroller.mk
@@ -44,6 +44,7 @@ $(eval $(call gb_Library_use_libraries,chartcontroller,\
     drawinglayer \
     editeng \
     sal \
+	i18nisolang1 \
     sfx \
     sot \
     svl \
diff --git a/chart2/source/controller/accessibility/AccessibleBase.cxx b/chart2/source/controller/accessibility/AccessibleBase.cxx
index 7deffc3..837dc04 100644
--- a/chart2/source/controller/accessibility/AccessibleBase.cxx
+++ b/chart2/source/controller/accessibility/AccessibleBase.cxx
@@ -661,7 +661,7 @@ lang::Locale SAL_CALL AccessibleBase::getLocale()
 {
     CheckDisposeState();
 
-    return Application::GetSettings().GetLocale();
+    return Application::GetSettings().GetLanguageTag().getLocale();
 }
 
 // ________ AccessibleBase::XAccessibleComponent ________
diff --git a/cui/source/dialogs/insdlg.cxx b/cui/source/dialogs/insdlg.cxx
index de7e610..4d9c808 100644
--- a/cui/source/dialogs/insdlg.cxx
+++ b/cui/source/dialogs/insdlg.cxx
@@ -71,7 +71,7 @@ using ::rtl::OUString;
 static String impl_getSvtResString( sal_uInt32 nId )
 {
     String aRet;
-    com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILocale();
+    com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILanguageTag().getLocale();
     ResMgr* pMgr = ResMgr::CreateResMgr( "svt", aLocale );
     if( pMgr )
     {
diff --git a/cui/source/dialogs/pastedlg.cxx b/cui/source/dialogs/pastedlg.cxx
index 14a55da..43c6e6e 100644
--- a/cui/source/dialogs/pastedlg.cxx
+++ b/cui/source/dialogs/pastedlg.cxx
@@ -199,7 +199,7 @@ sal_uLong SvPasteObjectDialog::GetFormat( const TransferableDataHelper& rHelper,
 
         if( !aTypeName.Len() && !aSourceName.Len() )
         {
-            com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILocale();
+            com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILanguageTag().getLocale();
             ResMgr* pMgr = ResMgr::CreateResMgr( "svt", aLocale );
             // global resource from svtools (former so3 resource)
             if( pMgr )
diff --git a/cui/source/dialogs/postdlg.cxx b/cui/source/dialogs/postdlg.cxx
index 45971a7..90fe48c 100644
--- a/cui/source/dialogs/postdlg.cxx
+++ b/cui/source/dialogs/postdlg.cxx
@@ -124,7 +124,7 @@ SvxPostItDialog::SvxPostItDialog( Window* pParent,
     }
     else
     {
-        LocaleDataWrapper aLocaleWrapper( Application::GetSettings().GetLocale() );
+        LocaleDataWrapper aLocaleWrapper( Application::GetSettings().GetLanguageTag().getLocale() );
         aDateStr = aLocaleWrapper.getDate( Date( Date::SYSTEM ) );
     }
 
@@ -212,7 +212,7 @@ IMPL_LINK_NOARG(SvxPostItDialog, Stamp)
     Date aDate( Date::SYSTEM );
     Time aTime( Time::SYSTEM );
     String aTmp( SvtUserOptions().GetID() );
-    LocaleDataWrapper aLocaleWrapper( Application::GetSettings().GetLocale() );
+    LocaleDataWrapper aLocaleWrapper( Application::GetSettings().GetLanguageTag().getLocale() );
     String aStr( aEditED.GetText() );
     aStr.AppendAscii( RTL_CONSTASCII_STRINGPARAM( "\n---- " ) );
 
@@ -239,7 +239,7 @@ IMPL_LINK_NOARG(SvxPostItDialog, Stamp)
 
 IMPL_LINK_NOARG(SvxPostItDialog, OKHdl)
 {
-    LocaleDataWrapper aLocaleWrapper( Application::GetSettings().GetLocale() );
+    LocaleDataWrapper aLocaleWrapper( Application::GetSettings().GetLanguageTag().getLocale() );
     pOutSet = new SfxItemSet( rSet );
     pOutSet->Put( SvxPostItAuthorItem( SvtUserOptions().GetID(),
                                          rSet.GetPool()->GetWhich( SID_ATTR_POSTIT_AUTHOR ) ) );
diff --git a/cui/source/factory/cuiresmgr.cxx b/cui/source/factory/cuiresmgr.cxx
index b5ecacc..cd882e2 100644
--- a/cui/source/factory/cuiresmgr.cxx
+++ b/cui/source/factory/cuiresmgr.cxx
@@ -28,7 +28,7 @@ ResMgr* CuiResMgr::GetResMgr()
 
     if ( !pResMgr )
     {
-        pResMgr = ResMgr::CreateResMgr("cui", Application::GetSettings().GetUILocale());
+        pResMgr = ResMgr::CreateResMgr("cui", Application::GetSettings().GetUILanguageTag().getLocale());
     }
 
     return pResMgr;
diff --git a/cui/source/options/optasian.cxx b/cui/source/options/optasian.cxx
index 20a6794..ed20545 100644
--- a/cui/source/options/optasian.cxx
+++ b/cui/source/options/optasian.cxx
@@ -290,7 +290,7 @@ void SvxAsianLayoutPage::Reset( const SfxItemSet& )
     if(USHRT_MAX == eLastUsedLanguageTypeForForbiddenCharacters)
     {
         eLastUsedLanguageTypeForForbiddenCharacters = SvxLocaleToLanguage(
-            Application::GetSettings().GetLocale() );
+            Application::GetSettings().GetLanguageTag().getLocale() );
         if (MsLangId::isSimplifiedChinese(eLastUsedLanguageTypeForForbiddenCharacters))
             eLastUsedLanguageTypeForForbiddenCharacters = LANGUAGE_CHINESE_SIMPLIFIED;
         else if (MsLangId::isTraditionalChinese(eLastUsedLanguageTypeForForbiddenCharacters))
diff --git a/cui/source/options/optdict.cxx b/cui/source/options/optdict.cxx
index e166448..091e166 100644
--- a/cui/source/options/optdict.cxx
+++ b/cui/source/options/optdict.cxx
@@ -376,7 +376,7 @@ sal_uInt16 SvxEditDictionaryDialog::GetLBInsertPos(const String &rDicWord)
 {
     sal_uInt16 nPos = USHRT_MAX;
 
-    IntlWrapper aIntlWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLocale() );
+    IntlWrapper aIntlWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLanguageTag().getLocale() );
     const CollatorWrapper* pCollator = aIntlWrapper.getCollator();
     sal_uInt16 j;
     for( j = 0; j < aWordsLB.GetEntryCount(); j++ )
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index 2bf4f0e..38d050d 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -1235,7 +1235,7 @@ OfaLanguagesTabPage::OfaLanguagesTabPage( Window* pParent, const SfxItemSet& rSe
 
     String aUILang(aStr);
     aUILang += rtl::OUString(" - ");
-    aUILang += pLanguageTable->GetString( Application::GetSettings().GetUILanguage(), true );
+    aUILang += pLanguageTable->GetString( Application::GetSettings().GetUILanguageTag().getLanguageType(), true );
 
     aUserInterfaceLB.InsertEntry(aUILang);
     aUserInterfaceLB.SetEntryData(0, 0);
@@ -1697,7 +1697,7 @@ void OfaLanguagesTabPage::Reset( const SfxItemSet& rSet )
     if (aDatePatternsString.isEmpty())
     {
         Locale aTempLocale;
-        SvxLanguageToLocale( aTempLocale, Application::GetSettings().GetLanguage());
+        SvxLanguageToLocale( aTempLocale, Application::GetSettings().GetLanguageTag().getLanguageType());
         LocaleDataWrapper aLocaleWrapper( aTempLocale );
         aDatePatternsString = lcl_getDatePatternsConfigString( aLocaleWrapper);
     }
diff --git a/cui/source/options/optgenrl.cxx b/cui/source/options/optgenrl.cxx
index 72994ac..5a1438b 100644
--- a/cui/source/options/optgenrl.cxx
+++ b/cui/source/options/optgenrl.cxx
@@ -233,7 +233,7 @@ void SvxGeneralTabPage::CreateControls ()
 {
     // which language bit do we use? (see Lang and vRowInfo[] above)
     unsigned LangBit;
-    switch (LanguageType const eLang = Application::GetSettings().GetUILanguage())
+    switch (LanguageType const eLang = Application::GetSettings().GetUILanguageTag().getLanguageType())
     {
         case LANGUAGE_ENGLISH_US:
             LangBit = Lang::US;
diff --git a/cui/source/options/optlingu.cxx b/cui/source/options/optlingu.cxx
index 05ee3eb..d63a137 100644
--- a/cui/source/options/optlingu.cxx
+++ b/cui/source/options/optlingu.cxx
@@ -737,7 +737,7 @@ SvxLinguData_Impl::SvxLinguData_Impl() :
     xLinguSrvcMgr = LinguServiceManager::create(comphelper::getComponentContext(xMSF));
 
     Locale aCurrentLocale;
-    LanguageType eLang = Application::GetSettings().GetLanguage();
+    LanguageType eLang = Application::GetSettings().GetLanguageTag().getLanguageType();
     SvxLanguageToLocale(aCurrentLocale, eLang);
     Sequence<Any> aArgs(2);//second arguments has to be empty!
     aArgs.getArray()[0] <<= SvxGetLinguPropertySet();
diff --git a/cui/source/options/optupdt.cxx b/cui/source/options/optupdt.cxx
index b0f255f..c1539fc 100644
--- a/cui/source/options/optupdt.cxx
+++ b/cui/source/options/optupdt.cxx
@@ -133,7 +133,7 @@ void SvxOnlineUpdateTabPage::UpdateLastCheckedText()
             aTime = Time( lastCheckedDT.Hours, lastCheckedDT.Minutes );
         }
 
-        LanguageType eUILang = Application::GetSettings().GetUILanguage();
+        LanguageType eUILang = Application::GetSettings().GetUILanguageTag().getLanguageType();
         SvNumberFormatter *pNumberFormatter = new SvNumberFormatter( ::comphelper::getProcessServiceFactory(), eUILang );
         String      aTmpStr;
         Color*      pColor = NULL;
diff --git a/cui/source/tabpages/autocdlg.cxx b/cui/source/tabpages/autocdlg.cxx
index 5fd699a..3aa7112 100644
--- a/cui/source/tabpages/autocdlg.cxx
+++ b/cui/source/tabpages/autocdlg.cxx
@@ -133,7 +133,7 @@ OfaAutoCorrDlg::OfaAutoCorrDlg(Window* pParent, const SfxItemSet* _pSet ) :
 
     // Initialisierung funktionier fuer static nicht unter Linux - deswegen hier
     if( LANGUAGE_SYSTEM == eLastDialogLanguage )
-        eLastDialogLanguage = Application::GetSettings().GetLanguage();
+        eLastDialogLanguage = Application::GetSettings().GetLanguageTag().getLanguageType();
 
     LanguageType nSelectLang = LANGUAGE_DONTKNOW;
     nPos = aLanguageLB.GetEntryPos( (void*)(long) eLastDialogLanguage );
@@ -2008,7 +2008,7 @@ IMPL_LINK( OfaQuoteTabPage, QuoteHdl, PushButton*, pBtn )
     pMap->SetText(nMode < SGL_END ? sStartQuoteDlg  :  sEndQuoteDlg );
     sal_UCS4 cDlg;
     SvxAutoCorrect* pAutoCorrect = SvxAutoCorrCfg::Get().GetAutoCorrect();
-    LanguageType eLang = Application::GetSettings().GetLanguage();
+    LanguageType eLang = Application::GetSettings().GetLanguageTag().getLanguageType();
     switch( nMode )
     {
         case SGL_START:
diff --git a/cui/source/tabpages/numpages.cxx b/cui/source/tabpages/numpages.cxx
index b4ee86b..d09b184 100644
--- a/cui/source/tabpages/numpages.cxx
+++ b/cui/source/tabpages/numpages.cxx
@@ -206,7 +206,7 @@ SvxSingleNumPickTabPage::SvxSingleNumPickTabPage(Window* pParent,
     if(xDefNum.is())
     {
         Sequence< Sequence< PropertyValue > > aNumberings;
-        LanguageType eLang = Application::GetSettings().GetLanguage();
+        LanguageType eLang = Application::GetSettings().GetLanguageTag().getLanguageType();
         Locale aLocale = SvxCreateLocale(eLang);
         try
         {
@@ -568,7 +568,7 @@ SvxNumPickTabPage::SvxNumPickTabPage(Window* pParent,
     if(xDefNum.is())
     {
         Sequence<Reference<XIndexAccess> > aOutlineAccess;
-        LanguageType eLang = Application::GetSettings().GetLanguage();
+        LanguageType eLang = Application::GetSettings().GetLanguageTag().getLanguageType();
         Locale aLocale = SvxCreateLocale(eLang);
         try
         {
diff --git a/cui/source/tabpages/tabstpge.cxx b/cui/source/tabpages/tabstpge.cxx
index d01d497..d0d429b 100644
--- a/cui/source/tabpages/tabstpge.cxx
+++ b/cui/source/tabpages/tabstpge.cxx
@@ -186,7 +186,7 @@ SvxTabulatorTabPage::SvxTabulatorTabPage( Window* pParent,
     aFillChar.SetAccessibleRelationLabeledBy(&aFillSpecial);
 
     // Get the default decimal char from the system
-    LocaleDataWrapper aLocaleWrapper( Application::GetSettings().GetLocale() );
+    LocaleDataWrapper aLocaleWrapper( Application::GetSettings().GetLanguageTag().getLocale() );
     aAktTab.GetDecimal() = aLocaleWrapper.getNumDecimalSep()[0];
     FreeResource();
 }
diff --git a/dbaccess/Library_dbu.mk b/dbaccess/Library_dbu.mk
index f63efab..2e2f5ec 100644
--- a/dbaccess/Library_dbu.mk
+++ b/dbaccess/Library_dbu.mk
@@ -59,6 +59,7 @@ $(eval $(call gb_Library_use_libraries,dbu,\
     fwe \
     sal \
     salhelper \
+	i18nisolang1 \
     sfx \
     sot \
     svl \
diff --git a/dbaccess/source/core/resource/core_resource.cxx b/dbaccess/source/core/resource/core_resource.cxx
index e9894f2..ecc3321 100644
--- a/dbaccess/source/core/resource/core_resource.cxx
+++ b/dbaccess/source/core/resource/core_resource.cxx
@@ -50,7 +50,7 @@ namespace dbaccess
         if (m_pImpl)
             return;
 
-        ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILocale();
+        ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILanguageTag().getLocale();
 
         m_pImpl = ResMgr::CreateResMgr("dba", aLocale);
     }
diff --git a/dbaccess/source/ui/browser/unodatbr.cxx b/dbaccess/source/ui/browser/unodatbr.cxx
index c9b65cd..31b2586 100644
--- a/dbaccess/source/ui/browser/unodatbr.cxx
+++ b/dbaccess/source/ui/browser/unodatbr.cxx
@@ -361,7 +361,7 @@ sal_Bool SbaTableQueryBrowser::Construct(Window* pParent)
 
         // the collator for the string compares
         m_xCollator = Reference< XCollator >( getORB()->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.i18n.Collator")) ), UNO_QUERY_THROW );
-        m_xCollator->loadDefaultCollator( Application::GetSettings().GetLocale(), 0 );
+        m_xCollator->loadDefaultCollator( Application::GetSettings().GetLanguageTag().getLocale(), 0 );
     }
     catch(const Exception&)
     {
diff --git a/dbaccess/source/ui/control/sqledit.cxx b/dbaccess/source/ui/control/sqledit.cxx
index 307ee8b..5a46fcd 100644
--- a/dbaccess/source/ui/control/sqledit.cxx
+++ b/dbaccess/source/ui/control/sqledit.cxx
@@ -248,7 +248,7 @@ void OSqlEdit::ImplSetFont()
         get_value_or( rtl::OUString() ) );
     if ( sFontName.isEmpty() )
     {
-        Font aTmpFont( OutputDevice::GetDefaultFont( DEFAULTFONT_FIXED, Application::GetSettings().GetUILanguage(), 0 , this ) );
+        Font aTmpFont( OutputDevice::GetDefaultFont( DEFAULTFONT_FIXED, Application::GetSettings().GetUILanguageTag().getLanguageType(), 0 , this ) );
         sFontName = aTmpFont.GetName();
     }
     Size aFontSize(
diff --git a/dbaccess/source/ui/dlg/tablespage.cxx b/dbaccess/source/ui/dlg/tablespage.cxx
index 0f605a4..6374759 100644
--- a/dbaccess/source/ui/dlg/tablespage.cxx
+++ b/dbaccess/source/ui/dlg/tablespage.cxx
@@ -273,7 +273,7 @@ DBG_NAME(OTableSubscriptionPage)
                 {
                     m_xCollator = Reference< XCollator >(m_xORB->createInstance(SERVICE_I18N_COLLATOR), UNO_QUERY);
                     if (m_xCollator.is())
-                        m_xCollator->loadDefaultCollator(Application::GetSettings().GetLocale(), 0);
+                        m_xCollator->loadDefaultCollator(Application::GetSettings().GetLanguageTag().getLocale(), 0);
                 }
                 catch(const Exception&)
                 {
diff --git a/dbaccess/source/ui/misc/TokenWriter.cxx b/dbaccess/source/ui/misc/TokenWriter.cxx
index 90522f2..e414c9c 100644
--- a/dbaccess/source/ui/misc/TokenWriter.cxx
+++ b/dbaccess/source/ui/misc/TokenWriter.cxx
@@ -345,7 +345,7 @@ void ODatabaseImportExport::initialize()
     {
         Font aApplicationFont = OutputDevice::GetDefaultFont(
             DEFAULTFONT_SANS_UNICODE,
-            Application::GetSettings().GetUILanguage(),
+            Application::GetSettings().GetUILanguageTag().getLanguageType(),
             DEFAULTFONT_FLAGS_ONLYONE
         );
         m_aFont = VCLUnoHelper::CreateFontDescriptor( aApplicationFont );
diff --git a/dbaccess/source/ui/misc/UITools.cxx b/dbaccess/source/ui/misc/UITools.cxx
index d43e4cd..e28ad80 100644
--- a/dbaccess/source/ui/misc/UITools.cxx
+++ b/dbaccess/source/ui/misc/UITools.cxx
@@ -937,7 +937,7 @@ sal_Bool callColumnFormatDialog(Window* _pParent,
             pFormatDescriptor->Put(SfxBoolItem(SID_ATTR_NUMBERFORMAT_ONE_AREA, sal_True));
             if (!_pFormatter->IsTextFormat(_nFormatKey))
                 // text fields can only have text formats
-                _nFormatKey = _pFormatter->GetStandardFormat(NUMBERFORMAT_TEXT,_pParent->GetSettings().GetLanguage());
+                _nFormatKey = _pFormatter->GetStandardFormat(NUMBERFORMAT_TEXT,_pParent->GetSettings().GetLanguageTag().getLanguageType());
         }
 
         pFormatDescriptor->Put(SfxUInt32Item(SBA_DEF_FMTVALUE, _nFormatKey));
diff --git a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
index ba731ce..5544549 100644
--- a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
+++ b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
@@ -138,7 +138,7 @@ OSelectionBrowseBox::OSelectionBrowseBox( Window* pParent )
     // TriState der ::com::sun::star::form::CheckBox abschalten
     m_pVisibleCell->GetBox().EnableTriState( sal_False );
 
-    Font aTitleFont = OutputDevice::GetDefaultFont( DEFAULTFONT_SANS_UNICODE,Window::GetSettings().GetLanguage(),DEFAULTFONT_FLAGS_ONLYONE);
+    Font aTitleFont = OutputDevice::GetDefaultFont( DEFAULTFONT_SANS_UNICODE,Window::GetSettings().GetLanguageTag().getLanguageType(),DEFAULTFONT_FLAGS_ONLYONE);
     aTitleFont.SetSize(Size(0, 6));
     SetTitleFont(aTitleFont);
 
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 547ed4f..aa70837 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -349,6 +349,7 @@ ResMgr* Desktop::GetDesktopResManager()
             // Use VCL to get the correct language specific message as we
             // are in the bootstrap process and not able to get the installed
             // language!!
+            /* FIXME-BCP47: handle language tag! */
             OUString aUILocaleString = LanguageSelection::getLanguageString();
             sal_Int32 nIndex = 0;
             OUString aLanguage = aUILocaleString.getToken( 0, '-', nIndex);
@@ -359,7 +360,7 @@ ResMgr* Desktop::GetDesktopResManager()
 
             Desktop::pResMgr = ResMgr::SearchCreateResMgr( "dkt", aLocale);
             AllSettings as = GetSettings();
-            as.SetUILocale(aLocale);
+            as.SetUILanguageTag(LanguageTag(aLocale));
             SetSettings(as);
         }
     }
diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
index 20efb30..b12b992 100644
--- a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
+++ b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
@@ -254,7 +254,7 @@ void ExtensionBox_Impl::Init()
 
     m_xRemoveListener = new ExtensionRemovedListener( this );
 
-    m_pLocale = new lang::Locale( Application::GetSettings().GetLocale() );
+    m_pLocale = new lang::Locale( Application::GetSettings().GetLanguageTag().getLocale() );
     m_pCollator = new CollatorWrapper( ::comphelper::getProcessServiceFactory() );
     m_pCollator->loadDefaultCollator( *m_pLocale, i18n::CollatorOptions::CollatorOptions_IGNORE_CASE );
 
diff --git a/desktop/source/deployment/gui/dp_gui_service.cxx b/desktop/source/deployment/gui/dp_gui_service.cxx
index d92ca97..de558fb 100644
--- a/desktop/source/deployment/gui/dp_gui_service.cxx
+++ b/desktop/source/deployment/gui/dp_gui_service.cxx
@@ -239,9 +239,7 @@ void ServiceImpl::startExecuteModal(
                 throw RuntimeException( OUSTR("Cannot initialize VCL!"),
                                         static_cast<OWeakObject *>(this) );
             AllSettings as = app->GetSettings();
-            as.SetUILanguage(
-                LanguageTag(
-                    utl::ConfigManager::getLocale() ).getLanguageType() );
+            as.SetUILanguageTag( LanguageTag( utl::ConfigManager::getLocale() ) );
             app->SetSettings( as );
             app->SetDisplayName(
                 utl::ConfigManager::getProductName() +
diff --git a/drawinglayer/source/processor2d/getdigitlanguage.cxx b/drawinglayer/source/processor2d/getdigitlanguage.cxx
index 000588e..012b39c 100644
--- a/drawinglayer/source/processor2d/getdigitlanguage.cxx
+++ b/drawinglayer/source/processor2d/getdigitlanguage.cxx
@@ -42,7 +42,7 @@ LanguageType drawinglayer::detail::getDigitLanguage() {
     case SvtCTLOptions::NUMERALS_HINDI:
         return LANGUAGE_ARABIC_SAUDI_ARABIA;
     default:
-        return Application::GetSettings().GetLanguage();
+        return Application::GetSettings().GetLanguageTag().getLanguageType();
     }
 }
 
diff --git a/editeng/source/editeng/editview.cxx b/editeng/source/editeng/editview.cxx
index 86084a7..f4301c9 100644
--- a/editeng/source/editeng/editview.cxx
+++ b/editeng/source/editeng/editview.cxx
@@ -91,7 +91,7 @@ static LanguageType lcl_CheckLanguage(
         lang::Locale aLocale( xLangGuess->guessPrimaryLanguage( rText, 0, rText.getLength()) );
 
         // get language as from "Tools/Options - Language Settings - Languages: Locale setting"
-        LanguageType nTmpLang = Application::GetSettings().GetLanguage();
+        LanguageType nTmpLang = Application::GetSettings().GetLanguageTag().getLanguageType();
 
         // if the result from language guessing does not provide a 'Country' part
         // try to get it by looking up the locale setting of the office.
@@ -123,9 +123,9 @@ static LanguageType lcl_CheckLanguage(
         // The default document language from "Tools/Options - Language Settings - Languages: Western"
         aLangList[0] = aLinguOpt.nDefaultLanguage;
         // The one from "Tools/Options - Language Settings - Languages: User interface"
-        aLangList[1] = rSettings.GetUILanguage();
+        aLangList[1] = rSettings.GetUILanguageTag().getLanguageType();
         // The one from "Tools/Options - Language Settings - Languages: Locale setting"
-        aLangList[2] = rSettings.GetLanguage();
+        aLangList[2] = rSettings.GetLanguageTag().getLanguageType();
         // en-US
         aLangList[3] = LANGUAGE_ENGLISH_US;
 #ifdef DEBUG
diff --git a/editeng/source/editeng/eerdll.cxx b/editeng/source/editeng/eerdll.cxx
index 8836b42..740de3a 100644
--- a/editeng/source/editeng/eerdll.cxx
+++ b/editeng/source/editeng/eerdll.cxx
@@ -211,7 +211,7 @@ EditResId::EditResId( sal_uInt16 nId ):
 EditDLL::EditDLL()
 {
     pGlobalData = new GlobalEditData;
-    pResMgr = ResMgr::CreateResMgr( "editeng", Application::GetSettings().GetUILocale() );
+    pResMgr = ResMgr::CreateResMgr( "editeng", Application::GetSettings().GetUILanguageTag().getLocale() );
 }
 
 EditDLL::~EditDLL()
diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx
index b3217e7..b6c9f7f 100644
--- a/editeng/source/editeng/impedit3.cxx
+++ b/editeng/source/editeng/impedit3.cxx
@@ -4246,7 +4246,7 @@ void ImpEditEngine::ImplInitDigitMode( OutputDevice* pOutDev, String* pString, x
     else if ( SvtCTLOptions::NUMERALS_ARABIC == nCTLTextNumerals )
         eLang = LANGUAGE_ENGLISH;
     else if ( SvtCTLOptions::NUMERALS_SYSTEM == nCTLTextNumerals )
-        eLang = (LanguageType) Application::GetSettings().GetLanguage();
+        eLang = (LanguageType) Application::GetSettings().GetLanguageTag().getLanguageType();
 
     if(pOutDev)
     {
@@ -4337,7 +4337,7 @@ void ImpEditEngine::ImplInitLayoutMode( OutputDevice* pOutDev, sal_uInt16 nPara,
     else if ( SvtCTLOptions::NUMERALS_ARABIC == pCTLOptions->GetCTLTextNumerals() )
         eLang = LANGUAGE_ENGLISH;
     else
-        eLang = (LanguageType) Application::GetSettings().GetLanguage();
+        eLang = (LanguageType) Application::GetSettings().GetLanguageTag().getLanguageType();
 
     pOutDev->SetDigitLanguage( eLang );
 }
diff --git a/editeng/source/items/numitem.cxx b/editeng/source/items/numitem.cxx
index 6cf0953..a861247 100644
--- a/editeng/source/items/numitem.cxx
+++ b/editeng/source/items/numitem.cxx
@@ -100,7 +100,7 @@ SvxNumberType::~SvxNumberType()
 
 String SvxNumberType::GetNumStr( sal_uLong nNo ) const
 {
-    LanguageType eLang = Application::GetSettings().GetLanguage();
+    LanguageType eLang = Application::GetSettings().GetLanguageTag().getLanguageType();
     Locale aLocale = SvxCreateLocale(eLang);
     return GetNumStr( nNo, aLocale );
 }
@@ -562,7 +562,7 @@ SvxNumRule::SvxNumRule( sal_uLong nFeatures,
       bContinuousNumbering(bCont)
 {
     ++nRefCount;
-    LanguageType eLang = Application::GetSettings().GetLanguage();
+    LanguageType eLang = Application::GetSettings().GetLanguageTag().getLanguageType();
     aLocale = SvxCreateLocale(eLang);
     for(sal_uInt16 i = 0; i < SVX_MAX_NUM; i++)
     {
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index d8ae94c..9bce449 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -198,7 +198,7 @@ static ::com::sun::star::uno::Reference<
 
 static sal_uInt16 GetAppLang()
 {
-    return Application::GetSettings().GetLanguage();
+    return Application::GetSettings().GetLanguageTag().getLanguageType();
 }
 static LocaleDataWrapper& GetLocaleDataWrapper( sal_uInt16 nLang )
 {
diff --git a/editeng/source/rtf/svxrtf.cxx b/editeng/source/rtf/svxrtf.cxx
index 9d2a317..baccbde 100644
--- a/editeng/source/rtf/svxrtf.cxx
+++ b/editeng/source/rtf/svxrtf.cxx
@@ -45,11 +45,7 @@ using namespace ::com::sun::star;
 static CharSet lcl_GetDefaultTextEncodingForRTF()
 {
 
-    ::com::sun::star::lang::Locale aLocale;
-    ::rtl::OUString aLangString;
-
-    aLocale = Application::GetSettings().GetLocale();
-    aLangString = aLocale.Language;
+    ::rtl::OUString aLangString( Application::GetSettings().GetLanguageTag().getLanguage());
 
     if ( aLangString == "ru" || aLangString == "uk" )
         return RTL_TEXTENCODING_MS_1251;
diff --git a/extensions/Library_res.mk b/extensions/Library_res.mk
index 953e369..3297b14 100644
--- a/extensions/Library_res.mk
+++ b/extensions/Library_res.mk
@@ -36,6 +36,7 @@ $(eval $(call gb_Library_use_sdk_api,res))
 
 $(eval $(call gb_Library_use_libraries,res,\
 	vcl \
+    i18nisolang1 \
 	tl \
 	comphelper \
 	cppu \
diff --git a/extensions/source/propctrlr/fontdialog.cxx b/extensions/source/propctrlr/fontdialog.cxx
index 2df5157..1661f6e 100644
--- a/extensions/source/propctrlr/fontdialog.cxx
+++ b/extensions/source/propctrlr/fontdialog.cxx
@@ -239,7 +239,7 @@ namespace pcr
             aUnderlineItem.SetColor(Color(nTextLineColor));
 
             SvxColorItem aSvxColorItem(nColor32,CFID_CHARCOLOR);
-            SvxLanguageItem aLanguageItem(Application::GetSettings().GetUILanguage(), CFID_LANGUAGE);
+            SvxLanguageItem aLanguageItem(Application::GetSettings().GetUILanguageTag().getLanguageType(), CFID_LANGUAGE);
 
             // the 2 CJK props
             SvxCharReliefItem aFontReliefItem((FontRelief)nFontRelief, CFID_RELIEF);
@@ -494,7 +494,7 @@ namespace pcr
         *pCounter++ = new SvxFontHeightItem(aDefaultVCLFont.GetHeight(), 100, CFID_HEIGHT);
         *pCounter++ = new SvxWeightItem(aDefaultVCLFont.GetWeight(), CFID_WEIGHT);
         *pCounter++ = new SvxPostureItem(aDefaultVCLFont.GetItalic(), CFID_POSTURE);
-        *pCounter++ = new SvxLanguageItem(Application::GetSettings().GetUILanguage(), CFID_LANGUAGE);
+        *pCounter++ = new SvxLanguageItem(Application::GetSettings().GetUILanguageTag().getLanguageType(), CFID_LANGUAGE);
         *pCounter++ = new SvxUnderlineItem(aDefaultVCLFont.GetUnderline(), CFID_UNDERLINE);
         *pCounter++ = new SvxCrossedOutItem(aDefaultVCLFont.GetStrikeout(), CFID_STRIKEOUT);
         *pCounter++ = new SvxWordLineModeItem(aDefaultVCLFont.IsWordLineMode(), CFID_WORDLINEMODE);
@@ -506,7 +506,7 @@ namespace pcr
         *pCounter++ = new SvxFontHeightItem(aDefaultVCLFont.GetHeight(), 100, CFID_CJK_HEIGHT);
         *pCounter++ = new SvxWeightItem(aDefaultVCLFont.GetWeight(), CFID_CJK_WEIGHT);
         *pCounter++ = new SvxPostureItem(aDefaultVCLFont.GetItalic(), CFID_CJK_POSTURE);
-        *pCounter++ = new SvxLanguageItem(Application::GetSettings().GetUILanguage(), CFID_CJK_LANGUAGE);
+        *pCounter++ = new SvxLanguageItem(Application::GetSettings().GetUILanguageTag().getLanguageType(), CFID_CJK_LANGUAGE);
 
         *pCounter++ = new SvxCaseMapItem(SVX_CASEMAP_NOT_MAPPED, CFID_CASEMAP);
         *pCounter++ = new SvxContourItem(sal_False, CFID_CONTOUR);
diff --git a/extensions/source/resource/oooresourceloader.cxx b/extensions/source/resource/oooresourceloader.cxx
index a1ee7f9..2c0920c 100644
--- a/extensions/source/resource/oooresourceloader.cxx
+++ b/extensions/source/resource/oooresourceloader.cxx
@@ -164,7 +164,7 @@ namespace extensions { namespace resource
     //--------------------------------------------------------------------
     Reference< XResourceBundle > SAL_CALL OpenOfficeResourceLoader::loadBundle_Default( const ::rtl::OUString& _baseName ) throw (MissingResourceException, RuntimeException)
     {
-        return loadBundle( _baseName, Application::GetSettings().GetUILocale() );
+        return loadBundle( _baseName, Application::GetSettings().GetUILanguageTag().getLocale() );
     }
 
     //--------------------------------------------------------------------
diff --git a/filter/Library_eps.mk b/filter/Library_eps.mk
index 5dda0d5..ca66486 100644
--- a/filter/Library_eps.mk
+++ b/filter/Library_eps.mk
@@ -29,6 +29,7 @@ $(eval $(call gb_Library_use_libraries,eps,\
 	vcl \
 	utl \
 	tl \
+	i18nisolang1 \
 	cppu \
 	sal \
 	$(gb_UWINAPI) \
diff --git a/filter/Library_flash.mk b/filter/Library_flash.mk
index fd06b4c..8bf5c32 100644
--- a/filter/Library_flash.mk
+++ b/filter/Library_flash.mk
@@ -31,6 +31,7 @@ $(eval $(call gb_Library_use_libraries,flash,\
 	vcl \
 	utl \
 	tl \
+	i18nisolang1 \
 	comphelper \
 	basegfx \
 	cppuhelper \
diff --git a/filter/Library_pdffilter.mk b/filter/Library_pdffilter.mk
index 1f10842..a94c32c 100644
--- a/filter/Library_pdffilter.mk
+++ b/filter/Library_pdffilter.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_Library_use_libraries,pdffilter,\
 	utl \
 	tl \
 	svl \
+	i18nisolang1 \
 	comphelper \
 	basegfx \
 	cppuhelper \
diff --git a/filter/Library_svgfilter.mk b/filter/Library_svgfilter.mk
index bc8520b..43a890a 100644
--- a/filter/Library_svgfilter.mk
+++ b/filter/Library_svgfilter.mk
@@ -43,6 +43,7 @@ $(eval $(call gb_Library_use_libraries,svgfilter,\
 	svl \
 	utl \
 	tl \
+	i18nisolang1 \
 	sax \
 	comphelper \
 	basegfx \
diff --git a/filter/Library_xsltdlg.mk b/filter/Library_xsltdlg.mk
index 2937210..1819177 100644
--- a/filter/Library_xsltdlg.mk
+++ b/filter/Library_xsltdlg.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_Library_use_libraries,xsltdlg,\
 	svl \
 	utl \
 	tl \
+	i18nisolang1 \
 	comphelper \
 	cppuhelper \
 	cppu \
diff --git a/filter/source/flash/swfdialog.cxx b/filter/source/flash/swfdialog.cxx
index fe6bf86..1480afe 100644
--- a/filter/source/flash/swfdialog.cxx
+++ b/filter/source/flash/swfdialog.cxx
@@ -90,7 +90,7 @@ Reference< XInterface > SAL_CALL SWFDialog_createInstance( const Reference< XMul
 SWFDialog::SWFDialog( const Reference< XMultiServiceFactory > &rxMSF ) :
     OGenericUnoDialog( rxMSF )
 {
-    mpResMgr = ResMgr::CreateResMgr( "flash", Application::GetSettings().GetUILocale() );
+    mpResMgr = ResMgr::CreateResMgr( "flash", Application::GetSettings().GetUILanguageTag().getLocale() );
 }
 
 // -----------------------------------------------------------------------------
diff --git a/filter/source/graphicfilter/eps/eps.cxx b/filter/source/graphicfilter/eps/eps.cxx
index e8e0ab4..5304e03 100644
--- a/filter/source/graphicfilter/eps/eps.cxx
+++ b/filter/source/graphicfilter/eps/eps.cxx
@@ -294,7 +294,7 @@ sal_Bool PSWriter::WritePS( const Graphic& rGraphic, SvStream& rTargetStream, Fi
     {
         ResMgr*     pResMgr;
 
-        pResMgr = ResMgr::CreateResMgr( "eps", Application::GetSettings().GetUILocale() );
+        pResMgr = ResMgr::CreateResMgr( "eps", Application::GetSettings().GetUILanguageTag().getLocale() );
 
         if( pResMgr )
         {
@@ -440,7 +440,7 @@ sal_Bool PSWriter::WritePS( const Graphic& rGraphic, SvStream& rTargetStream, Fi
     if ( mbStatus && mnLevelWarning && pFilterConfigItem )
     {
         ResMgr* pResMgr;
-        pResMgr = ResMgr::CreateResMgr( "eps", Application::GetSettings().GetUILocale() );
+        pResMgr = ResMgr::CreateResMgr( "eps", Application::GetSettings().GetUILanguageTag().getLocale() );
         if( pResMgr )
         {
             InfoBox aInfoBox( NULL, String( ResId( KEY_VERSION_CHECK, *pResMgr ) ) );
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 9c80c98..870209f 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -41,7 +41,7 @@
 
 static ResMgr& getPDFFilterResMgr()
 {
-    static ResMgr *pRes = ResMgr::CreateResMgr( "pdffilter", Application::GetSettings().GetUILocale());
+    static ResMgr *pRes = ResMgr::CreateResMgr( "pdffilter", Application::GetSettings().GetUILanguageTag().getLocale());
     return *pRes;
 }
 
diff --git a/filter/source/pdf/pdfexport.cxx b/filter/source/pdf/pdfexport.cxx
index 8051cb8..336cda2 100644
--- a/filter/source/pdf/pdfexport.cxx
+++ b/filter/source/pdf/pdfexport.cxx
@@ -887,7 +887,7 @@ sal_Bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue
 
                 if ( mxStatusIndicator.is() )
                 {
-                    ResMgr* pResMgr = ResMgr::CreateResMgr( "pdffilter", Application::GetSettings().GetUILocale() );
+                    ResMgr* pResMgr = ResMgr::CreateResMgr( "pdffilter", Application::GetSettings().GetUILanguageTag().getLocale() );
                     if ( pResMgr )
                     {
                         sal_Int32 nTotalPageCount = aRangeEnum.size();
diff --git a/filter/source/svg/svgfontexport.cxx b/filter/source/svg/svgfontexport.cxx
index fb6c1b5..d9e6272 100644
--- a/filter/source/svg/svgfontexport.cxx
+++ b/filter/source/svg/svgfontexport.cxx
@@ -139,7 +139,7 @@ void SVGFontExport::implCollectGlyphs()
 
                     if( xBI.is() )
                     {
-                        const ::com::sun::star::lang::Locale&   rLocale = Application::GetSettings().GetLocale();
+                        const ::com::sun::star::lang::Locale&   rLocale = Application::GetSettings().GetLanguageTag().getLocale();
                         sal_Int32                               nCurPos = 0, nLastPos = -1;
 
                         while( ( nCurPos < aText.getLength() ) && ( nCurPos > nLastPos ) )
diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx
index cf1602f..b9e556d 100644
--- a/filter/source/svg/svgwriter.cxx
+++ b/filter/source/svg/svgwriter.cxx
@@ -2796,7 +2796,7 @@ void SVGActionWriter::ImplWriteText( const Point& rPos, const String& rText,
             else
             {
                 ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XBreakIterator > xBI( ::vcl::unohelper::CreateBreakIterator() );
-                const ::com::sun::star::lang::Locale& rLocale = Application::GetSettings().GetLocale();
+                const ::com::sun::star::lang::Locale& rLocale = Application::GetSettings().GetLanguageTag().getLocale();
                 sal_Int32 nCurPos = 0, nLastPos = 0, nX = aPos.X();
 
                 // write single glyphs at absolute text positions
diff --git a/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx b/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
index bb6c6b6..0c1cbfd 100644
--- a/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
+++ b/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
@@ -351,7 +351,7 @@ sal_Int16 SAL_CALL XMLFilterDialogComponent::execute(  ) throw(RuntimeException)
 
     if( NULL == pXSLTResMgr )
     {
-        pXSLTResMgr = ResMgr::CreateResMgr( "xsltdlg", Application::GetSettings().GetUILocale() );
+        pXSLTResMgr = ResMgr::CreateResMgr( "xsltdlg", Application::GetSettings().GetUILanguageTag().getLocale() );
     }
 
     if( NULL == mpDialog )
diff --git a/forms/source/component/FormattedField.cxx b/forms/source/component/FormattedField.cxx
index 91faaa6..b66a397 100644
--- a/forms/source/component/FormattedField.cxx
+++ b/forms/source/component/FormattedField.cxx
@@ -735,7 +735,7 @@ void OFormattedModel::onConnectedDbColumn( const Reference< XInterface >& _rxFor
                     Reference<XNumberFormatTypes>  xTypes(xSupplier->getNumberFormats(), UNO_QUERY);
                     if (xTypes.is())
                     {
-                        Locale aApplicationLocale = Application::GetSettings().GetUILocale();
+                        Locale aApplicationLocale = Application::GetSettings().GetUILanguageTag().getLocale();
 
                         if (m_bOriginalNumeric)
                             aFmtKey <<= (sal_Int32)xTypes->getStandardFormat(NumberFormat::NUMBER, aApplicationLocale);
diff --git a/forms/source/component/FormattedFieldWrapper.cxx b/forms/source/component/FormattedFieldWrapper.cxx
index 561fa25..0c43b4a 100644
--- a/forms/source/component/FormattedFieldWrapper.cxx
+++ b/forms/source/component/FormattedFieldWrapper.cxx
@@ -247,7 +247,7 @@ void SAL_CALL OFormattedFieldWrapper::write(const Reference<XObjectOutputStream>
 	Reference<XPropertySet>  xEditProps(
         static_cast< OWeakObject * >(m_editPart.get()), UNO_QUERY);
 
-    Locale aAppLanguage = Application::GetSettings().GetUILocale();
+    Locale aAppLanguage = Application::GetSettings().GetUILanguageTag().getLocale();
     dbtools::TransferFormComponentProperties(xFormatProps, xEditProps, aAppLanguage);
 
     // then write the edit part, after switching to "fake mode"
diff --git a/forms/source/resource/frm_resource.cxx b/forms/source/resource/frm_resource.cxx
index 9d3bb3a..a7df1ba 100644
--- a/forms/source/resource/frm_resource.cxx
+++ b/forms/source/resource/frm_resource.cxx
@@ -57,7 +57,7 @@ namespace frm
         if (m_pImpl)
             return;
 
-        m_pImpl = SimpleResMgr::Create("frm", Application::GetSettings().GetUILocale());
+        m_pImpl = SimpleResMgr::Create("frm", Application::GetSettings().GetUILanguageTag().getLocale());
 
         if (m_pImpl)
         {
diff --git a/forms/source/richtext/richtextimplcontrol.cxx b/forms/source/richtext/richtextimplcontrol.cxx
index 463ae30..50337ec 100644
--- a/forms/source/richtext/richtextimplcontrol.cxx
+++ b/forms/source/richtext/richtextimplcontrol.cxx
@@ -281,7 +281,7 @@ namespace frm
     {
         ScriptType nScript = m_pView->GetSelectedScriptType();
         if ( !nScript )
-            nScript = SvtLanguageOptions::GetScriptTypeOfLanguage( Application::GetSettings().GetLanguage() );
+            nScript = SvtLanguageOptions::GetScriptTypeOfLanguage( Application::GetSettings().GetLanguageTag().getLanguageType() );
         return nScript;
     }
 
diff --git a/formula/Library_for.mk b/formula/Library_for.mk
index 848103a..1bbd199 100644
--- a/formula/Library_for.mk
+++ b/formula/Library_for.mk
@@ -47,6 +47,7 @@ $(eval $(call gb_Library_use_libraries,for,\
     cppu \
     cppuhelper \
     sal \
+	i18nisolang1 \
     svl \
     svt \
     tl \
diff --git a/formula/source/core/resource/core_resource.cxx b/formula/source/core/resource/core_resource.cxx
index 9b29719..63279d2 100644
--- a/formula/source/core/resource/core_resource.cxx
+++ b/formula/source/core/resource/core_resource.cxx
@@ -47,7 +47,7 @@ namespace formula
         if (m_pImpl)
             return;
 
-        ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILocale();
+        ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILanguageTag().getLocale();
 
         m_pImpl = ResMgr::CreateResMgr("for", aLocale);
     }
diff --git a/framework/Library_fwe.mk b/framework/Library_fwe.mk
index 1723d72..ebbfc17 100644
--- a/framework/Library_fwe.mk
+++ b/framework/Library_fwe.mk
@@ -37,6 +37,7 @@ $(eval $(call gb_Library_use_libraries,fwe,\
     cppuhelper \
     fwi \
     sal \
+	i18nisolang1 \
     svl \
     svt \
     tl \
diff --git a/framework/source/classes/fwlresid.cxx b/framework/source/classes/fwlresid.cxx
index 9d3d435..ba3987a 100644
--- a/framework/source/classes/fwlresid.cxx
+++ b/framework/source/classes/fwlresid.cxx
@@ -34,7 +34,7 @@ ResMgr* FwlResId::GetResManager()
     if ( !pResMgr )
     {
         SolarMutexGuard aSolarGuard;
-        pResMgr = ResMgr::CreateResMgr("fwe", Application::GetSettings().GetUILocale());
+        pResMgr = ResMgr::CreateResMgr("fwe", Application::GetSettings().GetUILanguageTag().getLocale());
     }
 
     return pResMgr;
diff --git a/framework/source/fwe/classes/fwkresid.cxx b/framework/source/fwe/classes/fwkresid.cxx
index 3533506..ff78bb3 100644
--- a/framework/source/fwe/classes/fwkresid.cxx
+++ b/framework/source/fwe/classes/fwkresid.cxx
@@ -34,7 +34,7 @@ ResMgr* FwkResId::GetResManager()
     if ( !pResMgr )
     {
         SolarMutexGuard aSolarGuard;
-        pResMgr = ResMgr::CreateResMgr("fwe", Application::GetSettings().GetUILocale());
+        pResMgr = ResMgr::CreateResMgr("fwe", Application::GetSettings().GetUILanguageTag().getLocale());
     }
 
     return pResMgr;
diff --git a/framework/source/fwi/helper/mischelper.cxx b/framework/source/fwi/helper/mischelper.cxx
index 379ec36..bf7d275 100644
--- a/framework/source/fwi/helper/mischelper.cxx
+++ b/framework/source/fwi/helper/mischelper.cxx
@@ -159,7 +159,7 @@ void FillLangItems( std::set< OUString > &rLangItems,
 
     //2--System
     const AllSettings& rAllSettings = Application::GetSettings();
-    LanguageType rSystemLanguage = rAllSettings.GetLanguage();
+    LanguageType rSystemLanguage = rAllSettings.GetLanguageTag().getLanguageType();
     if( rSystemLanguage != LANGUAGE_DONTKNOW )
     {
         if ( IsScriptTypeMatchingToLanguage( nScriptType, rSystemLanguage ))
@@ -167,7 +167,7 @@ void FillLangItems( std::set< OUString > &rLangItems,
     }
 
     //3--UI
-    LanguageType rUILanguage = rAllSettings.GetUILanguage();
+    LanguageType rUILanguage = rAllSettings.GetUILanguageTag().getLanguageType();
     if( rUILanguage != LANGUAGE_DONTKNOW )
     {
         if ( IsScriptTypeMatchingToLanguage( nScriptType, rUILanguage ))
diff --git a/framework/source/services/license.cxx b/framework/source/services/license.cxx
index 8e4c1d3..e5c0b3b 100644
--- a/framework/source/services/license.cxx
+++ b/framework/source/services/license.cxx
@@ -224,7 +224,7 @@ css::uno::Any SAL_CALL License::execute(const css::uno::Sequence< css::beans::Na
         ::rtl::OUString  aLangString;
         ::com::sun::star::lang::Locale aLocale;
         AllSettings aSettings(Application::GetSettings());
-        aLocale = aSettings.GetUILocale();
+        aLocale = aSettings.GetUILanguageTag().getLocale();
         ResMgr* pResMgr = ResMgr::SearchCreateResMgr("fwe", aLocale);
 
         aLangString = aLocale.Language;
diff --git a/framework/source/uielement/controlmenucontroller.cxx b/framework/source/uielement/controlmenucontroller.cxx
index 408af0b..5ee41bc 100644
--- a/framework/source/uielement/controlmenucontroller.cxx
+++ b/framework/source/uielement/controlmenucontroller.cxx
@@ -206,7 +206,7 @@ ControlMenuController::~ControlMenuController()
 // private function
 void ControlMenuController::updateImagesPopupMenu( PopupMenu* pPopupMenu )
 {
-    ResMgr* pResMgr = ResMgr::CreateResMgr("svx", Application::GetSettings().GetUILocale());
+    ResMgr* pResMgr = ResMgr::CreateResMgr("svx", Application::GetSettings().GetUILanguageTag().getLocale());
     ResId aResId( RID_SVXIMGLIST_FMEXPL, *pResMgr );
     aResId.SetRT( RSC_IMAGELIST );
 
@@ -355,7 +355,7 @@ void ControlMenuController::impl_setPopupMenu()
 {
     if ( m_pResPopupMenu == 0 )
     {
-        ResMgr* pResMgr = ResMgr::CreateResMgr("svx", Application::GetSettings().GetUILocale());
+        ResMgr* pResMgr = ResMgr::CreateResMgr("svx", Application::GetSettings().GetUILanguageTag().getLocale());
         if ( pResMgr )
         {
             ResId aResId( RID_FMSHELL_CONVERSIONMENU, *pResMgr );
diff --git a/framework/source/uielement/fontsizemenucontroller.cxx b/framework/source/uielement/fontsizemenucontroller.cxx
index f8d050e..87e1823 100644
--- a/framework/source/uielement/fontsizemenucontroller.cxx
+++ b/framework/source/uielement/fontsizemenucontroller.cxx
@@ -172,7 +172,7 @@ void FontSizeMenuController::fillPopupMenu( Reference< css::awt::XPopupMenu >& r
 
         // first insert font size names (for simplified/traditional chinese)
         float           fPoint;
-        FontSizeNames   aFontSizeNames( Application::GetSettings().GetUILanguage() );
+        FontSizeNames   aFontSizeNames( Application::GetSettings().GetUILanguageTag().getLanguageType() );
         m_pHeightArray = new long[nSizeCount+aFontSizeNames.Count()];
         rtl::OUString   aCommand;
 
diff --git a/framework/source/uielement/toolbarsmenucontroller.cxx b/framework/source/uielement/toolbarsmenucontroller.cxx
index c597961..b95af5f 100644
--- a/framework/source/uielement/toolbarsmenucontroller.cxx
+++ b/framework/source/uielement/toolbarsmenucontroller.cxx
@@ -141,7 +141,7 @@ ToolbarsMenuController::ToolbarsMenuController( const ::com::sun::star::uno::Ref
     m_aPropResourceURL( "ResourceURL" ),
     m_bModuleIdentified( sal_False ),
     m_bResetActive( sal_False ),
-    m_aIntlWrapper( xServiceManager, Application::GetSettings().GetLocale() )
+    m_aIntlWrapper( xServiceManager, Application::GetSettings().GetLanguageTag().getLocale() )
 {
 }
 
diff --git a/lotuswordpro/Library_lwpft.mk b/lotuswordpro/Library_lwpft.mk
index ab1f8a2..a521edc 100644
--- a/lotuswordpro/Library_lwpft.mk
+++ b/lotuswordpro/Library_lwpft.mk
@@ -38,6 +38,7 @@ $(eval $(call gb_Library_use_libraries,lwpft,\
     cppu \
     cppuhelper \
     sal \
+	i18nisolang1 \
     sfx \
     sot \
     svt \
diff --git a/lotuswordpro/source/filter/lwptools.cxx b/lotuswordpro/source/filter/lwptools.cxx
index 1a3e1ae..0787902 100644
--- a/lotuswordpro/source/filter/lwptools.cxx
+++ b/lotuswordpro/source/filter/lwptools.cxx
@@ -284,8 +284,9 @@ XFDateStyle* LwpTools::GetSystemDateStyle(sal_Bool bLongFormat)
         udat_toPattern(fmt,true,pattern,nLength,&status);
     }
 */
+    /* FIXME-BCP47: handle language tags! */
     //1 get locale for system
-    ::com::sun::star::lang::Locale aLocale=Application::GetSettings().GetLocale();
+    ::com::sun::star::lang::Locale aLocale=Application::GetSettings().GetLanguageTag().getLocale();
     rtl::OUString strLang = aLocale.Language;
     rtl::OUString strCountry = aLocale.Country;
     icu::Locale bLocale((char*)(OUStringToOString(strLang,RTL_TEXTENCODING_MS_1252).getStr()),
@@ -697,8 +698,9 @@ XFTimeStyle* LwpTools::GetSystemTimeStyle()
         udat_toPattern(fmt,true,pattern,nLength,&status);
     }
 */
+    /* FIXME-BCP47: handle language tags! */
     //1 get locale for system
-    ::com::sun::star::lang::Locale aLocale=Application::GetSettings().GetLocale();
+    ::com::sun::star::lang::Locale aLocale=Application::GetSettings().GetLanguageTag().getLocale();
     rtl::OUString strLang = aLocale.Language;
     rtl::OUString strCountry = aLocale.Country;
     icu::Locale bLocale((char*)(OUStringToOString(strLang,RTL_TEXTENCODING_MS_1252).getStr()),
diff --git a/oox/Library_oox.mk b/oox/Library_oox.mk
index 878d481..b1b8164 100644
--- a/oox/Library_oox.mk
+++ b/oox/Library_oox.mk
@@ -64,6 +64,7 @@ $(eval $(call gb_Library_use_libraries,oox,\
     editeng \
     msfilter \
     sal \
+	i18nisolang1 \
     sax \
     sfx \
     svl \
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 7b3d722..e28aa4a 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -645,7 +645,7 @@ void DrawingML::WriteRunProperties( Reference< XPropertySet > rRun, sal_Bool bIs
     Reference< XPropertyState > rXPropState( rRun, UNO_QUERY );
     OUString usLanguage;
     PropertyState eState;
-    sal_Int16 nScriptType = SvtLanguageOptions::GetScriptTypeOfLanguage( Application::GetSettings().GetLanguage() );
+    sal_Int16 nScriptType = SvtLanguageOptions::GetScriptTypeOfLanguage( Application::GetSettings().GetLanguageTag().getLanguageType() );
     sal_Bool bComplex = ( nScriptType == ScriptType::COMPLEX );
     const char* bold = NULL;
     const char* italic = NULL;
diff --git a/padmin/source/helper.cxx b/padmin/source/helper.cxx
index 3c2df34..54ff537 100644
--- a/padmin/source/helper.cxx
+++ b/padmin/source/helper.cxx
@@ -70,6 +70,7 @@ ResId padmin::PaResId( sal_uInt32 nId )
             Any aValue = aNode.getNodeValue( OUString("ooLocale") );
             if( aValue >>= aLoc )
             {
+                /* FIXME-BCP47: handle language tags! */
                 sal_Int32 nIndex = 0;
                 aLocale.Language = aLoc.getToken( 0, '-', nIndex );
                 aLocale.Country = aLoc.getToken( 0, '-', nIndex );
@@ -78,7 +79,7 @@ ResId padmin::PaResId( sal_uInt32 nId )
         }
         pPaResMgr = ResMgr::SearchCreateResMgr( "spa", aLocale );
         AllSettings aSettings = Application::GetSettings();
-        aSettings.SetUILocale( aLocale );
+        aSettings.SetUILanguageTag( LanguageTag( aLocale) );
         Application::SetSettings( aSettings );
     }
     return ResId( nId, *pPaResMgr );
diff --git a/reportdesign/source/core/api/ReportComponent.cxx b/reportdesign/source/core/api/ReportComponent.cxx
index e463574..33af30c 100644
--- a/reportdesign/source/core/api/ReportComponent.cxx
+++ b/reportdesign/source/core/api/ReportComponent.cxx
@@ -49,7 +49,7 @@ void lcl_getDefaultFonts( Font& rLatinFont, Font& rCJKFont, Font& rCTLFont,Langu
         //      If the UI language is Korean, the default Latin font has to
         //      be queried for Korean, too (the Latin language from the document can't be Korean).
         //      This is the same logic as in SwDocShell::InitNew.
-        LanguageType eUiLanguage = Application::GetSettings().GetUILanguage();
+        LanguageType eUiLanguage = Application::GetSettings().GetUILanguageTag().getLanguageType();
         if (MsLangId::isKorean(eUiLanguage))
             eLatin = eUiLanguage;
 
diff --git a/reportdesign/source/core/resource/core_resource.cxx b/reportdesign/source/core/resource/core_resource.cxx
index 7dc6f01..df12dd0 100644
--- a/reportdesign/source/core/resource/core_resource.cxx
+++ b/reportdesign/source/core/resource/core_resource.cxx
@@ -54,7 +54,7 @@ namespace reportdesign
             // now that we have an impl class make sure it's deleted on unloading the library
             static ResourceManager::EnsureDelete    s_aDeleteTheImplClass;
 
-            ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILocale();
+            ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILanguageTag().getLocale();
 
             m_pImpl = SimpleResMgr::Create("rpt", aLocale);
         }
diff --git a/sc/Library_scfilt.mk b/sc/Library_scfilt.mk
index 7a5256e..8359c73 100644
--- a/sc/Library_scfilt.mk
+++ b/sc/Library_scfilt.mk
@@ -60,6 +60,7 @@ $(eval $(call gb_Library_use_libraries,scfilt,\
 	tl \
 	utl \
 	vcl \
+	i18nisolang1 \
 	$(gb_UWINAPI) \
 ))
 
diff --git a/sc/source/core/data/documen8.cxx b/sc/source/core/data/documen8.cxx
index 4286cfd..23d4e80 100644
--- a/sc/source/core/data/documen8.cxx
+++ b/sc/source/core/data/documen8.cxx
@@ -720,7 +720,7 @@ bool ScDocument::OnlineSpellInRange( const ScRange& rSpellRange, ScAddress& rSpe
             sal_uInt16 nCellLang = ((const SvxLanguageItem&)
                                     pPattern->GetItem(ATTR_FONT_LANGUAGE)).GetValue();
             if ( nCellLang == LANGUAGE_SYSTEM )
-                nCellLang = Application::GetSettings().GetLanguage();   // never use SYSTEM for spelling
+                nCellLang = Application::GetSettings().GetLanguageTag().getLanguageType();   // never use SYSTEM for spelling
             pEngine->SetDefaultLanguage( nCellLang );
 
             if ( eType == CELLTYPE_STRING )
diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx
index 61db8db..0034d92 100644
--- a/sc/source/core/data/drwlayer.cxx
+++ b/sc/source/core/data/drwlayer.cxx
@@ -240,7 +240,7 @@ ScDrawLayer::ScDrawLayer( ScDocument* pDocument, const String& rName ) :
     rPool.SetPoolDefaultItem(SdrShadowYDistItem(300));
 
     // default for script spacing depends on locale, see SdDrawDocument ctor in sd
-    LanguageType eOfficeLanguage = Application::GetSettings().GetLanguage();
+    LanguageType eOfficeLanguage = Application::GetSettings().GetLanguageTag().getLanguageType();
     if (MsLangId::isKorean(eOfficeLanguage) || eOfficeLanguage == LANGUAGE_JAPANESE)
     {
         // secondary is edit engine pool
diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx
index 378a2d4..3b6e40c 100644
--- a/sc/source/core/data/global.cxx
+++ b/sc/source/core/data/global.cxx
@@ -971,7 +971,7 @@ void ScGlobal::OpenURL( const String& rURL, const String& rTarget )
 
 sal_Bool ScGlobal::IsSystemRTL()
 {
-    return MsLangId::isRightToLeft( Application::GetSettings().GetLanguage() );
+    return MsLangId::isRightToLeft( Application::GetSettings().GetLanguageTag().getLanguageType() );
 }
 
 sal_uInt8 ScGlobal::GetDefaultScriptType()
@@ -981,14 +981,14 @@ sal_uInt8 ScGlobal::GetDefaultScriptType()
     //  to get consistent behavior of text in simple cells and EditEngine,
     //  also same as GetAppLanguage() in Writer)
 
-    return (sal_uInt8) SvtLanguageOptions::GetScriptTypeOfLanguage( Application::GetSettings().GetLanguage() );
+    return (sal_uInt8) SvtLanguageOptions::GetScriptTypeOfLanguage( Application::GetSettings().GetLanguageTag().getLanguageType() );
 }
 
 LanguageType ScGlobal::GetEditDefaultLanguage()
 {
     //  used for EditEngine::SetDefaultLanguage
 
-    return Application::GetSettings().GetLanguage();
+    return Application::GetSettings().GetLanguageTag().getLanguageType();
 }
 
 sal_uInt16 ScGlobal::GetScriptedWhichID( sal_uInt8 nScriptType, sal_uInt16 nWhich )
@@ -1115,7 +1115,7 @@ utl::TransliterationWrapper* ScGlobal::GetpTransliteration()
 {
     if ( !pTransliteration )
     {
-        const LanguageType eOfficeLanguage = Application::GetSettings().GetLanguage();
+        const LanguageType eOfficeLanguage = Application::GetSettings().GetLanguageTag().getLanguageType();
         pTransliteration = new ::utl::TransliterationWrapper(
             ::comphelper::getProcessComponentContext(), SC_TRANSLITERATION_IGNORECASE );
         pTransliteration->loadModuleIfNeeded( eOfficeLanguage );
@@ -1164,7 +1164,7 @@ CollatorWrapper*        ScGlobal::GetCaseCollator()
 {
     if ( !pCaseTransliteration )
     {
-        const LanguageType eOfficeLanguage = Application::GetSettings().GetLanguage();
+        const LanguageType eOfficeLanguage = Application::GetSettings().GetLanguageTag().getLanguageType();
         pCaseTransliteration = new ::utl::TransliterationWrapper(::comphelper::getProcessComponentContext(), SC_TRANSLITERATION_CASESENSE );
         pCaseTransliteration->loadModuleIfNeeded( eOfficeLanguage );
     }
@@ -1182,7 +1182,7 @@ IntlWrapper*         ScGlobal::GetScIntlWrapper()
 {
     if ( !pLocale )
     {
-        pLocale = new ::com::sun::star::lang::Locale( Application::GetSettings().GetLocale());
+        pLocale = new ::com::sun::star::lang::Locale( Application::GetSettings().GetLanguageTag().getLocale());
     }
     return pLocale;
 }
diff --git a/sc/source/core/data/stlpool.cxx b/sc/source/core/data/stlpool.cxx
index 020967f..fb53653 100644
--- a/sc/source/core/data/stlpool.cxx
+++ b/sc/source/core/data/stlpool.cxx
@@ -291,7 +291,7 @@ void ScStyleSheetPool::CreateStandardStyles()
     //  If the UI language is Korean, the default Latin font has to
     //  be queried for Korean, too (the Latin language from the document can't be Korean).
     //  This is the same logic as in SwDocShell::InitNew.
-    LanguageType eUiLanguage = Application::GetSettings().GetUILanguage();
+    LanguageType eUiLanguage = Application::GetSettings().GetUILanguageTag().getLanguageType();
     if (MsLangId::isKorean(eUiLanguage))
         eLatin = eUiLanguage;
 
diff --git a/sc/source/core/tool/addincol.cxx b/sc/source/core/tool/addincol.cxx
index d7a19cd..b298969 100644
--- a/sc/source/core/tool/addincol.cxx
+++ b/sc/source/core/tool/addincol.cxx
@@ -790,9 +790,7 @@ void ScUnoAddInCollection::ReadFromAddIn( const uno::Reference<uno::XInterface>&
     if ( xAddIn.is() && xName.is() )
     {
         //  AddIns must use the language for which the office is installed
-        LanguageType eOfficeLang = Application::GetSettings().GetUILanguage();
-
-        lang::Locale aLocale( LanguageTag( eOfficeLang ).getLocale());
+        lang::Locale aLocale( Application::GetSettings().GetUILanguageTag().getLocale());
         xAddIn->setLocale( aLocale );
 
         ::rtl::OUString aServiceName( xName->getServiceName() );
@@ -1046,8 +1044,7 @@ void ScUnoAddInCollection::UpdateFromAddIn( const uno::Reference<uno::XInterface
     uno::Reference<lang::XLocalizable> xLoc( xInterface, uno::UNO_QUERY );
     if ( xLoc.is() )        // optional in new add-ins
     {
-        LanguageType eOfficeLang = Application::GetSettings().GetUILanguage();
-        lang::Locale aLocale( LanguageTag( eOfficeLang ).getLocale());
+        lang::Locale aLocale( Application::GetSettings().GetUILanguageTag().getLocale());
         xLoc->setLocale( aLocale );
     }
 
diff --git a/sc/source/core/tool/callform.cxx b/sc/source/core/tool/callform.cxx
index 8ba120b..a07eea3 100644
--- a/sc/source/core/tool/callform.cxx
+++ b/sc/source/core/tool/callform.cxx
@@ -206,7 +206,7 @@ bool InitExternalFunc(const rtl::OUString& rModuleName)
             FARPROC fpSetLanguage = (FARPROC)pLib->getFunctionSymbol(SETLANGUAGE);
             if ( fpSetLanguage )
             {
-                LanguageType eLanguage = Application::GetSettings().GetUILanguage();
+                LanguageType eLanguage = Application::GetSettings().GetUILanguageTag().getLanguageType();
                 sal_uInt16 nLanguage = (sal_uInt16) eLanguage;
                 (*((SetLanguagePtr)fpSetLanguage))( nLanguage );
             }
diff --git a/sc/source/core/tool/zforauto.cxx b/sc/source/core/tool/zforauto.cxx
index d3ddf04..94a22a6 100644
--- a/sc/source/core/tool/zforauto.cxx
+++ b/sc/source/core/tool/zforauto.cxx
@@ -66,7 +66,7 @@ void ScNumFormatAbbrev::Load( SvStream& rStream, CharSet eByteStrSet )
     eLnge = (LanguageType) nLang;
     eSysLnge = (LanguageType) nSysLang;
     if ( eSysLnge == LANGUAGE_SYSTEM )          // old versions did write it
-        eSysLnge = Application::GetSettings().GetLanguage();
+        eSysLnge = Application::GetSettings().GetLanguageTag().getLanguageType();
 }
 
 void ScNumFormatAbbrev::Save( SvStream& rStream, CharSet eByteStrSet ) const
@@ -81,7 +81,7 @@ void ScNumFormatAbbrev::PutFormatIndex(sal_uLong nFormat,
     const SvNumberformat* pFormat = rFormatter.GetEntry(nFormat);
     if (pFormat)
     {
-        eSysLnge = Application::GetSettings().GetLanguage();
+        eSysLnge = Application::GetSettings().GetLanguageTag().getLanguageType();
         eLnge = pFormat->GetLanguage();
         sFormatstring = ((SvNumberformat*)pFormat)->GetFormatstring();
     }
diff --git a/sc/source/filter/excel/xlroot.cxx b/sc/source/filter/excel/xlroot.cxx
index d5c9d71..ecd7c0a 100644
--- a/sc/source/filter/excel/xlroot.cxx
+++ b/sc/source/filter/excel/xlroot.cxx
@@ -93,9 +93,9 @@ XclRootData::XclRootData( XclBiff eBiff, SfxMedium& rMedium,
     mrDoc( rDoc ),
     maDefPassword( CREATE_STRING( "VelvetSweatshop" ) ),
     meTextEnc( eTextEnc ),
-    meSysLang( Application::GetSettings().GetLanguage() ),
-    meDocLang( Application::GetSettings().GetLanguage() ),
-    meUILang( Application::GetSettings().GetUILanguage() ),
+    meSysLang( Application::GetSettings().GetLanguageTag().getLanguageType() ),
+    meDocLang( Application::GetSettings().GetLanguageTag().getLanguageType() ),
+    meUILang( Application::GetSettings().GetUILanguageTag().getLanguageType() ),
     mnDefApiScript( ApiScriptType::LATIN ),
     maScMaxPos( MAXCOL, MAXROW, MAXTAB ),
     maXclMaxPos( EXC_MAXCOL2, EXC_MAXROW2, EXC_MAXTAB2 ),
diff --git a/sc/source/ui/dbgui/textimportoptions.cxx b/sc/source/ui/dbgui/textimportoptions.cxx
index 503a5e4..ba22489 100644
--- a/sc/source/ui/dbgui/textimportoptions.cxx
+++ b/sc/source/ui/dbgui/textimportoptions.cxx
@@ -82,7 +82,7 @@ void ScTextImportOptionsDlg::init()
     m_pLbCustomLang->SetLanguageList(
         LANG_LIST_ALL | LANG_LIST_ONLY_KNOWN, false, false);
 
-    LanguageType eLang = Application::GetSettings().GetLanguage();
+    LanguageType eLang = Application::GetSettings().GetLanguageTag().getLanguageType();
     m_pLbCustomLang->SelectLanguage(eLang);
     m_pLbCustomLang->Disable();
 }
diff --git a/sc/source/ui/view/spelleng.cxx b/sc/source/ui/view/spelleng.cxx
index b447098..5ff8faf 100644
--- a/sc/source/ui/view/spelleng.cxx
+++ b/sc/source/ui/view/spelleng.cxx
@@ -230,7 +230,7 @@ bool ScConversionEngineBase::FindNextConversionCell()
                 {
                     LanguageType eLang = static_cast< LanguageType >( pLangItem->GetValue() );
                     if( eLang == LANGUAGE_SYSTEM )
-                        eLang = Application::GetSettings().GetLanguage();   // never use SYSTEM for spelling
+                        eLang = Application::GetSettings().GetLanguageTag().getLanguageType();   // never use SYSTEM for spelling
                     if( eLang != meCurrLang )
                     {
                         meCurrLang = eLang;
diff --git a/sc/source/ui/view/viewutil.cxx b/sc/source/ui/view/viewutil.cxx
index 574d1c6..7fae778 100644
--- a/sc/source/ui/view/viewutil.cxx
+++ b/sc/source/ui/view/viewutil.cxx
@@ -104,7 +104,7 @@ sal_uInt16 ScViewUtil::GetEffLanguage( ScDocument* pDoc, const ScAddress& rPos )
     else
         eLnge = LANGUAGE_ENGLISH_US;
     if ( eLnge == LANGUAGE_SYSTEM )
-        eLnge = Application::GetSettings().GetLanguage();   // never use SYSTEM for spelling
+        eLnge = Application::GetSettings().GetLanguageTag().getLanguageType();   // never use SYSTEM for spelling
 
     return eLnge;
 }
diff --git a/scripting/Library_dlgprov.mk b/scripting/Library_dlgprov.mk
index c8efe56..3219003 100644
--- a/scripting/Library_dlgprov.mk
+++ b/scripting/Library_dlgprov.mk
@@ -46,6 +46,7 @@ $(eval $(call gb_Library_use_libraries,dlgprov,\
 	cppu \
 	cppuhelper \
 	sal \
+	i18nisolang1 \
 	sb \
 	sfx \
 	tl \
diff --git a/scripting/source/dlgprov/dlgprov.cxx b/scripting/source/dlgprov/dlgprov.cxx
index 61e60d9..04c458f 100644
--- a/scripting/source/dlgprov/dlgprov.cxx
+++ b/scripting/source/dlgprov/dlgprov.cxx
@@ -95,7 +95,7 @@ static ::rtl::OUString aResourceResolverPropName("ResourceResolver");
         aInetObj.removeSegment();
         ::rtl::OUString aDlgLocation = aInetObj.GetMainURL( INetURLObject::NO_DECODE );
         bool bReadOnly = true;
-        ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILocale();
+        ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILanguageTag().getLocale();
         ::rtl::OUString aComment;
 
         Sequence<Any> aArgs( 6 );
diff --git a/sd/source/core/drawdoc.cxx b/sd/source/core/drawdoc.cxx
index 6b5603c..c35464f 100644
--- a/sd/source/core/drawdoc.cxx
+++ b/sd/source/core/drawdoc.cxx
@@ -236,7 +236,7 @@ SdDrawDocument::SdDrawDocument(DocumentType eType, SfxObjectShell* pDrDocSh)
     mpCharClass = new CharClass( *mpLocale );
 
     // If the current application language is a language that uses right-to-left text...
-    LanguageType eRealCTLLanguage = Application::GetSettings().GetLanguage();
+    LanguageType eRealCTLLanguage = Application::GetSettings().GetLanguageTag().getLanguageType();
     if( MsLangId::isRightToLeft( eRealCTLLanguage ) )
     {
         // ... then we have to set this as a default
@@ -271,7 +271,7 @@ SdDrawDocument::SdDrawDocument(DocumentType eType, SfxObjectShell* pDrDocSh)
         OSL_FAIL("Can't get SpellChecker");
     }
 
-    rOutliner.SetDefaultLanguage( Application::GetSettings().GetLanguage() );
+    rOutliner.SetDefaultLanguage( Application::GetSettings().GetLanguageTag().getLanguageType() );
 
     if (mpDocSh)
     {
@@ -325,7 +325,7 @@ SdDrawDocument::SdDrawDocument(DocumentType eType, SfxObjectShell* pDrDocSh)
         OSL_FAIL("Can't get SpellChecker");
     }
 
-    pHitTestOutliner->SetDefaultLanguage( Application::GetSettings().GetLanguage() );
+    pHitTestOutliner->SetDefaultLanguage( Application::GetSettings().GetLanguageTag().getLanguageType() );
 
     sal_uLong nCntrl2 = pHitTestOutliner->GetControlWord();
     nCntrl2 |= EE_CNTRL_ALLOWBIGOBJS;
diff --git a/sd/source/core/drawdoc2.cxx b/sd/source/core/drawdoc2.cxx
index 3542621..8cbc2e8 100644
--- a/sd/source/core/drawdoc2.cxx
+++ b/sd/source/core/drawdoc2.cxx
@@ -922,8 +922,8 @@ void SdDrawDocument::SetLanguage( const LanguageType eLang, const sal_uInt16 nId
 
     if( bChanged )
     {
-        GetDrawOutliner().SetDefaultLanguage( Application::GetSettings().GetLanguage() );
-        pHitTestOutliner->SetDefaultLanguage( Application::GetSettings().GetLanguage() );
+        GetDrawOutliner().SetDefaultLanguage( Application::GetSettings().GetLanguageTag().getLanguageType() );
+        pHitTestOutliner->SetDefaultLanguage( Application::GetSettings().GetLanguageTag().getLanguageType() );
         pItemPool->SetPoolDefaultItem( SvxLanguageItem( eLang, nId ) );
         SetChanged( bChanged );
     }
diff --git a/sd/source/core/drawdoc4.cxx b/sd/source/core/drawdoc4.cxx
index ad1cde5..5429938 100644
--- a/sd/source/core/drawdoc4.cxx
+++ b/sd/source/core/drawdoc4.cxx
@@ -1389,7 +1389,7 @@ void SdDrawDocument::getDefaultFonts( Font& rLatinFont, Font& rCJKFont, Font& rC
     //  If the UI language is Korean, the default Latin font has to
     //  be queried for Korean, too (the Latin language from the document can't be Korean).
     //  This is the same logic as in SwDocShell::InitNew.
-    LanguageType eUiLanguage = Application::GetSettings().GetUILanguage();
+    LanguageType eUiLanguage = Application::GetSettings().GetUILanguageTag().getLanguageType();
     if (MsLangId::isKorean(eUiLanguage))
         eLatin = eUiLanguage;
 
@@ -1401,7 +1401,7 @@ void SdDrawDocument::getDefaultFonts( Font& rLatinFont, Font& rCJKFont, Font& rC
 /* converts the given western font height to a corresponding ctl font height, deppending on the system language */
 sal_uInt32 SdDrawDocument::convertFontHeightToCTL( sal_uInt32 nWesternFontHeight )
 {
-    LanguageType eRealCTLLanguage = Application::GetSettings().GetLanguage();
+    LanguageType eRealCTLLanguage = Application::GetSettings().GetLanguageTag().getLanguageType();
     if( LANGUAGE_THAI == eRealCTLLanguage )
     {
         // http://specs.openoffice.org/g11n/font_sizes/42775_42725_Individual_configurable_font_size_for_default_fonts.odt
diff --git a/sd/source/filter/eppt/pptx-text.cxx b/sd/source/filter/eppt/pptx-text.cxx
index 76e7202..3043bac 100644
--- a/sd/source/filter/eppt/pptx-text.cxx
+++ b/sd/source/filter/eppt/pptx-text.cxx
@@ -247,7 +247,7 @@ void PortionObj::ImplGetPortionValues( FontCollection& rFontCollection, sal_Bool
         }
     }
 
-    sal_Int16 nScriptType = SvtLanguageOptions::GetScriptTypeOfLanguage( Application::GetSettings().GetLanguage() );
+    sal_Int16 nScriptType = SvtLanguageOptions::GetScriptTypeOfLanguage( Application::GetSettings().GetLanguageTag().getLanguageType() );
     if ( mpText && mnTextSize && xPPTBreakIter.is() )
     {
         rtl::OUString sT( mpText, mnTextSize );
diff --git a/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx b/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
index c470c60..6df80e9 100644
--- a/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
+++ b/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
@@ -374,7 +374,7 @@ lang::Locale SAL_CALL AccessibleSlideSorterView::getLocale (void)
         return xParentContext->getLocale();
     else
         // Strange, no parent!  Anyway, return the default locale.
-        return Application::GetSettings().GetLocale();
+        return Application::GetSettings().GetLanguageTag().getLocale();
 }
 
 
diff --git a/sd/source/ui/accessibility/AccessibleTreeNode.cxx b/sd/source/ui/accessibility/AccessibleTreeNode.cxx
index 5a0c014..d597480 100644
--- a/sd/source/ui/accessibility/AccessibleTreeNode.cxx
+++ b/sd/source/ui/accessibility/AccessibleTreeNode.cxx
@@ -339,7 +339,7 @@ lang::Locale SAL_CALL AccessibleTreeNode::getLocale (void)
         return xParentContext->getLocale();
     else
         // Strange, no parent!  Anyway, return the default locale.
-        return Application::GetSettings().GetLocale();
+        return Application::GetSettings().GetLanguageTag().getLocale();
 }
 
 
diff --git a/sd/source/ui/animations/CustomAnimationCreateDialog.cxx b/sd/source/ui/animations/CustomAnimationCreateDialog.cxx
index 1f8698e..fc803fb 100644
--- a/sd/source/ui/animations/CustomAnimationCreateDialog.cxx
+++ b/sd/source/ui/animations/CustomAnimationCreateDialog.cxx
@@ -232,7 +232,7 @@ ImplStlEffectCategorySortHelper::ImplStlEffectCategorySortHelper()
 
         if( mxCollator.is() )
         {
-            const lang::Locale& rLocale = Application::GetSettings().GetLocale();
+            const lang::Locale& rLocale = Application::GetSettings().GetLanguageTag().getLocale();
             mxCollator->loadDefaultCollator(rLocale, 0);
         }
     }
diff --git a/sd/source/ui/dlg/TemplateScanner.cxx b/sd/source/ui/dlg/TemplateScanner.cxx
index 0f01371..6bacc27 100644
--- a/sd/source/ui/dlg/TemplateScanner.cxx
+++ b/sd/source/ui/dlg/TemplateScanner.cxx
@@ -146,7 +146,7 @@ namespace sd
 TemplateEntryCompare::TemplateEntryCompare():
     mpStringSorter(new comphelper::string::NaturalStringSorter(
                        ::comphelper::getProcessComponentContext(),
-                       Application::GetSettings().GetLocale())) {}
+                       Application::GetSettings().GetLanguageTag().getLocale())) {}
 
 bool TemplateEntryCompare::operator()(TemplateEntry* pA, TemplateEntry* pB) const
 {
diff --git a/sd/source/ui/unoidl/unomodel.cxx b/sd/source/ui/unoidl/unomodel.cxx
index a89fe11..28c6b12 100644
--- a/sd/source/ui/unoidl/unomodel.cxx
+++ b/sd/source/ui/unoidl/unomodel.cxx
@@ -1528,7 +1528,7 @@ void ImplPDFExportComments( uno::Reference< drawing::XDrawPage > xPage, vcl::PDF
         uno::Reference< office::XAnnotationAccess > xAnnotationAccess( xPage, uno::UNO_QUERY_THROW );
         uno::Reference< office::XAnnotationEnumeration > xAnnotationEnumeration( xAnnotationAccess->createAnnotationEnumeration() );
 
-        LanguageType eLanguage = Application::GetSettings().GetLanguage();
+        LanguageType eLanguage = Application::GetSettings().GetLanguageTag().getLanguageType();
         while( xAnnotationEnumeration->hasMoreElements() )
         {
             uno::Reference< office::XAnnotation > xAnnotation( xAnnotationEnumeration->nextElement() );
diff --git a/sd/source/ui/view/Outliner.cxx b/sd/source/ui/view/Outliner.cxx
index 43aa502..47b5768 100644
--- a/sd/source/ui/view/Outliner.cxx
+++ b/sd/source/ui/view/Outliner.cxx
@@ -235,7 +235,7 @@ Outliner::Outliner( SdDrawDocument* pDoc, sal_uInt16 nMode )
     if( xHyphenator.is() )
         SetHyphenator( xHyphenator );
 
-    SetDefaultLanguage( Application::GetSettings().GetLanguage() );
+    SetDefaultLanguage( Application::GetSettings().GetLanguageTag().getLanguageType() );
 }
 
 
diff --git a/sd/source/ui/view/drviews5.cxx b/sd/source/ui/view/drviews5.cxx
index 62ebfda..230a54e 100644
--- a/sd/source/ui/view/drviews5.cxx
+++ b/sd/source/ui/view/drviews5.cxx
@@ -464,7 +464,7 @@ void DrawViewShell::Paint(const Rectangle& rRect, ::sd::Window* pWin)
     /* This is done before each text edit, so why not do it before every paint.
                 The default language is only used if the outliner only contains one
                 character in a symbol font */
-    GetDoc()->GetDrawOutliner( NULL ).SetDefaultLanguage( Application::GetSettings().GetLanguage() );
+    GetDoc()->GetDrawOutliner( NULL ).SetDefaultLanguage( Application::GetSettings().GetLanguageTag().getLanguageType() );
 
     mpDrawView->CompleteRedraw( pWin, Region( rRect ) );
 
diff --git a/sd/source/ui/view/sdview.cxx b/sd/source/ui/view/sdview.cxx
index 0912a8a..5ab7bc0 100644
--- a/sd/source/ui/view/sdview.cxx
+++ b/sd/source/ui/view/sdview.cxx
@@ -737,7 +737,7 @@ sal_Bool View::SdrBeginTextEdit(
         if( xHyphenator.is() )
             pOutl->SetHyphenator( xHyphenator );
 
-        pOutl->SetDefaultLanguage( Application::GetSettings().GetLanguage() );
+        pOutl->SetDefaultLanguage( Application::GetSettings().GetLanguageTag().getLanguageType() );
     }
 
     sal_Bool bReturn = FmFormView::SdrBeginTextEdit(
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index 73429f1..7363fc4 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -712,7 +712,7 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
 
 void SfxApplication::MiscState_Impl(SfxItemSet &rSet)
 {
-    LocaleDataWrapper aLocaleWrapper( Application::GetSettings().GetLocale() );
+    LocaleDataWrapper aLocaleWrapper( Application::GetSettings().GetLanguageTag().getLocale() );
     const sal_uInt16 *pRanges = rSet.GetRanges();

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list