検査と修正

品質検査は、一般的な翻訳ミスを発見しやすくして、翻訳が整形された状態であることを保証します。誤検出の場合は、その検査を除外にできます。

保存した翻訳が検査で不合格となった場合に、すぐにユーザーに警告を表示します。表示例:

../_images/checks.png

自動修正

品質検査 に加えて、Weblate は翻訳した文字列の一般的な翻訳ミスを自動的に修正できます。翻訳ミスを誘発しないよう設定には注意をしてください。

参考

AUTOFIX_LIST

品質検査

Weblate では、文字列に対してさまざまな品質検査をしています。次のセクションでは、すべての検査項目について詳しく説明します。言語固有の検査もあります。誤検出が起こる場合はバグを報告してください。

翻訳時の検査

翻訳文を変更するたびに検査をするため、翻訳者は高品質な翻訳を維持できます。

BBCode マークアップ

概要

翻訳文の BBCode が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.markup.BBCodeCheck

検査の識別子

bbcode

除外フラグ

ignore-bbcode

BBCode は、メッセージの重要な部分を太字フォントや斜体で強調するなどの表示を、単純なマークアップで記述します。

この検査は、BBCode が翻訳文にも含まれているかどうかを確認します。

注釈

現在、BBCode を検出する方法は非常に単純であり、この検査では誤検知が発生することがあります。

重複単語の連続

バージョン 4.1 で追加.

概要

翻訳文で同じ単語が 2 回連続した文字列:

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.duplicate.DuplicateCheck

検査の識別子

duplicate

除外フラグ

ignore-duplicate

翻訳文に重複する単語が連続してないか検査します。通常は、翻訳ミスです。

ヒント

この検査には、誤検出を避けるための言語固有の規則が含まれています。お客様のケースで誤作動した場合はお知らせください。参照: Weblate の問題の報告

用語集に従っていない

バージョン 4.5 で追加.

概要

翻訳文は用語集に定義された用語に従っていない。

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.glossary.GlossaryCheck

検査の識別子

check_glossary

有効にするフラグ

check-glossary

除外フラグ

ignore-check-glossary

この検査は、check-glossary フラグを使用して有効にします(参照: フラグを使用した動作の設定)。有効にする前に、考慮が必要な項目:

  • 完全な文字列の一致を行います。用語集には、用語の別表記はすべて含まれていることが前提です。

  • 各文字列を用語集と照合して検査するのは大変な作業です。Weblate のすべての操作、文字列のインポートや翻訳などの検査が遅くなります。

連続スペース

概要

翻訳文に連続したスペースが含まれている

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.DoubleSpaceCheck

検査の識別子

double_space

除外フラグ

ignore-double-space

翻訳文の中でスペースが連続しているかどうかを検査し、ほかのスペース関連の検査での誤検出を防ぎます。

原文に連続したスペースがある場合は、意図的なものなので検査で不合格になりません。

書式指定文字列

原文から翻訳文に文字列の書式指定が複製されているか検査します。翻訳文で書式指定文字列を省略すると、通常は深刻な問題が発生するので、文字列の書式指定は、通常は原文と一致していなければなりません。

Weblate では、複数の言語での書式指定文字列の検査に対応しています。検査は、文字列に適切なフラグが設定されている場合にのみ自動的に有効になります(例: C 形式の 'c-format')。Gettext はこれを自動的に追加しますが、他のファイル形式や PO ファイルが xgettext で生成されていない場合は、手動で追加することが必要です。

これは、ユニットごとに行うこともできますし(参照: 原文の追加情報)、コンポーネント構成 で行うこともできます。コンポーネントごとに定義する方が簡単ですが、文字列が書式指定文字列として解釈されず、書式指定文字列の構文がすでに使用されている場合は、誤検出が発生することがあります。

ヒント

Weblate で指定した書式指定の検査ができない場合は、汎用の プレースホルダー を使用できます。

検査に加えて、書式指定文字列をハイライトで表示して、翻訳文字列に簡単に挿入する方法:

../_images/format-highlight.png

AngularJS 補間文字列

概要

原文と AngularJS 補間文字列が一致してないもの

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.angularjs.AngularJSInterpolationCheck

検査の識別子

angularjs_format

有効にするフラグ

angularjs-format

除外フラグ

ignore-angularjs-format

名前付き書式文字列の例

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

C 言語書式

概要

