Skip to content

Make the documentation English-first, with Russian beside the entry points - #22

Merged
ExaltedTrou6 merged 1 commit into
mainfrom
docs/bilingual
Aug 7, 2026
Merged

Make the documentation English-first, with Russian beside the entry points#22
ExaltedTrou6 merged 1 commit into
mainfrom
docs/bilingual

Conversation

@ExaltedTrou6

Copy link
Copy Markdown
Contributor

What and why

The repository is about to become public. All three neighbouring official Bitrix24 SDKs — b24phpsdk, b24pysdk, b24jssdk — ship English-only documentation; Russian-only docs would make this one unreadable to most of the people who find it.

English is now the repository's language. README.md, CONTRIBUTING.md, SECURITY.md, CHANGELOG.md and the issue and pull request templates.

Three files keep a Russian version beside them — the entry points a newcomer actually reads: README.ru.md, CONTRIBUTING.ru.md, SECURITY.ru.md, each with a language link on its first line.

The CHANGELOG and the templates stay single-language. GitHub shows one set of templates and cannot show two; and a bilingual 600-line changelog is a file that diverges — the two copies drift the first time somebody is in a hurry.

The English text is not a gloss of the Russian. It carries the same facts in the same structure, in the terms the godoc already uses (walk, envelope, wrapper, cursor, ambiguous failure), because the two versions have to agree when read side by side.

CONTRIBUTING's language rule said the opposite of what is now true ("godoc in English, README and CHANGELOG in Russian"). Both versions now name the policy outright, including which three files have a translation — so the next person does not have to guess what language a changelog entry goes in.

Two bugs found while porting, fixed in both versions

  • installFinish called an API that does not exist. The section showed client.App().InstallFinish(ctx, nil); AppScope.InstallFinish was removed in 0.1.0 along with the generated wrappers. It now shows the replacement the CHANGELOG already names: client.Core().CallJSON(ctx, "installFinish", nil).
  • Installation did not mention that go get fails outside a module. It answers go.mod file not found in current directory or any parent directory and installs nothing — the first thing a reader hits.

Checks

  • go build ./...
  • go vet ./...
  • gofmt -l . — the output is empty
  • go test -race ./...

Every Go example in both READMEs was compiled against the local module through a temporary module with a replace directive; the b24test example runs and passes. All 41 code blocks are identical across the two versions once comments and string literals are discounted, the heading structure matches one to one, and every relative link resolves.

The CHANGELOG translation was checked structurally against the Russian original: same 11 headings, 62 top-level bullets, 22 nested bullets, 10 code fences. Every measurement and error code survives unchanged (28.5 s, 12.0 s, 8.1 s, 0.6 s, ≈4 s, 177 methods, 423 rows, BITRIX_REST_V3_EXCEPTION_…); only the decimal comma became a decimal point.

Compatibility

  • The change is additive: no code was touched, only documentation

Note

No CHANGELOG entry was added for this pull request. The 0.2.0 section's preamble states that every entry there came from the live-portal run of the tutorials, and a documentation-language bullet would contradict that. Say the word and one goes in.

🤖 Generated with Claude Code

…oints

The repository is about to become public, and the three neighbouring official
Bitrix24 SDKs (b24phpsdk, b24pysdk, b24jssdk) ship English-only documentation.
Russian-only docs would make this SDK the odd one out and unreadable to most of
the people who will find it.

English is now the repository's language: README.md, CONTRIBUTING.md,
SECURITY.md, CHANGELOG.md and the issue and pull request templates. The three
entry points a newcomer actually reads keep a Russian version beside them —
README.ru.md, CONTRIBUTING.ru.md, SECURITY.ru.md — with a language link on the
first line of each. The CHANGELOG and the templates stay single-language: GitHub
shows one set of templates, and a bilingual 600-line changelog would diverge.

The English text is not a gloss of the Russian. It carries the same facts in the
same structure, in the terms the godoc already uses (walk, envelope, wrapper,
cursor, ambiguous failure), because the two have to agree when read side by side.

CONTRIBUTING's language rule said the opposite of what is true now ("godoc in
English, README and CHANGELOG in Russian"). It is rewritten in both versions to
name the new policy outright, including which three files have a translation, so
the next person does not have to guess what language a changelog entry goes in.

Two things found while porting and fixed in both versions:

- The installFinish section called client.App().InstallFinish, which does not
  exist: AppScope.InstallFinish was removed in 0.1.0 along with the generated
  wrappers. The section now shows the replacement the CHANGELOG already names,
  client.Core().CallJSON(ctx, "installFinish", nil).
- Installation did not say that `go get` fails outside a module. It answers
  "go.mod file not found in current directory or any parent directory" and
  installs nothing, which is the first thing a reader hits.

Every Go example in both READMEs was compiled against the local module through a
temporary module with a replace directive; the b24test example runs and passes.
All 41 code blocks are identical in both versions once comments and string
literals are discounted, and every relative link resolves.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@ExaltedTrou6
ExaltedTrou6 merged commit 151e630 into main Aug 7, 2026
2 checks passed
@ExaltedTrou6
ExaltedTrou6 deleted the docs/bilingual branch August 7, 2026 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant