[RESUELTO] Identificar el idioma de un parrafo

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
Ambrosio
Mensajes: 24
Registrado: Lun Abr 23, 2018 6:33 pm

[RESUELTO] Identificar el idioma de un parrafo

Mensaje por Ambrosio »

Hola,
Quiero poder saber, en una página del Writer con párrafos en distintos idiomas, en que idioma está cada párrafo al moverse por la página.
En VBasic lo hacía así:

Código: Seleccionar todo

    
Dim dicc As String
If Selection.LanguageID = msoLanguageIDSpanishModernSort Or Selection.LanguageID = msoLanguageIDSpanish Then
        dicc = "es.dic"
    ElseIf Selection.LanguageID = msoLanguageIDEnglishUS Or Selection.LanguageID = msoLanguageIDEnglishUK Then
        dicc = "en.dic"
End If
En realidad me gustaría también poder hacer referencia a un idioma (ej: Inglés) sin tener que hacer referencia a distintas variantes del mismo (ej: msoLanguageIDEnglishUS // msoLanguageIDEnglishUK)

Agradecimientos por adelantado,
Última edición por mauricio el Vie May 25, 2018 6:50 pm, editado 2 veces en total.
Razón: Marcar icono de resuelto
windows 7 // LibreOffice_5.4.5_Win_x86
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Identificar el idioma de un parrafo

Mensaje por mauricio »

Hola...

Toma en cuenta que la "selección" pueden ser un montón de cosas:

Código: Seleccionar todo

	sel = ThisComponent.CurrentController.Selection.getByIndex(0)
	MsgBox sel.CharLocale.Language
Y también que el idioma es una propiedad del estilo, y no necesariamente es el idioma en que "realmente" esta el texto.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Ambrosio
Mensajes: 24
Registrado: Lun Abr 23, 2018 6:33 pm

Re: Identificar el idioma de un parrafo

Mensaje por Ambrosio »

Hola,
Ahí estaba encallado, podía saber el idioma del estilo (o del documento), pero no conseguía identificar el de distintos párrafos en idiomas distintos al del estilo.
Esa línea de código me ha solucionado el problema.
Gracias,
Ambrosio
windows 7 // LibreOffice_5.4.5_Win_x86
Responder