Verificações e correções

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

Quando enviar uma tradução com uma verificação a falhar será imediatamente mostrada ao utilizador:

../_images/checks.webp

Correções automáticas

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

Veja 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 da pontuação

Added in version 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 da pontuação).

Unsafe HTML cleanup

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

Veja 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 cadeias. A secção a seguir descreve todos eles em mais detalhe. 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

Executado a cada alteração da tradução, ajuda os tradutores a manter traduções de boa qualidade.

Markup BBCode

Resumo:

O BBCode na tradução não coincide com a fonte

Âmbito:

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 estejam na tradução.

Nota

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

Palavras consecutivas duplicadas

Added in version 4.1.

Resumo:

O texto contém a mesma palavra duas vezes seguidas:

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.duplicate.DuplicateCheck

Identificador da verificação:

duplicate

Marcador para ignorar:

ignore-duplicate

Verifica se não há palavras duplicadas consecutivas numa 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

Added in version 4.5.

Resumo:

A tradução não segue os termos definidos num glossário.

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.glossary.GlossaryCheck

Identificador da verificação:

check_glossary

Sinalize para ativar:

check-glossary

Marcador para ignorar:

ignore-check-glossary

Esta verificação tem de ser ligada a usar o sinalizador check-glossary (veja Personalizando comportamento a usar marcadores). Por favor, considere seguir antes de ativá-lo:

  • Ele faz a correspondência exata das cadeias, espera-se que o glossário contenha termos em todas as variantes.

  • A verificação de cada cadeia 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 inalterada.

Espaço duplo

Resumo:

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

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.chars.DoubleSpaceCheck

Identificador da verificação:

double_space

Marcador para ignorar:

ignore-double-space

Verifica se espaços duplos estão presentes na tradução para evitar falsos positivos em outras verificações relacionadas ao espaço.

A verificação é falsa quando espaços duplos são encontrados na fonte, o que significa que os espaços duplos são intencionais.

Fluent parts

Added in version 5.0.

Resumo:

Fluent parts should match

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.fluent.parts.FluentPartsCheck

Identificador da verificação:

fluent-parts

Sinalize para ativar:

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.

Veja também

Fluent Attributes

Fluent references

Added in version 5.0.

Resumo:

Fluent references should match

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.fluent.references.FluentReferencesCheck

Identificador da verificação:

fluent-references

Sinalize para ativar:

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.

Fluent translation inner HTML

Added in version 5.0.

Resumo:

Fluent target should be valid inner HTML that matches

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.fluent.inner_html.FluentTargetInnerHTMLCheck

Identificador da verificação:

fluent-target-inner-html

Sinalize para ativar:

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 Fluent source inner HTML 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

Fluent translation syntax

Added in version 5.0.

Resumo:

Fluent syntax error in translation

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.fluent.syntax.FluentTargetSyntaxCheck

Identificador da verificação:

fluent-target-syntax

Sinalize para ativar:

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.

Cadeias formatadas

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.

O Weblate tem suporte a verificar cadeias de formato em vários idiomas. A verificação não é ativada automaticamente, somente se uma cadeia for sinalizada adequadamente (e.g. c-format for C format). O Gettext adiciona-o automaticamente, mas provavelmente terá que adicioná-lo manualmente para outros formatos de ficheiro ou se os seus ficheiros de 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 cadeias 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, pode usar Espaços reservados genéricos.

Além de verificar, isso também destacará as cadeias de formatação para inseri-los facilmente em cadeias traduzidas:

../_images/format-highlight.webp

Cadeia de interpolação AngularJS

Resumo:

As cadeias de interpolação AngularJS não correspondem à fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.angularjs.AngularJSInterpolationCheck

Identificador da verificação:

angularjs_format

Sinalize para ativar:

angularjs-format

Marcador para ignorar:

ignore-angularjs-format

Exemplo de texto de formato nomeado:

O seu saldo é {{amount}} {{ currency }}

Formato C

Resumo:

O formato C da cadeia não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.CFormatCheck

Identificador da verificação:

c_format

Sinalize para ativar:

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:

O seu saldo é %1$d %2$s

Formato C#

Resumo:

O formato C# da cadeia não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.CSharpFormatCheck

Identificador da verificação:

c_sharp_format

Sinalize para ativar:

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:

As literais de modelo ECMAScript não correspondem com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.ESTemplateLiteralsCheck

Identificador da verificação:

es_format

Sinalize para ativar:

es-format

Marcador para ignorar:

ignore-es-format

Exemplo de interpolação:

${number} maçãs

Interpolação de i18next

Added in version 4.0.

Resumo:

A interpolação de i18next não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.I18NextInterpolationCheck

Identificador da verificação:

i18next_interpolation

Sinalize para ativar:

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

Added in version 4.9.

Resumo:

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

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.icu.ICUMessageFormatCheck

Identificador da verificação:

icu_message_format

Sinalize para ativar:

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. Pode configurar o comportamento desta verificação a usar icu-flags:*, ou a optar pelo suporte XML ou a desativar 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

Ativa 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

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

-highlight

Desativa o realce de espaços reservados no editor.

-require_other

Desativa 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á ativado, mas xml está ativado, 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 formato Java da cadeia não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.JavaFormatCheck

Identificador da verificação:

java_printf_format

Sinalize para ativar:

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:

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.

Formato de Mensagem Java

Resumo:

O MessageFormat Java da cadeia não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.JavaMessageFormatCheck

Identificador da verificação:

java_format

Marcador para ativar incondicionalmente:

java-format

Marcador para ativar autodetecção:

auto-java-messageformat ativa 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 formato JavaScript da cadeia não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.JavaScriptFormatCheck

Identificador da verificação:

javascript_format

Sinalize para ativar:

javascript-format

Marcador para ignorar:

ignore-javascript-format

Exemplo de texto de formato simples:

%d maçãs

Formato Lua

Resumo:

O formato de cadeia Lua não corresponde com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.LuaFormatCheck

Identificador da verificação:

lua_format

Sinalize para ativar:

lua-format

Marcador para ignorar:

ignore-lua-format

Exemplo de texto de formato simples:

%d maçãs

Formato Object Pascal

Resumo:

O formato Object Pascal da cadeia não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.ObjectPascalFormatCheck

Identificador da verificação:

object_pascal_format

Sinalize para ativar:

object-pascal-format

Marcador para ignorar:

ignore-object-pascal-format

Exemplo de texto de formato simples:

%d maçãs

Espaços reservados de percentagem

Added in version 4.0.

Resumo:

Os símbolos de percentagem não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.PercentPlaceholdersCheck

Identificador da verificação:

percent_placeholders

Sinalize para ativar:

percent-placeholders

Marcador para ignorar:

ignore-percent-placeholders

Exemplo de texto de formato simples:

%number% maçãs

Veja também

Cadeias formatadas,

Perl brace format

Resumo:

Perl brace format string does not match source

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.PerlBraceFormatCheck

Identificador da verificação:

perl_brace_format

Sinalize para ativar:

perl-brace-format

Marcador para ignorar:

ignore-perl-brace-format

Exemplo de texto de formato nomeado:

There are {number} apples

Formato Perl

Resumo:

O formato Perl da cadeia não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.PerlFormatCheck

Identificador da verificação:

perl_format

Sinalize para ativar:

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:

O seu saldo é %1$d %2$s

Formato PHP

Resumo:

O formato PHP da cadeia não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.PHPFormatCheck

Identificador da verificação:

php_format

Sinalize para ativar:

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:

O seu saldo é %1$d %2$s

Formato de chaveta Python

Resumo:

O formato de chaveta Python da cadeia não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.PythonBraceFormatCheck

Identificador da verificação:

python_brace_format

Sinalize para ativar:

python-brace-format

Marcador para ignorar:

ignore-python-brace-format

Cadeia de formato simples:

{} maçãs

Exemplo de texto de formato nomeado:

O seu saldo é {amount} {currency}

Formato Python

Resumo:

O formato Python da cadeia não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.PythonFormatCheck

Identificador da verificação:

python_format

Sinalize para ativar:

python-format

Marcador para ignorar:

ignore-python-format

Cadeia de formato simples:

%d maçãs

Exemplo de texto de formato nomeado:

O seu saldo é %(amount)d %(currency)s

Formato Qt

Resumo:

O formato Qt da cadeia não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.qt.QtFormatCheck

Identificador da verificação:

qt_format

Sinalize para ativar:

qt-format

Marcador para ignorar:

ignore-qt-format

Exemplo de texto de formato de posição:

%1 maçãs

Forma plural Qt

Resumo:

O formato plural Qt da cadeia não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.qt.QtPluralCheck

Identificador da verificação:

qt_plural_format

Sinalize para ativar:

qt-plural-format

Marcador para ignorar:

ignore-qt-plural-format

Exemplo de texto de formato de plural:

%Ln maçã(s)

Formato Ruby

Resumo:

O formato Ruby da cadeia não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.ruby.RubyFormatCheck

Identificador da verificação:

ruby_format

Sinalize para ativar:

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:

O seu saldo é %1$f %2$s

Exemplo de texto de formato nomeado:

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

Cadeia de modelo nomeado:

O seu saldo é %{amount} %{currency}

Formato Scheme

Resumo:

O formato de cadeia Scheme não corresponde com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.SchemeFormatCheck

Identificador da verificação:

scheme_format

Sinalize para ativar:

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

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.format.VueFormattingCheck

Identificador da verificação:

vue_format

Sinalize para ativar:

vue-format

Marcador para ignorar:

ignore-vue-format

Formatação nomeada:

{count} maçãs

Formatação i18n de Rails:

%{count} maçãs

Mensagens de localidade vinculadas:

@:message.dio @:message.the_world!

Foi traduzido

Resumo:

Esta cadeia foi traduzida anteriormente

Âmbito:

todos os textos

Classe da verificação:

weblate.checks.consistency.TranslatedCheck

Identificador da verificação:

translated

Marcador para ignorar:

ignore-translated

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

Inconsistente

Resumo:

Esta cadeia tem mais que uma tradução neste projeto ou não está traduzida em alguns componentes.

Âmbito:

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 da mesma cadeia em todas as traduções de um projeto para ajudar a manter traduções consistentes.

A verificação falha em traduções diferentes de uma cadeia dentro de um projeto. Isso também pode levar a inconsistências nas verificações exibidas. Pode encontrar outras traduções desta cadeia na guia Outras ocorrências.

Esta verificação aplica-se a todos os componentes de um projeto que tenham Permitir propagação da tradução ativados.

Dica

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

Nota

Esta verificação também é disparada no caso de o texto estar traduzido num 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 guia Outras ocorrências.

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 utilizada

Resumo:

As letras decorativas kashida não deverão ser utilizadas

Âmbito:

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.

Veja também

Kashida na Wikipédia

Referências de Markdown

Resumo:

As referências de hiperligação de marcação não correspondem à fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.markup.MarkdownRefLinkCheck

Identificador da verificação:

md-reflink

Sinalize para ativar:

md-text

Marcador para ignorar:

ignore-md-reflink

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

Veja também

Markdown links

Sintaxe de Markdown

Resumo:

A sintaxe de Markdown não coincide com a fonte

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.markup.MarkdownSyntaxCheck

Identificador da verificação:

md-syntax

Sinalize para ativar:

md-text

Marcador para ignorar:

ignore-md-syntax

A sintaxe de Markdown não coincide com a fonte

Veja também

Markdown inlines

Tamanho máximo da tradução

Resumo:

A tradução não deve exceder o tamanho dado

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.chars.MaxLengthCheck

Identificador da verificação:

max-length

Sinalize para ativar:

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 sinalizador deve ser definido como um par «chave:valor», como max-length:100.

Dica

Esta verificação analisa a quntidade de carácteres, 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 sinalizador replacements: também pode ser útil para expandir os objetos colocáveis antes de verificar a cadeia.

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

Tamanho máximo da tradução

Resumo:

A tradução não deve exceder o tamanho dado

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.render.MaxSizeCheck

Identificador da verificação:

max-size

Sinalize para ativar:

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 quantidade máximo de linhas. Caso a quantidade de linhas não seja fornecida, um texto de uma linha é considerado .

Também pode configurar a fonte utilizada pelas diretivas font-* (veja Personalizando comportamento a usar marcadores), por exemplo, após os marcadores de tradução dizer 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

Queria definir as diretivas font-* na Configuração de componente para ter a mesma fonte configurada para todas as cadeias dentro de um componente. Pode sobrescrever esses valores por cadeia, caso precise personalizá-la por cadeia.

O sinalizador replacements: também pode ser útil para expandir os objetos colocáveis antes de verificar a cadeia.

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

\n não correspondente

Resumo:

A quantidade de \n literais na tradução não corresponde à fonte

Âmbito:

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.

Dois pontos não correspondentes

Resumo:

A fonte e a tradução não terminam ambas com uma vírgula

Âmbito:

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 ambas com reticências

Âmbito:

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:

A fonte e a tradução não terminam ambas com um ponto de exclamação

Âmbito:

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:

A fonte e a tradução não terminam ambas com ponto

Âmbito:

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:

A fonte e a tradução não terminam ambas com um ponto de interrogação

Âmbito:

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

Âmbito:

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:

A fonte e a tradução não terminam ambas com ponto e vírgula

Âmbito:

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 não coincidentes

Resumo:

A quantidade de novas linhas na tradução não corresponde ao da fonte

Âmbito:

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:

Alguns plurais não estão traduzidos

Âmbito:

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 uma cadeia fonte foram traduzidas. Especificações sobre como cada forma plural é usada encontram-se na definição da cadeia.

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

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.placeholders.PlaceholderCheck

Identificador da verificação:

placeholders

Sinalize para ativar:

placeholders

Marcador para ignorar:

ignore-placeholders

Alterado na versão 4.3: Pode usar expressões regulares 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 ficheiro de tradução ou definidos manualmente a usar o sinalizador placeholders, outros podem ser separados com ponto e vírgula, cadeias com o espaço podem ser postos entre aspas:

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

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

placeholders:r"%[^% ]%"

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

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

Espaçamento da pontuação

Resumo:

Falta de espaço não quebrável antes do sinal de pontuação duplo

Âmbito:

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

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.placeholders.RegexCheck

Identificador da verificação:

regex

Sinalize para ativar:

regex

Marcador para ignorar:

ignore-regex

A tradução não corresponde à expressão regular. A expressão é extraída do ficheiro de tradução ou definida manualmente a usar o sinalizador regex:

regex:^foo|bar$

Reused translation

Added in version 4.18.

Resumo:

Different strings are translated the same.

Âmbito:

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:

Alguns plurais estão traduzidos da mesma maneira

Âmbito:

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:

A fonte e a tradução não iniciam ambas com uma nova linha

Âmbito:

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 nas cadeias 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 é posto em uso.

Veja também

Nova linha no final

Espaços no início

Resumo:

A fonte e a tradução não iniciam ambas com a mesma quantidade de espaços

Âmbito:

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 uma cadeia é normalmente usado para recuo na interface, portanto, importante manter.

Nova linha no final

Resumo:

A fonte e a tradução não terminam ambas com uma nova linha

Âmbito:

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 nas cadeias 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 é posto em uso.

Veja também

Nova linha no início

Espaço no final

Resumo:

A fonte e a tradução não terminam ambas com um espaço

Âmbito:

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 inalterada

Resumo:

