2009-10-09 17 views
5

¿Hay alguna manera de obtener las letras del alfabeto en un idioma?C#: ¿obtener letras del alfabeto para el idioma escandinavo?

Quiero hacer paginación, y quiero mostrar, por ejemplo, las últimas 7 letras del alfabeto. Para el alfabeto holandés t-z son las últimas 7 letras, pero para Suecia es w-ö (que es w x y z å ä ö).

Y cuando obtengo eso como entrada, para el alfabeto "normal" a-z puedo generar las letras entre medio usando la tabla ASCII, pero para Suecia eso no funcionará.

+0

Y algunos idiomas ni siquiera tienen un alfabeto ... – Gart

+0

jajaja , no quiero saber :) – Michel

+0

Bueno, en realidad, ahora que lo pienso, lo hago ... curioso: ¿cómo puedes tener un idioma sin un alfabeto? – Michel

Respuesta

0

Así que para limpiar éste para arriba, creo que la respuesta es que incluso si me limito a lenguas occidentales no puedo pedir el marco para el .Net letras del alfabeto Así que he hecho una lista con las letras, por suerte solo había cuatro idiomas para hacer.

1

no creo que es accesible mediante programación por defecto, pero aquí hay un buen conjunto de documentos de referencia en el Evertype website

+0

+1 ya que si bien recomendaría el CLDR cuando corresponda, y el CLDR cubre un mayor número de idiomas, el conjunto de Michael es bueno para tener reglas sobre las letras semi-incluidas en los alfabetos (por ejemplo, en inglés, normalmente no incluimos æ en el alfabeto, al menos en lo que respecta al inglés moderno, pero está correctamente ordenado como si fuera "ae", mientras que ȝ ya no está incluido en el alfabeto, sino que ordena entre y y z). Del mismo modo, con las letras que se usan comúnmente en las palabras prestadas en algunos idiomas y las que han cambiado los alfabetos. No siempre es necesario saberlo, pero es una gran fuente cuando lo es. –

5

A lo mejor de mi conocimiento, ni tampoco .NET Windows proporcionan esta información. Sin embargo, puede encontrarlo en el CLDR database del Consorcio Unicode. Este DB es en realidad un conjunto de archivos XML (uno para cada idioma, nombrado después de la abreviatura del idioma) que contienen todo tipo de información de localización. Una mina de oro!

el elemento/ldml/characters/examplarCharacters contiene una lista de caracteres utilizados en el idioma. por ejemplo, para el sueco (sv.xml):

[a-v x-z å ä ö] 

Tenga en cuenta que cuando se dice '' letras ASCII, te das cuenta que estás limitación a la escritura latina, ¿verdad? En lo que se refiere al CLDR, las listas como a-z son secuencias de caracteres Unicode, no solo letras ASCII. por ejemplo, en ruso (de ru.xml):

[а-е ё ж-я] 
+2

¡Cuidado!El CLDR realmente no contiene la información requerida. Por ejemplo, para holandés, el elemento/ldml/characters/exemplarCharacters es [a á ä be éëëëëëëëëåëåò ò ö pu ú ü vz] (¡pero!) Pero créeme, [az] es lo que necesitas para esta pregunta. – Ruben

+0

No, no confío en usted ;-) Aunque las letras acentuadas no son de uso común en el idioma en sí, las letras como é no son raras en los nombres holandeses (no estoy seguro de Holanda. Pero seguro para Flemishes (habla holandesa) belgians. nl-BE). De acuerdo con www.voornamen.com, Björn es actualmente el nombre de pila más famoso en los Países Bajos. –

+1

Es verdad, pero eso es irrelevante para la pregunta. Se usan letras acentuadas, pero nunca se consideran como letras separadas para alfabetizar, a diferencia de å ä y ö en sueco. Filtrar en [a] en neerlandés * debe * incluir à à ä etc. (solo consultar un diccionario) – Ruben

1

De todos modos, enviará una lista de cadenas a sus traductores. Para cada idioma de su sitio, tendrá uno, y cada uno conocerá la respuesta para sus idiomas. Así que solo envíe la cadena "a b c d e f g h i j k l m n o p q r s t u v w x y z" y documente esto como la placa utilizada para la búsqueda. Deberían poder traducirlo por ti. Eso sí, podrías obtener entradas como ... "x ij z" para holandés - "ij" es una ortografía común de una sola letra IJ

Cuestiones relacionadas