Skip to content

Commit e4a43aa

Browse files
authored
Merge pull request #25712 from github/repo-sync
repo sync
2 parents b20f0ef + c699e7c commit e4a43aa

File tree

9 files changed

+420
-6
lines changed

9 files changed

+420
-6
lines changed

.github/workflows/test.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,5 +173,6 @@ jobs:
173173
# tests run only in English. The exception is the
174174
# `tests/translations/` suite which needs all languages to be set up.
175175
ENABLED_LANGUAGES: ${{ matrix.name == 'translations' && 'all' || '' }}
176-
ROOT: ${{ (matrix.name == 'rendering-fixtures' || matrix.name == 'pageinfo') && 'tests/fixtures' || ''}}
176+
ROOT: ${{ (matrix.name == 'rendering-fixtures' || matrix.name == 'pageinfo') && 'tests/fixtures' || '' }}
177+
TRANSLATIONS_FIXTURE_ROOT: ${{ (matrix.name == 'rendering-fixtures' || matrix.name == 'pageinfo') && 'tests/fixtures/translations' || '' }}
177178
run: npm test -- ${{ matrix.path }}/

lib/constants.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ export const ROOT = process.env.ROOT || '.'
22
export const USER_LANGUAGE_COOKIE_NAME = 'user_language'
33
export const TRANSLATIONS_ROOT = process.env.TRANSLATIONS_ROOT || 'translations'
44
export const MAX_REQUEST_TIMEOUT = parseInt(process.env.REQUEST_TIMEOUT || 10000, 10)
5+
export const TRANSLATIONS_FIXTURE_ROOT = process.env.TRANSLATIONS_FIXTURE_ROOT

lib/languages.js

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
// See also languages-schema.js
22
// Nota bene: If you are adding a new language,
33
// change accept-language handling in CDN config as well.
4+
import path from 'path'
5+
import fs from 'fs'
46

57
import dotenv from 'dotenv'
68

7-
import { ROOT, TRANSLATIONS_ROOT } from './constants.js'
8-
import path from 'path'
9+
import { ROOT, TRANSLATIONS_ROOT, TRANSLATIONS_FIXTURE_ROOT } from './constants.js'
910

1011
dotenv.config()
1112

