@@ -3,85 +3,111 @@ title: サイトのローカリゼーション
3
3
description : 非英語ローカリゼーションのサイトページの作成と管理
4
4
linkTitle : ローカリゼーション
5
5
weight : 25
6
- default_lang_commit : b7e40731390448f604897ded62cff8abd3505430
7
- drifted_from_default : true
6
+ default_lang_commit : f2a520b85d72db706bff91d879f5bb10fd2e7367
8
7
cSpell:ignore : shortcodes
9
8
---
10
9
11
10
OTel のウェブサイトは、ページのローカリゼーションをサポートするために、Hugo の [ multilingual framework] をサポートしています。
12
11
デフォルトの言語は英語であり、米国英語がデフォルト(暗黙の)ローカリゼーションとして設定されています。
13
12
対応する言語の数は増えており、トップナビゲーションの言語ドロップダウンメニューから確認できます。
14
13
15
- ## 英語メンテナーガイド {#english-language-maintainer -guidance}
14
+ ## 翻訳のガイド {#translation -guidance}
16
15
17
- ### 非英語ページのリンクチェックが失敗したとき {#when-link-checking-fails-for-non-english-pages}
16
+ ウェブサイトのページを英語から翻訳する場合は、この節のガイダンスにしたがうことをおすすめします。
18
17
19
- 英語は OpenTelemetry ウェブサイトのデフォルト言語です。
20
- 英語のドキュメントを追加、編集、再構成した後に、非英語ページのリンクチェックが失敗する可能性があります。
21
- そのような場合は、以下を実行してください。
18
+ ### 要約
22
19
23
- <!-- markdownlint-disable blanks-around-fences -->
20
+ #### ✅ すべきこと {#do}
24
21
25
- - リンクを** 修正しないでください** 。それぞれの非英語ページは対応する英語のページの特定のコミット(フロントマターキーである ` default_lang_commit ` の Git コミットハッシュ)に関連づけられています。
26
- - 以下のフロントマター、1 つの以上のページがリンクエラーが発生している場合は最も近い祖先のファイルに非英語ページを無視するようにリンクチェッカーを設定してください。
27
- ``` yaml
28
- htmltest :
29
- # TODO: remove the IgnoreDirs once broken links are fixed
30
- IgnoreDirs :
31
- - path-regex/to/non-en/directory/contain/files/to/ignore
32
- - path-2-etc
33
- ` ` `
34
- - ` npm run check:links` を実行して、設定ファイル `.htmltest.yml` への変更を PR に含めてください。
22
+ <div class =" border-start border-success bg-success-subtle " >
35
23
36
- <!-- markdownlint-enable blanks-around-fences -->
24
+ - ** 翻訳**
25
+ - 以下を含むページの内容
26
+ - Mermaid [ diagram] ( #images ) のテキストフィールド
27
+ - コードスニペット内のコメント
28
+ - [ フロントマター] [ front matter ] 内の ` title ` 、 ` linkTitle ` 、 ` description ` のフィールド値
29
+ - 特別な指示がない場合、ページ内の ** すべての** コンテンツとフロントマターの内容
30
+ - 原文の _ 内容_ 、 _ 意味_ 、 _ スタイル_ を ** 変更しないこと**
31
+ - もしなにか疑問等があれば、以下の方法で [ メンテナー] [ maintainers ] に ** 質問すること**
32
+ - [ Slack] の ` #otel-docs-localization ` か ` #otel-comms ` の各チャンネル
33
+ - [ Discussion] やイシュー、あるいはPRコメント
37
34
38
- # # 翻訳ガイダンス {#translation-guidance}
35
+ [ Discussion ] : https://github.com/open-telemetry/opentelemetry.io/discussions?discussions_q=is%3Aopen+label%3Ai18n
39
36
40
- ページの翻訳の際には、本セクションのガイドに従うことを推奨します。
37
+ </ div >
41
38
42
- # ## 見出しアンカー {#heading-anchors }
39
+ #### ❌ すべきでないこと {#do-not }
43
40
44
- 見出しを翻訳する際に、見出しアンカーのターゲットをローカリゼーション全体で統一するために、以下に従ってください。
41
+ < div class = " border-start border-warning bg-warning-subtle " >
45
42
46
- - 見出しに明示的な ID がある場合は、それを保持する。[見出し ID の記法][Heading ID syntax] は `{ # some-id }` のように、見出しテキストの後に記述されます。
47
- - そうでない場合は、元の英語の見出しに対して自動生成された ID に対応する明示的な ID を宣言する。
43
+ - ** 翻訳**
44
+ - このレポジトリ内のリソースの ** ファイルやディレクトリ** の名前
45
+ - [ 見出しID] ( #headings ) を含む [ リンク] ( #links ) [ ^ * ]
46
+ - [ すべきこと] ( #do ) で指示されていない [ フロントマター] [ front matter ] のフィールド。特に、` aliases ` は翻訳しないこと。よくわからない場合はメンテナーに質問すること。
47
+ - ソースコード
48
+ - [ 画像内のテキストを翻訳する] ( #images ) 場合以外で ** 画像ファイルのコピー** をすること。
49
+ - 新規に追加したり変更すること
50
+ - 原文で意図した意味と異なる ** 内容**
51
+ - 表示の ** スタイル** 。たとえば _ フォーマット_ 、_ レイアウト_ 、_ デザイン_ スタイル(タイポグラフィ、文字の大文字小文字、空白など)。
48
52
49
- {{% alert title="Note" %}}
53
+ [ ^ * ] : ありえる例外に関しては [ リンク ] ( #links ) を参照のこと。
50
54
51
- 翻訳ページのすべての見出しに明示的な見出し ID を追加するか、リンクチェッカーで報告された既知のサイト内見出しターゲットにのみ追加するかは、ローカリゼーションの執筆者の裁量に委ねられます。
52
- 前者の方法は一貫性が保たれますが、作業量が増えます。
53
- しかし、サイト外からローカリゼーションされたページのリンクをより適切にサポートでき、新しい見出しターゲットが追加された際に、過去の翻訳ページを修正する手間を減らすことができます。
55
+ </div >
54
56
55
- {{% /alert %}}
57
+ ### 見出しID {#headings}
58
+
59
+ 見出しを翻訳する際に、見出しアンカーのターゲットをローカリゼーション全体で統一するために、以下に従ってください。
60
+
61
+ - 見出しに明示的な ID がある場合は、それを保持する。[ 見出し ID の記法] [ Heading ID syntax ] は ` { #some-id } ` のように、見出しテキストの後に記述されます。
62
+ - そうでない場合は、元の英語の見出しに対して自動生成された ID に対応する明示的な ID を宣言する。
56
63
57
64
[ Heading ID syntax ] : https://github.com/yuin/goldmark/blob/master/README.md#headings
58
65
59
66
### リンク {#links}
60
67
61
- ローカルパスへ参照しているリンク(外部リンクではなく)は、そのパスのままにしてください。
62
- これは、ウェブサイトのページへのリンクや、画像などのセクション内リソースへのリンクにも当てはまります。
68
+ リンク参照を ** 翻訳しないで** ください。
69
+ これは外部リンク、ウェブサイトのページへのパス、[ 画像] ( #images ) のようなセクションローカルのリソースにも当てはまります。
70
+
71
+ 唯一の例外は、外部ページ(< https://en.wikipedia.org > など)へのリンクで、あなたのロケール固有のバージョンがある場合です。
72
+ 多くの場合、これはURLの` en ` をあなたのロケールの言語コードに置き換えることを意味します。
63
73
64
74
{{% alert title="Note" %}}
65
75
66
- OTel ウェブサイトリポジトリには、Hugo が使用する**絶対リンクのパスをドキュメントのページに変換する**カスタムレンダーリンクを持っています 。
67
- ` /docs/some-page` のようなリンクは、リンクをレンダリングする際にページの言語コードがパスの先頭に追加され、ローカリゼーションされます 。
68
- たとえば、日本語ページからレンダリングされた際に、このサンプルのパスは `/ja/docs/some-page` になります 。
76
+ OTelウェブサイトのリポジトリには、Hugoがドキュメントページを参照する絶対リンクパスを変換するために使用するカスタムの render-link フックがあります 。
77
+ ** ` /docs/some-page ` 形式のリンク ** は、リンクをレンダリングするときに、パスの先頭にページの言語コードを付けることで、 ** ロケール固有になります ** 。
78
+ たとえば、先ほどのサンプルのパスは、日本語のページからレンダリングされた場合には ` /ja/docs/some-page ` となります 。
69
79
70
80
{{% /alert %}}
71
81
72
- # ## 画像 {#images}
82
+ ### 画像とダイアグラム {#images}
83
+
84
+ 画像そのもの[ ^ shared-images ] のテキストをローカライズしない限り、画像ファイルのコピーを ** 作成しない** でください。
85
+
86
+ [ Mermaid] [ ] ダイアグラム内のテキストは ** 翻訳して** ください。
87
+
88
+ [ ^ shared-images ] :
89
+ Hugoは、サイトのローカライゼーション間で共有される画像ファイルをレンダリングする方法についてスマートです。
90
+ つまり、Hugoは _ 単一の_ 画像ファイルを出力し、それをロケール間で共有します。
73
91
74
- Hugo は、サイトのローカリゼーション間で共有されるページ画像をレンダリングする際に、効率的な処理を行います。
75
- つまり、生成されたサイトフォルダ内では、Hugo は **1 つの**画像ファイルを出力し、それを各ローカリゼーションで共有します。
92
+ [ Mermaid ] : https://mermaid.js.org
76
93
77
- したがって、一般的なルールとして、実際に画像を変更しない限り、ローカリゼーション用に画像のコピーを**作成しないでください**。
94
+ ### インクルードファイル {#includes}
95
+
96
+ ` _includes ` ディレクトリの下にあるページフラグメントは、他のページコンテンツと同じように ** 翻訳して** ください。
78
97
79
98
### ショートコード {#shortcodes}
80
99
100
+ {{% alert title="Note" %}}
101
+
102
+ 2025年2月現在、私たちは共有ページのコンテンツをサポートする手段として、ショートコードから[ インクルードファイル] ( #includes ) への移行を進めています。
103
+
104
+ {{% /alert %}}
105
+
81
106
一部の基本ショートコードには英語のテキストが含まれており、ローカリゼーションが必要になる場合があります。
82
107
特に、[ layouts/shortcodes/docs] に含まれるものについては、その傾向が強いです。
83
108
84
- ローカリゼーションしたショートコードを作成する必要がある場合は、`layouts/shortcodes/xx` に配置してください。ここで `xx` はローカリゼーション対象の言語コードを指します。
109
+ ローカリゼーションしたショートコードを作成する必要がある場合は、` layouts/shortcodes/xx ` に配置してください。
110
+ ここで ` xx ` はローカリゼーション対象の言語コードを指します。
85
111
その際、元の基本ショートコードと同じ相対パスを使用してください。
86
112
87
113
[ layouts/shortcodes/docs ] : https://github.com/open-telemetry/opentelemetry.io/tree/main/layouts/shortcodes/docs
@@ -101,7 +127,7 @@ Hugo は、サイトのローカリゼーション間で共有されるページ
101
127
title: Your localized page title
102
128
...
103
129
104
- default_lang_commit: <commit-hash-of-main-for-default-language-page >
130
+ default_lang_commit: <デフォルト言語の最新コミットハッシュ値 >
105
131
```
106
132
107
133
上述のフロントマターは ` content/zh/<some-path>/page.md ` です。
@@ -167,9 +193,9 @@ npm run check:i18n -- -n
167
193
168
194
対応する英語のページに変更に合わせてローカリゼーションページを更新する際、` default_lang_commit ` のコミットハッシュも忘れずに確認してください。
169
195
170
- {{% alert title="Tip " %}}
196
+ {{% alert title="ヒント " %}}
171
197
172
- ローカリゼーションページが `main` の `HEAD` にある英語版と対応するようになった場合、フロントマター内のコミットハッシュの値を消去し、前のセクションであった ` add` コマンドを実行して、`default_lang_commit` フィールドの値を自動的に更新してください。
198
+ ローカリゼーションページが ` main ` の ` HEAD ` にある英語版と対応するようになった場合、フロントマター内のコミットハッシュの値を消去し、前のセクションであった ** add** コマンドを実行して、` default_lang_commit ` フィールドの値を自動的に更新してください。
173
199
174
200
{{% /alert %}}
175
201
@@ -187,6 +213,11 @@ npm run check:i18n -- -c HEAD <PATH-TO-YOUR-NEW-FILES>
187
213
188
214
{{% /alert %}}
189
215
216
+ ### 乖離の状況 {#drift-status}
217
+
218
+ ` npm run fix:i18n:status ` を実行して、ローカライズ対象ページが原文から乖離した場合にフロントマターフィールド ` drifted_from_default ` を追加します。
219
+ このフィールドは近いうちに、英語版のページと比較してドリフトしたページの上部にバナーを表示するために使われるようになります。
220
+
190
221
### スクリプトのヘルプ {#script-help}
191
222
192
223
スクリプトの詳細は、` npm run check:i18n -- -h ` を実行してください。
@@ -227,6 +258,30 @@ PR にローカリゼーションプロジェクトを開始するのに必要
227
258
228
259
{{% /alert %}}
229
260
261
+ ## 英語メンテナーガイド {#english-language-maintainer-guidance}
262
+
263
+ ### 非英語ページのリンクチェックが失敗したとき {#when-link-checking-fails-for-non-english-pages}
264
+
265
+ 英語は OpenTelemetry ウェブサイトのデフォルト言語です。 英語のドキュメントを追加、編集、再構成した後に、非英語ページのリンクチェックが失敗する可能性があります。 そのような場合は、以下を実行してください。
266
+
267
+ <!-- markdownlint-disable blanks-around-fences -->
268
+
269
+ - リンクを** 修正しないでください** 。それぞれの非英語ページは対応する英語のページの特定のコミット(フロントマターキーである ` default_lang_commit ` の Git コミットハッシュ)に関連づけられています。
270
+ - 以下のフロントマター、1 つの以上のページがリンクエラーが発生している場合は最も近い祖先のファイルに非英語ページを無視するようにリンクチェッカーを設定してください。
271
+ ``` yaml
272
+ htmltest :
273
+ # TODO: remove the IgnoreDirs once broken links are fixed
274
+ IgnoreDirs :
275
+ - path-regex/to/non-en/directory/contain/files/to/ignore
276
+ - path-2-etc
277
+ ` ` `
278
+ - ` npm run check:links` を実行して、設定ファイル `.htmltest.yml` への変更を PR に含めてください。
279
+
280
+ <!-- markdownlint-enable blanks-around-fences -->
281
+
282
+ [front matter] : https://gohugo.io/content-management/front-matter/
230
283
[main] : https://github.com/open-telemetry/opentelemetry.io/commits/main/
284
+ [maintainers] : https://github.com/orgs/open-telemetry/teams/docs-maintainers
231
285
[multilingual framework] : https://gohugo.io/content-management/multilingual/
232
286
[PR # 5386]: https://github.com/open-telemetry/opentelemetry.io/pull/5386/files
287
+ [slack] : https://slack.cncf.io/
0 commit comments