C 言語形式の文字列が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.CFormatCheck

検査の識別子

c_format

有効にするフラグ

c-format

除外フラグ

ignore-c-format

単純な書式指定文字列の例

There are %d apples

書式指定文字列の位置の例

Your balance is %1$d %2$s

C# 形式

概要

C# 形式の文字列が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.CSharpFormatCheck

検査の識別子

c_sharp_format

有効にするフラグ

c-sharp-format

除外フラグ

ignore-c-sharp-format

書式指定文字列の位置の例

There are {0} apples

ECMAScript テンプレート リテラル

概要

ECMAScript テンプレート リテラルが原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.ESTemplateLiteralsCheck

検査の識別子

es_format

有効にするフラグ

es-format

除外フラグ

ignore-es-format

補間の例

There are ${number} apples

i18next 補間

バージョン 4.0 で追加.

概要

i18next の補間が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.I18NextInterpolationCheck

検査の識別子

i18next_interpolation

有効にするフラグ

i18next-interpolation

除外フラグ

ignore-i18next-interpolation

補間の例

There are {{number}} apples

ネスティングの例

There are $t(number) apples

ICU MessageFormat

バージョン 4.9 で追加.

概要

ICU MessageFormat 文字列の構文エラーやプレースホルダーの不一致。

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.icu.ICUMessageFormatCheck

検査の識別子

icu_message_format

有効にするフラグ

icu-message-format

除外フラグ

ignore-icu-message-format

補間の例

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

この検査は、純粋な ICU MessageFormat メッセージと、単純な XML タグを持つ ICU の両方に対応します。XML 対応を選択するか、特定の検査の詳細を無効にすることで、 icu-flags:* を使用してこの検査の動作を設定できます。たとえば、次のフラグは、複数のサブ メッセージの検証を無効にしながら XML 対応を有効にします。

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

xml

単純な XML タグに対応を有効にします。デフォルトでは、XML タグは寛大に解析されます。対でない < 文字は、タグの一部ではない場合は無視されます。

strict-xml

厳格な XML タグに対応を有効にします。タグの一部でない場合は、すべての < 文字をエスケープすることが必要です。

-highlight

エディタ内のプレースホルダーの強調表示を無効にします。

-require_other

サブメッセージに other セレクターを必須とすることを無効にします。

-submessage_selectors

サブメッセージ セレクターがソースと一致するかどうかの検査を除外します。

-types

プレースホルダーの型が原文と一致するかどうかの検査を除外します。

-extra

原文に存在しなかったプレースホルダーが、存在しない確認の検査を除外します。

-missing

原文に存在していたプレースホルダーが、欠落していない確認の検査を除外します。

また、 strict-xml が無効で xml が有効な場合は、icu-tag-prefix:PREFIX フラグを使用して、すべての XML タグが特定の文字列で始まることを必須にできます。次のようにフラグを設定して、XML タグが <x: で始まる場合にのみ一致することを許可する例:

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

これは <x:link>click here</x:link> と一致しますが、<strong>this</strong> とは一致しません。

Java 形式

概要

Java 形式の文字列が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.JavaFormatCheck

検査の識別子

java_printf_format

有効にするフラグ

java-printf-format

除外フラグ

ignore-java-printf-format

単純な書式指定文字列の例

There are %d apples

書式指定文字列の位置の例

Your balance is %1$d %2$s

バージョン 4.14 で変更: 以前は、java-format フラグを使用して切り替えていましたが、GNU gettext との一貫性を保つために変更されました。

Java MessageFormat

概要

Java MessageFormat 文字列が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.JavaMessageFormatCheck

検査の識別子

java_format

無条件を有効にするフラグ

java-format

自動検出を有効にするフラグ

auto-java-messageformat 原文に書式指定文字列がある場合のみ検査を有効にします

除外フラグ

ignore-java-format

書式指定文字列の位置の例

There are {0} apples

バージョン 4.14 で変更: 以前は、java-messageformat フラグを使用して切り替えていましたが、GNU gettext との一貫性を保つために変更されました。

このチェックは、書式文字列が Java MessageFormat クラスに対して有効であることを検証します。中括弧内の書式文字列を照合するだけでなく、特別な意味を持つ単一引用符も検証します。シングル クォーテーションを書くときは常に '' と書くべきです。対になっていない場合は、引用の始まりとして扱われ、文字列のレンダリング時に表示されません。

JavaScript 形式