Fonte e tradução são iguais

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.same.SameCheck

Identificador da verificação:

same

Marcador para ignorar:

ignore-same

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

Esta verificação pode ajudar a encontrar cadeias 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 a ser traduzidas. Isto é útil para evitar falsos positivos em cadeias curtas, que consistem apenas numa única palavra que é a mesma em vários idiomas. Esta lista negra pode ser desativada a adicionar strict-same à cadeia 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 HTML insegura

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.markup.SafeHTMLCheck

Identificador da verificação:

safe-html

Sinalize para ativar:

safe-html

Marcador para ignorar:

ignore-safe-html

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

Dica

Quando o marcador md-text também é usado, as ligações de estilo Markdown também são permitidas.

Veja também

The HTML check is performed by the Ammonia library.

URL

Resumo:

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

Âmbito:

textos traduzidos

Classe da verificação:

weblate.checks.markup.URLCheck

Identificador da verificação:

url

Sinalize para ativar:

url

Marcador para ignorar:

ignore-url

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

Markup XML

Resumo:

Etiquetas XML na tradução não coincidem com a fonte

Âmbito:

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 é desativada 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 é XML válido

Âmbito:

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 é desativada 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çamento nulo

Resumo:

A tradução contém carateres extra de espaço nulo

Âmbito:

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 programadores a melhorar a qualidade das cadeias fonte.

Reticências

Resumo:

A cadeia utiliza três pontos (…) em vez do carácter de reticências (…)

Âmbito:

entradas fonte

Classe da verificação:

weblate.checks.source.EllipsisCheck

Identificador da verificação:

ellipsis

Marcador para ignorar:

ignore-ellipsis

Isto falha quando a cadeia 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).

Fluent source inner HTML

Added in version 5.0.

Resumo:

Fluent source should be valid inner HTML

Âmbito:

entradas fonte

Classe da verificação:

weblate.checks.fluent.inner_html.FluentSourceInnerHTMLCheck

Identificador da verificação:

fluent-source-inner-html

Sinalize para ativar:

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.

Fluent source syntax

Added in version 5.0.

Resumo:

Fluent syntax error in source

Âmbito:

entradas fonte

Classe da verificação:

weblate.checks.fluent.syntax.FluentSourceSyntaxCheck

Identificador da verificação:

fluent-source-syntax

Sinalize para ativar:

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

Added in version 4.9.

Resumo:

Erros de sintaxe em textos de MessageFormat do ICU.

Âmbito:

entradas fonte

Classe da verificação:

weblate.checks.icu.ICUSourceCheck

Identificador da verificação:

icu_message_format_syntax

Sinalize para ativar:

icu-message-format

Marcador para ignorar:

ignore-icu-message-format

Veja também

MessageFormat do ICU

Não traduzido há muito tempo

Added in version 4.1.

Resumo:

A cadeia não foi traduzida há muito tempo

Âmbito:

entradas 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 num texto fonte, a tornar difícil a tradução.

Várias verificações falhadas

Resumo:

As traduções em várias línguas têm verificações falhadas

Âmbito:

entradas 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 desta cadeia têm falhas nas verificações de qualidade. Isto é normalmente uma indicação de que algo poderia ser feito para melhorar a cadeia 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 seria melhor corrigi-la na cadeia fonte.

Várias variáveis sem nome

Added in version 4.1.

Resumo:

Há várias variáveis sem nome na cadeia, o que faz impossível aos tradutores reordená-las

Âmbito:

entradas 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 na cadeia, o que impossibilita aos tradutores reordená-las.

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

Não pluralizado

Resumo:

A cadeia é utilizada como plural, mas não tem plural

Âmbito:

entradas fonte

Classe da verificação:

weblate.checks.source.OptionalPluralCheck

Identificador da verificação:

optional_plural

Marcador para ignorar:

ignore-optional-plural

A cadeia é usado como um plural, mas não usa formas de plural. Caso o seu sistema de tradução tenha suporte a isso, 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)