Macro para obtener el idioma y país de una aplicación OpenOffice
Esta función permite obtener el país y el idioma en que se está ejecutando OpenOffice.
Indispensable si necesitas escribir código que presente distintos textos en función del idioma.
Function OOoIdioma( OOoIdioma_Pais as string ) as string
Dim oSet, oConfigProvider
Dim oParm(0) As New com.sun.star.beans.PropertyValue
Dim sProvider$, sAccess$
sProvider = "com.sun.star.configuration.ConfigurationProvider"
sAccess = "com.sun.star.configuration.ConfigurationAccess"
oConfigProvider = createUnoService(sProvider)
oParm(0).Name = "nodepath"
oParm(0).Value = "/org.openoffice.Setup/L10N"
oSet = oConfigProvider.createInstanceWithArguments(sAccess, oParm())
OOoIdioma_Pais = trim(oSet.getbyname("ooLocale")) 'por ejemplo es, es-AR, en-US
OOoIdioma = lCase(Left(OOoIdioma_Pais,2)) 'por ejemplo es, es , en
End Function
Ejemplo de uso de la función:
Dim Idioma as string, Idioma_Pais as string
Idioma = OOoIdioma( Idioma_Pais )
msgbox "Idioma es " & Idioma & "; Idioma y país es " & Idioma_Pais