翻訳ワークフロー

Weblate を利用すると、翻訳品質の向上が見込めるだけでなく、手作業が減り、現地語化の工程に関わる全員の連携が強化されます。 Weblate の機能は豊富に用意されており、どれだけ活用するかはあなた次第です。

以下の項目は、Weblate の完璧な設定方法ではありません。記載している例をもとに、他のワークフローを作成できます。

ワークフローの設定

プロジェクトの設定 および コンポーネント構成 での設定に加えて(査読の有効化、提案の有効化、提案への投票、提案の自動採用 として)、翻訳ワークフローは言語ごとにカスタマイズできます。

サイト全体のワークフローのカスタマイズは、言語定義の変更 中に行うことができます。

プロジェクトごとのカスタマイズは、プロジェクトの各言語ページで設定できます。

Review and suggestion settings can be overridden, the only limitation is that 査読の有効化 needs to be turned on and can only be disabled in the per-language customization.

最初の既存の設定が適用される項目:

  1. プロジェクト言語のカスタマイズ

  2. 言語のカスタマイズ

  3. プロジェクト/コンポーネントの設定

注釈

サイト全体の上書きするときは注意してください。これは、すべてのプロジェクトに適用されます(ただし、特定の言語に対して独自の上書きがある場合を除きます)。

Custom source language

Select Source language in a project's language workflow settings to translate from another language in the same project. For example, you can translate a regional language variant from its parent language. Leave the selection empty to use the component's source language.

The selected language's translation is displayed as the source in the editor and used for translation checks, automatic translation, and translation memory. The original source strings and file identifiers remain unchanged.

Changing a parent translation marks its translated children as needing editing. Children are read-only while their parent is untranslated or needs editing, including when reviews are disabled. A parent that is translated (waiting for review) or approved permits editing. This restriction also applies through multiple levels of parent languages. Languages cannot depend on themselves or form a cycle.

If a component lacks the selected language or a matching string, its children are read-only until that source becomes available. Weblate preserves their translations and the configured source language; it does not fall back to the component source. Clearing the setting or selecting the component source language restores the canonical source. Moving a component applies the destination project's workflow settings. Changing workflow settings updates affected strings before returning; on large projects, this can delay translation edits.

Languages selected as custom sources cannot be deleted until these workflow settings are cleared or changed to another language.

This setting can only be configured per project and language. Existing intermediate language configuration continues to control the component source.

Workflow changes affect new translation-memory updates. Previously stored source and target pairs remain subject to the existing translation-memory retention and cleanup settings. A missing source does not create an active memory entry.

Limiting translation languages

Several settings can limit translation languages. They address different stages of the translation lifecycle and can be combined:

Control requests for languages that do not exist yet

Configure 新しい翻訳の追加 at workspace, project, category, or component level. Categories and components can inherit this setting; see Settings inheritance. You can let users contact maintainers, point them to translation instructions, create the language file automatically, or disable adding new translations.

Project admins can still add a translation when Weblate can create its file. For components that do not inherit the project setting, change 新しい翻訳の追加 individually or automate the changes using PATCH /api/components/(string:project)/(string:component)/.

To allow existing project languages while requesting approval for new ones, select Create existing project languages; contact maintainers for new languages. A language qualifies when any non-glossary component in the project has a target translation for it, even with no translated strings. Source-only languages and glossary translations do not qualify. This applies across categories, including shared components and components the contributor cannot access.

Maintainers approve a language by creating its first target translation. Removing the last qualifying translation removes eligibility. Component overrides that allow unrestricted language creation can also introduce an eligible language. Project and category submissions use the languages present at the start of the operation, so component processing order does not affect the result.

Project and category submissions modify only components owned by that project or category. To add a language to a shared component, use its own language creation page; the owning project's eligibility and permissions apply there.

The REST translation creation endpoint returns HTTP 403 for languages requiring approval; submit these requests through the web interface. The permission to add several languages does not bypass this policy. Maintainers and trusted add-ons retain their existing creation permissions, and repository file discovery is unaffected.

Disabling new translations controls user requests. It does not stop discovery of translation files added to the repository or automatic glossary language synchronization.

Limit which translation files Weblate discovers or creates

Configure 言語フィルター on each component. For example, ^(de|en|fr)$ limits the component to translation files whose language code is de, en, or fr. The filter applies while scanning the component file mask and when creating a new translation file; it does not change permissions for translations that are already present.