@@ -22,6 +23,14 @@ const possibleEnvVars = {
2223

2324
function getRoot(languageCode) {
2425
if (languageCode === 'en') return ROOT
26+
27+
// This one trumps anything else. This makes it possible, and convenient,
28+
// for running tests that depends on testing translations based on
29+
// fixtures exclusively.
30+
if (TRANSLATIONS_FIXTURE_ROOT) {
31+
return path.join(TRANSLATIONS_FIXTURE_ROOT, languageCode)
32+
}
33+
2534
if (languageCode in possibleEnvVars) {
2635
const possibleEnvVar = possibleEnvVars[languageCode]
2736
if (possibleEnvVar) {
@@ -114,10 +123,19 @@ const languages = {
114123
},
115124
}
116125

117-
if (process.env.ENABLED_LANGUAGES) {
126+
if (TRANSLATIONS_FIXTURE_ROOT) {
127+
// Keep all languages that have a directory in the fixture root.
128+
Object.entries(languages).forEach(([code, { dir }]) => {
129+
if (code !== 'en' && !fs.existsSync(dir)) {
130+
delete languages[code]
131+
}
132+
})
133+
} else if (process.env.ENABLED_LANGUAGES) {
118134
if (process.env.ENABLED_LANGUAGES.toLowerCase() !== 'all') {
119135
Object.keys(languages).forEach((code) => {
120-
if (!process.env.ENABLED_LANGUAGES.includes(code)) delete languages[code]
136+
if (!process.env.ENABLED_LANGUAGES.includes(code)) {
137+
delete languages[code]
138+
}
121139
})
122140
// This makes the translation health report not valid JSON
123141
// console.log(`ENABLED_LANGUAGES: ${process.env.ENABLED_LANGUAGES}`)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@
203203
"prestart": "node script/cmp-files.js package-lock.json .installed.package-lock.json || npm install && cp package-lock.json .installed.package-lock.json",
204204
"start": "cross-env NODE_ENV=development ENABLED_LANGUAGES=en nodemon server.js",
205205
"start-all-languages": "cross-env NODE_ENV=development nodemon server.js",
206-
"start-for-playwright": "cross-env ROOT=tests/fixtures NODE_ENV=test node server.js",
206+
"start-for-playwright": "cross-env ROOT=tests/fixtures TRANSLATIONS_FIXTURE_ROOT=tests/fixtures/translations ENABLED_LANGUAGES=en,ja NODE_ENV=test node server.js",
207207
"sync-search": "cross-env NODE_OPTIONS='--max_old_space_size=8192' start-server-and-test sync-search-server 4002 sync-search-indices",
208208
"sync-search-ghes-release": "cross-env GHES_RELEASE=1 start-server-and-test sync-search-server 4002 sync-search-indices",
209209
"sync-search-indices": "src/search/scripts/sync-search-indices.js",
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: '{% ifversion fpt %}こんにちは{% else %}挨拶{% endif %} {% data variables.product.product_name %}'
3+
---
4+
5+
## 序章
6+
7+
"こんにちは" means "Hello"
8+
9+
"挨拶" means "Salutation" according to Google Translate
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
title: 'こんにちは World'
3+
intro: 'この Hello World 演習に従って、{% data variables.product.product_name %} の使用を開始します。'
4+
---
5+
6+
## はじめに
7+
8+
この世界にこんにちはと言ってください
9+
10+
> This means "Say hello to this world" according to Google Translate.
11+
12+
## 可変タイトルのページへのリンク
13+
14+
"[AUTOTITLE](/get-started/quickstart/dynamic-title)"
15+
16+
"[AUTOTITLE](/get-started/foo/cross-version-linking)"
Lines changed: 260 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,260 @@
1+
# This file is a snapshot copy from 'docs-internal.ja-jp'.
2+
# It's important to assure that we don't need to have keys for
3+
# everything because the fallback should work.
4+
5+
meta:
6+
default_description: GitHub の使用開始、トラブルシューティング、最大限に活用する方法について説明します。 新規ユーザー、開発者、管理者、すべての GitHub の製品に関するドキュメント。
7+
header:
8+
github_docs: 日本 GitHub Docs
9+
sign_up_cta: サインアップ
10+
menu: メニュー
11+
picker:
12+
language_picker_default_text: 言語の選択
13+
product_picker_default_text: すべての製品
14+
version_picker_default_text: バージョンを選択する
15+
search:
16+
need_help: ヘルプが必要ですか?
17+
placeholder: GitHub Docs を検索する
18+
search_results_for: 検索結果
19+
no_content: コンテンツはありません
20+
matches_found: 次の件数の結果が見つかりました
21+
matches_displayed: 一致が表示されました
22+
search_error: 検索を実行しようとして、エラーが発生しました。
23+
description: GitHub ドキュメントで探す検索語句を入力してください。
24+
label: GitHub Docs を検索する
25+
n_results: '{n} 件の結果'
26+
one_result: 1 件の結果
27+
homepage:
28+
explore_by_product: 製品で調べる
29+
version_picker: Version
30+
description: GitHub のどこにいてもお手伝いします。
31+
toc:
32+
getting_started: 作業の開始
33+
popular: 基本
34+
startHere: ここから開始
35+
whats_new: 新着情報
36+
videos: ビデオ
37+
pages:
38+
article_version: 記事のバージョン
39+
miniToc: この記事の内容
40+
all_enterprise_releases: Enterprise Server のすべてのリリース
41+
about_versions: バージョンについて
42+
errors:
43+
oops: 問題が発生しています。
44+
something_went_wrong: It looks like something went wrong. (問題が発生した可能性があります。)
45+
page_doesnt_exist: 指定されたページは存在しません。
46+
support:
47+
still_need_help: サポートが必要な場合は、
48+
contact_support: サポートにお問い合せください
49+
ask_community: GitHub コミュニティで質問する
50+
survey:
51+
able_to_find: このドキュメントは役立ちましたか?
52+
'yes': はい
53+
'no': いいえ
54+
comment_yes_label: うまくできていることをお知らせください
55+
comment_no_label: 改善の方法をお知らせください
56+
optional: オプション
57+
required: 必須
58+
email_placeholder: email@example.com
59+
email_label: さらにお尋ねするためにご連絡してもよろしければ、メール アドレスを入力してください
60+
email_validation: 有効な電子メール アドレスを入力してください
61+
send: Send
62+
feedback: よろしくお願いいたします。 フィードバックを受け取りました。
63+
not_support: 返信が必要な場合は、サポートにお問い合わせください。
64+
privacy_policy: プライバシー ポリシー
65+
contribution_cta:
66+
title: これらのドキュメントを素晴らしいものにするのを手伝ってください!
67+
body: GitHub のドキュメントはすべてオープンソースです。 誤りまたは不明瞭な点がありますか? pull request を提出してください。
68+
button: コントリビューションを行う
69+
to_guidelines: コントリビューションの方法を学ぶ
70+
parameter_table:
71+
body: 本文のパラメーター
72+
default: Default
73+
description: 説明
74+
enum_description_title: 次のいずれかにできます
75+
headers: ヘッダー
76+
name: 名前
77+
path: パス パラメーター
78+
query: クエリ パラメーター
79+
required: 必須
80+
see_preview_notice: プレビューの通知を見る
81+
see_preview_notices: プレビューの通知を見る
82+
type: Type
83+
single_enum_description:
84+
products:
85+
graphql:
86+
reference:
87+
implements: '<code>{{ GraphQLItemTitle }}</code> 実装'
88+
fields: '<code>{{ GraphQLItemTitle }}</code> のフィールド'
89+
arguments: '<code>{{ GraphQLItemTitle }}</code> の引数'
90+
name: 名前
91+
type:
92+
description: 説明
93+
input_fields: '<code>{{ GraphQLItemTitle }}</code> の入力フィールド'
94+
return_fields: '<code>{{ GraphQLItemTitle }}</code> の戻り値フィールド'
95+
implemented_by: |
96+
<code>{{ GraphQLItemTitle }}</code> は次で実装されています
97+
values: '<code>{{ GraphQLItemTitle }}</code> の値です。'
98+
possible_types: '<code>{{ GraphQLItemTitle }}</code> に使用できる型'
99+
preview_notice: プレビュー通知
100+
deprecation_notice: 非推奨の通知
101+
preview_period: プレビュー期間中、API は通知なしに変更されることがあります。
102+
overview:
103+
preview_header: このプレビューを切り替えて次のスキーマ メンバーにアクセスするには、`Accept` ヘッダーにカスタムのメディアの種類を指定する必要があります。
104+
preview_schema_members: プレビューされたスキーマ メンバー
105+
announced: 発表
106+
updates: 更新プログラム
107+
rest:
108+
banner:
109+
api_versioned: REST API はバージョン管理になりました。
110+
api_version_info: '詳細については、「<a href="{{ versionWithApiVersion }}/rest/overview/api-versions">API のバージョン管理について</a>」を参照してください。'
111+
ghes_api_versioned: 'サイト管理者が Enterprise Server インスタンスを {{ firstGhesReleaseWithApiVersions.versionTitle }} 以降にアップグレードすると、REST API はバージョン管理されます。 インスタンスのバージョンを検索する方法については、「<a href="/{{ currentVersion }}/get-started/learning-about-github/about-versions-of-github-docs#github-enterprise-server">GitHub Docs のバージョンについて</a>」を参照してください。'
112+
redirect_notice: REST API ドキュメントの一部は最近移動されました。
113+
redirect_repo: '探しているものが見つからない場合は、新しい {{ newRestPagesLinks }} REST API ページを試してみてください。'
114+
redirect_enterprise: '探しているものが見つからない場合は、{{ actionsPageLink }} REST API ページを試してみてください。'
115+
actions_api_title: Actions
116+
versioning:
117+
about_versions: REST API のバージョンについて
118+
reference:
119+
in: 場所
120+
description: 説明
121+
notes: Notes
122+
parameters: '"{{ RESTOperationTitle }}" のパラメーター'
123+
response: '[応答]'
124+
example_response: 応答の例
125+
status_code: 状態コード
126+
http_status_code: '"{{ RESTOperationTitle }}" の HTTP 応答状態コード'
127+
code_sample: コード サンプル
128+
code_samples: '"{{ RESTOperationTitle }}" のコード サンプル'
129+
preview_notice: '"{{ RESTOperationTitle }}" のプレビュー通知'
130+
preview_notices: '"{{ RESTOperationTitle }}" のプレビュー通知'
131+
preview_header_is_required: このヘッダーは<strong>必須</strong>です
132+
preview_notice_to_change: この API はプレビュー段階であり、変更される可能性があります
133+
works_with: ' に対応'
134+
api_reference: REST API リファレンス
135+
enum_description_title: 次のいずれかにできます
136+
required: 必須
137+
headers: ヘッダー
138+
query: クエリ パラメーター
139+
path: パス パラメーター
140+
body: 本文のパラメーター
141+
response_options:
142+
example: 応答の例
143+
schema: 応答スキーマ
144+
code_sample_options:
145+
ghcli: GitHub CLI
146+
javascript: JavaScript
147+
curl: cURL
148+
webhooks:
149+
action_type_switch_error: Webhook アクションの種類を切り替える際にエラーが発生しました。
150+
action_type: アクションの種類
151+
availability: '<code>{{ WebhookName }}</code> の可用性'
152+
webhook_payload_object: '<code>{{ WebhookName }}</code> の Webhook ペイロード オブジェクト'
153+
webhook_payload_example: webhook ペイロードの例
154+
rephrase_availability:
155+
repository: リポジトリ
156+
organization: 組織
157+
app: GitHub アプリ
158+
business: Enterprise
159+
marketplace: GitHub Marketplace
160+
sponsors_listing: スポンサー付きアカウント
161+
footer:
162+
all_rights_reserved: All rights reserved
163+
terms: 用語
164+
privacy: プライバシー
165+
security: Security
166+
product:
167+
heading: 製品
168+
links:
169+
features: 機能
170+
security: セキュリティ
171+
enterprise: Enterprise
172+
case_studies: ケース スタディ
173+
pricing: 価格
174+
resources: リソース
175+
platform:
176+
heading: プラットフォーム
177+
links:
178+
developer_api: 開発者 API
179+
partners: パートナー
180+
atom: Atom
181+
electron: Electron
182+
github_desktop: GitHub Desktop
183+
support:
184+
heading: サポート
185+
links:
186+
help: ヘルプ
187+
community_forum: コミュニティ フォーラム
188+
training: トレーニング
189+
status: 状態
190+
contact_github: GitHub に連絡
191+
company:
192+
heading: '[会社]'
193+
links:
194+
about: 詳細
195+
blog: ブログ
196+
careers: キャリア
197+
press: ショートカット キー
198+
shop: ショップ
199+
product_landing:
200+
quickstart: クイック スタート
201+
reference: リファレンス
202+
overview: 概要
203+
guides: ガイド
204+
explore_guides: ガイドを調べる
205+
code_examples: コード例
206+
search_code_examples: 検索コードの例
207+
search_results_for: 検索結果
208+
matches_displayed: 一致が表示されました
209+
show_more: さらに表示
210+
explore_people_and_projects: 人やプロジェクトを調べる
211+
sorry: 検索結果はありません
212+
no_example: 指定されたフィルターが当てはまる例はないようです。
213+
try_another: 別のフィルターを試すか、ご自分のコードの例を追加してください。
214+
no_result: 申し訳ありませんが、指定されたフィルターに一致するガイドはありません。
215+
learn: コード例の追加方法を学ぶ
216+
communities_using_discussions: ディスカッションを使用している GitHub.com 上のコミュニティ
217+
add_your_community: コミュニティを追加する
218+
sponsor_community: GitHub Sponsors コミュニティ
219+
supported_releases: サポートされているリリース
220+
release_notes_for: ' のリリース ノート'
221+
upgrade_from: アップグレード前のバージョン
222+
browse_all_docs: すべてのドキュメントを見る
223+
browse_all: すべて参照
224+
docs: docs
225+
explore_release_notes: リリース ノートを調べる
226+
view: すべて表示
227+
view_transcript: ビデオのトランスクリプトを表示
228+
all_docs: 'すべての {{ title }} ドキュメント'
229+
code_example:
230+
search_button: 検索
231+
search_examples: '検索コードの例:'
232+
product_guides:
233+
learning_paths_title: '{{ name }} ラーニング パス'
234+
start_path: ラーニング パスの開始
235+
learning_paths_desc: ラーニング パスは、特定のテーマについてマスターするのに役立つガイド集です。
236+
more_guides: その他のガイド
237+
load_more: さらにガイドをロード
238+
all_guides_title: 'すべての {{ name }} ガイド'
239+
filter_instructions: これらのコントロールを使ってガイドの一覧をフィルターしてください
240+
filters:
241+
type: Type
242+
topic: トピック
243+
all: すべて
244+
guides_found:
245+
multiple: '{n} 個のガイドが見つかりました'
246+
one: 1 個のガイドが見つかりました
247+
none: ガイドが見つかりませんでした
248+
guide_types:
249+
overview: 概要
250+
quick_start: クイック スタート
251+
tutorial: チュートリアル
252+
how_to: ハウツー ガイド
253+
reference: リファレンス
254+
learning_track_nav:
255+
prev_guide: 前へ
256+
next_guide: 次へ
257+
more_guides: その他のガイド →
258+
current_progress: 'ラーニング パスの {n} の {i}'
259+
scroll_button:
260+
scroll_to_top: 一番上にスクロールします

0 commit comments

Comments
 (0)