Comprobaciones y correcciones

Los controles de calidad ayudan a detectar errores comunes de traducción, garantizando así la calidad de la traducción. En caso de falsos positivos, se pueden ignorar.

Una vez que se envía una traducción con una verificación fallida, esto se muestra inmediatamente al usuario:

../_images/checks.webp

Correcciones automáticas

Además de las comprobaciones Comprobaciones de calidad, Weblate puede corregir algunos errores comunes en las cadenas traducidas. Úselo con precaución para no tener más errores.

Ver también

AUTOFIX_LIST

Remplazar elipses finales

Nombre de clase:

weblate.trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis

Reemplace los puntos finales (...) con puntos suspensivos () para que sea coherente con la cadena de origen.

Eliminación de espacios de ancho cero

Nombre de clase:

weblate.trans.autofixes.chars.RemoveZeroSpace

Normalmente no se desea un espacio de ancho cero en la traducción. Esta corrección lo eliminará a menos que también esté presente en la cadena de origen.

Eliminar caracteres de control

Nombre de clase:

weblate.trans.autofixes.chars.RemoveControlChars

Quita caracteres de control si la cadena de origen no los contiene.

Barra devanagari

Nombre de clase:

weblate.trans.autofixes.chars.DevanagariDanda

Sustituye el punto final de la frase en bengalí por el carácter devanagari danda ().

Espaciado de puntuación

Nombre de clase:

weblate.trans.autofixes.chars.PunctuationSpacing

Added in version 5.3.

Asegura que el francés utilice el espaciado de puntuación correcto.

Esta corrección se puede desactivar a través del indicador ignore-punctuation-spacing (que también desactiva Espaciado de puntuación).

Purgado de HTML no seguro

Nombre de clase:

weblate.trans.autofixes.html.BleachHTML

Elimina las marcas HTML no seguras de las cadenas marcadas como safe-html.

Ver también

HTML inseguro

Corrección de espacios en blanco iniciales y finales

Nombre de clase:

weblate.trans.autofixes.whitespace.SameBookendingWhitespace

Hace que los espacios iniciales y finales sean coherentes con la cadena de origen. Este comportamiento se puede ajustar con los indicadores ignore-begin-space e ignore-end-space para omitir el procesamiento de partes de la cadena.

Comprobaciones de calidad

Weblate emplea una amplia gama de controles de calidad para las cadenas. La siguiente sección los describe con más detalle. También existen controles específicos para cada idioma. Por favor, informe de un error si detecta algún error.

Comprobaciones de traducción

Se ejecuta en cada cambio de traducción, lo que ayuda a los traductores a mantener traducciones de buena calidad.

Marcación BBCode

Distinto en la versión 5.10: Esta comprobación ya no se basa en la detección automática, que no es fiable, sino que ahora debe activarse mediante el indicador bbcode-text.

Resumen:

El BBCode en la traducción no coincide con aquél en el original.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.markup.BBCodeCheck

Comprobar identificador:

bbcode

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

bbcode-text

Indicador a descartar:

ignore-bbcode

BBCode representa un marcado simple, como por ejemplo resaltar partes importantes de un mensaje en negrita o cursiva.

Esta comprobación asegura que también se encuentren en la traducción.

Nota

El método de detección de BBCode actualmente es bastante sencillo, por lo que es posible que esta comprobación emita falsos positivos.

Caracteres alrededor de etiquetas XML

Resumen:

Caracteres rodeando etiquetas XML en traducción no alinea con el original.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.markup.XMLCharsAroundTagsCheck

Comprobar identificador:

xml-chars-around-tags

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-xml-chars-around-tags

Compruebe que los caracteres alrededor una etiqueta XML es consistente entre ambos original y traducción. Asegure las letras no están remplazadas por no letras, y viceversa.

Nota

Esta comprobación está inhabilitada por el indicador safe-html ya que la limpieza de HTML que realiza puede producir marcado HTML el cual no es XML válido.

Palabras consecutivas duplicadas

Added in version 4.1.

Resumen:

El texto contiene la misma palabra dos veces seguidas.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.duplicate.DuplicateCheck

Comprobar identificador:

duplicate

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-duplicate

Comprueba que no haya palabras consecutivas duplicadas en una traducción. Esto a menudo señala un error en la traducción.

Consejo

Esta comprobación incluye algunas reglas lingüísticas para evitar falsos positivos. Si encuentra uno, háganoslo saber. Consulte Informar incidencias en Weblate.

No se ajusta al glosario

Added in version 4.5.

Resumen:

La traducción no sigue los términos definidos en un glosario.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.glossary.GlossaryCheck

Comprobar identificador:

check_glossary

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

check-glossary

Indicador a descartar:

ignore-check-glossary

Esta comprobación se debe activar mediante el indicador check-glossary (consulte Personalizar el comportamiento mediante indicadores). Considere lo siguiente antes de activarla:

  • Realiza una coincidencia exacta de cadenas y se espera que el glosario contenga términos en todas las variantes.

  • Comprobar cada cadena con el glosario es costoso y ralentizará cualquier operación en Weblate la cual implique ejecutar comprobaciones como importar cadenas o traducirlas.

  • Además utiliza términos del glosario intraducibles en Traducción no modificada.

Espacio duplicado

Resumen:

La traducción contiene un espacio doble.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.DoubleSpaceCheck

Comprobar identificador:

double_space

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-double-space

Comprueba que haya doble espacio en la traducción para evitar falsos positivos en otras comprobaciones relacionadas con el espacio.

La comprobación se anula cuando se encuentran espacios duplicados en la cadena de origen, lo que indica que son intencionales.

Partes fluidas

Added in version 5.0.

Resumen:

Las partes fluidas coincidirían.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.fluent.parts.FluentPartsCheck

Comprobar identificador:

fluent-parts

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Formato fluido

Indicador a activar:

fluent-parts

Indicador a descartar:

ignore-fluent-parts

Cada mensaje de Fluent puede tener un valor opcional (el contenido del texto principal) y atributos opcionales, cada uno de los cuales es una «parte» del mensaje. En Weblate, todas estas partes aparecen dentro del mismo bloque, utilizando una sintaxis similar a la de Fluent para especificar los atributos. Por ejemplo:

This is the Message value
.title = This is the title attribute
.alt = This is the alt attribute

Esta comprobación asegura que el mensaje traducido también tenga un valor si el mensaje original lo tiene, o que no tenga ningún valor si el original no lo tiene. También comprueba que los mismos atributos utilizados en el mensaje original aparezcan en la traducción, sin añadidos.

Nota

Esta verificación no se aplica a los Términos Fluent ya que los Términos siempre tienen un valor y los atributos de los Términos tienden a ser específicos de la configuración regional (se usan para reglas gramaticales, etc.) y no se espera que aparezcan en todas las traducciones.

