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:

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
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 (।
).
Unsafe HTML cleanup#
When turned on using a safe-html
flag it sanitizes HTML markup.
Veja também
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.
Veja também
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#
Novo na versão 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#
Novo na versão 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#
Novo na versão 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 references#
Novo na versão 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#
Novo na versão 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
Veja também
Fluent translation syntax#
Novo na versão 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:

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 }}
Veja também
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:
Há %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:
Há {0} maçãs
Veja também
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:
Há ${number} maçãs
Veja também
Interpolação de i18next#
Novo na versão 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:
Há {{number}} maçãs
- Exemplo de aninhamento:
Há $t(number) maçãs
Veja também
MessageFormat do ICU#
Novo na versão 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:
Há {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
|
Ativa o suporte para tags XML simples. Por padrão, as tags XML são analisadas livremente. Caracteres |
|
Ativa o suporte para tags XML estritas. Todos os caracteres |
|
Desativa o realce de espaços reservados no editor. |
|
Desativa a exigência de submensagens ter um seletor |
|
Ignora a verificação de que os seletores de submensagem correspondem à fonte. |
|
Ignora a verificação de que os tipos de espaço reservado correspondem à fonte. |
|
Ignora a verificação de nenhum espaço reservado está presente que não esteva presente no texto fonte. |
|
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:
Há %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.
Veja também
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:
Há {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.
Veja também
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:
Há %d maçãs
Veja também
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:
Há %d maçãs
Veja também
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:
Há %d maçãs
Espaços reservados de percentagem#
Novo na versão 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:
Há %number% maçãs
Veja também
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:
Há %d maçãs
- Exemplo de texto de formato de posição:
O seu saldo é %1$d %2$s
Veja também
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:
Há %d maçãs
- Exemplo de texto de formato de posição:
O seu saldo é %1$d %2$s
Veja também
Cadeias formatadas, Documentação de PHP sprintf, PHP Format Strings
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:
Há {} maçãs
- Exemplo de texto de formato nomeado:
O seu saldo é {amount} {currency}
Veja também
Cadeias formatadas, Formato de chaves Python, Python Format Strings
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:
Há %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:
Há %1 maçãs
Veja também
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:
Há %Ln maçã(s)
Veja também
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:
Há %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}
Veja também
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:
Há ~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:
Há {count} maçãs
- Formatação i18n de Rails:
Há %{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.
Veja também
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
Hiperligações de marcação#
- Resumo:
As hiperligações de marcação não coincidem com a fonte
- Âmbito:
textos traduzidos
- Classe da verificação:
weblate.checks.markup.MarkdownLinkCheck
- Identificador da verificação:
md-link
- Sinalize para ativar:
md-text
- Marcador para ignorar:
ignore-md-link
As ligações de Markdown não correspondem com a fonte.
Veja também
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
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
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).
Veja também
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.
Veja também
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).
Veja também
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).
Veja também
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).
Veja também
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.
Veja também
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
Veja também
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.
Veja também
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#
Novo na versão 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
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
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.
Veja também
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).
Veja também
Fluent source inner HTML#
Novo na versão 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 |
---|---|---|
|
sim |
The |
|
não |
The |
|
sim |
Missing a closing tag. |
|
sim |
|
|
não |
Custom element tag with a matching closing tag. |
|
não |
|
|
não |
|
|
sim |
The attribute value is not quoted. |
|
sim |
Non-ASCII tag name. |
|
sim |
The |
|
não |
The character reference seems to be intentional. |
|
sim |
The |
|
sim |
The character reference is not valid. |
|
sim |
The Fluent variable may unintentionally become a tag. |
|
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.
Veja também
Fluent source syntax#
Novo na versão 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#
Novo na versão 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
Não traduzido há muito tempo#
Novo na versão 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#
Novo na versão 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)