Language filters are configured per component, with no project-wide language allowlist. To apply a filter across many components, automate the changes using PATCH /api/components/(string:project)/(string:component)/.

Grant translation access only for selected languages

Use language-scoped teams when different users should be able to translate different languages. A team can only grant permissions, so remove any broader translation permission that would otherwise apply to the same users.

Restrict direct editing of an existing language

Open the language settings in the project, enable Customize translation workflow for this language in this project, and turn on Restrict direct editing.

Users with the Edit string when suggestions are enforced permission can continue editing directly. Other users can add suggestions when Turn on suggestions is enabled. Turn off suggestions as well to make the language editable only by privileged users.

The restriction can also be configured site-wide while 言語定義の変更. A project-language customization takes precedence over the site-wide language setting.

Use suggestion voting

Turn on Suggestion voting to let users vote on suggestions. Voting alone does not restrict direct editing. A positive Automatically accept suggestions threshold also requires users without the Edit string when suggestions are enforced permission to submit suggestions. Use Restrict direct editing when this restriction should not depend on automatic acceptance.

翻訳にアクセス

access control は、そのオプションのほとんどは、どのワークフローにも適用できるので、ワークフロー全体として詳細な説明はありません。翻訳画面への接続や管理の方法については、それぞれのドキュメントを確認してください。

以降の章で使用する すべてのユーザー とは、翻訳にアクセスできるユーザーを指します。プロジェクトが公開されている場合は、認証済みユーザー全員を指し、そうでない場合はプロジェクトに対して 翻訳 権限を持つユーザーを指します。

翻訳文の状態

翻訳文字列は次のいずれかの状態を取ります。

未翻訳

翻訳は空です、保存するかしないかはファイル形式によります。

要修正

Translation needs editing, this is usually the result of fuzzy matching or translator action. Depending on the file format it might be marked as needing edit (for example as it gets a fuzzy flag in the gettext file).

要再稿

Translation needs to be rewritten because of a source string change.

要確認

State used for source/template strings that need developer review. It is typically set for new source strings imported from the VCS when the Source edit addon is enabled, or when a source string is reported for checking.

Translated / Waiting for review

Translation is made. The translated state is shown as "Waiting for review" if reviews are enabled.

承認済み

査読で翻訳が承認されました。翻訳者は変更できませんが、査読の担当者のみが変更できます。翻訳者は提案の追加しかできません。

この状態は、査読が有効化されている場合のみ使用できます。

翻訳禁止

文字列は、read-only flag が指定されているか、編集不可能な原文であるか、または翻訳ファイル内でそのようにマークされているため、翻訳禁止です。

提案

提案は Weblate にのみ保存され、翻訳ファイルには保存されません。

可能なら、翻訳ファイルに状態を保存します。

ヒント

If the file format you use does not support storing states, you might want to use the 未翻訳の翻訳文に "要改稿" フラグを付ける add-on to flag unchanged strings as needing rewriting.

注釈

The 翻訳品質フィルタ determines which translation states are stored in the file.

直接翻訳

小規模チームで、誰でも直接翻訳できる最も一般的な設定です。これは Weblate のデフォルト設定でもあります。

  • すべてのユーザー が翻訳できます。

  • 提案とは、翻訳者が変更に確信を持てない場合に、変更を提案する選択方法です。

設定

値

備考

査読の有効化

OFF

プロジェクト レベルで設定済み。

提案の有効化

ON

ユーザーが確信が持てない場合に提案できる機能は便利です。

提案への投票

OFF

提案の自動採用

0

翻訳者グループ

ユーザー

または、プロジェクト単位のアクセス制御 を用いた Translate でも構いません。

査読者グループ

該当なし

未使用。

相互評価

このワークフローでは、誰でも提案を追加できますが、それが翻訳として採用されるには、他のメンバーの承認が必要です。

  • すべてのユーザー が提案を追加できる。

  • すべてのユーザー が提案に投票できる。

  • 事前設定の票数に達すると、提案は翻訳に置き換わる。

設定

値

備考

査読の有効化

OFF

プロジェクト レベルで設定済み。

提案の有効化

ON

提案への投票

ON

提案の自動採用

2

より多くの査読を要求するように高い値を設定できます。

翻訳者グループ

ユーザー

または、プロジェクト単位のアクセス制御 を用いた Translate でも構いません。

査読者グループ

該当なし

未使用、すべての翻訳者が査読できる。

