Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ on:
pull_request:
paths:
- "docs/**"
# README translations live under docs/ but are not part of the site.
- "!docs/readme/**"
- "scripts/docs/**"
- ".github/workflows/docs.yml"
workflow_dispatch:
Expand Down
19 changes: 14 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -251,14 +251,22 @@ The project uses [Vitest](https://vitest.dev/) for testing.

### README Translations

`README.md` is the authoritative version. `README.uk.md`, `README.ru.md`, `README.de.md`, `README.fr.md`,
`README.es.md`, `README.pt.md`, `README.ja.md` and `README.zh.md` are AI-assisted translations of it, and corrections
from native speakers are welcome as ordinary pull requests.
`README.md` in the repository root is the authoritative version. The `docs/readme/README.<code>.md` files are
AI-assisted translations of it into Ukrainian (`uk`), Russian (`ru`), German (`de`), French (`fr`), Spanish (`es`),
Portuguese (`pt`), Italian (`it`), Dutch (`nl`), Polish (`pl`), Czech (`cs`), Turkish (`tr`), Arabic (`ar`),
Indonesian (`id`), Vietnamese (`vi`), Japanese (`ja`), Korean (`ko`), Simplified Chinese (`zh`) and Traditional
Chinese (`zh-TW`). Corrections from native speakers are welcome as ordinary pull requests.

- **Keep the shape**: every README carries the same language switcher under the banner, and every translation has
the same `##`/`###` headings as `README.md`. Translate prose only; code blocks, function names, commands, package
names, URLs and badges stay as they are. Ukrainian, Russian, German and French link to their own documentation
under `/<code>/`; the other languages link to the English documentation.
- **Links are relative to `docs/readme/`**: other translations are `README.<code>.md`, English is `../../README.md`,
repository-root files are `../../<file>` (for example `../../CONTRIBUTING.md`) and paths under `docs/` drop the
prefix (for example `../writerside/`).
- **Right-to-left languages**: the Arabic README wraps its prose in `<div dir="rtl" lang="ar">` … `</div>` blocks,
with a blank line inside each wrapper so GitHub still renders the Markdown. Code blocks, badges, the scripts table
and the switcher stay outside the wrappers, left to right; headings stay ordinary `##`/`###` lines.
- **Sync translations with the source**: when a change to `README.md` is carried into the translations, update the
version in the note under each switcher to the current `version` in `package.json`.
- **The note goes stale on release, by design**: release-please bumps `package.json` but does not touch the
Expand All @@ -268,8 +276,9 @@ from native speakers are welcome as ordinary pull requests.
```bash
npm run docs:check-i18n
```
It fails when a translation is missing, lacks the switcher, has a different number of `##`/`###` headings than
`README.md`, or its note names a version other than the one in `package.json`. It does not compare wording.
It fails when a translation is missing, lacks the switcher, has a relative link to a file that does not exist, has
a different number of `##`/`###` headings than `README.md`, or its note names a version other than the one in
`package.json`. It does not compare wording.

## License

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
</small>
</p>

**English** | [Українська](README.uk.md) | [Русский](README.ru.md) | [Deutsch](README.de.md) | [Français](README.fr.md) | [Español](README.es.md) | [Português](README.pt.md) | [日本語](README.ja.md) | [中文](README.zh.md)
**English** | [Українська](docs/readme/README.uk.md) | [Русский](docs/readme/README.ru.md) | [Deutsch](docs/readme/README.de.md) | [Français](docs/readme/README.fr.md) | [Español](docs/readme/README.es.md) | [Português](docs/readme/README.pt.md) | [Italiano](docs/readme/README.it.md) | [Nederlands](docs/readme/README.nl.md) | [Polski](docs/readme/README.pl.md) | [Čeština](docs/readme/README.cs.md) | [Türkçe](docs/readme/README.tr.md) | [العربية](docs/readme/README.ar.md) | [Bahasa Indonesia](docs/readme/README.id.md) | [Tiếng Việt](docs/readme/README.vi.md) | [日本語](docs/readme/README.ja.md) | [한국어](docs/readme/README.ko.md) | [简体中文](docs/readme/README.zh.md) | [繁體中文](docs/readme/README.zh-TW.md)

# Utilities for Google Apps Script™

Expand All @@ -30,7 +30,7 @@

<!-- TOC -->

- [Utilities for Google Apps Script™ projects](#utilities-for-google-apps-script-projects)
- [Utilities for Google Apps Script™ projects](#utilities-for-google-apps-script)
- [Overview](#overview)
- [Key Features](#key-features)
- [AI Agent Skills](#ai-agent-skills)
Expand Down
Loading
Loading