Verificações e correções

As verificações de qualidade ajudam a capturar erros comuns do(a) tradutor(a), garantindo que a tradução esteja em boa forma. As verificações podem ser ignoradas em caso de falsos positivos.

Uma vez que enviar uma tradução com uma verificação de falha, isso é imediatamente mostrado ao usuário:

../_images/checks.webp

Correções automáticas

Além de Verificações de qualidade, o Weblate pode corrigir alguns erros comuns em textos traduzidos automaticamente. Use isso com cuidado para não causar erros por meio disto.

Ver também

AUTOFIX_LIST

Trailing ellipsis replacer

Replace trailing dots (...) with an ellipsis () to make it consistent with the source string.

Zero-width space removal

Zero width space is typically not desired in the translation. This fix will remove it unless it is present in the source string as well.

Control characters removal

Removes any control characters from the translation.

Devanagari danda

Replaces wrong full stop in Devanagari by Devanagari danda ().

Espaçamento de pontuação

Adicionado na versão 5.3.

Ensures French and Breton use correct punctuation spacing.

This fixup can be disabled via ignore-punctuation-spacing flag (which also disables Espaçamento de pontuação).

Unsafe HTML cleanup

When turned on using a safe-html flag it sanitizes HTML markup.

Ver também

HTML inseguro

Trailing and leading whitespace fixer

Makes leading and trailing whitespace consistent with the source string. The behavior can be fine-tuned using ignore-begin-space and ignore-end-space flags to skip processing parts of the string.

Verificações de qualidade

O Weblate emprega uma ampla gama de verificações de qualidade em textos. A seção a seguir descreve todos eles em mais detalhes. Há também verificações específicas de idiomas. Por favor, preencha um relatório de erro se alguma verificação for relatada por engano.

Verificações de tradução

Executada a cada alteração na tradução, ajudando os tradutores a manter traduções de boa qualidade.

Marcação de BBCode

Resumo:

O BBCode na tradução não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.markup.BBCodeCheck

Identificador da verificação:

bbcode

Marcador para ignorar:

ignore-bbcode

BBCode representa marcação simples, como, por exemplo, destacar partes importantes de uma mensagem em fonte em negrito, ou itálico.

Esta verificação garante que eles também sejam encontrados na tradução.

Nota

O método para detectar BBCode é atualmente bastante simples, então esta verificação pode produzir falsos positivos.

Há palavras duplicadas de forma consecutiva

Adicionado na versão 4.1.

Resumo:

O texto contém a mesma palavra repetida uma ao lado da outra:

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.duplicate.DuplicateCheck

Identificador da verificação:

duplicate

Marcador para ignorar:

ignore-duplicate

Verifica se não ocorrem palavras duplicadas consecutivas em uma tradução. Isso geralmente indica um erro na tradução.

Dica

Esta verificação inclui regras específicas do idioma para evitar falsos positivos. Caso seja falso no seu caso, avise-nos. Veja Relatando problemas no Weblate.

Não segue o glossário

Adicionado na versão 4.5.

Resumo:

A tradução não segue termos definidos em um glossário.

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.glossary.GlossaryCheck

Identificador da verificação:

check_glossary

Marcador para habilitar:

check-glossary

Marcador para ignorar:

ignore-check-glossary

Esta verificação tem de ser ativada usando o marcador check-glossary (veja Personalizando comportamento usando marcadores). Considere o seguinte antes de habilitá-la:

  • Ela faz a correspondência exata dos textos, espera-se que o glossário contenha termos em todas as variantes.

  • A verificação de cada texto em relação ao glossário é dispendiosa, ela irá retardar qualquer operação na Weblate que envolva a execução de verificações como a importação de textos ou a tradução.

  • It also utilizes untranslatable glossary terms in Tradução não alterada.

Espaço duplo

Resumo:

A tradução contém espaço duplo

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.DoubleSpaceCheck

Identificador da verificação:

double_space

Marcador para ignorar:

ignore-double-space

Verifica se o espaço duplo está presente na tradução para evitar falsos positivos em outras verificações relacionadas ao espaço.

A verificação é falsa quando o espaço duplo é encontrado no texto fonte, o que significa que o espaço duplo é intencional.

Partes Fluent

Adicionado na versão 5.0.

Resumo:

As partes Fluent devem corresponder

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.fluent.parts.FluentPartsCheck

Identificador da verificação:

fluent-parts

Marcador para habilitar:

fluent-parts

Marcador para ignorar:

ignore-fluent-parts

Each Fluent Message can have an optional value (the main text content), and optional attributes, each of which is a “part” of the Message. In Weblate, all these parts appear within the same block, using Fluent-like syntax to specify the attributes. For example:

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

This check ensures that the translated Message also has a value if the source Message has one, or no value if the source has none. This also checks that the same attributes used in the source Message also appear in the translation, with no additions.

Nota

This check is not applied to Fluent Terms since Terms always have a value, and Term attributes tend to be locale-specific (used for grammar rules, etc.), and are not expected to appear in all translations.

Ver também

Fluent Attributes

Referências Fluent

Adicionado na versão 5.0.

Resumo:

As referências Fluent devem corresponder

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.fluent.references.FluentReferencesCheck

Identificador da verificação:

fluent-references

Marcador para habilitar:

fluent-references

Marcador para ignorar:

ignore-fluent-references

A Fluent Message or Term can reference another Message, Term, Attribute, or a variable. For example:

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

Generally, translated Messages or Terms are expected to contain the same references as the source, although not necessarily in the same order of appearance. So this check ensures that translations use the same references in their value as the source value, the same number of times, and with no additions. For Messages, this will also check that each Attribute in the translation uses the same references as the matching Attribute in the source.

When the source or translation contains Fluent Select Expressions, then each possible variant in the source must be matched with at least one variant in the translation with the same references, and vice versa.

Moreover, if a variable reference appears both in the Select Expression’s selector and within one of its variants, then all variants may also be considered as if they also contain that reference. The assumption being that the variant’s key may have made the reference redundant for that variant. For example:

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

Here, for the purposes of this check, the [one] variant will also be considered to contain the $num reference.

However, a reference within the Select Expression’s selector, which can only be a variable of a Term Attribute in Fluent’s syntax, will not by itself count as a required reference because they do not form the actual text content of the string that the end-user will see, and the presence of a Select Expression is considered locale-specific. For example:

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

Here a reference to -term.starts-with-vowel is not expected to appear in translations, but a reference to -term is.

Tradução Fluent HTML interno

Adicionado na versão 5.0.

Resumo:

O destino Fluent deve ser um HTML interno válido que corresponda

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.fluent.inner_html.FluentTargetInnerHTMLCheck

Identificador da verificação:

fluent-target-inner-html

Marcador para habilitar:

fluent-target-inner-html

Marcador para ignorar:

ignore-fluent-target-inner-html

This check will verify that the translated value of a Message or Term contains the same HTML elements as the source value.

First, if the source value fails the HTML interno de fonte Fluent check, then this check will do nothing. Otherwise, the translated value will also be checked under the same conditions.

Second, the HTML elements found in the translated value will be compared against the HTML elements found in the source value. Two elements will match if they share the exact same tag name, the exact same attributes and values, and all their ancestors match in the same way. This check will ensure that all the elements in the source appear somewhere in the translation, with the same number of appearances, and with no additional elements added. When there are multiple elements in the value, they need not appear in the same order in the translation value.

When the source or translation contains Fluent Select Expressions, then each possible variant in the source must be matched with at least one variant in the translation with the same HTML elements, and vice versa.

When using Fluent in combination with the Fluent DOM package, this check will ensure that the translation also includes any required data-l10n-name elements that appear in the source, or any of the allowed inline elements like <br>.

For example, the following source:

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

would match with:

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

but not:

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

nor

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

Sintaxe de tradução Fluent

Adicionado na versão 5.0.

Resumo:

Erro de sintaxe Fluent na tradução

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.fluent.syntax.FluentTargetSyntaxCheck

Identificador da verificação:

fluent-target-syntax

Marcador para habilitar:

fluent-target-syntax

Marcador para ignorar:

ignore-fluent-target-syntax

In Weblate, Fluent strings use Fluent syntax for references and variables, but also for more complex features like defining attributes and selector variants, including plurals. This check ensures that the syntax used in the translation will be valid for Fluent.

Textos formatados

Checks that the formatting in strings is replicated between both source and translation. Omitting format strings in translation usually causes severe problems, so the formatting in strings should usually match the source.

Weblate tem suporte a verificar textos de formato em vários idiomas. A verificação não é ativada automaticamente, somente se um texto for marcado adequadamente (por exemplo, c-format para formato C). O Gettext adiciona isso automaticamente, mas você provavelmente terá que adicioná-lo manualmente para outros formatos de arquivo ou se seus arquivos PO não forem gerados por xgettext.

Most of the format checks allow omitting format strings for plural forms having a single count. This allows translators to write nicer strings for these cases (One apple instead of %d apple). Turn this off by adding strict-format flag.

The flags can be customized per string (see Informações adicionais sobre textos fonte) or in a Configuração de componente. Having it defined per component is simpler, but it can lead to false positives in case the string is not interpreted as a formatting string, but format string syntax happens to be used.

Dica

Caso a verificação de formato específico não esteja disponível no Weblate, você pode usar Espaços reservados genéricos.

Além de verificar, isso também destacará os textos e formatação para inseri-los facilmente em textos traduzidos:

../_images/format-highlight.webp

Texto de interpolação AngularJS

Resumo:

O texto de interpolação AngularJS não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.angularjs.AngularJSInterpolationCheck

Identificador da verificação:

angularjs_format

Marcador para habilitar:

angularjs-format

Marcador para ignorar:

ignore-angularjs-format

Exemplo de texto de formato nomeado:

Seu saldo é {{amount}} {{ currency }}

Formato C

Resumo:

O texto de formato C não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.CFormatCheck

Identificador da verificação:

c_format

Marcador para habilitar:

c-format

Marcador para ignorar:

ignore-c-format

Exemplo de texto de formato simples:

%d maçãs

Exemplo de texto de formato de posição:

Seu saldo é %1$d %2$s

Formato C#

Resumo:

O texto de formato C# não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.CSharpFormatCheck

Identificador da verificação:

c_sharp_format

Marcador para habilitar:

c-sharp-format

Marcador para ignorar:

ignore-c-sharp-format

Exemplo de texto de formato de posição:

{0} maçãs

Literais de modelo de ECMAScript

Resumo:

Literais de modelo ECMAScript não correspondem com a fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.ESTemplateLiteralsCheck

Identificador da verificação:

es_format