専任の査読者

専用の査読者には、2 つのユーザー グループがあります、1 つは翻訳を保存できて、もう 1 つは翻訳の一貫性と品質が良好かを確認するために査読できます。

  • すべてのユーザー は、未承認の翻訳を編集できる。

  • 査読者 は、文字列の承認/非承認ができる。

  • 査読者 は、すべての翻訳(承認済みを含む)を編集できる。

  • 提案は、承認済み文字列の変更の提案もできる。

設定

値

備考

査読の有効化

ON

プロジェクト レベルで設定済み。

提案の有効化

ON

ユーザーが確信が持てない場合に提案できる機能は便利です。

提案への投票

OFF

提案の自動採用

0

翻訳者グループ

ユーザー

または、プロジェクト単位のアクセス制御 を用いた Translate でも構いません。

査読者グループ

査読者

または、プロジェクト単位のアクセス制御 を用いた 査読。

査読の有効化

査読は、プロジェクトの設定で有効にします、場所はプロジェクトの設定の ワークフロー サブページ( 操作 → 設定 メニューのタブから操作)にあります。設定画面:

_images/project-workflow.webp

Per-language reviews

To require review only for selected languages, first turn on 査読の有効化 for the whole project. Then open each project language page that should use different behavior, enable Customize translation workflow for this language in this project, and turn Enable reviews off for languages that should not require review.

Reviewers also need review access for the same language. Add them to a team whose roles include Review strings, and limit that team or the user membership to the language they should review. See プロジェクトごとのアクセス制御の管理 and サイト全体のアクセス制御 for language-scoped access setup.

If approval buttons are not visible, check both parts of the setup: reviews have to be enabled for that translation, and the signed-in user has to have review permission for that language.

Machine translation and LLM workflows

Machine translation services, including large language model (LLM) services, can assist human translators or generate translations for them to edit or approve. Choose a workflow based on when humans should check the generated text and when it should reach the repository.

First, configure the services under Automatic suggestions in the project settings or site administration; see 自動提案. For LLM services, see LLM translation context for the context and instructions used to guide translation.

To process strings in bulk, run 自動翻訳, select Machine translation as the source, and choose the services to use. For ongoing automation, configure the 自動翻訳 add-on on the component with the same source and desired mode. Use the query state:empty to fill empty translations without replacing existing human work; see 文字列の検索.

Human translation assisted by services

Use this workflow when translators should choose when to use machine translation for each string.

Translators consult the 自動提案 tab in the editor, choose a service result, edit it as needed, and save the translation. These service results are distinct from stored suggestions awaiting acceptance: a human decides what to save. This workflow does not require the Automatic translation add-on and can be combined with 専任の査読者.

Service translation with human editing

Use this workflow to fill translations automatically and let humans improve them directly.

  • Select Add as translation as the automatic translation mode.

  • Turn off 査読の有効化 and allow translators to edit directly, as in the direct translation workflow.

  • Set 翻訳品質フィルタ to Commit all translations regardless of quality.

The service output becomes a translation that humans can edit in the usual editor. It can be committed to the repository without human approval.

For machine drafts that should remain visibly unfinished, choose Add as "Needing edit" instead. Humans edit these drafts and clear the Needs editing state when finished. To keep unfinished drafts out of repository commits, set 翻訳品質フィルタ to Skip translations marked as needing editing.

Service suggestions with human acceptance

Use this workflow when humans should check service output before it becomes a translation.

Humans check the stored suggestions and accept suitable ones, or edit the proposed text before saving a translation. Suggestions are stored only in Weblate and do not enter translation files until accepted as translations. Accepting a suggestion is separate from approving a translation in the dedicated review workflow.

Service translation with review and a quality gateway

Use this workflow when humans should edit machine translations in Weblate, but only reviewer-approved translations should reach the repository.

Generated translations appear as Waiting for review. Translators can edit them, and reviewers check and approve the finished translations. Only after approval are these translations eligible for repository commits. Translators can suggest further changes to approved strings, while reviewers can edit them directly.

Enabling reviews alone does not keep unapproved translations out of commits. The translation quality filter provides that gateway. Keep reviews enabled for every language that should follow this workflow; check any workflow customization overrides.

AI-assisted quality evaluation

Use the AI quality evaluation add-on to check existing human or machine translations for accuracy, fluency, terminology, style, and formatting. It records quality checks without editing translations or approving them.