Ver también

Atributos de Fluent

Referencias fluidas

Added in version 5.0.

Resumen:

Las referencias fluidas coincidirían.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.fluent.references.FluentReferencesCheck

Comprobar identificador:

fluent-references

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Formato fluido

Indicador a activar:

fluent-references

Indicador a descartar:

ignore-fluent-references

Un Mensaje o Término de Fluent puede hacer referencia a otro Mensaje, Término, Atributo o una variable. Por ejemplo:

Here is a { message }, a { message.attribute } a { -term } and a { $variable }.
Within a function { NUMBER($num, minimumFractionDigits: 2) }

Generalmente, se espera que los Mensajes o Términos traducidos contengan las mismas referencias que el origen, aunque no necesariamente en el mismo orden de aparición. Por lo tanto, esta comprobación garantiza que las traducciones utilicen las mismas referencias en su valor que el valor de origen, el mismo número de veces y sin adiciones. En el caso de los mensajes, también se comprobará que cada atributo de la traducción utiliza las mismas referencias que el atributo correspondiente del origen.

Cuando la fuente o la traducción contiene expresiones tipo Fluent Select, entonces cada variante posible en la fuente debe coincidir con al menos una variante en la traducción con las mismas referencias, y viceversa.

Además, si aparece una referencia variable tanto en el selector de la Expresión Selección como en una de sus variantes, todas las variantes pueden considerarse como si también contuvieran dicha referencia. Se supone que la clave de la variante podría haber hecho que la referencia fuera redundante para esa variante. Por ejemplo:

{ $num ->
    [one] an apple
   *[other] { $num } apples
}

Aquí, para los propósitos de esta comprobación, la variante [uno] será además considerada para contener la referencia $sum.

Sin embargo, una referencia dentro del selector de la Expresión Select, que solo puede ser una variable de un Atributo de Término en la sintaxis de Fluent, no se considerará obligatoria, ya que no constituye el contenido textual real de la cadena que verá el usuario final, y la presencia de una Expresión Select se considera específica de la configuración regional. Por ejemplo:

{ -term.starts-with-vowel ->
    [yes] an { -term }
   *[no] a { -term }
}

No se espera que aquí aparezca una referencia a -term.starts-with-vocal en las traducciones, pero sí una referencia a -term.

Traducción interna fluida de HTML

Added in version 5.0.

Resumen:

El destino fluido debe ser un HTML interno válido que coincida.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.fluent.inner_html.FluentTargetInnerHTMLCheck

Comprobar identificador:

fluent-target-inner-html

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Formato fluido

Indicador a activar:

fluent-target-inner-html

Indicador a descartar:

ignore-fluent-target-inner-html

Esta verificación verificará que el valor traducido de un Mensaje o Término contenga los mismos elementos HTML que el valor de origen.

En primer lugar, si el valor fuente no supera la comprobación HTML interno de una fuente fluida, esta no tendrá ningún efecto. De lo contrario, el valor traducido también se comprobará en las mismas condiciones.

En segundo lugar, los elementos HTML del valor traducido se compararán con los del valor fuente. Dos elementos coincidirán si comparten exactamente el mismo nombre de etiqueta, los mismos atributos y valores, y si todos sus ancestros coinciden de la misma manera. Esta comprobación garantizará que todos los elementos del origen aparezcan en la traducción, con el mismo número de apariciones y sin elementos adicionales. Si el valor contiene varios elementos, no es necesario que aparezcan en el mismo orden en la traducción.

Cuando el origen o la traducción contiene expresiones Fluent Select, cada variante posible en el origen debe coincidir con al menos una variante en la traducción con los mismos elementos HTML, y viceversa.

Al usar Fluent en combinación con el paquete Fluent DOM, esta verificación garantizará que la traducción también incluya cualquier elemento data-l10n-name requerido que aparezca en la fuente, o cualquiera de los elementos en línea permitidos como <br>.

Por ejemplo, la fuente siguiente:

Source message <img data-l10n-name="icon"/> with icon

coincidiría con:

Translated message <img data-l10n-name="icon"/> with icon

pero no:

Translated message <img data-l10n-name="new-val"/> with icon

ni

Translated message <br data-l10n-name="icon"/> with no icon

Fluent sintaxis de traducción

Added in version 5.0.

Resumen:

Error sintáctico fluido en la traducción.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.fluent.syntax.FluentTargetSyntaxCheck

Comprobar identificador:

fluent-target-syntax

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Formato fluido

Indicador a activar:

fluent-target-syntax

Indicador a descartar:

ignore-fluent-target-syntax

En Weblate, las cadenas de Fluent utilizan la sintaxis de Fluent para referencias y variables, pero también para funciones más complejas, como la definición de atributos y variantes de selectores, incluyendo plurales. Esta comprobación asegura que la sintaxis utilizada en la traducción sea válida para Fluent.

Cadenas formateadas

Comprueba que el formato dentro de las cadenas esté reproducido tal cual tanto en el origen como en la traducción. Omitir el formato en las traducciones. por lo general, provoca problemas severos; por esta razón el formato de las cadenas casi siempre debe coincidir con el origen.

Weblate permite la comprobación del formato de las cadenas en varios idiomas. Esta comprobación no se activa automáticamente, solo si una cadena está marcada correctamente (p. ej., c-format para el formato C). Gettext automáticamente añade esto, pero probablemente tendrá que añadirlo manualmente para otros formatos de archivo o si sus archivos PO no son generados por xgettext.

La mayoría de las comprobaciones de formato permiten omitir cadenas de formato para formas plurales con un solo conteo. Esto concede a los traductores escribir cadenas más elegantes para estos casos (One apple en lugar de %d apple). Desactive esta opción añadiendo el indicador strict-format.

Los indicadores se pueden personalizar por cadena (consulte Información adicional sobre las cadenas de origen) o en un Configuración de componentes. Definirlas por componente es más sencillo, pero puede generar falsos positivos si la cadena no se interpreta como una cadena de formato, sino que se utiliza la sintaxis de cadena de formato.

Consejo

En caso de que no esté disponible en Weblate una comprobación de formato específico, puede emplear la genérica Sustitutivos.

Además de verificar, esto también resaltará las cadenas de formato para insertarlas fácilmente en las cadenas traducidas:

../_images/format-highlight.webp

Cadena de interpolación de AngularJS

Resumen:

La cadena de interpolación de AngularJS no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.angularjs.AngularJSInterpolationCheck

Comprobar identificador:

angularjs_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

angularjs-format

Indicador a descartar:

ignore-angularjs-format

Ejemplo de formato de cadena nombrado:

Your balance is {{amount}} {{ currency }}

Formateo de componentes automáticos

Resumen:

Los sustitutivos de componentes Automattic no coinciden con el origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.AutomatticComponentsCheck

Comprobar identificador:

automattic_components_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

automattic-components-format

Indicador a descartar:

ignore-automattic-components-format

Ejemplo de formato simple de cadena:

They bought {{strong}}apples{{/strong}}.

Formato C

Resumen:

La cadena en formato C no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.CFormatCheck

Comprobar identificador:

c_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

c-format

Indicador a descartar:

ignore-c-format

Ejemplo de formato simple de cadena:

There are %d apples

Ejemplo de cadena en formato de posición:

Your balance is %1$d %2$s

Formato C#

Resumen:

La cadena en formato C# no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.CSharpFormatCheck

Comprobar identificador:

c_sharp_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Archivos ResourceDictionary

Indicador a activar:

c-sharp-format, csharp-format

Indicador a descartar:

ignore-c-sharp-format

Ejemplo de cadena en formato de posición:

There are {0} apples

Literales de plantilla ECMAScript

Resumen:

Los literales de la plantilla ECMAScript no coinciden con los de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.ESTemplateLiteralsCheck

Comprobar identificador:

es_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Archivos lang arrastrable i18n

Indicador a activar:

es-format

Indicador a descartar:

ignore-es-format

Ejemplo de interpolación:

There are ${number} apples

Interpolación con i18next

Added in version 4.0.

Resumen:

La interpolación de i18next no coincide con aquella en el original.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.I18NextInterpolationCheck

Comprobar identificador:

i18next_interpolation

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Archivos JSON i18next, Archivos JSON i18next

Indicador a activar:

i18next-interpolation

Indicador a descartar:

ignore-i18next-interpolation

Ejemplo de interpolación:

There are {{number}} apples

Ejemplo de anidamiento:

There are $t(number) apples

MessageFormat de ICU

Added in version 4.9.

Resumen:

Errores sintácticos y/o discrepancias en sustitutivos dentro de las cadenas MessageFormat de ICU.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.icu.ICUMessageFormatCheck

Comprobar identificador:

icu_message_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Archivo ARB, Formato.JS Archivo JSON

Indicador a activar:

icu-message-format

Indicador a descartar:

ignore-icu-message-format

Ejemplo de interpolación:

There {number, plural, one {is one apple} other {are # apples}}.

Esta comprobación admite tanto mensajes con formato de mensaje ICU puro como ICU con etiquetas XML simples. Puede configurar el comportamiento de esta comprobación mediante icu-flags:*, ya sea activando la compatibilidad con XML o desactivando ciertas subcomprobaciones. Por ejemplo, la siguiente bandera habilita la compatibilidad con XML y desactiva la validación de submensajes plurales:

icu-message-format, icu-flags:xml:-plural_selectors

xml

Activar el soporte para etiquetas XML simples. Por defecto, las etiquetas XML se analizan de forma laxa. Los caracteres < se ignoran si no forman parte de una etiqueta.

strict-xml

Activar la compatibilidad con etiquetas XML estrictas. Todos los caracteres < deben escaparse si no forman parte de una etiqueta.

-highlight

Desactiva el resalte de los sustitutivos dentro del editor.

-require_other

Inhabilita requiere sub-mensajes para tener un selector de other.

-submessage_selectors

Pasa por alto la comprobación de que los selectores del submensaje coincidan con el origen.

-types

Pasa por alto la comprobación de la coincidencia de los tipos de sustitutivo del origen.

-extra

Pasa por alto la comprobación de la no presencia de sustitutivos que no figuren en la cadena de origen.

-missing

Pasa por alto la comprobación de la no ausencia de sustitutivos que figuran en la cadena de origen.

Además, cuando strict-xml no está habilitado, pero xml sí, se puede usar el indicador icu-tag-prefix:PREFIX para exigir que todas las etiquetas XML comiencen con una cadena específica. Por ejemplo, el siguiente indicador solo permitirá la coincidencia de etiquetas XML que comiencen con <x::

icu-message-format, icu-flags:xml, icu-tag-prefix:"x:"

Esto coincidiría con <x:link>pulsar aquí</x:link> pero no <strong>esto</strong>.

Formato Java

Resumen:

La cadena en formato Java no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.JavaFormatCheck

Comprobar identificador:

java_printf_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Recursos de cadenas Android, Recursos Kotlin para móviles, Componer Recursos Multiplataforma

Indicador a activar:

java-printf-format

Indicador a descartar:

ignore-java-printf-format

Ejemplo de formato simple de cadena:

There are %d apples

Ejemplo de cadena en formato de posición:

Your balance is %1$d %2$s

Distinto en la versión 4.14: Esto solía activarse y desactivarse mediante el indicador java-format, fue cambiado para mantener la coherencia con GNU gettext.

MessageFormat de Java

Resumen:

La cadena con MessageFormat de Java no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.JavaMessageFormatCheck

Comprobar identificador:

java_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Propiedades de Java, Propiedades GWT

Indicador a activar:

auto-java-messageformat, java-format

Comportamiento de indicador automático:

auto-java-messageformat: Trata un texto como Java MessageFormat condicional, habilitando MessageFormat de Java solo cuando el origen contiene marcadores de posición de Java MessageFormat.

Indicador a descartar:

ignore-java-format

Ejemplo de cadena en formato de posición:

There are {0} apples

Distinto en la versión 4.14: Esto se utilizó para ser conmutados por el indicador java-messageformat, fue cambiado para consistencia con GNU gettext.

Esta comprobación valida que la cadena de formato es válida para la clase Java MessageFormat. Además de comprobar las cadenas de formato entre llaves, también comprueba las comillas simples, ya que tienen un significado especial. Siempre que se escriban comillas simples, deben escribirse como ''. Cuando no se empareja, se trata como inicio de comillas y no se mostrará al representar la cadena.

Formato JavaScript

Resumen:

La cadena en formato JavaScript no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.JavaScriptFormatCheck

Comprobar identificador:

javascript_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

javascript-format

Indicador a descartar:

ignore-javascript-format

Ejemplo de formato simple de cadena:

There are %d apples

Formato Laravel

Resumen:

La cadena en formato Laravel no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.LaravelFormatCheck

Comprobar identificador:

laravel_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Cadenas PHP de Laravel

Indicador a activar:

laravel-format

Indicador a descartar:

ignore-laravel-format

Ejemplo de formato de cadena nombrado:

The :attribute must be :value

Formato Lua

Resumen:

La cadena en formato Lua no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.LuaFormatCheck

Comprobar identificador:

lua_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

lua-format

Indicador a descartar:

ignore-lua-format

Ejemplo de formato simple de cadena:

There are %d apples

Formato de Object Pascal

Resumen:

La cadena en formato Object Pascal no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.ObjectPascalFormatCheck

Comprobar identificador:

object_pascal_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

object-pascal-format

Indicador a descartar:

ignore-object-pascal-format

Ejemplo de formato simple de cadena:

There are %d apples

Formato de Objetive-C

Added in version 5.17.

Resumen:

La cadena en formato Objective-C no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.ObjCFormatCheck

Comprobar identificador:

objc_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Cadenas de iOS de Apple, Formato Stringsdict

Indicador a activar:

objc-format

Indicador a descartar:

ignore-objc-format

Sustitutivos con signo de porcentaje

Added in version 4.0.

Resumen:

Los sustitutivos con signo de porcentaje no coinciden con el original.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.PercentPlaceholdersCheck

Comprobar identificador:

percent_placeholders

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

percent-placeholders

Indicador a descartar:

ignore-percent-placeholders

Ejemplo de formato simple de cadena:

There are %number% apples

Ver también

Cadenas formateadas

Formato de llaves Perl

Resumen:

La cadena de formato del corchete Perl no coincide con el origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.PerlBraceFormatCheck

Comprobar identificador:

perl_brace_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

perl-brace-format

Indicador a descartar:

ignore-perl-brace-format

Ejemplo de formato de cadena nombrado:

There are {number} apples

Formato Perl

Resumen:

La cadena en formato Perl no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.PerlFormatCheck

Comprobar identificador:

perl_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

perl-format

Indicador a descartar:

ignore-perl-format

Ejemplo de formato simple de cadena:

There are %d apples

Ejemplo de cadena en formato de posición:

Your balance is %1$d %2$s

Formato PHP

Resumen:

La cadena en formato PHP no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.PHPFormatCheck

Comprobar identificador:

php_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

php-format

Indicador a descartar:

ignore-php-format

Ejemplo de formato simple de cadena:

There are %d apples

Ejemplo de cadena en formato de posición:

Your balance is %1$d %2$s

Formato de llaves de Python

Resumen:

La cadena en formato de llaves de Python no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.PythonBraceFormatCheck

Comprobar identificador:

python_brace_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

python-brace-format

Indicador a descartar:

ignore-python-brace-format

Cadena de formato simple:

There are {} apples

Ejemplo de formato de cadena nombrado:

Your balance is {amount} {currency}

Formato Python

Resumen:

La cadena en formato Python no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.PythonFormatCheck

Comprobar identificador:

python_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

python-format

Indicador a descartar:

ignore-python-format

Cadena de formato simple:

There are %d apples

Ejemplo de formato de cadena nombrado:

Your balance is %(amount)d %(currency)s

Formato Qt

Resumen:

La cadena en formato Qt no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.qt.QtFormatCheck

Comprobar identificador:

qt_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

qt-format

Indicador a descartar:

ignore-qt-format

Ejemplo de cadena en formato de posición:

There are %1 apples

Formato de plurales de Qt

Resumen:

La cadena en formato de plurales de Qt no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.qt.QtPluralCheck

Comprobar identificador:

qt_plural_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

qt-plural-format

Indicador a descartar:

ignore-qt-plural-format

Ejemplo de cadena en formato plural:

There are %Ln apple(s)

Formato Ruby

Resumen:

La cadena en formato Ruby no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.ruby.RubyFormatCheck

Comprobar identificador:

ruby_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

ruby-format

Indicador a descartar:

ignore-ruby-format

Ejemplo de formato simple de cadena:

There are %d apples

Ejemplo de cadena en formato de posición:

Your balance is %1$f %2$s

Ejemplo de formato de cadena nombrado:

Your balance is %+.2<amount>f %<currency>s

Cadena de plantilla nombrada:

Your balance is %{amount} %{currency}

Formato Scheme

Resumen:

La cadena en formato Scheme no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.SchemeFormatCheck

Comprobar identificador:

scheme_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

scheme-format

Indicador a descartar:

ignore-scheme-format

Ejemplo de formato simple de cadena:

There are ~d apples

Formato de Vue I18n

Resumen:

El formato Vue I18n no coincide con el de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.format.VueFormattingCheck

Comprobar identificador:

vue_format

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

vue-format

Indicador a descartar:

ignore-vue-format

Formato con nombre:

There are {count} apples

Formato i18n de Rails:

There are %{count} apples

Mensajes de configuración regional vinculados:

@:message.dio @:message.the_world!

Ha sido traducido

Resumen:

Esta cadena ha sido traducida en el pasado.

Alcance:

todas las cadenas

Comprobar clase:

weblate.checks.consistency.TranslatedCheck

Comprobar identificador:

translated

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-translated

Signifique que ya ha sido traducida una cadena. Esto puede suceder cuando las traducciones han sido revertidas en VCS o perdieron cualquier cosa.

Incoherente

Resumen:

Esta cadena tiene más de una traducción en este proyecto o no se ha traducido en algunos componentes.

Alcance:

todas las cadenas

Comprobar clase:

weblate.checks.consistency.ConsistencyCheck

Comprobar identificador:

inconsistent

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-inconsistent

Weblate comprueba las traducciones de la misma cadena en todas sus ocurrencias dentro de un proyecto para ayudarle a mantener la coherencia.

La comprobación falla con diferentes traducciones de una misma cadena dentro de un proyecto. Esto también puede generar inconsistencias en las comprobaciones mostradas. Puede encontrar otras traducciones de esta cadena en la pestaña Otras ocurrencias.

Esta comprobación se aplica a todos los componentes de un proyecto que tengan activada la opción Conceder propagación de traducciones.

Consejo

Por razones de rendimiento, es posible que la verificación no encuentre todas las inconsistencias, ya que limita el número de coincidencias.

Nota

Esta comprobación también se activa si la cadena se traduce en un componente y no en otro. Permite gestionar manualmente cadenas sin traducir en algunos componentes rápidamente, simplemente pulsando en el botón Usar esta traducción que aparece en cada línea de la pestaña Otras ocurrencias.

Puede utilizar el complemento Traducción automática para traducción automática de cadenas nuevamente añadidas las cuales ya están traducidas en otro componente.

reStructuredText inconsistente

Added in version 5.10.

Resumen:

Marcaje inconsistente de reStructuredText en el mensaje traducido.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.markup.RSTReferencesCheck

Comprobar identificador:

rst-references

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

rst-text

Indicador a descartar:

ignore-rst-references

Referencias de término reStructuredTex u otros marcados no coinciden con origen, las causas típicas para estos errores son:

  • No coincidente o faltan comillas invertidas.

  • Ausencia de espacios o interpuntuación alrededor de la referencia. Los bloques en línea de reStructuredText deben estar separados por caracteres que no sean palabras.

  • Espacio entre etiqueta alineada y comillas invertidas.

  • El nombre de referencia no está siendo traducido.

  • Utiliza entrecomillado en vez de comillas invertidas.

  • Sustituciones o referencias a notas al pie que no coinciden.

Kashida utilizado

Resumen:

Las letras decorativas kashida no deben usarse.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.KashidaCheck

Comprobar identificador:

kashida

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-kashida

Las letras decorativas Kashida no deben usarse en la traducción. También se conocen como Tatweel.

Ver también

Kashida on Wikipedia

Referencias de Markdown

Resumen:

Las referencias de enlaces de Markdown no coinciden con las de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.markup.MarkdownRefLinkCheck

Comprobar identificador:

md-reflink

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Archivos Markdown, MDX files

Indicador a activar:

md-text

Indicador a descartar:

ignore-md-reflink

Las referencias de enlaces de Markdown no coinciden con las de origen.

Ver también

Markdown links

Sintaxis de Markdown

Resumen:

La sintaxis de Markdown no coincide con la de origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.markup.MarkdownSyntaxCheck

Comprobar identificador:

md-syntax

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Archivos Markdown, MDX files

Indicador a activar:

md-text

Indicador a descartar:

ignore-md-syntax

La sintaxis de Markdown no coincide con la de origen

Ver también

Alineados Markdown

Longitud máxima de traducción

Resumen:

La traducción no debe exceder la longitud indicada.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.MaxLengthCheck

Comprobar identificador:

max-length

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

max-length

Indicador a descartar:

ignore-max-length

Comprueba que las traducciones tienen una longitud aceptable para ajustarse al espacio disponible. Sólo comprueba la longitud de los caracteres de la traducción.

A diferencia de otras comprobaciones, la bandera debe establecerse como una pareja clave:valor como max-length:100.

Consejo

Esta comprobación parece un número de caracteres, que quizá no son la mejor métrica cuando utiliza fuentes para representar el texto. La comprobación de Tamaño máximo de la traducción comprueba la representación actual del texto.

El indicador replacements: también puede ser útil para expandir los elementos colocables antes de verificar la cadena.

Cuando también se utiliza el indicador xml-text, el cálculo de longitud ignora las etiquetas XML.

Tamaño máximo de la traducción

Resumen:

El texto representado de la traducción no debe superar el tamaño indicado.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.render.MaxSizeCheck

Comprobar identificador:

max-size

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

max-size

Indicador a descartar:

ignore-max-size

Texto de traducción representado no excedería el tamaño dado. Representa el texto con lína cubierta y comprueba si cabe en las acotaciones dadas.

Esta comprobación requiere uno o dos parámetros: ancho máximo y número máximo de líneas. Si no se proporciona el número de líneas, se considera una sola línea de texto.

Además puede configurar fuentes utilizadas por directivas font-* (consulte Personalizar el comportamiento mediante indicadores), por ejemplo siguiendo indicadores de traducción digan que el texto representado con el tamaño 22 de la fuente ubuntu cabría en dos líneas y 500 píxeles:

max-size:500:2, font-family:ubuntu, font-size:22

Consejo

Quizás quieras configurar las directivas font-* en Configuración de componentes para que la fuente sea la misma para todas las cadenas de un componente. Puedes sobrescribir estos valores por cadena si necesitas personalizarlos individualmente.

El indicador replacements: también puede ser útil para expandir los elementos colocables antes de verificar la cadena.

Cuando también se utiliza el indicador xml-text, el cálculo de longitud ignora las etiquetas XML.

\n desiguales

Resumen:

El número de \n literales en la traducción no coincide con el origen.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.EscapedNewlineCountingCheck

Comprobar identificador:

escaped_newline

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-escaped-newline

Usualmente los saltos de línea con escape son importantes para formatear la salida del programa. La comprobación falla si el número de literales \n en la traducción no coincide con el del origen.

Dos puntos desiguales

Resumen:

El original o la traducción no acaba con dos puntos.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.EndColonCheck

Comprobar identificador:

end_colon

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-end-colon

Comprueba que los dos puntos se repliquen entre el texto original y la traducción. También se verifica la presencia de dos puntos en varios idiomas donde no corresponden (chino o japonés).

Ver también

Colon on Wikipedia

Puntos suspensivos desiguales

Resumen:

El original y la traducción no acaban ambos con puntos suspensivos.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.EndEllipsisCheck

Comprobar identificador:

end_ellipsis

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-end-ellipsis

Comprueba que tanto la cadena de origen como la traducción terminen con puntos suspensivos. Observe que se comprueba solo el carácter real de puntos suspensivos (), no una secuencia de tres puntos (...).

Una elipse usualmente es representada mejor que tres puntos en impresión, y suena mejor con texto a voz.

Ver también

Ellipsis on Wikipedia

Signo de exclamación desigual

Resumen:

El original o la traducción no acaba con un signo de exclamación.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.EndExclamationCheck

Comprobar identificador:

end_exclamation

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-end-exclamation

Comprueba que los signos de exclamación se repliquen tanto en el texto original como en la traducción. También se verifica la presencia de signos de exclamación en varios idiomas donde no corresponden (chino, japonés, coreano, armenio, limbu, birmano o nko).

Punto final desigual

Resumen:

El original o la traducción no acaba con un punto.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.EndStopCheck

Comprobar identificador:

end_stop

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-end-stop

Comprueba que los puntos se repliquen tanto en el texto original como en la traducción. Se verifica la presencia de puntos en varios idiomas donde no corresponden (chino, japonés, devanagari o urdu).

Ver también

Full stop on Wikipedia

Interrobang mal ajustado

Resumen:

Las cadenas fuente y traducida no terminan con un interrobang.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.EndInterrobangCheck

Comprobar identificador:

end_interrobang

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-end-interrobang

Comprueba que las marcas de interrobang se replican entre el origen y la traducción. Permite intercambiar entre «!?» y «?!».

Signo de interrogación desigual

Resumen:

El original o la traducción no acaba con un signo de interrogación.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.EndQuestionCheck

Comprobar identificador:

end_question

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-end-question

Comprueba que tanto la cadena de origen como la traducción tengan signos de interrogación. La presencia de estos signos también se comprueba en varios idiomas que no los utilizan (armenio, árabe, chino, coreano, japonés, etíope, vai y copto).

Punto y coma desigual

Resumen:

El original o la traducción no acaba con un punto y coma.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.EndSemicolonCheck

Comprobar identificador:

end_semicolon

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-end-semicolon

Comprueba que los puntos y coma al final de las oraciones se repliquen tanto entre el texto fuente como entre la traducción.

Ver también

Semicolon on Wikipedia

Saltos de renglón desiguales

Resumen:

La cantidad de saltos de renglón en la traducción no corresponde con la del original.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.NewLineCountCheck

Comprobar identificador:

newline-count

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-newline-count

Normalmente, las nuevas líneas son importantes para dar formato a la salida del programa. La comprobación falla si el número de líneas nuevas en la traducción no coincide con la fuente.

Faltan plurales

Resumen:

Algunos plurales no están traducidos.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.consistency.PluralsCheck

Comprobar identificador:

plurals

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-plurals

Comprueba que se hayan traducido todos los plurales de una cadena de origen. La definición de la cadena proporciona información específica sobre el uso de cada plural.

Si no se cumplimentan todas las formas de plural, puede que, en algunos casos, no se muestre nada cuando se utilice la forma de plural.

Múltiples capitalinas

Added in version 5.16.

Resumen:

La traducción contiene palabras con múltiples letras capitalinas mal colocadas.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.MultipleCapitalCheck

Comprobar identificador:

multiple_capital

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-multiple-capital

Comprueba si hay mayúsculas incorrectas detectando palabras que contienen mayúsculas consecutivas en texto que normalmente se escribe en minúsculas o mayúsculas (por ejemplo, HEllo o CAmelCase). Las cadenas que contienen mayúsculas en la cadena de origen pueden incluirlas en la traducción.

Caracteres no estándar en Kabyle

Added in version 5.12.

Resumen:

Use caracteres Latin Kabyle estandarizados (p.ej., ɣ en vez de γ griega; ɛ en vez de ε).

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.KabyleCharactersCheck

Comprobar identificador:

kabyle-characters

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-kabyle-characters

Comprueba que las traducciones al cabilio utilicen las letras cabilias correctas y no las griegas similares, las cuales a menudo se utilizaban antes que los caracteres cabilios se estandarizaran en Unicode.

Sustitutivos

Distinto en la versión 4.3: Puede utilizar expresiones regulares como sustitutivo.

Distinto en la versión 4.13: Con el indicador case-insensitive, los sustitutivos no distinguen capitalinas.

Resumen:

A la traducción le faltan algunos sustitutivos.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.placeholders.PlaceholderCheck

Comprobar identificador:

placeholders

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

placeholders

Indicador a descartar:

ignore-placeholders

A la traducción le faltan algunos sustitutivos. Estos bien se extraen del archivo de traducción, o bien, se definen manualmente mediante el indicador placeholders; es posible separarlos mediante dos puntos, y las cadenas con espacios se pueden entrecomillar:

placeholders:$URL$:$TARGET$:"some long text"

Si utiliza alguna sintaxis para sus sustitutivos, puede utilizar una expresión regular:

placeholders:r"%[^% ]%"

Además puede tener sustitutivos sin distinguir capitalinas:

placeholders:$URL$:$TARGET$,case-insensitive

Carácter inicial prohibido

Added in version 5.9.

Resumen:

La cadena comienza con un carácter prohibido en CSV.

Alcance:

cadenas de glosario

Comprobar clase:

weblate.checks.glossary.ProhibitedInitialCharacterCheck

Comprobar identificador:

prohibited_initial_character

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-prohibited-initial-character

El glosario suele compartirse como CSV, y muchas aplicaciones restringen el uso de ciertos caracteres al principio, ya que pueden hacer que el texto se evalúe como una expresión. Esto también afecta a Glosarios en sugerencia automática, donde muchos servicios usan CSV para sincronizar glosarios y rechazan dichas cadenas.

Espaciado de puntuación

Distinto en la versión 5.10: Esta comprobación también se aplicaba al idioma bretón, pero se limitaba únicamente al francés.

Resumen:

Falta un espacio indivisible antes del signo de puntuación doble.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.PunctuationSpacingCheck

Comprobar identificador:

punctuation_spacing

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-punctuation-spacing

Comprueba que haya un espacio indivisible antes de los signos de puntuación dobles (exclamación, interrogación, punto y coma, dos puntos). Esta regla se utiliza solo en algunos idiomas, como el francés, donde el espacio antes de los signos de puntuación dobles es una regla tipográfica.

Expresión regular

Distinto en la versión 5.10: Soporte ampliado para expresiones regulares avanzadas, incluidas propiedades de puntos de código Unicode.

Resumen:

La traducción no coincide con la expresión regular.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.placeholders.RegexCheck

Comprobar identificador:

regex

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

regex

Indicador a descartar:

ignore-regex

La traducción no coincide con la expresión regular. La expresión se extrae del archivo de traducción o se define manualmente con el indicador regex:

regex:^foo|bar$

La coincidencia también admite propiedades de puntos de código Unicode, incluidos scripts y bloques:

regex:^[-_\p{L}\p{N}\p{sc=Deva}\p{sc=Thai}]{1,32}$

Consejo

Emplee Sustitutivos para detectar sustitutivos ausentes dentro de la cadena.

Ver también

documentación regex

Error de sintaxis reStructuredText

Added in version 5.10.

Resumen:

Error reStructuredText en la traducción.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.markup.RSTSyntaxCheck

Comprobar identificador:

rst-syntax

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

rst-text

Indicador a descartar:

ignore-rst-syntax

Error sintáctico de reStructuredText en la traducción. Incidencias para búsqueda:

  • Etiquetas cierre/apertura no coincidentes.

  • Ausencia de espacios o interpuntuación alrededor de la referencia. Los bloques en línea de reStructuredText deben estar separados por caracteres que no sean palabras.

  • Utiliza entrecomillado en vez de comillas invertidas.

Traducciones reutilizadas

Added in version 4.18.

Resumen:

Las distintas cadenas se traducen igual.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.consistency.ReusedCheck

Comprobar identificador:

reused

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-reused

Comprobar que falla si se usa la misma traducción en diferentes cadenas de origen. Dichas traducciones pueden ser intencionales, pero también pueden confundir a los usuarios.

Mismos plurales

Resumen:

Algunas formas plurales se traducen de la misma manera.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.consistency.SamePluralsCheck

Comprobar identificador:

same-plurals

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-same-plurals

Esta comprobación emite un error si se han duplicado algunas formas de plural. En la mayoría de los idiomas deben ser diferentes.

Salto de renglón al inicio

Resumen:

El original o la traducción no comienza con un salto de renglón.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.BeginNewlineCheck

Comprobar identificador:

begin_newline

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-begin-newline

Las nuevas líneas suelen aparecer en las cadenas de origen por una buena razón, las omisiones o adiciones pueden provocar problemas de formato cuando se utiliza el texto traducido.

Espacios iniciales

Resumen:

El original y la traducción no comienzan con la misma cantidad de espacios.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.BeginSpaceCheck

Comprobar identificador:

begin_space

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-begin-space

Normalmente, si hay un espacio al inicio de una cadena es para crear sangrías en la interfaz; por esta razón es importante preservarlos.

Salto de renglón al final

Resumen:

El original o la traducción no acaba con un salto de renglón.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.EndNewlineCheck

Comprobar identificador:

end_newline

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-end-newline

Las nuevas líneas suelen aparecer en las cadenas de origen por una buena razón, las omisiones o adiciones pueden provocar problemas de formato cuando se utiliza el texto traducido.

Espacio al final

Resumen:

El original o la traducción no acaba con un espacio.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.EndSpaceCheck

Comprobar identificador:

end_space

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-end-space

Comprobar que los espacios finales se repliquen entre el origen y la traducción.

El espacio final generalmente se utiliza para espaciar los elementos vecinos, por lo que eliminarlo podría romper el diseño.

Traducción no modificada

Resumen:

El origen y la traducción son idénticos.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.same.SameCheck

Comprobar identificador:

same

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-same

Ocurre si las cadenas de origen y traducción correspondientes son idénticas, hasta al menos una de las formas plurales. Algunas cadenas que se encuentran comúnmente en todos los idiomas se ignoran y se eliminan varias marcas. Esto reduce el número de falsos positivos.

Esta comprobación puede ayudar a encontrar cadenas sin traducir por error.

El comportamiento predeterminado de esta comprobación es excluir palabras de la lista de términos incorporada de la comprobación. Estas son palabras que con frecuencia no se traducen. Esto es útil para evitar falsos positivos en cadenas cortas, que consisten solo en una sola palabra que es la misma en varios idiomas. Esta lista se puede deshabilitar agregando el indicador strict-same a una cadena o componente.

Distinto en la versión 4.17: Con la bandera check-glossary (ver No se ajusta al glosario), los términos del glosario intraducibles se excluyen de la comprobación.

HTML inseguro

Resumen:

La traducción utiliza marcación HTML insegura.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.markup.SafeHTMLCheck

Comprobar identificador:

safe-html

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Archivos HTML, Archivos Markdown, MDX files, Archivos AsciiDoc

Indicador a activar:

auto-safe-html, safe-html

Comportamiento de indicador automático:

auto-safe-html: Trata un texto como HTML condicional, habilitando HTML inseguro solo para texto plano o cadenas de origen que contengan marcado HTML estándar o elementos personalizados válidos. Esto es útil para variantes extendidas de Markdown como MDX, donde la sintaxis de corchetes angulares puede no ser HTML.

Indicador a descartar:

ignore-safe-html

La traducción utiliza marcas HTML inseguras. Esta comprobación debe habilitarse utilizando el indicador safe-html (consulte Personalizar el comportamiento mediante indicadores). También Hay un corrector automático el cual puede desinfectar automáticamente las marcas.

Consejo

Cuando también se utiliza el indicador md-text, también se permiten los enlaces de estilo Markdown.

Ver también

La comprobación de HTML la realiza la biblioteca Ammonia.

URL

Resumen:

The translation does not contain a URL.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.markup.URLCheck

Comprobar identificador:

url

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Indicador a activar:

url

Indicador a descartar:

ignore-url

The translation does not contain a URL. This is triggered only in case the unit is marked as containing URL. In that case the translation has to be a valid URL.

Marcación XML

Resumen:

Las etiquetas XML en la traducción no coinciden con aquellas en el original.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.markup.XMLTagsCheck

Comprobar identificador:

xml-tags

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-xml-tags

Esto usualmente significar que el resultado de salida se verá diferente. En la mayoría de los casos, este no es el resultado deseado al cambiar la traducción, pero a veces sí lo es.

Comprueba que las etiquetas XML se repliquen entre ambos origen y traducción.

La comprobación se habilita automáticamente para cadenas tipo XML. En algunos casos, podría ser necesario añadir el indicador xml-text para forzar en algunos casos su activación.

Nota

Esta comprobación está inhabilitada por el indicador safe-html ya que la limpieza de HTML que realiza puede producir marcado HTML el cual no es XML válido.

Sintaxis XML

Resumen:

La traducción no constituye XML válido.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.markup.XMLValidityCheck

Comprobar identificador:

xml-invalid

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-xml-invalid

El marcado XML no es válido.

La comprobación se habilita automáticamente para cadenas tipo XML. En algunos casos, podría ser necesario añadir el indicador xml-text para forzar en algunos casos su activación.

Nota

Esta comprobación está inhabilitada por el indicador safe-html ya que la limpieza de HTML que realiza puede producir marcado HTML el cual no es XML válido.

Espacio de anchura cero

Resumen:

La traducción contiene espacios de anchura cero adicionales.

Alcance:

cadenas traducidas

Comprobar clase:

weblate.checks.chars.ZeroWidthSpaceCheck

Comprobar identificador:

zero-width-space

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-zero-width-space

Los caracteres de espacio cero (<U+200B>) se utilizan para separar mensajes dentro de palabras (ajuste de palabras).

Como generalmente se insertan por error, esta verificación se activa una vez que están presentes en la traducción. Algunos programas pueden tener problemas cuando se usa este carácter.

Comprobaciones de origen

Las comprobaciones de código fuente pueden ayudar a los desarrolladores a mejorar la calidad de las cadenas de código fuente.

Puntos suspensivos

Resumen:

La cadena utiliza tres puntos (...) en lugar de un carácter de puntos suspensivos (…).

Alcance:

cadenas de origen

Comprobar clase:

weblate.checks.source.EllipsisCheck

Comprobar identificador:

ellipsis

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-ellipsis

Esto falla cuando la cadena usa tres puntos (...) cuando debería usar un carácter de puntos suspensivos ().

Al utilizar el carácter Unicode es en muchos casos la mejor aproximación y parece mejor representado, y puede sonar mejor con texto a voz.

Ver también

Ellipsis on Wikipedia

HTML interno de una fuente fluida

Added in version 5.0.

Resumen:

El origen Fluent debería ser un HTML interior válido.

Alcance:

cadenas de origen

Comprobar clase:

weblate.checks.fluent.inner_html.FluentSourceInnerHTMLCheck

Comprobar identificador:

fluent-source-inner-html

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Formato fluido

Indicador a activar:

fluent-source-inner-html

Indicador a descartar:

ignore-fluent-source-inner-html

Fluent se usa a menudo en contextos donde el valor de un Mensaje (o Término) debe usarse directamente como .innerHTML (en lugar de .textContent) para algún elemento HTML. Por ejemplo, cuando se usa el paquete DOM fluido.

The aim of this check is to predict how the value will be parsed as inner HTML, assuming an HTML5 conforming parser, to catch cases where there would be some «unintended» loss of the string, without being too strict about technical parsing errors that do not lead to a loss of the string.

Esta comprobación se aplica al valor de los Mensajes o Términos Fluidos, pero no a sus Atributos. Para los Mensajes, los Atributos Fluent a menudo son solo valores de atributos HTML, por lo que pueden ser cadenas arbitrarias. Para los Términos, los Atributos de Fluidez suelen ser propiedades del lenguaje a las que solo se puede hacer referencia en los selectores de Expresiones de selección fluida.

Generally, most Fluent values are not expected to contain any HTML markup. Therefore, this check does not expect or want translators and developers to have to care about strictly avoiding any technical HTML5 parsing errors (let alone XHTML parsing errors). Instead, this check will just want to warn them when they may have unintentionally opened an HTML tag or inserted a character reference.

Además, para los valores fluidos que contienen intencionalmente etiquetas HTML o referencias de caracteres, esta verificación verificará algunas «buenas prácticas», como hacer coincidir las etiquetas de cierre y finalización, las referencias de caracteres válidas y los valores de atributos citados. Además, aunque la especificación HTML5 técnicamente permite nombres de etiquetas y atributos bastante arbitrarios, esta verificación los restringirá a algunos valores ASCII básicos que deberían cubrir las etiquetas y atributos de elementos HTML5 estándar, así como permitir algunos nombres de elementos o atributos personalizados. Esto es parcialmente para garantizar que el usuario esté usando HTML intencionalmente.

Ejemplos:

Ejemplos de HTML interno fluido

Valor

¿Advierto?

Razón

three<four

La parte <four se perdería como .innerHTML.

three < four

no

El .innerHTML coincidiría con el .textContent.

three <four>

Falta una etiqueta de cierre.

three <four/>

four is not an HTML void element, so should not self-close.

<a-b>text</a-b>

no

Etiqueta de elemento personalizada con etiqueta de cierre correspondiente.

a <img/> b

no

img is an HTML void element. Self-closing is allowed.

a <br> b

no

br is an HTML void element.

<img class=a/>

El valor del atributo no está entre comillas.

<aØ attr=''/>

Nombre de etiqueta distinta de ASCII.

kind&ethical

La parte &eth sería convertida a ð.

kind&eth;ical

no

La referencia al carácter parece ser intencional.

three&lte;four

La parte &lte; se convertiría en <e;.

three&lf;four

La referencia del carácter no es válida.

three<{ $val }

La variable Fluent puede convertirse involuntariamente en una etiqueta.

&l{ $val }

La variable Fluent puede convertirse involuntariamente en una referencia de carácter.

Nota

Esta comprobación no asegura que el HTML interno sea seguro o esté desinfectado, y no está pensada para proteger contra intentos maliciosos de alterar el HTML interno. Además, hay que recordar que las variables y referencias Fluent pueden expandirse a cadenas arbitrarias, tal que podrían expandirse a HTML arbitrario a menos que sean escapados. Como una excepción, un carácter < o & antes de una referencia Fluent activará esta comprobación, ya que incluso un valor escapado pudo dar lugar a resultados inesperados.

Nota

El paquete Fluent DOM tiene limitaciones adicionales, como etiquetas y atributos permitidos, que esta verificación no aplicará.

Sintaxis de la fuente Fluent

Added in version 5.0.

Resumen:

Error de sintaxis fluidas en el origen.

Alcance:

cadenas de origen

Comprobar clase:

weblate.checks.fluent.syntax.FluentSourceSyntaxCheck

Comprobar identificador:

fluent-source-syntax

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Formato fluido

Indicador a activar:

fluent-source-syntax

Indicador a descartar:

ignore-fluent-source-syntax

En Weblate, las cadenas de Fluent utilizan la sintaxis de Fluent para referencias y variables, pero también para funciones más complejas, como la definición de atributos y variantes de selectores, incluyendo plurales. Esta comprobación garantiza que la sintaxis utilizada en el código fuente sea válida para Fluent.

Sintaxis MessageFormat de ICU

Added in version 4.9.

Resumen:

Errores sintácticos en las cadenas MessageFormat de ICU.

Alcance:

cadenas de origen

Comprobar clase:

weblate.checks.icu.ICUSourceCheck

Comprobar identificador:

icu_message_format_syntax

Desencadenar:

Esta comprobación debe habilitarse mediante in indicador.

Formatos de archivo que habilitan automáticamente esta comprobación:

Archivo ARB, Formato.JS Archivo JSON

Indicador a activar:

icu-message-format

Indicador a descartar:

ignore-icu-message-format

Ver también

MessageFormat de ICU

Larga no traducida

Added in version 4.1.

Resumen:

Esta cadena no ha sido traducida por mucho tiempo.

Alcance:

cadenas de origen

Comprobar clase:

weblate.checks.source.LongUntranslatedCheck

Comprobar identificador:

long_untranslated

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-long-untranslated

Cuando la cadena lleva mucho tiempo sin traducirse, puede indicar un problema en la cadena de origen que dificulta su traducción.

Varias comprobaciones fallidas

Resumen:

Las traducciones en varios idiomas tienen comprobaciones incorrectas.

Alcance:

cadenas de origen

Comprobar clase:

weblate.checks.source.MultipleFailingCheck

Comprobar identificador:

multiple_failures

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-multiple-failures

Numerosas traducciones de esta cadena presentan controles de calidad incorrectos. Esto suele indicar que algo podría mejorar la cadena original.

Esta falla de verificación a menudo puede deberse a un punto ausente al final de una oración o a incidencias menores similares que los traductores tienden a corregir en la traducción, aunque sería mejor corregirlos en la cadena de origen.

Varias variables sin nombre

Added in version 4.1.

Resumen:

Existen varias variables sin nombre en la cadena, lo cual impide a los traductores reordenarlas.

Alcance:

cadenas de origen

Comprobar clase:

weblate.checks.format.MultipleUnnamedFormatsCheck

Comprobar identificador:

unnamed_format

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-unnamed-format

Existen varias variables sin nombre en la cadena, lo cual impide a los traductores reordenarlas.

Considere utilizar variables con nombre en su lugar para permitir que los traductores las reordenen.

No pluralizada

Resumen:

La cadena se utiliza como plural, pero no utiliza formas de plural.

Alcance:

cadenas de origen

Comprobar clase:

weblate.checks.source.OptionalPluralCheck

Comprobar identificador:

optional_plural

Desencadenar:

Esta comprobación siempre está habilitada pero puede ser descartada utilizando un indicador.

Indicador a descartar:

ignore-optional-plural

La cadena se usa en plural, pero no utiliza la forma plural. En el caso que su sistema de traducción lo admite, debería usar la variante que tenga en cuenta el plural.

Por ejemplo con Gettext en Plural pudo ser:

from gettext import ngettext

print(ngettext("Selected %d file", "Selected %d files", files) % files)

Colocables en sugerencia automática

Las comprobaciones de colocables muestran información sobre los colocables actuales, lo que permite indicar a los motores de sugerencias automáticas que los conserven. La compatibilidad con esto varía según el servicio y, en muchos casos, no es posible garantizar que los colocables se conserven intactos.