libredb / libredb/libredb-studio
Add a Russian README (README_ru.md), covered by the localized-README drift guard
- Dominant language
- TypeScript
- Stars
- 726
- Forks
- 119
- Avg merge
- 7h 41m
- Merged PRs (30d)
- 284
Description
The repo ships two localized READMEs, `README_zh.md` and `README_ja.md` (#317). Russian is not one of them.
**There is a concrete reason to want this one.** LibreDB Studio was posted to opennet.ru on 2026-09-06 (https://opennet.ru/66216-libredb) and the thread was a real technical discussion: installation without Docker, the security posture, the desktop wrapper, what the AI assistant sends where. Every reader who followed the link from there landed on an English README. A Russian one is the single highest-leverage translation the repo does not have.
**This is smaller than it looks.** `README.md` is 1002 lines; the two translations are 304 and 291. They are deliberate abridgements, not full translations - they carry the pitch, the engine list, the install table and the quick start, and they drop the deep sections. Copy that scope rather than translating the whole file.
**Fix.**
1. Add `README_ru.md`, modelled on `README_zh.md` for structure and length.
2. Add `Русский` to the language switcher near the top of `README.md`, `README_zh.md` and `README_ja.md` (they each list the other languages).
3. Add `"README_ru.md"` to `LOCALIZED` in `scripts/readme-check.mjs` (line 34), so the drift guard covers it.
**The guard decides two things for you, so review is objective.** `scripts/readme-check.mjs` runs inside the required `Lint, Typecheck and Build` check and asserts:
- **The engine name set is identical in all localized files and `README.md`.** A translation that omits an engine is wrong, and so is one that invents an engine. Do not translate engine names - `PostgreSQL` stays `PostgreSQL`.
- **Every command in a localized install table appears verbatim in `README.md`'s.** You may list fewer channels (both existing translations drop Chocolatey and the portable zip), but you may not paraphrase a command. A missing `sudo` or a dropped `brew trust` is exactly what this guard was written for after #317's review found both.
Run `bun run readme:check` before you push.
**Two notes specific to Russian, from that thread.** The audience reads the install table closely, so keep the native, non-container channels visible - deb/rpm, AppImage, snap, the standalone tarball, npm - rather than leading with Docker alone. And established Russian technical vocabulary beats literal translation: `тонкий/толстый клиент`, `образ`, `учётные данные`. Leave product names and CLI text in English.
**Please only take this if you read and write Russian well.** Raw machine-translation output is not what this is for, and a PR that reads as untouched machine output will be closed. Technical terms and product names are better left in English than translated approximately.
**Conflict note.** Step 2 touches one line in three files that every other language issue also touches (#594, #595, #596). If another translation lands first, rebase - it is a one-line conflict.
**Done when** `README_ru.md` exists, the switcher in all four READMEs lists it, `LOCALIZED` includes it, and `bun run readme:check` passes.
---
Curated for Hacktoberfest 2026. Comment to claim it before you start so two people do not work on the same language. A PR must reference this issue; see CONTRIBUTING.md. Repo rules that apply: run `bun run test` (never bare `bun test`), and the 100% line-coverage gate must stay green. Local `bun run test` also needs the `helm` binary on PATH for unrelated chart tests - see #570 if it bites.
Contributor guide
Research direction
Start by comparing README_zh.md and README_ja.md with README.md to follow the localized scope and language-switcher structure. Update README.md, README_zh.md, README_ja.md, and scripts/readme-check.mjs, then run bun run readme:check; done means the Russian file, switcher entries, LOCALIZED entry, engine set, and install commands satisfy the guard.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, markdown
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100