Marcador para habilitar:

es-format

Marcador para ignorar:

ignore-es-format

Exemplo de interpolação:

${number} maçãs

Interpolação de i18next

Adicionado na versão 4.0.

Resumo:

A interpolação de i18next não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.I18NextInterpolationCheck

Identificador da verificação:

i18next_interpolation

Marcador para habilitar:

i18next-interpolation

Marcador para ignorar:

ignore-i18next-interpolation

Exemplo de interpolação:

{{number}} maçãs

Exemplo de aninhamento:

$t(number) maçãs

MessageFormat do ICU

Adicionado na versão 4.9.

Resumo:

Erros de sintaxe e/ou incompatibilidades de espaços reservados em textos MessageFormat do ICU.

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.icu.ICUMessageFormatCheck

Identificador da verificação:

icu_message_format

Marcador para habilitar:

icu-message-format

Marcador para ignorar:

ignore-icu-message-format

Exemplo de interpolação:

{number, plural, one {uma maçã} other {# maçãs}}.

Essa verificação tem suporte para mensagens ICU MessageFormat puras, bem como ICU com tags XML simples. Você pode configurar o comportamento desta verificação usando icu-flags:*, ou optando pelo suporte XML ou desabilitando certas sub-verificações. Por exemplo, a seguinte sinalização ativa o suporte a XML enquanto desativa a validação de submensagens plurais:

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

xml

Habilita o suporte para tags XML simples. Por padrão, as tags XML são analisadas livremente. Caracteres < perdidos são ignorados se não forem razoavelmente parte de uma tag.

strict-xml

Habilita o suporte para tags XML estritas. Todos os caracteres < devem ser escapados se não fizerem parte de uma tag.

-highlight

Desabilita o realce de espaços reservados no editor.

-require_other

Desabilita a exigência de submensagens ter um seletor other.

-submessage_selectors

Ignora a verificação de que os seletores de submensagem correspondem à fonte.

-types

Ignora a verificação de que os tipos de espaço reservado correspondem à fonte.

-extra

Ignora a verificação de nenhum espaço reservado está presente que não esteva presente no texto fonte.

-missing

Ignora a verificação de que não falta nenhum espaço reservado que estava presente no texto fonte.

Além disso, quando strict-xml não está habilitado, mas xml está habilitado, você pode usar o marcador icu-tag-prefix: PREFIXO para exigir que todas as tags XML comecem com um texto específico. Por exemplo, o seguinte marcador só permitirá que as tags XML sejam correspondidas se começarem com <x::

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

Isso corresponderia a <x:link>clique aqui</x:link>, mas não a <strong>isso</strong>.

Formato Java

Resumo:

O texto de formato Java não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.JavaFormatCheck

Identificador da verificação:

java_printf_format

Marcador para habilitar:

java-printf-format

Marcador para ignorar:

ignore-java-printf-format

Exemplo de texto de formato simples:

%d maçãs

Exemplo de texto de formato de posição:

Seu saldo é %1$d %2$s

Alterado na versão 4.14: Isso costumava ser alternado pelo marcador java-format, foi alterado para consistência com GNU gettext.

MessageFormat do Java

Resumo:

O texto MessageFormat do Java não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.JavaMessageFormatCheck

Identificador da verificação:

java_format

Marcador para habilitar incondicionalmente:

java-format

Marcador para habilitar autodetecção:

auto-java-messageformat habilita verificação somente se houver um texto de formato na fonte

Marcador para ignorar:

ignore-java-format

Exemplo de texto de formato de posição:

{0} maçãs

Alterado na versão 4.14: Isso costumava ser alternado pelo marcador java-messageformat, foi alterado para consistência com GNU gettext.

Essa verificação valida se o texto de formato é válido para a classe Java MessageFormat. Além de corresponder aos textos de formato nas chaves, ele também verifica as aspas simples, pois elas têm um significado especial. Sempre que escrever aspas simples, deve-se escrever como ''. Quando não emparelhado, é tratado como início de aspas e não será mostrado ao renderizar o texto.

Formato JavaScript

Resumo:

O texto de formato JavaScript não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.JavaScriptFormatCheck

Identificador da verificação:

javascript_format

Marcador para habilitar:

javascript-format

Marcador para ignorar:

ignore-javascript-format

Exemplo de texto de formato simples:

%d maçãs

Formato Lua

Resumo:

O texto de formato Lua não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.LuaFormatCheck

Identificador da verificação:

lua_format

Marcador para habilitar:

lua-format

Marcador para ignorar:

ignore-lua-format

Exemplo de texto de formato simples:

%d maçãs

Formato de Object Pascal

Resumo:

O texto de formato Object Pascal não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.ObjectPascalFormatCheck

Identificador da verificação:

object_pascal_format

Marcador para habilitar:

object-pascal-format

Marcador para ignorar:

ignore-object-pascal-format

Exemplo de texto de formato simples:

%d maçãs

Espaços reservados de porcentagem

Adicionado na versão 4.0.

Resumo:

Os espaços reservados de percentagem não correspondem à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.PercentPlaceholdersCheck

Identificador da verificação:

percent_placeholders

Marcador para habilitar:

percent-placeholders

Marcador para ignorar:

ignore-percent-placeholders

Exemplo de texto de formato simples:

%number% maçãs

Ver também

Textos formatados,

Formato de chave Perl

Resumo:

O texto de formato Perl não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.PerlBraceFormatCheck

Identificador da verificação:

perl_brace_format

Marcador para habilitar:

perl-brace-format

Marcador para ignorar:

ignore-perl-brace-format

Exemplo de texto de formato nomeado:

There are {number} apples

Formato Perl

Resumo:

O texto de formato Perl não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.PerlFormatCheck

Identificador da verificação:

perl_format

Marcador para habilitar:

perl-format

Marcador para ignorar:

ignore-perl-format

Exemplo de texto de formato simples:

%d maçãs

Exemplo de texto de formato de posição:

Seu saldo é %1$d %2$s

Formato PHP

Resumo:

O texto de formato PHP não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.PHPFormatCheck

Identificador da verificação:

php_format

Marcador para habilitar:

php-format

Marcador para ignorar:

ignore-php-format

Exemplo de texto de formato simples:

%d maçãs

Exemplo de texto de formato de posição:

Seu saldo é %1$d %2$s

Formato de chaves Python

Resumo:

O texto de formato de chaves Python não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.PythonBraceFormatCheck

Identificador da verificação:

python_brace_format

Marcador para habilitar:

python-brace-format

Marcador para ignorar:

ignore-python-brace-format

Texto de formato simples:

{} maçãs

Exemplo de texto de formato nomeado:

Seu saldo é {amount} {currency}

Formato Python

Resumo:

O texto de formato Python não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.PythonFormatCheck

Identificador da verificação:

python_format

Marcador para habilitar:

python-format

Marcador para ignorar:

ignore-python-format

Texto de formato simples:

%d maçãs

Exemplo de texto de formato nomeado:

Seu saldo é %(amount)d %(currency)s

Formato Qt

Resumo:

O texto de formato Qt não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.qt.QtFormatCheck

Identificador da verificação:

qt_format

Marcador para habilitar:

qt-format

Marcador para ignorar:

ignore-qt-format

Exemplo de texto de formato de posição:

%1 maçãs

Formato de plural Qt

Resumo:

O texto de formato Qt não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.qt.QtPluralCheck

Identificador da verificação:

qt_plural_format

Marcador para habilitar:

qt-plural-format

Marcador para ignorar:

ignore-qt-plural-format

Exemplo de texto de formato de plural:

%Ln maçã(s)

Formato Ruby

Resumo:

O texto de formato Ruby não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.ruby.RubyFormatCheck

Identificador da verificação:

ruby_format

Marcador para habilitar:

ruby-format

Marcador para ignorar:

ignore-ruby-format

Exemplo de texto de formato simples:

%d maçãs

Exemplo de texto de formato de posição:

Seu saldo é %1$f %2$s

Exemplo de texto de formato nomeado:

Seu saldo é %+.2<amount>f %<currency>s

Texto do modelo nomeado:

Seu saldo é %{amount} %{currency}

Formato Scheme

Resumo:

O texto de formato Scheme não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.SchemeFormatCheck

Identificador da verificação:

scheme_format

Marcador para habilitar:

scheme-format

Marcador para ignorar:

ignore-scheme-format

Exemplo de texto de formato simples:

~d maçãs

Formatação Vue I18n

Resumo:

A formatação Vue I18n não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.format.VueFormattingCheck

Identificador da verificação:

vue_format

Marcador para habilitar:

vue-format

Marcador para ignorar:

ignore-vue-format

Formatação nomeada:

{count} maçãs

Formatação Rails i18n:

%{count} maçãs

Mensagens da localidade vinculada:

@:message.dio @:message.the_world!

Foi traduzido

Resumo:

Este texto já foi traduzido no passado

Escopo:

todos os textos

Classe da verificação:

weblate.checks.consistency.TranslatedCheck

Identificador da verificação:

translated

Marcador para ignorar:

ignore-translated

Significa que um texto já foi traduzido. Isso pode acontecer quando as traduções foram revertidas no VCS ou perdidas de outra forma.

Inconsistente

Resumo:

Este texto tem mais de uma tradução neste projeto ou não está traduzido em alguns componentes.

Escopo:

todos os textos

Classe da verificação:

weblate.checks.consistency.ConsistencyCheck

Identificador da verificação:

inconsistent

Marcador para ignorar:

ignore-inconsistent

O Weblate verifica traduções do mesmo texto em todas as traduções de um projeto para ajudar a manter traduções consistentes.

A verificação falha em diferentes traduções de um texto dentro de um projeto. Isso também pode levar a inconsistências nas verificações exibidas. Você pode encontrar outras traduções deste texto na aba Outras ocorrências.

Esta verificação se aplica a todos os componentes em um projeto que têm Permitir propagação de tradução ativada.

Dica

Por motivos de desempenho, a verificação pode não encontrar todas as inconsistências, ela limita o número de correspondências.

Nota

Esta verificação também é disparada no caso de o texto estar traduzido em um componente e não em outro. Ela pode ser usado como uma maneira rápida de manusear manualmente textos que não estão traduzidos em alguns componentes apenas clicando no botão Usar esta tradução exibido em cada linha na aba Outras ocorrências.

Você pode usar Tradução automática para automatizar a tradução de textos recém-adicionados que já estão traduzidos em outro componente.

Letra Kashida usada

Resumo:

As letras decorativas de kashida não devem ser usadas

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.KashidaCheck

Identificador da verificação:

kashida

Marcador para ignorar:

ignore-kashida

As letras Kashida decorativas não devem ser usadas na tradução. Estas também são conhecidas como Tatweel.

Ver também

Kashida na Wikipédia

Referências Markdown

Resumo:

As referências de links Markdown não correspondem com a fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.markup.MarkdownRefLinkCheck

Identificador da verificação:

md-reflink

Marcador para habilitar:

md-text

Marcador para ignorar:

ignore-md-reflink

As referências de link Markdown não correspondem à fonte.

Ver também

Markdown links

Sintaxe Markdown

Resumo:

A sintaxe Markdown não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.markup.MarkdownSyntaxCheck

Identificador da verificação:

md-syntax

Marcador para habilitar:

md-text

Marcador para ignorar:

ignore-md-syntax

A sintaxe Markdown não corresponde à fonte

Ver também

Markdown inlines

Comprimento máximo da tradução

Resumo:

A tradução não deve exceder o comprimento

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.MaxLengthCheck

Identificador da verificação:

max-length

Marcador para habilitar:

max-length

Marcador para ignorar:

ignore-max-length

Verifica se as traduções são de comprimento aceitável para caber no espaço disponível. Isto apenas verifica o comprimento dos caracteres de tradução.

Ao contrário das outras verificações, o marcador deve ser definido como um par chave:valor, como max-length:100.

Dica

Esta verificação analisa o número de gráficos, o que pode não ser a melhor métrica ao utilizar fontes proporcionais para renderizar o texto. A verificação Tamanho máximo da tradução verifica a renderização real do texto.

O marcador replacements: também pode ser útil para expandir os objetos colocáveis antes de verificar o texto.

Quando o marcador xml-text também é usado, o cálculo do comprimento ignora as tags XML.

Tamanho máximo da tradução

Resumo:

O texto renderizado da tradução não deve exceder o tamanho dado

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.render.MaxSizeCheck

Identificador da verificação:

max-size

Marcador para habilitar:

max-size

Marcador para ignorar:

ignore-max-size

O texto traduzido não deve exceder o tamanho determinado. Ele renderiza o texto com quebra de linhas e verifica se ele se encaixa nos limites determinados.

Esta verificação necessita de um ou dois parâmetros – largura máxima e número máximo de linhas. Caso o número de linhas não seja fornecido, é considerado um texto de uma linha.

Você também pode configurar a fonte utilizada pelas diretivas font-* (veja Personalizando comportamento usando marcadores), por exemplo, após os marcadores de tradução dizerem que o texto renderizado com fonte ubuntu tamanho 22 deve caber em duas linhas e 500 pixels:

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

Dica

Você pode querer definir as diretivas font-* na Configuração de componente para ter a mesma fonte configurada para todos os textos dentro de um componente. Você pode sobrescrever esses valores por texto, caso você precise personalizá-la por texto.

O marcador replacements: também pode ser útil para expandir os objetos colocáveis antes de verificar o texto.

Quando o marcador xml-text também é usado, o cálculo do comprimento ignora as tags XML.

\n não correspondente

Resumo:

O número de \n literais na tradução não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.EscapedNewlineCountingCheck

Identificador da verificação:

escaped_newline

Marcador para ignorar:

ignore-escaped-newline

Usually escaped newlines are important for formatting program output. Check fails if the number of \n literals in translation does not match the source.

Caractere de dois pontos não correspondente

Resumo:

Fonte e tradução não terminam com um caractere de dois pontos

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.EndColonCheck

Identificador da verificação:

end_colon

Marcador para ignorar:

ignore-end-colon

Verifica se os dois pontos são replicados entre a fonte e a tradução. A presença de dois pontos também é verificada para vários idiomas onde eles não pertencem (chinês ou japonês).

Reticências não correspondentes

Resumo:

A fonte e a tradução não terminam com reticências

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.EndEllipsisCheck

Identificador da verificação:

end_ellipsis

Marcador para ignorar:

ignore-end-ellipsis

Verifica se as reticências ao final são replicadas entre a fonte e a tradução. Isto só verifica se há reticências reais () e não três pontos (...).

Uma reticência é normalmente mais agradável do que três pontos na impressão e soa melhor com o texto para a fala.

Ponto de exclamação não correspondente

Resumo:

Fonte e tradução não terminam com uma interrogação

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.EndExclamationCheck

Identificador da verificação:

end_exclamation

Marcador para ignorar:

ignore-end-exclamation

Verifica se as exclamações são replicadas entre a fonte e a tradução. A presença de pontos de exclamação também é verificada para vários idiomas onde eles não pertencem (chinês, japonês, coreano, armênio, limbu, mianmar ou Nko).

Ponto final não correspondente

Resumo:

Fonte e tradução não terminam com um ponto final

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.EndStopCheck

Identificador da verificação:

end_stop

Marcador para ignorar:

ignore-end-stop

Verifica se os pontos finais são replicados entre a fonte e a tradução. A presença de pontos finais é verificada para vários idiomas onde eles não pertencem (chinês, japonês, devanágari ou urdu).

Ponto de interrogação não correspondente

Resumo:

Fonte e tradução não terminam com uma interrogação

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.EndQuestionCheck

Identificador da verificação:

end_question

Marcador para ignorar:

ignore-end-question

Verifica se os pontos de interrogação são replicados entre a fonte e a tradução. A presença de pontos de interrogação também é verificada para vários idiomas onde eles não pertencem (armênio, árabe, chinês, coreano, japonês, etíope, vai ou copta).

Mismatched interrobang mark

Resumo:

Source and translation do not both end with a interrobang mark

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.EndInterrobangCheck

Identificador da verificação:

end_Interrobang

Marcador para ignorar:

ignore-end-Interrobang

Checks that interrobang marks are replicated between both source and translation. It allows the swap between “!?” and “?!”.

Ponto e vírgula não correspondente

Resumo:

Fonte e tradução não terminam com ponto e vírgula

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.EndSemicolonCheck

Identificador da verificação:

end_semicolon

Marcador para ignorar:

ignore-end-semicolon

Verifica se os ponto e vírgulas no final das sentenças são replicados entre a fonte e a tradução.

Quebras de linha descasadas

Resumo:

O número de novas linhas na tradução não corresponde à fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.NewLineCountCheck

Identificador da verificação:

newline-count

Marcador para ignorar:

ignore-newline-count

Usually newlines are important for formatting program output. Check fails if the number of new lines in translation does not match the source.

Faltam plurais

Resumo:

Algumas formas de plural não estão traduzidas

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.consistency.PluralsCheck

Identificador da verificação:

plurals

Marcador para ignorar:

ignore-plurals

Verifica se todas as formas plurais de um texto fonte foram traduzidas. Especificações sobre como cada forma plural é usada podem ser encontradas na definição do texto.

O não preenchimento correto das formas de plural vai levar, em alguns casos, a exibir nada quando a forma do plural está em uso.

Espaços reservados

Resumo:

Faltam alguns espaços reservados na tradução

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.placeholders.PlaceholderCheck

Identificador da verificação:

placeholders

Marcador para habilitar:

placeholders

Marcador para ignorar:

ignore-placeholders

Alterado na versão 4.3: Você pode usar uma expressão regular como espaço reservado.

Alterado na versão 4.13: Com o marcador case-insensitive, os espaços reservados não diferenciam maiúsculas de minúsculas.

A tradução não contém alguns espaços reservados. Estes são extraídos do arquivo de tradução ou definidos manualmente usando o marcador placeholders, outros podem ser separados com ponto e vírgula, textos com o espaço podem ser colocados entre aspas:

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

Caso você tenha alguma sintaxe para os espaços reservados, você pode usar uma expressão regular:

placeholders:r"%[^% ]%"

Você também pode ter espaços reservados que não diferenciam maiúsculas de minúsculas:

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

Espaçamento de pontuação

Resumo:

Faltando espaço rígido antes de sinal de pontuação dupla

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.PunctuationSpacingCheck

Identificador da verificação:

punctuation_spacing

Marcador para ignorar:

ignore-punctuation-spacing

Verifica se há espaço rígido antes do sinal de pontuação dupla (ponto de exclamação, ponto de interrogação, ponto e vírgula e dois pontos). Esta regra é usada apenas em alguns idiomas selecionados, como o francês ou o bretão, onde o espaço antes do sinal de pontuação dupla é uma regra tipográfica.

Expressão regular

Resumo:

A tradução não corresponde à expressão regular

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.placeholders.RegexCheck

Identificador da verificação:

regex

Marcador para habilitar:

regex

Marcador para ignorar:

ignore-regex

A tradução não corresponde à expressão regular. A expressão é extraída do arquivo de tradução ou definida manualmente usando o marcador regex:

regex:^foo|bar$

Tradução reutilizada

Adicionado na versão 4.18.

Resumo:

Textos diferentes estão traduzidos da mesma forma.

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.consistency.ReusedCheck

Identificador da verificação:

reused

Marcador para ignorar:

ignore-reused

Check that fails if the same translation is used on different source strings. Such translations can be intentional, but can also confuse users.

Mesmos plurais

Resumo:

Algumas formas de plural estão traduzidas da mesma forma

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.consistency.SamePluralsCheck

Identificador da verificação:

same-plurals

Marcador para ignorar:

ignore-same-plurals

Verifica que falha se algumas formas de plural estiverem duplicadas na tradução. Na maioria dos idiomas, elas têm que ser diferentes.

Nova linha no início

Resumo:

Fonte e tradução não iniciam com uma nova linha

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.BeginNewlineCheck

Identificador da verificação:

begin_newline

Marcador para ignorar:

ignore-begin-newline

As novas linhas costumam aparecer nos textos fonte por uma boa razão, de forma que omissões ou adições podem levar a problemas de formatação quando o texto traduzido é colocado em uso.

Espaços no início

Resumo:

Fonte e tradução não iniciam com o mesmo número de espaços

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.BeginSpaceCheck

Identificador da verificação:

begin_space

Marcador para ignorar:

ignore-begin-space

Um espaço no início de um texto é normalmente usado para recuo na interface e, portanto, importante de manter.

Linha em branco no final

Resumo:

Fonte e tradução não terminam com uma nova linha

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.EndNewlineCheck

Identificador da verificação:

end_newline

Marcador para ignorar:

ignore-end-newline

As novas linhas costumam aparecer nos textos fonte por uma boa razão, de forma que omissões ou adições podem levar a problemas de formatação quando o texto traduzido é colocado em uso.

Ver também

Nova linha no início

Espaço no final

Resumo:

Fonte e tradução não terminam com um espaço

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.EndSpaceCheck

Identificador da verificação:

end_space

Marcador para ignorar:

ignore-end-space

Verifica se os espaços no final são replicados entre a fonte e a tradução.

O espaço ao final é normalmente utilizado para espaçar os elementos vizinhos, de forma que a sua remoção pode quebrar a disposição.

Tradução não alterada

Resumo:

A fonte e a tradução são idênticas

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.same.SameCheck

Identificador da verificação:

same

Marcador para ignorar:

ignore-same

Acontece se o texto fonte e a tradução correspondente forem idênticos, até pelo menos uma das formas de plural. Alguns textos normalmente encontrados em todos os idiomas são ignorados, e várias marcações são ignoradas. Isto reduz o número de falsos positivos.

Esta verificação pode ajudar a encontrar textos erroneamente não traduzidos.

O comportamento padrão desta verificação é excluir palavras da lista negra embutida da verificação. Estas são palavras que frequentemente não estão sendo traduzidas. Isto é útil para evitar falsos positivos em textos curtos, que consistem apenas em uma única palavra que é a mesma em vários idiomas. Esta lista negra pode ser desabilitada adicionando strict-same ao texto ou componente.

Alterado na versão 4.17: With check-glossary flag (see Não segue o glossário), the untranslatable glossary terms are excluded from the checking.

HTML inseguro

Resumo:

A tradução usa marcação de HTML inseguro

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.markup.SafeHTMLCheck

Identificador da verificação:

safe-html

Marcador para habilitar:

safe-html

Marcador para ignorar:

ignore-safe-html

A tradução utiliza uma marcação HTML insegura. Esta verificação tem que ser habilitada utilizando o marcador safe-html (veja Personalizando comportamento usando marcadores). Há também o autocorretor acompanhado que pode automaticamente corrigir a marcação.

Dica

Quando o marcador md-text também é usado, os links de estilo Markdown também são permitidos.

Ver também

The HTML check is performed by the Ammonia library.

URL

Resumo:

A tradução não contém uma URL

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.markup.URLCheck

Identificador da verificação:

url

Marcador para habilitar:

url

Marcador para ignorar:

ignore-url

A tradução não contém uma URL. Isso só é acionado caso a unidade esteja marcada como contendo uma URL. Nesse caso, a tradução tem de ser uma URL válido.

Marcação XML

Resumo:

As tags XML na tradução não correspondem com a fonte

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.markup.XMLTagsCheck

Identificador da verificação:

xml-tags

Marcador para ignorar:

ignore-xml-tags

Isso geralmente significa que a saída resultante terá uma aparência diferente. Na maioria dos casos, este não é o resultado desejado de alterar a tradução, mas ocasionalmente é.

Verifica se as tags XML são replicadas entre a fonte e a tradução.

The check is automatically enabled for XML like strings. You might need to add xml-text flag in some cases to force turning it on.

Nota

Esta verificação é desabilitada pelo marcador safe-html, pois a limpeza de HTML feita por ele pode produzir marcação HTML que não é um XML válido.

Sintaxe XML

Resumo:

A tradução não é um XML válido

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.markup.XMLValidityCheck

Identificador da verificação:

xml-invalid

Marcador para ignorar:

ignore-xml-invalid

A marcação XML não é válida.

The check is automatically enabled for XML like strings. You might need to add xml-text flag in some cases to force turning it on.

Nota

Esta verificação é desabilitada pelo marcador safe-html, pois a limpeza de HTML feita por ele pode produzir marcação HTML que não é um XML válido.

Espaço com largura zero

Resumo:

A tradução contém um caractere extra de espaço com largura zero

Escopo:

textos traduzidos

Classe da verificação:

weblate.checks.chars.ZeroWidthSpaceCheck

Identificador da verificação:

zero-width-space

Marcador para ignorar:

ignore-zero-width-space

Os caracteres de largura zero (<U+200B>) são usados para quebrar mensagens dentro das palavras (word wrapping).

Como geralmente são inseridas por engano, esta verificação é acionada uma vez que estão presentes na tradução. Alguns programas podem ter problemas quando este caractere é usado.

Verificações de texto fonte

Estas verificações podem ajudar os desenvolvedores a melhorar a qualidade dos textos fonte.

Reticências

Resumo:

O texto usa três pontos (…) ao invés do caractere de reticências (…)

Escopo:

textos fonte

Classe da verificação:

weblate.checks.source.EllipsisCheck

Identificador da verificação:

ellipsis

Marcador para ignorar:

ignore-ellipsis

Isto falha quando o texto usa três pontos (...) quando deveria usar um caractere de reticências ().

O uso do caractere Unicode é, na maioria dos casos, a melhor abordagem e parece melhor renderizado, e pode soar melhor com texto para fala (text-to-speech).

HTML interno de fonte Fluent

Adicionado na versão 5.0.

Resumo:

A fonte Fluent deve ser HTML interno válido

Escopo:

textos fonte

Classe da verificação:

weblate.checks.fluent.inner_html.FluentSourceInnerHTMLCheck

Identificador da verificação:

fluent-source-inner-html

Marcador para habilitar:

fluent-source-inner-html

Marcador para ignorar:

ignore-fluent-source-inner-html

Fluent is often used in contexts where the value for a Message (or Term) is meant to be used directly as .innerHTML (rather than .textContent) for some HTML element. For example, when using the Fluent DOM package.

The aim of this check is to predict how the value will be parsed as inner HTML, assuming a 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.

This check is applied to the value of Fluent Messages or Terms, but not their Attributes. For Messages, the Fluent Attributes are often just HTML attribute values, so can be arbitrary strings. For Terms, the Fluent Attributes are often language properties that can only be referenced in the selectors of Fluent Select Expressions.

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 a HTML tag or inserted a character reference.

Moreover, for the Fluent values that intentionally contain HTML tags or character references, this check will verify some “good practices”, such as matching closing and ending tags, valid character references, and quoted attribute values. In addition, whilst the HTML5 specification technically allows for quite arbitrary tag and attribute names, this check will restrain them to some basic ASCII values that should cover the standard HTML5 element tags and attributes, as well as allow some custom element or attribute names. This is partially to ensure that the user is using HTML intentionally.

Examples:

Valor

Warns?

Reason

three<four

sim

The <four part would be lost as .innerHTML.

three < four

não

The .innerHTML would match the .textContent.

three <four>

sim

Missing a closing tag.

three <four/>

sim

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

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

não

Custom element tag with a matching closing tag.

a <img/> b

não

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

a <br> b

não

br is a HTML void element.

<img class=a/>

sim

The attribute value is not quoted.

<aØ attr=''/>

sim

Non-ASCII tag name.

kind&ethical

sim

The &eth part would be converted to ð.

kind&eth;ical

não

The character reference seems to be intentional.

three&lte;four

sim

The &lte; part would be converted to <e;.

three&lf;four

sim

The character reference is not valid.

three<{ $val }

sim

The Fluent variable may unintentionally become a tag.

&l{ $val }

sim

The Fluent variable may unintentionally become a character reference.

Nota

This check will not ensure the inner HTML is safe or sanitized, and is not meant to protect against malicious attempts to alter the inner HTML. Moreover, it should be remembered that Fluent variables and references may expand to arbitrary strings, so could expand to arbitrary HTML unless they are escaped. As an exception, a < or & character before a Fluent reference will trigger this check since even an escaped value could lead to unexpected results.

Nota

The Fluent DOM package has further limitations, such as allowed tags and attributes, which this check will not enforce.

Sintaxe de origem Fluent

Adicionado na versão 5.0.

Resumo:

Erro de sintaxe Fluent na fonte

Escopo:

textos fonte

Classe da verificação:

weblate.checks.fluent.syntax.FluentSourceSyntaxCheck

Identificador da verificação:

fluent-source-syntax

Marcador para habilitar:

fluent-source-syntax

Marcador para ignorar:

ignore-fluent-source-syntax

In Weblate, Fluent strings use Fluent syntax for references and variables, but also for more complex features like defining attributes and selector variants, including plurals. This check ensures that the syntax used in source will be valid for Fluent.

Sintaxe de MessageFormat do ICU

Adicionado na versão 4.9.

Resumo:

Erros de sintaxe em textos de MessageFormat do ICU.

Escopo:

textos fonte

Classe da verificação:

weblate.checks.icu.ICUSourceCheck

Identificador da verificação:

icu_message_format_syntax

Marcador para habilitar:

icu-message-format

Marcador para ignorar:

ignore-icu-message-format

Ver também

MessageFormat do ICU

Não traduzido há muito tempo

Adicionado na versão 4.1.

Resumo:

Este texto não foi traduzido há muito tempo

Escopo:

textos fonte

Classe da verificação:

weblate.checks.source.LongUntranslatedCheck

Identificador da verificação:

long_untranslated

Marcador para ignorar:

ignore-long-untranslated

Quando o texto não é traduzido há muito tempo, pode indicar um problema em um texto fonte, tornando difícil a tradução.

Várias verificações com falha

Resumo:

As traduções em diversos idiomas têm verificações com falha

Escopo:

textos fonte

Classe da verificação:

weblate.checks.source.MultipleFailingCheck

Identificador da verificação:

multiple_failures

Marcador para ignorar:

ignore-multiple-failures

Várias traduções deste texto têm falhas nas verificações de qualidade. Isto é normalmente uma indicação de que algo poderia ser feito para melhorar o texto fonte.

Esta falha na verificação pode muitas vezes ser causada por um ponto final de uma frase, ou por questões menores similares que os tradutores tendem a corrigir na tradução, enquanto que seria melhor corrigi-la no texto fonte.

Várias variáveis sem nome

Adicionado na versão 4.1.

Resumo:

Há várias variáveis sem nome no texto, o que impossibilita aos tradutores reordená-las

Escopo:

textos fonte

Classe da verificação:

weblate.checks.format.MultipleUnnamedFormatsCheck

Identificador da verificação:

unnamed_format

Marcador para ignorar:

ignore-unnamed-format

Há várias variáveis sem nome no texto, o que impossibilita aos tradutores reordená-las.

Considere usar variáveis nomeadas para permitir que os tradutores as reordenem.

Não pluralizado

Resumo:

O texto é usado como plural, mas não está usando formas de plural

Escopo:

textos fonte

Classe da verificação:

weblate.checks.source.OptionalPluralCheck

Identificador da verificação:

optional_plural

Marcador para ignorar:

ignore-optional-plural

O texto é usado como um plural, mas não usa formas de plural. Caso o seu sistema de tradução tenha suporte a isso, você deve usar a variante que reconheça o plural.

Por exemplo, com o Gettext em Python poderia ser:

from gettext import ngettext

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