diff --git a/layouts/partials/sidebar.html b/layouts/partials/sidebar.html index f9e01bdd3b..dfe66e087b 100644 --- a/layouts/partials/sidebar.html +++ b/layouts/partials/sidebar.html @@ -51,6 +51,20 @@ {{ if (eq .Params.Sidebar "book") }} + {{- /* If this page displays a section of the ProGit book, map all the translations thereof */ -}} + {{ with $.Page.Params.book }} + {{ $cs_number := .section.cs_number }} + {{ range $.Page.Site.Data.book }} + {{ $language_code := .language_code }} + {{ range .chapters }} + {{ range .sections }} + {{ if (eq .cs_number $cs_number) }} + {{ $.Scratch.SetInMap "translations" $language_code .url }} + {{ end }} + {{ end }} + {{ end }} + {{ end }} + {{ end }} {{ partial "translations.html" . }} {{ else if (and (ne $section "documentation") (ne $section "site")) }} diff --git a/layouts/partials/translated-chapter.html b/layouts/partials/translated-chapter.html new file mode 100644 index 0000000000..76ec9cfc6e --- /dev/null +++ b/layouts/partials/translated-chapter.html @@ -0,0 +1,5 @@ +{{- with (index (.ctx.Scratch.Get "translations") .lang) -}} + {{- relURL . -}} +{{- else -}} + {{- relURL (add "book/" .lang) -}} +{{- end -}} diff --git a/layouts/partials/translations.html b/layouts/partials/translations.html index 2cb786361c..eb945d16f3 100644 --- a/layouts/partials/translations.html +++ b/layouts/partials/translations.html @@ -1,49 +1,49 @@

This book is available in - English. + English.

Full translation available in - - - - - - - - - - - - - - + + + + + + + + + + + + + +
azərbaycan dili,
български език,
Deutsch,
Español,
Français,
Ελληνικά,
日本語,
한국어,
Nederlands,
Русский,
Slovenščina,
Tagalog,
Українська
简体中文,
azərbaycan dili,
български език,
Deutsch,
Español,
Français,
Ελληνικά,
日本語,
한국어,
Nederlands,
Русский,
Slovenščina,
Tagalog,
Українська
简体中文,

Partial translations available in - - - - - - + + + + + +
Čeština,
Македонски,
Polski,
Српски,
Ўзбекча,
繁體中文,
Čeština,
Македонски,
Polski,
Српски,
Ўзбекча,
繁體中文,

Translations started for - - - - - - - - - + + + + + + + + +
Беларуская,
فارسی,
Indonesian,
Italiano,
Bahasa Melayu,
Português (Brasil),
Português (Portugal),
Svenska,
Türkçe.
Беларуская,
فارسی,
Indonesian,
Italiano,
Bahasa Melayu,
Português (Brasil),
Português (Portugal),
Svenska,
Türkçe.

diff --git a/tests/git-scm.spec.js b/tests/git-scm.spec.js index fea60ea309..5616bd3e25 100644 --- a/tests/git-scm.spec.js +++ b/tests/git-scm.spec.js @@ -236,7 +236,8 @@ test('book', async ({ page }) => { } await page.getByRole('link', { name: 'Français' }).click() await expect(page).toHaveURL(/book\/fr/) - await expect(page.getByRole('link', { name: 'Démarrage rapide' })).toBeVisible() + await expect(page.locator('.inner h1')).toHaveText(/Démarrage rapide/) + await expect(page.getByRole('link', { name: 'Démarrage rapide' })).not.toBeVisible() // the repository URL now points to the French translation await expect(page.getByRole('link', { name: 'hosted on GitHub' }))