Configure an LLM service under Automatic suggestions, then install AI quality evaluation and select the Evaluation service. Choose a query to limit the translations evaluated. Run the add-on manually, choose an Evaluation frequency, or enable evaluation after translation changes or repository updates. Installation does not run evaluation. See the add-on documentation for provider costs and the data sent to the service.

Translators and reviewers can inspect the findings in the editor or search for checks such as check:ai_accuracy. Correct the translation or ignore a finding when appropriate. Combine this with 専任の査読者 when human approval is required; AI evaluation does not replace approval or change the translation quality filter used for repository commits.

The component's Diagnostics recommends the add-on when an LLM service is configured. If the selected service becomes unavailable, an error diagnostic links maintainers to the installed add-on's configuration.

Reusing existing translations

Use existing translations to bootstrap a new language or component, then have humans adapt matches and fill the remaining gaps.

Run 自動翻訳 with Other translation components as the source, or select the 翻訳メモリ service under Machine translation. Choose whether matches become translations, drafts needing editing, or suggestions using the modes described above. Use state:empty to preserve existing translations. The 自動翻訳 add-on can apply this reuse automatically as strings arrive.

For ongoing consistency, 翻訳の反映 can copy edits to matching strings across components in the same project. Propagation happens while translating; it does not copy translations merely loaded from the repository. See コンポーネント間で翻訳を同じ状態に維持 for its requirements and for checks that help humans resolve differences.

原文の品質ゲートウェイ

元の原文言語の文字列は、通常コードを書く開発者によって提供されます。しかし、開発者は原文の言語を母語としていないことが多く、原文に求められる品質を提供できません。中間翻訳は、この問題の解決に役立ちます。開発者と翻訳者との間に、文字列の品質を保証するゲートウェイを追加し文字列の品質を改善します。

中間言語ファイル を設定すると、このファイルは開発者が所有する(しばしば en_devel のような任意の言語で書かれた)原文言語文字列を、翻訳者 / 編集者が原文言語への翻訳に使用されます。この段階が完了すると、磨き上げられた原文言語が モノリンガル用の、基礎となる言語ファイル に保存され、それを基に文字列を対象言語に翻訳できるようになります。

digraph translations { graph [fontname = "sans-serif", fontsize=10]; node [fontname = "sans-serif", fontsize=10, margin=0.1, height=0, style=filled, fillcolor=white, shape=note]; edge [fontname = "sans-serif", fontsize=10]; subgraph cluster_dev { style=filled; color=lightgrey; label = "Development process"; "Developers" [shape=box, fillcolor="#144d3f", fontcolor=white]; "Developers" -> "Intermediate file"; } subgraph cluster_l10n { style=filled; color=lightgrey; label = "Localization process"; "Translators" [shape=box, fillcolor="#144d3f", fontcolor=white]; "Editors" [shape=box, fillcolor="#144d3f", fontcolor=white]; "Editors" -> "Monolingual base language file"; "Translators" -> "Translation language file"; } "Intermediate file" -> "Monolingual base language file" [constraint=false]; "Monolingual base language file" -> "Translation language file" [constraint=false]; }

第二言語による文字列連結

中間言語ファイル を使用して文字列を統合できない場合、既存の翻訳の中から 1 つを「第二言語」として使用できます。この第二言語は、プロジェクト(第二言語)またはコンポーネント(第二言語)で設定できます。設定された第二言語は翻訳作業中に翻訳者へ表示され(参照: 第二言語)、必要に応じて機械翻訳の入力元として使用できます(参照: 機械翻訳用の原文)。

この設定は、原文が複数の言語で混在している場合に助かります。それらを 1 つの翻訳に統合し、その統合結果を他の作業の基準として使用できるようになります。

原文の査読

原文の査読の有効化 を有効にすると、原文に対して査読ができます。有効にすると、ユーザーは原文の問題を報告できます。 実際の処理は、バイリンガル形式とモノリンガル形式のどちらを使用するかで変わります。

モノリンガル形式の場合、原文の査読は 専任の査読者 と同じように動作します。原文で問題が報告されると、原文は 要修正 と設定されます。

バイリンガル形式では、原文を直接編集できません(通常はソースコードから直接抽出します)。この場合、 翻訳者から報告された文字列には 査読が必要な原文 というラベルが付きます。この文字列を確認して、ソースコード内で編集するか、ラベルを削除するかの処理が必要です。