概要

JavaScript 形式の文字列が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.JavaScriptFormatCheck

検査の識別子

javascript_format

有効にするフラグ

javascript-format

除外フラグ

ignore-javascript-format

単純な書式指定文字列の例

There are %d apples

Lua 形式

概要

Lua 形式の文字列が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.LuaFormatCheck

検査の識別子

lua_format

有効にするフラグ

lua-format

除外フラグ

ignore-lua-format

単純な書式指定文字列の例

There are %d apples

Object Pascal 形式

概要

Object Pascal 形式の文字列が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.ObjectPascalFormatCheck

検査の識別子

object_pascal_format

有効にするフラグ

object-pascal-format

除外フラグ

ignore-object-pascal-format

単純な書式指定文字列の例

There are %d apples

パーセントのプレースホルダー

バージョン 4.0 で追加.

概要

% プレースホルダーが原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.PercentPlaceholdersCheck

検査の識別子

percent_placeholders

有効にするフラグ

percent-placeholders

除外フラグ

ignore-percent-placeholders

単純な書式指定文字列の例

リンゴが %number% 個あります

Perl 形式

概要

Perl 形式の文字列が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.PerlFormatCheck

検査の識別子

perl_format

有効にするフラグ

perl-format

除外フラグ

ignore-perl-format

単純な書式指定文字列の例

There are %d apples

書式指定文字列の位置の例

Your balance is %1$d %2$s

PHP 形式

概要

PHP 形式の文字列が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.PHPFormatCheck

検査の識別子

php_format

有効にするフラグ

php-format

除外フラグ

ignore-php-format

単純な書式指定文字列の例

There are %d apples

書式指定文字列の位置の例

Your balance is %1$d %2$s

Python ブレース形式

概要

Python ブレース形式の文字列が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.PythonBraceFormatCheck

検査の識別子

python_brace_format

有効にするフラグ

python-brace-format

除外フラグ

ignore-python-brace-format

単純な書式指定文字列

リンゴが {} 個あります

名前付き書式文字列の例

あなたの残高は {amount} {currency} です

Python 形式

概要

Python 形式の文字列が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.PythonFormatCheck

検査の識別子

python_format

有効にするフラグ

python-format

除外フラグ

ignore-python-format

単純な書式指定文字列

There are %d apples

名前付き書式文字列の例

あなたの残高は %(amount)d %(currency)s です

Qt 形式

概要

Qt 書式文字列が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.qt.QtFormatCheck

検査の識別子

qt_format

有効にするフラグ

qt-format

除外フラグ

ignore-qt-format

書式指定文字列の位置の例

リンゴが %1 個あります

Qt 複数形式

概要

Qt 複数形式の文字列が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.qt.QtPluralCheck

検査の識別子

qt_plural_format

有効にするフラグ

qt-plural-format

除外フラグ

ignore-qt-plural-format

複数形の書式指定文字列の例

There are %Ln apple(s)

Ruby 形式

概要

Ruby 書式文字列が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.ruby.RubyFormatCheck

検査の識別子

ruby_format

有効にするフラグ

ruby-format

除外フラグ

ignore-ruby-format

単純な書式指定文字列の例

There are %d apples

書式指定文字列の位置の例

あなたの残高は %1$f %2$s です

名前付き書式文字列の例

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

名前付きテンプレート文字列

Your balance is %{amount} %{currency}

Scheme 形式

概要

Scheme 形式の文字列が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.SchemeFormatCheck

検査の識別子

scheme_format

有効にするフラグ

scheme-format

除外フラグ

ignore-scheme-format

単純な書式指定文字列の例

リンゴが ~d 個あります

Vue I18n 書式

概要

Vue I18n 書式が原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.format.VueFormattingCheck

検査の識別子

vue_format

有効にするフラグ

vue-format

除外フラグ

ignore-vue-format

名前付きフォーマット

リンゴが {count} 個あります

Rails i18n 書式

リンゴが %{count} 個あります

リンクしたロケールメッセージ

@:message.dio @:message.the_world!

過去に翻訳済み

概要

過去に翻訳済みのもの

対象範囲

すべての文字列

検査クラス

weblate.checks.consistency.TranslatedCheck

検査の識別子

translated

除外フラグ

ignore-translated

文字列が以前に翻訳されていることを意味します。これは、VCS で翻訳が巻き戻された場合や、その他の理由で翻訳が失われた場合に発生します。

