Texto y herramientas cotidianas · Text Toolkit
Por qué las mayúsculas no son solo de la A a la Z: ß, la i turca y la asignación de casos Unicode
· Antecedentes
Unicode conversión de caso localización
Explica por qué las mayúsculas y minúsculas se definen mediante tablas Unicode en lugar de aritmética en letras, con las excepciones bien conocidas (ß se convierte en SS, la ı turca sin puntos y la sigma final griega) y lo que eso significa para cualquier convertidor basado en navegador.
STRASSE y la letra que creció: por qué escribir 'straße' en mayúsculas cambia el número de caracteres
Pegue `straße` en un convertidor y escriba en mayúscula: JavaScript produce `STRASSE`. El resultado es visiblemente más largo porque la s minúscula sostenida se asigna a dos letras mayúsculas mediante la operación predeterminada utilizada aquí. Por lo tanto, una regla de validación que asume que la conversión de mayúsculas y minúsculas conserva el recuento de caracteres puede rechazar, truncar o desalinear texto en alemán que de otro modo sería válido.
La dirección inversa no reconstruye la fuente. Al escribir `STRASSE` en minúsculas, se obtiene `strasse`, no `straße`, porque la secuencia mayúscula también representa un par ordinario de letras s. En consecuencia, la conversión de casos es una transformación de texto, no una codificación reversible. Mantenga la ortografía original siempre que sea importante la identidad, la fidelidad o la comparación exacta.
Mapeo de casos como una tabla, no una fórmula: cómo Unicode define mapeos de casos simples y completos para cada letra en mayúsculas
El código ASCII a menudo enseña un patrón conveniente: las letras latinas mayúsculas y minúsculas ocupan rangos predecibles, por lo que aparece un desplazamiento numérico para conectarlas. Ese modelo deja de ser útil una vez que el texto contiene letras fuera de esos rangos o una asignación produce más de un carácter de salida. Por lo tanto, el convertidor llama a métodos de cadena de JavaScript en lugar de realizar aritmética de letras.
El repositorio no expone tablas de mapeo Unicode ni distingue mapeos simples y completos, por lo que esos detalles no deben presentarse como características de esta herramienta. Su contrato observable es más limitado: `toUpperCase()` y `toLowerCase()` delegan al motor del navegador. Los resultados deben probarse en los entornos donde realmente se consumirá el texto convertido.
La conversión de casos utiliza asignaciones de caracteres proporcionadas por el motor, no aritmética ni tablas expuestas por esta herramienta
Un resultado de cambio de longitud afecta a más de un contador al lado de una entrada. Es posible que los desplazamientos almacenados, los rangos de selección, los resaltados y las posiciones del cursor calculados antes de la conversión ya no apunten al texto deseado después. El mismo riesgo se aplica a cualquier flujo de trabajo que asigne espacio de salida a partir de la longitud de entrada o asuma que un carácter de origen siempre corresponde a un carácter de resultado.
La ida y vuelta también puede perder distinciones incluso cuando un ejemplo particular mantiene la misma longitud visible. Varias fuentes ortográficas pueden converger en una forma mayúscula, dejando la operación en minúsculas sin suficiente información para elegir el original. Compare los valores transformados sólo cuando esa pérdida sea aceptable; de lo contrario, conserve los originales y utilice una estrategia de comparación diseñada para los requisitos del producto.
Asignaciones que cambian de longitud y por qué la conversión no siempre puede restaurar la fuente
La sigma griega proporciona una advertencia diferente. El griego en minúsculas utiliza formas sigma que pueden variar según la posición en una palabra, por lo que el cambio de mayúsculas no siempre se puede decidir a partir de un carácter aislado. JavaScript recibe la cadena completa, lo que permite que su comportamiento de minúsculas incorporado considere el texto circundante en lugar de reemplazar cada sigma mayúscula con un glifo fijo.
Pruebe sigma dentro de palabras completas, no solo como una muestra de un solo carácter. La puntuación, los espacios y los límites de las palabras son parte de la entrada que evalúa el motor y editarlos puede alterar el resultado en minúsculas. Para la revisión de localización, conserve la frase completa utilizada por la interfaz y compárela con una traducción aprobada en lugar de inspeccionar solo los puntos del código.
La sigma griega muestra que las minúsculas pueden depender del texto circundante.
El turco distingue las i con puntos y sin puntos de manera que la conversión de mayúsculas y minúsculas predeterminada e independiente de la configuración regional no se modela como un comportamiento específico de Turquía. La configuración de ToolAcre dice explícitamente que su mapeo es independiente de la configuración regional y que las i turcas con y sin puntos no están en mayúsculas y minúsculas especiales. Por lo tanto, un resultado que parezca plausible no es evidencia de que los nombres, direcciones o cadenas de interfaz se hayan convertido correctamente para los lectores turcos.
La respuesta práctica es no agregar sustituciones después de una conversión genérica. Dichos reemplazos pueden dañar el texto en varios idiomas y aun así perder contexto. Utilice una operación que tenga en cuenta la configuración regional en software cuya configuración regional sea conocida y haga que se revise el contenido turco o azerí en esa configuración. En este convertidor, trate los i ejemplos como demostraciones de la limitación documentada.
Turco con y sin puntos. Necesito un manejo compatible con la configuración regional que este convertidor no proporciona
ToolAcre implementa SUPERIOR e inferior llamando a los métodos de cadena de JavaScript correspondientes en la entrada completa. No pasa una configuración regional, no carga un diccionario de idioma ni solicita una conversión del lado del servidor. Por lo tanto, el resultado es el resultado de caso predeterminado del motor del navegador, que es útil para inspeccionar el comportamiento normal de las aplicaciones pero no para certificar la tipografía específica del idioma.
La distinción es importante al reproducir un error. Registre la cadena de origen exacta, la transformación seleccionada y la cadena resultante en lugar de informar solo que las mayúsculas parecían incorrectas. Si el código de producción utiliza los mismos métodos JavaScript predeterminados, el convertidor ofrece una comparación compacta. Si la producción utiliza API compatibles con la configuración regional, hacer coincidir esta página no es la prueba de aceptación relevante.
Lo que esto no cubre: reglas de mayúsculas y minúsculas en los títulos de dígrafos y la historia de la capital ẞ
El botón Caso de título es otra transformación con un contrato deliberadamente limitado. Encuentra tiradas de letras, combinando marcas o apóstrofes, pone en mayúscula el primer carácter y minúscula el resto. No tiene diccionario de idiomas ni excepciones de guía de estilo, por lo que las siglas y los nombres propios pueden cambiar, mientras que las palabras pequeñas como `of` y `the` se escriben en mayúscula como otras palabras.
Este artículo no se basa en la historia propuesta en el esquema de una s mayúscula ni en reglas más amplias para los dígrafos de mayúsculas y minúsculas, porque ninguna de las dos está establecida por las fuentes inspeccionadas. Esos temas pueden ser valiosos con referencias independientes, pero no explican la función enviada. Aquí la guía confiable es revisar cada título convertido y restaurar la ortografía intencional manualmente.
Comportamiento de mayúsculas y minúsculas en el título en esta herramienta, sin historial alfabético no compatible
Pruebe tres comprobaciones específicas en el convertidor de mayúsculas y minúsculas: `straße` mayúscula, minúscula una palabra griega que contenga sigma mayúscula y ejecute muestras de i con y sin puntos en ambas direcciones. Observe las cadenas reales en lugar de predecirlas en inglés. Luego use Deshacer entre experimentos para que cada resultado comience desde el texto original en lugar de una transformación anterior con pérdida.
La lección más amplia es operativa: la conversión de casos puede cambiar la longitud, colapsar las distinciones y depender del contexto lingüístico que una operación predeterminada desconoce. Utilice la herramienta para exponer esos comportamientos, no para prometer una localización universal correcta. Conserve el texto fuente, pruebe frases reales completas y aplique revisiones con reconocimiento regional siempre que se requiera un resultado específico del idioma.