corrección ortográfica en varios idiomas sobre WPF RichTextBox

votos
5

Necesito convertir corrección ortográfica en un RichTextBox, y establecer el idioma a uno que el usuario ha escogido de un menú desplegable. Por ahora, sólo estoy probando mediante la construcción de RichTextBox en XAML y proporcionar un lenguaje para el atributo de idioma xaml.

He leído dos recursos diferentes y uno dice que necesito para establecer el atributo de idioma, y ​​el otro dice que necesito para establecer el atributo xml: lang. Tampoco parece que funciona. He tratado de establecer ya sea uno a es para el español, y también he intentado fijar tanto a es. También he intentado francés estableciendo su valor a fr-FR, sin éxito. Lo único que sucede es que las palabras inglesas no están marcados, pero las otras palabras de la lengua se marcan como incorrectas.

También leí que necesito cambiar el idioma del teclado. Esto sería un problema para mi aplicación como la lengua dentro de la aplicación necesita ser cambiado sobre la marcha, por lo que tener el usuario final ir a la configuración de teclado sólo para corrección ortográfica podrá funcionar un problema. Sin embargo, he cambiado la configuración del teclado, y el corrector ortográfico todavía no funciona correctamente. Esta vez no marca nada como mal escritas, aunque mal escrito palabras en inglés.

¿Qué me estoy perdiendo?

Editar: algunos enlaces a mis referencias anteriores http://msdn.microsoft.com/en-us/library/system.windows.controls.spellcheck(v=VS.100).aspx

http://www.dev102.com/2008/03/25/customize-spellcheck-on-wpf-text-controls/

http://books.google.com/books?id=clLc5BBHqRMC&pg=PA121&lpg=PA121&dq=C%23+wpf+enable+spellcheck&source=bl&ots=_r59pZRDjP&sig=yHMBc39EHKK5gaRMzxlBaEsY890&hl=en&ei=oXnIS8zWH4G88gaq48yGBw&sa=X&oi=book_result&ct=result&resnum=6&ved=0CBMQ6AEwBQ# v = OnePage y q & f = false

Publicado el 16/04/2010 a las 18:05
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
2

No estoy seguro de que el problema está para usted, pero esto definitivamente funciona en mi máquina:

    <StackPanel>
        <TextBox SpellCheck.IsEnabled="True"
            Language="{Binding SelectedItem.Content, ElementName=lg, ConverterCulture=en-us}">

            Turtle tortue tortuga Schildkröte 

        </TextBox>
        <ComboBox Name="lg">
            <ComboBoxItem Selector.IsSelected="True">en-US</ComboBoxItem>
            <ComboBoxItem>fr-FR</ComboBoxItem>
            <ComboBoxItem>es-ES</ComboBoxItem>
            <ComboBoxItem>de-DE</ComboBoxItem>
        </ComboBox>
    </StackPanel>

Editar trabaja en 3.5, no en 4.0. Interesante.

En todas ellas asistidas 3.5 diccionarios funcionan bien. En 4.0 revisión ortográfica WPF sólo funciona para el idioma Inglés.

Editar 2

Se parece que sólo funciona en 3.5 porque estoy en Windows 7, por lo que no necesita paquetes de idiomas.

El otro problema es que funciona sólo porque el texto está preestablecido. Cualquier texto que introduzca lo obtendrá del idioma de la configuración actual de usuario.

Creo que la solución a su problema sería que atravesar todo el contenido y cambiar sus propiedades de idioma cada vez que el usuario selecciona un idioma.

Respondida el 20/04/2010 a las 12:26
fuente por usuario

votos
1

Desde el foro de MSDN:

"En primer lugar, exactamente qué necesitamos componentes para WPF para habilitar el corrector ortográfico para inglés idiomas / Español / Alemán / Francés?

Netfx 3.5 SP1

Windows XP (paquetes de idiomas); Windows Vista (Fuera de cuadro); Windows 7 (Fuera de cuadro)

Netfx 4 Windows XP (paquetes de idiomas); Windows Vista (paquetes de idiomas); Windows 7 (paquetes de idiomas)

Aquí los paquetes de idioma 'significa que necesita para instalar .NET Framework paquetes de idiomas correspondientes. Por ejemplo, si desea habilitar el corrector ortográfico español en Windows XP y .NET Framework 3.5 SP1, a continuación, instalar el .NET Framework 3.5 SP1 paquete de idioma español. Y si desea habilitar el corrector ortográfico alemán en .NET Framework 4.0, a continuación, instalar el .NET Framework 4.0 paquete de idioma alemán.

Los paquetes de idioma para .NET Framework 4.0 estarán disponibles en breve.

Fuera de la caja significa que usted no tiene que hacer nada y el corrector ortográfico para los cuatro idiomas están disponibles de forma automática.

Si va a implementar la aplicación a través de ClickOnce, se pueden incluir los paquetes de idioma correspondientes como requisitos previos. Para obtener ayuda sobre la inclusión de los paquetes de idioma en una implementación de ClickOnce, se puede utilizar el ClickOnce y Configuración e implementación de Proyectos Foro.

En segundo lugar, ¿cómo control RichTextBox determinar el idioma para comprobar?

Si un elemento de ejecución está marcado con un lenguaje específico, el corrector ortográfico va a usar:

Uno Dos Tres cuatrro uno dos tres fourr

En tiempo de ejecución, el corrector ortográfico utiliza el idioma de entrada que se utilizó para escribir las palabras, tal como se describe en el post anterior.

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/06a2cc61-f2ae-4534-b35a-6c676bc2bcb2/?prof=required

Respondida el 21/04/2010 a las 14:31
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more