一貫性の欠如

概要

この文字列は、このプロジェクトで複数の翻訳があるか、コンポーネントによっては翻訳されていないものもあります。

対象範囲

すべての文字列

検査クラス

weblate.checks.consistency.ConsistencyCheck

検査の識別子

inconsistent

除外フラグ

ignore-inconsistent

Weblate は、同一の文字列の翻訳が一貫性を維持できるように、プロジェクト内のすべての翻訳を検査します。

1 つの文字列についてプロジェクト内で異なる翻訳がある場合、検査では不合格となります。この場合、検査結果には一貫性の欠如と表示されます。この文字列の他の翻訳は その他の出現箇所 タブで確認できます。

この検査は、翻訳の自動反映の有効化 が有効化されているプロジェクト内のすべてのコンポーネントに適用されます。

ヒント

パフォーマンス上の理由から、検査ですべての不整合が検出されずに一致する数が制限されます。

注釈

この検査は、文字列があるコンポーネントでは翻訳されていて、別のコンポーネントでは未翻訳の場合にも発生します。これは、その他の出現箇所 タブの各行に表示される この翻訳を使う ボタンをクリックするだけで、一部のコンポーネントで翻訳されていない文字列を手動で処理する簡単な方法として使用できます。

自動翻訳 アドオンを使用して、別のコンポーネントですでに翻訳されている、新しく追加された文字列の翻訳を自動化できます。

Kashida 文字の使用

バージョン 3.5 で追加.

概要

装飾的なカシーダが使用されている翻訳文

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.KashidaCheck

検査の識別子

kashida

除外フラグ

ignore-kashida

Kashida の装飾文字は翻訳に使用しないでください。これは Tatweel とも呼ばれます。

Markdown の参照

バージョン 3.5 で追加.

概要

Markdown の参照リンクが原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.markup.MarkdownRefLinkCheck

検査の識別子

md-reflink

有効にするフラグ

md-text

除外フラグ

ignore-md-reflink

Markdown リンクの参照が原文と一致しません。

Markdown 構文

バージョン 3.5 で追加.

概要

Markdown 構文が原文と一致しません

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.markup.MarkdownSyntaxCheck

検査の識別子

md-syntax

有効にするフラグ

md-text

除外フラグ

ignore-md-syntax

Markdown 構文が原文と一致しません

翻訳の最大文字数

概要

翻訳文は、設定した文字数を超えてはいけない

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.MaxLengthCheck

検査の識別子

max-length

有効にするフラグ

max-length

除外フラグ

ignore-max-length

翻訳文が使用可能なスペースに収まる文字列数かどうかを検査します。これは、翻訳文の文字列数のみの検査です。

他の検査とは違い、フラグは max-length:100 のような key:value ペアとして設定が必要です。

ヒント

この検査では文字数を確認するので、プロポーショナル フォントを使用してテキストを表示する場合は適さないかもしれません。翻訳の文字の最大サイズ 検査は、テキストの実際の表示結果を検査します。

replacements: フラグは、文字列を検査する前に置換可能な要素を展開する場合にも便利です。

xml-text フラグも使用している場合、長さの計算では XML タグが無視されます。

翻訳の文字の最大サイズ

概要

表示した翻訳のテキストは、設定した文字サイズを超えてはいけない

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.render.MaxSizeCheck

検査の識別子

max-size

有効にするフラグ

max-size

除外フラグ

ignore-max-size

バージョン 3.7 で追加.

表示した翻訳のテキストは、設定した文字サイズを超えないようにしてください。行折り返しでテキストを表示し、設定した境界に収まるかどうかを確認します。

この検査には、最大幅と最大行数の 1 つまたは 2 つのパラメータが必要です。行数を指定しない場合は、1 行のテキストと判断されます。

使用するフォントは font-* ディレクティブ(参照: フラグを使用した動作の設定)でも設定できます。次は、ubuntu のフォントサイズ 22 で表示するテキストを、2 行 500 ピクセルに収める翻訳フラグの設定方法:

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

ヒント

コンポーネント構成 内の font-* ディレクティブを設定して、コンポーネント内のすべての文字列に同じフォントを設定できます。文字列ごとに設定することが必要な場合に備えて、文字列ごとにこれらの値を上書きできます。

replacements: フラグは、文字列を検査する前に置換可能な要素を展開する場合にも便利です。

xml-text フラグも使用している場合、長さの計算では XML タグが無視されます。

\n の不一致

概要

改行文字(\n)の数が原文と一致しないもの

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.EscapedNewlineCountingCheck

検査の識別子

escaped_newline

除外フラグ

ignore-escaped-newline

通常、エスケープされた改行はプログラムの出力をフォーマットする際に重要です。翻訳の \n リテラルの数が原文と一致しない場合、検査で不合格となります。

コロンの不一致

概要

原文と翻訳文で一致しない文末のコロン

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.EndColonCheck

検査の識別子

end_colon

除外フラグ

ignore-end-colon

原文と翻訳がどちらもコロンで終わっているか検査します。コロンを使わないさまざまな言語(中国語または日本語)についても検査されます。

省略記号の不一致

概要

原文と翻訳文で一致しない文末の省略記号

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.EndEllipsisCheck

検査の識別子

end_ellipsis

除外フラグ

ignore-end-ellipsis

原文から翻訳文に末尾の省略記号が複製されているか検査します。これは、3 つのドット (...) ではなく、実際の省略記号 () のみを検査します。

省略記号は通常、3 つのドットよりも綺麗に表示され、音声合成ではより適切に読み上げられます。

感嘆符の不一致

概要

原文と翻訳文で一致しない文末の感嘆符

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.EndExclamationCheck

検査の識別子

end_exclamation

除外フラグ

ignore-end-exclamation

原文から翻訳に感嘆符が複製されているか検査します。感嘆符の有無は、感嘆符を持たないさまざまな言語についても検査されます(中国語、日本語、韓国語、アルメニア語、リンブ語、ミャンマー語、またはンコ語)。

終止符の不一致

概要

原文と翻訳文で一致しない文末の終止符

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.EndStopCheck

検査の識別子

end_stop

除外フラグ

ignore-end-stop

原文から翻訳に終止符が複製されているか検査します。終止符の有無は、ピリオド (.) を使わない複数の言語(中国語、日本語、デーヴァナーガリー文字またはウルドゥー語)でも検査します。

疑問符の不一致

概要

原文と翻訳文で一致しない文末の疑問符

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.EndQuestionCheck

検査の識別子

end_question

除外フラグ

ignore-end-question

原文から翻訳文に疑問符が複製されているか検査します。疑問符の有無は、疑問符を持たない複数の言語(アルメニア語、アラビア語、中国語、韓国語、日本語、エチオピア語、ヴァイ語またはコプト語)についても検査します。

セミコロンの不一致

概要

原文と翻訳文で一致しない文末のセミコロン

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.EndSemicolonCheck

検査の識別子

end_semicolon

除外フラグ

ignore-end-semicolon

原文から翻訳文に、末尾のセミコロンが複製されているか検査します。

改行数の不一致

概要

改行の数が原文と一致しないもの

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.NewLineCountCheck

検査の識別子

newline-count

除外フラグ

ignore-newline-count

通常、改行はプログラムの出力をフォーマットするために重要です。翻訳の \n リテラルの数が原文と一致しない場合、検査で不合格となります。

複数形の不足

概要

翻訳されなかった複数形がある

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.consistency.PluralsCheck

検査の識別子

plurals

除外フラグ

ignore-plurals

原文のすべての複数形が翻訳されているか検査します。各複数形の使用方法の詳細については、文字列の定義で確認できます。

複数形を記入しないと、複数形が使用されているときに何も表示されないことがあります。

プレースホルダー

バージョン 3.9 で追加.

概要

翻訳文にプレースホルダーが不足している

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.placeholders.PlaceholderCheck

検査の識別子

placeholders

有効にするフラグ

placeholders

除外フラグ

ignore-placeholders

バージョン 4.3 で変更: 正規表現をプレースホルダーとして使用できる。

バージョン 4.13 で変更: case-insensitive フラグを使用すると、プレースホルダーは大文字と小文字を区別しなくなります。

一部のプレースホルダーが翻訳に欠けています。これらは翻訳ファイルから抽出されるか、placeholders フラグを使用して手動で定義します。フラグはコロンで区切り、スペースを含む文字列は引用符で囲んで使用します。

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

プレースホルダに構文がある場合の、正規表現の使用例:

placeholders:r"%[^% ]%"

大文字と小文字を区別しないプレースホルダーの使用例:

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

句読点のスペース

バージョン 3.9 で追加.

概要

二重句読点の前に、改行できないスペースがありません

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.PunctuationSpacingCheck

検査の識別子

punctuation_spacing

除外フラグ

ignore-punctuation-spacing

句読点記号(感嘆符、疑問符、セミコロン、コロン)の前に改行できないスペースがあるか検査します。このルールは、フランス語やブルトン語などの、句読点記号の前のスペースはタイポグラフィの規則に準じる一部の言語でのみ使用されます。

正規表現

バージョン 3.9 で追加.

概要

翻訳文が正規表現に一致しない

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.placeholders.RegexCheck

検査の識別子

regex

有効にするフラグ

regex

除外フラグ

ignore-regex

翻訳文には正規表現に一致するものはありません。正規表現は、翻訳ファイルから抽出するか、regex フラグを使用して手動で定義します。例:

regex:^foo|bar$

同一の複数形

概要

同じように翻訳されている複数形のもの

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.consistency.SamePluralsCheck

検査の識別子

same-plurals

除外フラグ

ignore-same-plurals

翻訳文の複数形のうち、一致しているものがあるかを検出します。ほとんどの言語では、複数形はそれぞれ異なっている必要があります。

文頭の改行

概要

原文と翻訳文で一致しない文頭の改行

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.BeginNewlineCheck

検査の識別子

begin_newline

除外フラグ

ignore-begin-newline

改行は通常、適切な理由で原文内に表示されます。翻訳されたテキストを使用する場合は、省略や追加によってフォーマットが崩れることがあります。

先頭の空白

概要

原文と翻訳文で一致しない文頭のスペース数

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.BeginSpaceCheck

検査の識別子

begin_space

除外フラグ

ignore-begin-space

文字列の先頭にあるスペースは、通常、インターフェイスのインデントに使用されるため、維持することが重要です。

文末の改行

概要

原文と翻訳文で一致しない末尾の改行

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.EndNewlineCheck

検査の識別子

end_newline

除外フラグ

ignore-end-newline

改行は通常、適切な理由で原文内に表示されます。翻訳されたテキストを使用する場合は、省略や追加によってフォーマットが崩れることがあります。

文末の空白

概要

原文と翻訳文で一致しない末尾のスペース

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.EndSpaceCheck

検査の識別子

end_space

除外フラグ

ignore-end-space

原文から翻訳に末尾のスペースが複製されているか検査します。

末尾のスペースは、通常、隣接する要素をスペースに入れるため、削除するとレイアウトが壊れることがあります。

未翻訳の翻訳文

概要

原文と翻訳文が同一

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.same.SameCheck

検査の識別子

same

除外フラグ

ignore-same

原文と対応する翻訳文字列が、複数形のうち少なくとも 1 つまで同一である場合に発生します。すべての言語に共通する一部の文字列は無視され、さまざまなマークアップが除去されます。これにより、誤検出の数が減ります。

この検査は、誤って翻訳されていない文字列を見つけるのに便利です。

この検査のデフォルトの動作では、初期設定のブラックリストにある単語を検査対象から除外します。これらはしばしば翻訳されない単語です。これは、複数の言語で同じ 1 つの単語だけで構成される短い文字列での誤検出を避けるために便利です。このブラックリストを無効にするには、文字列またはコンポーネントに strict-same フラグを追加します。

安全でない HTML

バージョン 3.9 で追加.

概要

翻訳文には、安全でない HTML マークアップが使用されている

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.markup.SafeHTMLCheck

検査の識別子

safe-html

有効にするフラグ

safe-html

除外フラグ

ignore-safe-html

翻訳には、安全でない HTML マークアップが含まれています。この検査は safe-html フラグ(参照: フラグを使用した動作の設定)を使用して有効にしなければなりません。マークアップを自動的にサニタイズできる autofixer も付属しています。

ヒント

また、md-text フラグを使用している場合には、Markdown 形式のリンクも許可されます。

参考

HTML の検査は、Mozilla が開発した Bleach ライブラリによって行われます。

URL

バージョン 3.5 で追加.

概要

翻訳文に URL が含まれていない

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.markup.URLCheck

検査の識別子

url

有効にするフラグ

url

除外フラグ

ignore-url

翻訳文に URL が含まれていません。これは、ユニットが URL を含むとマークされている場合にのみ起動します。その場合、翻訳は有効な URL であることが必要です。

XML マークアップ

概要

翻訳文の XML タグが原文と不一致

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.markup.XMLTagsCheck

検査の識別子

xml-tags

除外フラグ

ignore-xml-tags

これは通常、出力結果が異なることを意味します。ほとんどの場合、これは翻訳の変更による望ましい結果ではありませんが、場合によっては変更されることもあります。

原文から翻訳文に XML タグが複製されているか検査します。

注釈

この検査は safe-html フラグにより無効にされています。このフラグによって行われる HTML のクリーンアップにより、無効な XML の HTMLマークアップを生成する可能性があるためです。

XML 構文

バージョン 2.8 で追加.

概要

翻訳文が XML として正しくない

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.markup.XMLValidityCheck

検査の識別子

xml-invalid

除外フラグ

ignore-xml-invalid

XML マークアップは無効です。

注釈

この検査は safe-html フラグにより無効にされています。このフラグによって行われる HTML のクリーンアップにより、無効な XML の HTMLマークアップを生成する可能性があるためです。

ゼロ幅スペース

概要

ゼロ幅スペース文字を含む翻訳文

対象範囲

翻訳済みの文字列

検査クラス

weblate.checks.chars.ZeroWidthSpaceCheck

検査の識別子

zero-width-space

除外フラグ

ignore-zero-width-space

単語の途中でのメッセージの改行(ワードラッピング)に、ゼロ幅スペース(<U+200B>)が使われています。

通常は誤って挿入するため、この検査は翻訳中に検出した時点で起動します。この文字を使用すると、一部のプログラムで問題が発生することがあります。

原文検査

原文検査は、開発者が原文の品質を向上させるため便利です。

省略記号

概要

文字列では省略記号 (…) の代わりに 3 つのドット (...) が使われている

対象範囲

原文

検査クラス

weblate.checks.source.EllipsisCheck

検査の識別子

ellipsis

除外フラグ

ignore-ellipsis

これは、文字列で省略記号 () を使用すべきところで、3 つのドット (...) を使用すると不合格となります。

ほとんどの場合、Unicode 文字を使用する方が適切な方法であり、表示の品質も高くなります。また、テキスト読み上げでもより適切な音声になります。

ICU MessageFormat syntax

バージョン 4.9 で追加.

概要

ICU MessageFormat 文字列に構文エラーがあります。

対象範囲

原文

検査クラス

weblate.checks.icu.ICUSourceCheck

検査の識別子

icu_message_format_syntax

有効にするフラグ

icu-message-format

除外フラグ

ignore-icu-message-format

長期間未翻訳

バージョン 4.1 で追加.

概要

翻訳が放置された文字列

対象範囲

原文

検査クラス

weblate.checks.source.LongUntranslatedCheck

検査の識別子

long_untranslated

除外フラグ

ignore-long-untranslated

文字列が長期間未翻訳のまま放置されていた場合は、原文に問題があり、翻訳が困難である場合があります。

検査不合格となった複数の項目

概要

翻訳は複数の言語で、検査に不合格となった項目があります

対象範囲

原文

検査クラス

weblate.checks.source.MultipleFailingCheck

検査の識別子

multiple_failures

除外フラグ

ignore-multiple-failures

この文字列の翻訳の多くは、品質検査で不合格となっています。これは通常、原文を改善する方法が何かあるという意味です。

この検査の不合格は、文字列の末端の終止符の欠落、または翻訳者が翻訳で修正する傾向がある同様のささいな問題によって引き起こされることが多いが、原文で修正することを推奨します。

複数の無名変数

バージョン 4.1 で追加.

概要

文字列内に複数の名前のない変数があるため、翻訳者は並べ替えができません

対象範囲

原文

検査クラス

weblate.checks.format.MultipleUnnamedFormatsCheck

検査の識別子

unnamed_format

除外フラグ

ignore-unnamed-format

文字列内に複数の名前のない変数があるため、翻訳者がそれらを並べ替えることはできません。

代わりに名前付き変数を使用して、翻訳者が変数の順序を変更できるように検討してください。

複数形化されていない

概要

The string is used as plural, but not using plural forms

対象範囲

原文

検査クラス

weblate.checks.source.OptionalPluralCheck

検査の識別子

optional_plural

除外フラグ

ignore-optional-plural

The string is used as a plural, but does not use plural forms. In case your translation system supports this, you should use the plural aware variant of it.

Python の Gettext 使用例:

from gettext import ngettext

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