* [rulkc] [PATCH v2 0/7] Add english translation for current pages
@ 2026-09-11 7:47 Nikita Shubin
2026-09-11 7:47 ` [rulkc] [PATCH v2 1/7] Add translation infra and move 'ru' Nikita Shubin
` (7 more replies)
0 siblings, 8 replies; 10+ messages in thread
From: Nikita Shubin @ 2026-09-11 7:47 UTC (permalink / raw)
To: rulkc, Dmitry Rokosov, Serge Semin, Nikita Shubin
- reorganize contents: move ru to separate directory 'ru' and create 'en'
directory for English version;
- translate all current pages;
- add language switcher;
- add aliases to old urls for 'ru' content;
We came to the conclusion that the ru version should be kept as default
for now.
Cc: rulkc@linuxtesting.org
Cc: Dmitry Rokosov <rockosov@rulkc•org>
Cc: Serge Semin <fancer.lancer@gmail•com>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel•me>
---
Changes in v2:
- rebased on actual master;
- added tags from Dmitry;
- Link to v1: https://lore.landau.one/rulkc/20260904-translate_en-backup-v1-0-43e977a41ada@maquefel.me/
---
Nikita Shubin (7):
Add translation infra and move 'ru'
en: Translate main page
en: Transtale landau-linux
landau-linux: en: Translate landau-linux/maintenance
en: translate open_mic_27_03_2026
themes: landau-hacker: Add languadge switcher
ru: add aliases to old url
content/en/_index.md | 88 ++++
content/en/landau-linux/_index.md | 26 +
content/en/landau-linux/maintenance/_index.md | 538 +++++++++++++++++++++
content/en/open_mic_27_03_2026/_index.md | 86 ++++
content/{ => en}/rulkc.png | Bin
content/{ => ru}/_index.md | 0
content/{ => ru}/landau-linux/_index.md | 5 +
.../{ => ru}/landau-linux/maintenance/_index.md | 2 +
content/{ => ru}/open_mic_27_03_2026/_index.md | 5 +
content/ru/rulkc.png | Bin 0 -> 8749 bytes
hugo.yaml | 20 +
themes/landau-hacker/layouts/_default/baseof.html | 15 +-
.../layouts/partials/language-switcher.html | 36 ++
themes/landau-hacker/static/css/hacker.css | 62 ++-
14 files changed, 877 insertions(+), 6 deletions(-)
---
base-commit: 00d5a4eb63801b92ae57ad2aec5404797edaefe6
change-id: 20260904-translate_en-backup-19bc69f8195e
Best regards,
--
Nikita Shubin
_______________________________________________
rulkc mailing list
rulkc@linuxtesting.org
http://linuxtesting.org/cgi-bin/mailman/listinfo/rulkc
^ permalink raw reply [flat|nested] 10+ messages in thread
* [rulkc] [PATCH v2 1/7] Add translation infra and move 'ru'
2026-09-11 7:47 [rulkc] [PATCH v2 0/7] Add english translation for current pages Nikita Shubin
@ 2026-09-11 7:47 ` Nikita Shubin
2026-09-11 7:47 ` [rulkc] [PATCH v2 2/7] en: Translate main page Nikita Shubin
` (6 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Nikita Shubin @ 2026-09-11 7:47 UTC (permalink / raw)
To: rulkc, Dmitry Rokosov, Serge Semin, Nikita Shubin
Add translation infrastructure move all Russian content to 'ru'
subdirectory and make it default.
hugo support 2 schemes:
- named based translation naming i.e. about.en.md
- directory based translation name i.e. en/abount.md
Use directory based, as it's more convenient.
Reviewed-by: Dmitry Rokosov <rockosov@rulkc•org>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel•me>
---
content/{ => ru}/_index.md | 0
content/{ => ru}/landau-linux/_index.md | 0
content/{ => ru}/landau-linux/maintenance/_index.md | 0
content/{ => ru}/open_mic_27_03_2026/_index.md | 0
content/{ => ru}/rulkc.png | Bin
hugo.yaml | 20 ++++++++++++++++++++
6 files changed, 20 insertions(+)
diff --git a/content/_index.md b/content/ru/_index.md
similarity index 100%
rename from content/_index.md
rename to content/ru/_index.md
diff --git a/content/landau-linux/_index.md b/content/ru/landau-linux/_index.md
similarity index 100%
rename from content/landau-linux/_index.md
rename to content/ru/landau-linux/_index.md
diff --git a/content/landau-linux/maintenance/_index.md b/content/ru/landau-linux/maintenance/_index.md
similarity index 100%
rename from content/landau-linux/maintenance/_index.md
rename to content/ru/landau-linux/maintenance/_index.md
diff --git a/content/open_mic_27_03_2026/_index.md b/content/ru/open_mic_27_03_2026/_index.md
similarity index 100%
rename from content/open_mic_27_03_2026/_index.md
rename to content/ru/open_mic_27_03_2026/_index.md
diff --git a/content/rulkc.png b/content/ru/rulkc.png
similarity index 100%
rename from content/rulkc.png
rename to content/ru/rulkc.png
diff --git a/hugo.yaml b/hugo.yaml
index 407bf68..523e67b 100644
--- a/hugo.yaml
+++ b/hugo.yaml
@@ -9,6 +9,26 @@ footnotereturnlinkcontents: "↩"
disableKinds : ["taxonomy", "term"]
relativeURLs: true
canonifyURLs: false
+enableSymlinks: true
+
+defaultContentLanguage: 'ru'
+defaultContentLanguageInSubdir: true
+
+languages:
+ ru:
+ languageName: 'Русский'
+ contentDir: 'content/ru'
+ weight: 1
+ title: 'LANDAU'
+ params:
+ description: 'Linux And Neo-Depositorium Associated Unity'
+ en:
+ languageName: 'English'
+ contentDir: 'content/en'
+ weight: 2
+ title: 'LANDAU'
+ params:
+ description: 'Linux And Neo-Depositorium Associated Unity'
permalinks:
note: "/note/:year/:month/:day/:slug/"
--
2.54.0
_______________________________________________
rulkc mailing list
rulkc@linuxtesting.org
http://linuxtesting.org/cgi-bin/mailman/listinfo/rulkc
^ permalink raw reply [flat|nested] 10+ messages in thread
* [rulkc] [PATCH v2 2/7] en: Translate main page
2026-09-11 7:47 [rulkc] [PATCH v2 0/7] Add english translation for current pages Nikita Shubin
2026-09-11 7:47 ` [rulkc] [PATCH v2 1/7] Add translation infra and move 'ru' Nikita Shubin
@ 2026-09-11 7:47 ` Nikita Shubin
2026-09-11 7:47 ` [rulkc] [PATCH v2 3/7] en: Transtale landau-linux Nikita Shubin
` (5 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Nikita Shubin @ 2026-09-11 7:47 UTC (permalink / raw)
To: rulkc, Dmitry Rokosov, Serge Semin, Nikita Shubin
Translate main page into English and add rulkc.png (as hugo can't use
symbolic links).
Reviewed-by: Dmitry Rokosov <rockosov@rulkc•org>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel•me>
---
content/en/_index.md | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++
content/en/rulkc.png | Bin 0 -> 8749 bytes
2 files changed, 88 insertions(+)
diff --git a/content/en/_index.md b/content/en/_index.md
new file mode 100644
index 0000000..ff830e8
--- /dev/null
+++ b/content/en/_index.md
@@ -0,0 +1,88 @@
+# ⚛️ LANDAU
+
+**Linux And Neo-Depositorium Associated Unity**
+
+---
+
+## 🧪 What is LANDAU?
+
+**LANDAU** is an umbrella project that unites the efforts of the Russian open‑source community in the development of key system components.
+
+The project’s name pays tribute to the outstanding theoretical physicist and Nobel laureate **Lev Davidovich Landau** — the founder of a scientific school that educated generations of scientists. Just as Landau brought physicists together around new ideas, LANDAU aims to unite developers in building a common technological foundation.
+
+---
+
+## 🎯 What are we developing?
+
+LANDAU covers a wide range of open‑source projects that are critical for the system ecosystem:
+
+| Project | Purpose | Status |
+|---------|---------|--------|
+| 🐧 **[LANDAU Linux](./landau-linux/)** | LANDAU fork of the Linux kernel | ✅ Active |
+| 🖥️ **LANDAU U‑Boot** | LANDAU fork of the bootloader for embedded systems u‑boot | 🚧 Planned |
+| 🔧 **LANDAU EFI** | LANDAU UEFI support | 🚧 Planned |
+| 📦 **LANDAU QEMU** | LANDAU Emulation and virtualization | 🚧 Planned |
+| 🏗️ **Other projects** | TBD | 🚧 Planned |
+
+---
+
+## 📅 Events and discussions
+
+We host meetups and conferences (RULKC Meetup #1, OSDevConf 24/25/26) to gather feedback from engineers and companies, identify market needs, and jointly design the architecture of the future fork.
+
+### 🎙️ Event list
+
+* **[Open Mic #001: “Forking the Kernel. Engineers for Engineers, or What Does LANDAU Have to Do with It?”](./open_mic_27_03_2026/)**
+ * **📅 Date:** March 27, 2026
+ * **⏰ Time:** 20:00
+ * **📍 Format:** In‑person / Online
+ * The first open discussion about the practical engineering motivation for creating a fork, its goals, and the problems it can solve.
+
+### 🗂️ Meeting archive
+
+* 📌 **(Coming soon)** Materials and summaries of past round tables will appear here.
+
+---
+
+## 🤝 Contacts and community
+
+### 🌐 Russian Linux Kernel Community
+
+The ⚛️ LANDAU project is developed under the auspices of the RULKC community. Join us!
+
+| Channel | Link |
+|---------|------|
+| 🏠 **Main website** | [rulkc.org](https://rulkc.org) |
+| 📧 **Mail** | [rulkc@rulkc.org](mailto:rulkc@rulkc•org) |
+| 💬 **Telegram channel** | [https://t.me/linux_kernel_O](https://t.me/linux_kernel_O) |
+| 🐙 **GitHub** | [github.com/rulkc](https://github.com/rulkc) |
+| 📧 **Mailing List** | [rulkc@linuxtesting.org](mailto:rulkc@linuxtesting.org) |
+
+| | |
+|---|---|
+| <a href="http://rulkc.org" target="_blank"><img src="rulkc.png" alt="RULKC" width="120"></a> | **💬 Join the discussion:**<br>Stay up to date with all the news about the ⚛️ LANDAU project and RULKC events in our Telegram channel:<br>[t.me/linux_kernel_O](https://t.me/linux_kernel_O) |
+
+<br>
+
+📌 *This site is the starting point for navigating the LANDAU initiative. All key documents, announcements, and repository links will be added as the project evolves.*
+
+## 🤝 Community
+
+LANDAU is developed under the umbrella of the [**Russian Linux Kernel Community (RULKC)**](https://rulkc.org).
+
+| Channel | Link |
+|---------|------|
+| 🏠 **Main website** | [rulkc.org](https://rulkc.org) |
+| 📧 **Mail** | [rulkc@rulkc.org](mailto:rulkc@rulkc•org) |
+| 💬 **Telegram channel** | [t.me/linux_kernel_O](https://t.me/linux_kernel_O) |
+| 🐙 **GitHub** | [github.com/rulkc](https://github.com/rulkc) |
+
+<br>
+
+| | |
+|---|---|
+| <a href="https://rulkc.org" target="_blank"><img src="rulkc.png" alt="RULKC" width="120"></a> | **💬 Join the discussion**<br>All news and announcements in our Telegram channel |
+
+---
+
+📌 *This site is the central entry point for all LANDAU projects.*
\ No newline at end of file
diff --git a/content/en/rulkc.png b/content/en/rulkc.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ae262dd97b6e6db38463f1433cd8dad6a7d1c32
GIT binary patch
literal 8749
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
literal 0
HcmV?d00001
--
2.54.0
_______________________________________________
rulkc mailing list
rulkc@linuxtesting.org
http://linuxtesting.org/cgi-bin/mailman/listinfo/rulkc
^ permalink raw reply [flat|nested] 10+ messages in thread
* [rulkc] [PATCH v2 3/7] en: Transtale landau-linux
2026-09-11 7:47 [rulkc] [PATCH v2 0/7] Add english translation for current pages Nikita Shubin
2026-09-11 7:47 ` [rulkc] [PATCH v2 1/7] Add translation infra and move 'ru' Nikita Shubin
2026-09-11 7:47 ` [rulkc] [PATCH v2 2/7] en: Translate main page Nikita Shubin
@ 2026-09-11 7:47 ` Nikita Shubin
2026-09-11 7:47 ` [rulkc] [PATCH v2 4/7] landau-linux: en: Translate landau-linux/maintenance Nikita Shubin
` (4 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Nikita Shubin @ 2026-09-11 7:47 UTC (permalink / raw)
To: rulkc, Dmitry Rokosov, Serge Semin, Nikita Shubin
Translate landau-linux page into English.
Reviewed-by: Dmitry Rokosov <rockosov@rulkc•org>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel•me>
---
content/en/landau-linux/_index.md | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/content/en/landau-linux/_index.md b/content/en/landau-linux/_index.md
new file mode 100644
index 0000000..4229714
--- /dev/null
+++ b/content/en/landau-linux/_index.md
@@ -0,0 +1,26 @@
+# ⚛️ LANDAU Linux
+
+---
+
+## 🎯 About the project
+
+LANDAU Linux is an **upstream‑first fork** of the Linux kernel that fixes and extends its functionality:
+
+* 🔄 **Regular updates:** Following the latest Linux kernel releases (every 2+ months).
+* 📦 **Patch inclusion:** Incorporating useful work that, for various reasons, did not make it into the original Linux kernel repository (drivers, architectural improvements).
+* 🖥️ **Support for specialized hardware:** Creating a unified kernel branch as a BSP foundation for processors of various architectures (ARM, MIPS, RISC‑V, Elbrus), hardware platforms, consumer electronics, including those developed in Russia.
+* 👁️ **Transparency:** Open review process, modern CI, and collaborative testing.
+
+The project addresses current industry challenges: it preserves and evolves kernel code, fights fragmentation, and by consolidating open‑source solutions creates synergy for everyone who uses Linux as system software. In the long term, LANDAU Linux will become a reliable foundation for IP‑core developers, ODM manufacturers, distribution creators, and other ecosystem participants.
+
+---
+
+## 📄 Key documents
+
+| Document | Description |
+|----------|-------------|
+| 📋 **[LANDAU Linux Maintenance](./maintenance/)** | Official maintenance process for LANDAU Linux |
+
+---
+
+[⬅️ Back to LANDAU main page](../)
\ No newline at end of file
--
2.54.0
_______________________________________________
rulkc mailing list
rulkc@linuxtesting.org
http://linuxtesting.org/cgi-bin/mailman/listinfo/rulkc
^ permalink raw reply [flat|nested] 10+ messages in thread
* [rulkc] [PATCH v2 4/7] landau-linux: en: Translate landau-linux/maintenance
2026-09-11 7:47 [rulkc] [PATCH v2 0/7] Add english translation for current pages Nikita Shubin
` (2 preceding siblings ...)
2026-09-11 7:47 ` [rulkc] [PATCH v2 3/7] en: Transtale landau-linux Nikita Shubin
@ 2026-09-11 7:47 ` Nikita Shubin
2026-09-11 7:47 ` [rulkc] [PATCH v2 5/7] en: translate open_mic_27_03_2026 Nikita Shubin
` (3 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Nikita Shubin @ 2026-09-11 7:47 UTC (permalink / raw)
To: rulkc, Dmitry Rokosov, Serge Semin, Nikita Shubin
Translate landau-linux/maintenance page into English.
Reviewed-by: Dmitry Rokosov <rockosov@rulkc•org>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel•me>
---
content/en/landau-linux/maintenance/_index.md | 538 ++++++++++++++++++++++++++
1 file changed, 538 insertions(+)
diff --git a/content/en/landau-linux/maintenance/_index.md b/content/en/landau-linux/maintenance/_index.md
new file mode 100644
index 0000000..248d00e
--- /dev/null
+++ b/content/en/landau-linux/maintenance/_index.md
@@ -0,0 +1,538 @@
+---
+title: "📋 LANDAU Linux Kernel Maintenance Manifest"
+description: "Description of the LANDAU Linux kernel development process — branches, releases, versioning, and maintenance"
+draft: false
+---
+
+# 📋 LANDAU Linux Kernel Maintenance Manifest
+
+> **LANDAU Linux** is a fork of the Linux kernel with its own versioning scheme and a predictable release cycle. This document describes the formal maintenance process of the project.
+
+---
+
+## 🧭 1. Overview
+
+### 🎯 Purpose
+
+To provide a stable, predictable, and documented release process for LANDAU Linux with tracking of the original Linux kernel repository.
+
+### 📖 Glossary
+
+| Term | Full name | Description |
+| ---- | --------- | ----------- |
+| **V** | VERSION | Major version of the Linux kernel. Defines the main version number (e.g., `6` in `6.12.7`). |
+| **P** | PATCHLEVEL | Middle version of the Linux kernel. Defines the minor version number (e.g., `12` in `6.12.7`). |
+| **S** | SUBLEVEL | Minor version of the Linux kernel. Defines the stable update number (e.g., `7` in `6.12.7`). |
+| **E** | EXTRAVERSION | A field in the Linux kernel version into which the LANDAU Linux version is embedded. The Linux kernel usually uses it for `-rc` releases. |
+| **MR** | Merge Request | A request to merge one Git branch into another. It is submitted as a link to a Git repository and a branch of an authorised maintainer with a formal description. |
+| **RMW** | Rebase & Merge Window | A time period (2 weeks) during which LANDAU maintainers rebase their changes onto a new base kernel version. |
+| **Bundle** | — | The full set of changes in the LANDAU Linux repository that distinguish it from the original Linux kernel. There is a global Bundle and per‑maintainer Bundles. |
+| **EOL** | End-of-Life | The end of support for a released product version. The branch no longer receives updates and is archived. |
+
+### 🪞 Mirrors of original Linux repositories
+
+The server **[git.rulkc.org](https://git.rulkc.org)** hosts continuously updated mirrors of:
+
+- 🔷 `torvalds/linux` — main Linux kernel tree
+- 🔷 `stable/linux` — stable Linux kernel releases
+- 🔷 `linux-next` — integration tree linux‑next
+
+---
+
+## 🏷️ 2. Versioning scheme
+
+### 📐 LANDAU Linux version format
+
+```
+VERSION.PATCHLEVEL.SUBLEVEL.lXYZ
+```
+
+| Component | Example | Description |
+|-----------|--------|----------|
+| `VERSION` | `7` | Kernel major version |
+| `PATCHLEVEL` | `0` | Kernel minor version |
+| `SUBLEVEL` | `12` | Kernel stable update number |
+| `l-rcX` | `l-rc1`, `l-rc2` | Build number of a LANDAU Linux release candidate |
+| `lXYZ` | `l`, `l1` | Build number of a stable LANDAU Linux release |
+
+### 🏷️ Git tags
+
+Annotated tags are used in the format:
+
+```
+v7.0.l-rcX
+v7.0.lXYZ
+```
+
+Example: `v7.0.l-rc1`, `v7.0.l`, `v7.0.l5`
+
+---
+
+## 🌿 3. Git branch strategy
+
+### 📌 Main Git branches
+
+| Branch | Purpose |
+| ------ | ------- |
+| `landau-next` | Git branch for the next LANDAU Linux release, where maintainers submit their MRs |
+| `landau-V.P.y` | Current Git branch for a LANDAU Linux release based on the stable Linux kernel version V.P |
+
+> `landau-next` is the Git branch where all maintainers work together. Conflicts are resolved here, and all MRs are collected to create the `landau-V.P.y` branch. At the start of a new RMW, its HEAD is forcibly moved (_force‑push_) to the new Linux kernel release.
+
+### ⏳ Lifecycle of Git branches
+
+```mermaid
+%%{init: {
+ 'theme': 'base',
+ 'themeVariables': {
+ 'background': '#002b36',
+ 'primaryColor': '#073642',
+ 'primaryTextColor': '#839496',
+ 'primaryBorderColor': '#586e75',
+ 'lineColor': '#b58900',
+ 'secondaryColor': '#002b36',
+ 'tertiaryColor': '#073642',
+ 'edgeLabelBackground': '#002b36',
+ 'nodeBorder': '#586e75',
+ 'nodeTextColor': '#93a1a1',
+ 'clusterBkg': '#002b36',
+ 'clusterBorder': '#586e75',
+ 'fontSize': '20px',
+ 'fontFamily': 'monospace'
+ },
+ 'flowchart': {
+ 'nodeSpacing': 80,
+ 'rankSpacing': 30,
+ 'curve': 'basis',
+ 'padding': 10
+ }
+}}%%
+flowchart TB
+ subgraph Block1["Release preparation (RC stage)"]
+ direction LR
+ A["<b>landau-next</b> → <b>linux-V.P.y</b>"]
+ B["Stabilize <b>landau-next</b>"]
+ C{"Is <b>landau-next</b><br>code stable?"}
+ D(("•••"))
+ E["P = P + 1"]
+
+ A --> B
+ B --> C
+ C -->|No| B
+ C -->|Yes| D
+ C -->|Yes| E
+ E -.->|Wait for release P| A
+ end
+```
+
+```mermaid
+%%{init: {
+ 'theme': 'base',
+ 'themeVariables': {
+ 'background': '#002b36',
+ 'primaryColor': '#073642',
+ 'primaryTextColor': '#839496',
+ 'primaryBorderColor': '#586e75',
+ 'lineColor': '#b58900',
+ 'secondaryColor': '#002b36',
+ 'tertiaryColor': '#073642',
+ 'edgeLabelBackground': '#002b36',
+ 'nodeBorder': '#586e75',
+ 'nodeTextColor': '#93a1a1',
+ 'clusterBkg': '#002b36',
+ 'clusterBorder': '#586e75',
+ 'fontSize': '20px',
+ 'fontFamily': 'monospace'
+ },
+ 'flowchart': {
+ 'nodeSpacing': 80,
+ 'rankSpacing': 30,
+ 'curve': 'basis',
+ 'padding': 10
+ }
+}}%%
+flowchart TB
+ subgraph Block2["LANDAU Linux release"]
+ direction LR
+ A(("•••"))
+ B["<b>landau-V.P.y</b> → <b>landau-next</b>"]
+ C["Maintain <b>landau-V.P.y</b>"]
+ D{"Is <b>linux-V.P.y</b><br><b>EOL</b>?"}
+ E["Archive <b>landau-V.P.y</b>"]
+
+ A --> B
+ B --> C
+ C --> D
+ D -->|No| C
+ D -->|Yes| E
+ end
+```
+
+| Stage | Action |
+| ----- | ------ |
+| 🛑 Start | Force‑push `landau-next` to the base Linux kernel version |
+| 🔧 Development | Collect and stabilize LANDAU changes in the `landau-next` branch |
+| 🆕 Release | Create `landau-V.P.y` from the stable `landau-next` |
+| 🔧 Maintenance | Collect bug fixes in the `landau-V.P.y` branch |
+| 🐢 End of support | The upstream version reaches EOL |
+
+> In the basic model, _maintenance_ means periodic synchronisation of `landau-V.P.y` with the upstream `linux-V.P.y` branch.
+
+---
+
+## 📅 4. Release schedule
+
+### ⏱️ Linux kernel release cycle
+
+The original Linux kernel repository follows this development cycle:
+
+| Phase | ⏰ Duration | 📝 Description |
+| ----- | ----------- | -------------- |
+| Development | 9‑10 weeks | Preparation for the new release |
+| Rebase & Merge Window | 2 weeks | Accept new Merge Requests from maintainers |
+| RC testing | 7‑8 weeks | Test release candidates |
+| Final release | — | Publish the stable kernel |
+
+> ℹ️ **Important**: Since LANDAU Linux releases are based on stable Linux kernel releases, the current development cycle always lags behind the latest Linux kernel version by **1 PATCHLEVEL**.
+
+---
+
+## 🔄 5. LANDAU Linux release process
+
+### 📊 Release full cycle
+
+```mermaid
+%%{init: {
+ 'theme': 'base',
+ 'themeVariables': {
+ 'background': '#002b36',
+ 'primaryColor': '#073642',
+ 'primaryTextColor': '#839496',
+ 'primaryBorderColor': '#586e75',
+ 'lineColor': '#b58900',
+ 'secondaryColor': '#002b36',
+ 'tertiaryColor': '#073642',
+ 'edgeLabelBackground': '#002b36',
+ 'nodeBorder': '#586e75',
+ 'nodeTextColor': '#93a1a1',
+ 'fontSize': '20px',
+ 'fontFamily': 'monospace'
+ },
+ 'flowchart': {
+ 'nodeSpacing': 80,
+ 'rankSpacing': 30,
+ 'curve': 'basis',
+ 'padding': 10
+ }
+}}%%
+flowchart TB
+ subgraph Block1["Release preparation (RC stage)"]
+ direction LR
+ A["📦 New Linux kernel release"] --> B
+ B(["🔓 1. LANDAU Linux RMW<br>(~2 weeks)"]) --> C
+ C["🔧 Merge and integrate Bundles"] --> D
+ D(["🔓 2. LANDAU Linux RC<br>(~1 week per RC)"]) --> E
+ E["🔧 Fix bugs<br>(release RC)"] --> F
+ F(("•••"))
+ end
+```
+
+```mermaid
+%%{init: {
+ 'theme': 'base',
+ 'themeVariables': {
+ 'background': '#002b36',
+ 'primaryColor': '#073642',
+ 'primaryTextColor': '#839496',
+ 'primaryBorderColor': '#586e75',
+ 'lineColor': '#b58900',
+ 'secondaryColor': '#002b36',
+ 'tertiaryColor': '#073642',
+ 'edgeLabelBackground': '#002b36',
+ 'nodeBorder': '#586e75',
+ 'nodeTextColor': '#93a1a1',
+ 'fontSize': '20px',
+ 'fontFamily': 'monospace'
+ },
+ 'flowchart': {
+ 'nodeSpacing': 80,
+ 'rankSpacing': 30,
+ 'curve': 'basis',
+ 'padding': 10
+ }
+}}%%
+flowchart TB
+ subgraph Block2["LANDAU Linux release"]
+ direction LR
+ A(("•••")) --> B
+ B(["✅ 3. LANDAU Linux release"]) --> C
+ C["🔧 Publish LANDAU Linux<br>changes"] --> D
+ D(["🔓 4. LANDAU Linux maintenance"]) --> E
+ E["🔧 Fix bugs and<br>sync SUBLEVEL"] --> F
+ F(["🐢 5. LANDAU Linux EOL"])
+ end
+```
+
+### 5.1 🆕 RMW stage of LANDAU Linux
+
+| Step | Action |
+| ---- | ------------------------------------------------------------ |
+| 1 | Create the `landau-next` branch from the first stable Linux kernel release |
+| 2 | Announce the collection of LANDAU Linux changes from downstream maintainers |
+| 3 | Apply LANDAU Linux changes to `landau-next` |
+| 4 | Request resubmission of changes in case of complex conflicts |
+| 5 | Perform basic build testing of the resulting `landau-next` branch |
+| 6 | Update `EXTRAVERSION` to `l-rc1` and create a commit "LANDAU Linux V.P.l-rc1" |
+| 7 | Tag the commit with an annotated tag `vV.P.l-rc1` |
+
+> ℹ️ The `EXTRAVERSION` variable in stable Linux kernel releases is left empty, so it can be used to store LANDAU Linux versions. The original `VERSION`, `PATCHLEVEL`, `SUBLEVEL` values are kept to indicate the upstream kernel version.
+
+| Parameter | Value |
+| --------- | ----- |
+| ⏱️ Duration | **~about 2 weeks** |
+| 🎯 Focus | Collection and basic sanity testing of products |
+| 🏷️ Releases | l‑rc1 |
+| 🔧 Fixes | Minor issues are resolved in merge commits. Major ones require a resubmission from the maintainer. |
+
+### 5.2 🧪 LANDAU Linux RC stage
+
+| Step | Action |
+| ---- | ------ |
+| 1 | Receive corrective LANDAU Linux changes from downstream maintainers |
+| 2 | Apply corrective changes to `landau-next` |
+| 3 | Perform basic build testing of the resulting `landau-next` branch |
+| 4 | Create a commit "LANDAU Linux V.P.l‑rcX" with the incremented `EXTRAVERSION` RC number |
+| 5 | Tag the commit with an annotated tag `vV.P.l‑rcX` |
+| 6 | Go to step 1 if errors are found |
+
+| Parameter | Value |
+| --------- | ----- |
+| ⏱️ Duration | about 1 week per RC, but no more than 7‑8 weeks total |
+| 🎯 Focus | Regression testing, stability, feature validation |
+| 🏷️ Releases | l‑rc1, l‑rc2, l‑rc3, ... |
+| 🔧 Fixes | Applied directly to the release branch on request from downstream maintainers |
+
+> ℹ️ Stabilization of the `landau-next` branch (no critical bugs found in the current RC cycle) signals the end of the RC stage and the move to the final release.
+
+### 5.3 ✅ Final release
+
+| Step | Action |
+| ---- | ------ |
+| 1 | Ensure no major issues remain in the last RC phase |
+| 2 | Update `EXTRAVERSION` to `l` and create a commit "LANDAU Linux V.P.l" |
+| 3 | Tag the commit with an annotated tag `vV.P.l` |
+| 4 | Create the `landau-V.P.y` branch based on the last LANDAU Linux RC release |
+
+| Parameter | Value |
+| --------- | ----- |
+| ⏱️ Duration | more than 1 week in the last RC phase |
+| 🎯 Focus | Stabilization of collected changes and publication of the changelog |
+| 🏷️ Releases | l |
+| 🔧 Fixes | None during the last RC phase |
+
+### 5.4 🔄 Maintenance of stable and LTS versions
+
+| Step | Action | Example |
+| ---- | ------ | ------- |
+| 1 | Determine the latest `SUBLEVEL` in the upstream stable Linux kernel branch | `v7.0.1` |
+| 2 | Merge changes from the upstream stable kernel branch into `landau-V.P.y` | `git merge v7.0.1` |
+| 3 | Receive corrective LANDAU Linux changes from downstream maintainers | - |
+| 4 | Apply corrective LANDAU changes to `landau-V.P.y` if any | - |
+| 5 | Increment `EXTRAVERSION` by one and create a commit "LANDAU Linux V.P.Y.lX" | `l` → `l1` |
+| 6 | Tag the commit with an annotated tag `vV.P.Y.lX` | `v7.0.1.l1` |
+
+| Parameter | Value |
+| --------- | ----- |
+| ⏱️ Duration | Until the upstream kernel version reaches EOL |
+| 🎯 Focus | Fixing critical bugs found in the stable LANDAU Linux release |
+| 🏷️ Releases | `l1`, `l2`, `l3`, ... |
+| 🔧 Fixes | Applied on request from downstream maintainers as corrective releases |
+
+LANDAU Linux maintainers have decided to **natively support stable and LTS versions** of the Linux kernel until they reach EOL. However, corrective LANDAU Linux changes are guaranteed to be backported only to the LANDAU Linux based on the latest LTS kernel version. Backporting to older versions is possible if resources permit.
+
+⚠️ Integration rules for stable and LTS LANDAU Linux branches:
+
+| ✅ Allowed | ❌ Not allowed |
+| ------------------- | ------------------------ |
+| Security fixes | Backport of new features |
+| Critical bug fixes | New drivers |
+| Stabilizing patches | Subsystem changes |
+| Documentation | Any non‑bugfix changes |
+
+> 📌 **Principle**: Only the changelog that existed at the time the upstream LTS branch was created is maintained.
+
+### 5.5 🔄 End of Life (EOL) for LANDAU Linux Release
+
+| Step | Action |
+| ---- | ------ |
+| 1 | Receive EOL status for the upstream stable kernel version |
+| 2 | Announce the end of support for LANDAU Linux in the `landau-V.P.y` branch |
+
+| Parameter | Value |
+| --------- | ----- |
+| ⏱️ Duration | At least several corrective releases of the stable LANDAU Linux version before EOL is declared |
+| 🎯 Focus | Termination of release support |
+| 🏷️ Releases | lZ (last build) |
+| 🔧 Fixes | Not applied |
+
+Support for stable and LTS versions of LANDAU Linux ends either when the upstream kernel version reaches EOL, or after the release of a LANDAU Linux based on the latest LTS kernel version (whichever comes first).
+
+---
+
+## 6. 👤 Maintainer responsibilities
+
+| Area | Responsibility |
+| ---- | -------------- |
+| 👁️ Monitoring upstream repository | Track new releases and RC cycles |
+| 📦 Applying patches | Integrate LANDAU‑specific kernel changes |
+| 🏷️ Tag management | Create annotated tags in the format vV.P.lZ |
+| 🧪 RC coordination | Organise testing of release candidates |
+| 🔒 Security | Monitor and apply security fixes |
+| 📝 Documentation | Maintain the changelog for each LANDAU release |
+
+### 🏗️ Maintainer personal repositories
+
+Maintainers store and develop their own forks of the Linux kernel in their personal repositories, containing the set of changes they are responsible for.
+
+Maintainers are free to choose how to organise their personal repositories. For example, they may split independent changes into separate Git branches by subsystem and send individual MRs for each, or merge them into a single Git branch and send one holistic MR. However, they must follow the rule of **continuity of previous changes and minimisation of merge conflicts**. That is, the Git branch submitted in an MR to the lead maintainer must preserve the history of previous LANDAU Linux changes and their fixes, and must also contain the latest version of the upstream kernel for which the LANDAU Linux release is being prepared.
+
+To meet this requirement, the **double‑merge** approach is recommended: first, the maintainers of their own LANDAU Linux repositories (sub‑LANDAU Linux) merge their Git branches with `landau-next`, resolve all conflicts, and only then send MRs during the RMW stage.
+
+```mermaid
+---
+config:
+ gitGraph:
+ parallelCommits: false
+ mainBranchName: 'linux-V.P.y'
+---
+gitGraph
+ branch baikal-next order: 2
+ branch amlogic-next order: 3
+ commit
+ commit
+ checkout baikal-next
+ commit
+ commit
+ checkout linux-V.P.y
+ commit
+ commit
+ commit id: "Linux V.P" tag: "vV.P"
+ branch landau-next order: 1
+ commit id: " " type: HIGHLIGHT
+ checkout amlogic-next
+ merge landau-next
+ checkout baikal-next
+ merge landau-next
+ checkout landau-next
+ merge amlogic-next
+ merge baikal-next
+ commit id: "LANDAU Linux V.P.l-rc1" tag: "vV.P.l-rc1"
+```
+
+This way, the main burden of conflict resolution falls on the downstream maintainers. The lead maintainer only needs to collect all MRs into `landau-next`. If even then complex conflicts arise, the lead maintainer may ask for a repeat double‑merge cycle so that cross‑sub‑LANDAU conflicts are resolved on the downstream side.
+
+Optionally, maintainers may maintain Git branches with patch sets for later submission to the upstream Linux kernel. Until integration, those patch sets may "absorb" fixes and stylistic changes during rebasing onto a new kernel version. This simplifies maintenance of such Git branches by minimising the change log, which would otherwise be unnecessary when merging into the upstream kernel.
+
+---
+
+## 📖 7. Example of a full release cycle
+
+### Initial data
+
+Linux kernel version **`7.0`** has been released. This means that in the upstream Linux repository, changes added during the merge window have stabilized, the RC phase is finished, `EXTRAVERSION` is empty, the last commit marks the Linux 7.0 release, and a new branch `linux-7.0.y` appears in the stable/LTS Git repository.
+
+### 📍 Step‑by‑step example
+
+#### 👁️ Scheme
+
+| Stage | Action | Result | Build version |
+| ----- | ------ | ------ | ------------- |
+| 1 | Force‑push `landau-next` to `v7.0` | `landau-next` | — |
+| 2 | Start RMW | `landau-next` | N/A |
+| 3 | Create RC1 | `v7.0.l‑rc1` | `7.0.l‑rc1` |
+| 4 | Create RC2 | `v7.0.l‑rc2` | `7.0.l‑rc2` |
+| 5 | Create RC3 | `v7.0.l‑rc3` | `7.0.l‑rc3` |
+| 6 | Final release and create numbered Git branch | v7.0.l and `landau-7.0.y` | 7.0.l |
+| 7 | Upstream release 7.0.1 appears | Merge changes into `landau-7.0.y` | — |
+| 8 | Bump version | v7.0.1.l1 | 7.0.1.l1 |
+| 9 | Upstream 7.0.x reaches EOL | `landau-7.0.y` is archived | — |
+
+#### 🔄 Detailed process:
+
+1. **New stable Linux kernel release** (e.g., v7.0 after 7 weeks of stabilization)
+2. **Open LANDAU Linux RMW** — we take 2 weeks for our LANDAU Linux release:
+ - Merge patch series (MRs) into `landau-next`, based on v7.0
+ - Resolve all conflicts there
+ - Build initial common kernel images
+3. **Release RC versions** (e.g., v7.0.l‑rc1) — RC releases are made from the `landau-next` branch
+4. **Testing** — lasts up to 7 weeks (may be shorter):
+ - Release RC versions: l‑rc1, l‑rc2, l‑rc3, etc.
+5. **Final release and stable branch creation**:
+ - Release v7.0.l
+ - Create stable Git branch **`landau-7.0.y`** from the last release
+ - All further maintenance of this version is done in `landau-7.0.y`
+6. **End of the `landau-next` cycle**:
+ - The `landau-next` branch stops growing after the first v7.0.l release
+ - It switches back to step 1 when a new stable release (e.g., v7.1) appears upstream
+7. **Integrate new SUBLEVEL changes from upstream stable kernel**:
+ - If upstream changes SUBLEVEL (e.g., 7.0.1), we merge that release into **`landau-7.0.y`**
+ - Bump our version: v7.0.1.l1
+ - That is, the LANDAU Linux version increases, and SUBLEVEL gets the new value according to the integrated changes
+8. **Stable version evolution**:
+ - The stable LANDAU Linux v7.0 is maintained in the `landau-7.0.y` branch
+9. **End of release support**:
+ - Support for the LANDAU Linux branch ends when the upstream kernel version no longer has stable status on kernel.org (e.g., 7.0 reaches EOL)
+10. **LTS support**:
+ - If the upstream kernel goes LTS, LANDAU supports it until its EOL
+ - Only LANDAU Linux fixes (no new features) and new SUBLEVEL updates are brought in
+11. **Support guarantees**:
+ - LANDAU Linux Owners guarantee support for **the latest LTS kernel at any time**
+ - Support for older LTS kernels is considered if resources allow
+
+#### 🏷️ Full tag chain example
+
+ For Linux kernel 7.0.x:
+
+v7.0.l‑rc1 → v7.0.l‑rc2 → v7.0.l‑rc3 → v7.0.l → (branch `landau-7.0.y` created) → v7.0.1.l1 → v7.0.2.l2 → ...
+
+```
+v7.0.l-rc1 → v7.0.l-rc2 → v7.0.l-rc3 → v7.0.l
+ ↓
+ branch landau-7.0.y created
+ ↓
+ v7.0.1.l1 → v7.0.2.l2 → ...
+```
+
+---
+
+### Patch requirements
+
+TODO
+
+### Pull requests
+
+TODO
+
+### Maintainers B4 usage
+
+TODO
+
+---
+
+## 📚 8. Links and resources
+
+| Resource | URL |
+| --------------------------- | ------------------------------------ |
+| 📦 LANDAU Linux repositories | https://git.rulkc.org/pub/scm/landau |
+| 🪞 Linux repository mirrors | https://git.rulkc.org |
+| 🔗 Upstream Linux repositories | https://kernel.org |
+
+---
+
+<div style="display: flex; justify-content: space-between; align-items: center; padding: 1rem 0; margin-top: 2rem; border-top: 1px solid #30363d; font-size: 14px; flex-wrap: wrap; gap: 10px;">
+ <span>📌 <strong>Current version:</strong> 1.0</span>
+ <span>✍️ <strong>Maintained by:</strong> LANDAU Maintainers</span>
+ <span>📅 <strong>Updated:</strong> 2026-07</span>
+</div>
+
+[⬅️ Back to LANDAU Linux page](../)
--
2.54.0
_______________________________________________
rulkc mailing list
rulkc@linuxtesting.org
http://linuxtesting.org/cgi-bin/mailman/listinfo/rulkc
^ permalink raw reply [flat|nested] 10+ messages in thread
* [rulkc] [PATCH v2 5/7] en: translate open_mic_27_03_2026
2026-09-11 7:47 [rulkc] [PATCH v2 0/7] Add english translation for current pages Nikita Shubin
` (3 preceding siblings ...)
2026-09-11 7:47 ` [rulkc] [PATCH v2 4/7] landau-linux: en: Translate landau-linux/maintenance Nikita Shubin
@ 2026-09-11 7:47 ` Nikita Shubin
2026-09-11 7:47 ` [rulkc] [PATCH v2 6/7] themes: landau-hacker: Add languadge switcher Nikita Shubin
` (2 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Nikita Shubin @ 2026-09-11 7:47 UTC (permalink / raw)
To: rulkc, Dmitry Rokosov, Serge Semin, Nikita Shubin
Translate open_mic_27_03_2026 page into English.
Reviewed-by: Dmitry Rokosov <rockosov@rulkc•org>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel•me>
---
content/en/open_mic_27_03_2026/_index.md | 86 ++++++++++++++++++++++++++++++++
1 file changed, 86 insertions(+)
diff --git a/content/en/open_mic_27_03_2026/_index.md b/content/en/open_mic_27_03_2026/_index.md
new file mode 100644
index 0000000..3542396
--- /dev/null
+++ b/content/en/open_mic_27_03_2026/_index.md
@@ -0,0 +1,86 @@
+# 🎙️ Open Mic #001
+
+## “Forking the Kernel. Engineers for Engineers, or What Does LANDAU Have to Do with It?”
+
+---
+
+📅 **Date:** March 27, 2026
+⏰ **Time:** 20:00
+📍 **Format:** In‑person / Online (hybrid)
+👥 **Organiser:** [RULKC](https://rulkc.org) (Russian Linux Kernel Community)
+
+---
+
+## 🧭 About the meeting
+
+We are launching a series of practical discussions focused on the challenges of maintaining Linux kernel technical work in the current environment. The topic of the first meeting is intentionally broad in order to gather as many engineering opinions as possible.
+
+**👋 We invite the following to take part in the conversation:**
+* 🐧 Linux kernel developers and maintainers from Russian companies
+* 🔌 Embedded systems engineers and hardware developers
+* 💡 Anyone interested in the future of the Linux platform in Russia
+
+---
+
+## ❓ Key discussion questions
+
+During the discussion, we will address the creation of a unified Linux kernel fork by Russian engineers, maintainers, and hardware vendors.
+We will talk about needs and goals, risks, architecture, and the support model for such a project.
+
+The meeting will be held as an open‑mic discussion with moderators:
+
+1. **🤔 Do we need a unified fork?**
+ * Does the engineering community need one?
+ * How does each company currently maintain its own forks?
+ * What practical problems could it solve (code duplication, maintenance difficulties, sanctions‑related risks when collaborating)?
+
+2. **🖧 Hardware support**
+ * How can we effectively organise joint work on drivers for Baikal, Elbrus, RISC‑V, and other processors, as well as peripheral devices?
+ * Is there a critical mass to unify code from various vendors?
+ * Do users need accessible, discussable, and cross‑validated code?
+ * Do we need a common “sandbox” for experiments?
+ * In which products and releases could LANDAU be used? For embedded systems, desktops, servers?
+
+3. **🏗️ Development model**
+ * Should the fork be only the kernel itself, or should it include a minimal test environment?
+ * How often should we rebase to new upstream versions?
+ * Should the fork have LTS branches? If so, how often should they be released?
+
+4. **⚙️ Infrastructure**
+ * How can we build a distributed CI lab for testing (based on Kernel‑CI and LAVA) on real hardware?
+ * Who is ready to share resources?
+
+---
+
+## 🎯 Expected outcomes
+
+By the end of the meeting, we plan to:
+
+* 📊 **Identify market needs** for a unified kernel fork
+* 🗣️ **Hear participants’ opinions** on their readiness to invest resources into supporting the fork
+* 🎯 **Prioritise areas** for further work
+* 👣 **Discuss next steps** — holding additional meetings with different participants, creating a working group, possible legal formalisation of the activity
+
+---
+
+## 💡 Why is this important?
+
+The goal of this meeting is **to hear each other**.
+To understand the pain points of different teams, where we can join forces right now, and which issues require deeper discussion with lawyers and managers.
+
+📊 The outcome will be a **list of engineering community needs** that will form the basis for the next steps of the ⚛️ LANDAU project.
+
+---
+
+## 📝 Registration and contacts
+
+To participate (especially in the in‑person format), please follow the link:
+🔗 [https://tabs.mts.ru/share/shrjzSDNCwDjT3kp6VNWE](https://tabs.mts.ru/share/shrjzSDNCwDjT3kp6VNWE)
+
+---
+
+**Contact person:** RULKC
+📧 [rulkc@rulkc.org](mailto:rulkc@rulkc•org)
+💬 [t.me/linux_kernel_O](https://t.me/linux_kernel_O)
+
+[⬅️ Back to LANDAU main page](../)
\ No newline at end of file
--
2.54.0
_______________________________________________
rulkc mailing list
rulkc@linuxtesting.org
http://linuxtesting.org/cgi-bin/mailman/listinfo/rulkc
^ permalink raw reply [flat|nested] 10+ messages in thread
* [rulkc] [PATCH v2 6/7] themes: landau-hacker: Add languadge switcher
2026-09-11 7:47 [rulkc] [PATCH v2 0/7] Add english translation for current pages Nikita Shubin
` (4 preceding siblings ...)
2026-09-11 7:47 ` [rulkc] [PATCH v2 5/7] en: translate open_mic_27_03_2026 Nikita Shubin
@ 2026-09-11 7:47 ` Nikita Shubin
2026-09-16 12:43 ` Dmitry Rokosov
2026-09-11 7:47 ` [rulkc] [PATCH v2 7/7] ru: add aliases to old url Nikita Shubin
2026-09-16 12:54 ` [rulkc] [PATCH v2 0/7] Add english translation for current pages Dmitry Rokosov
7 siblings, 1 reply; 10+ messages in thread
From: Nikita Shubin @ 2026-09-11 7:47 UTC (permalink / raw)
To: rulkc, Dmitry Rokosov, Serge Semin, Nikita Shubin
Add languadge switcher to support switching between translations.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel•me>
---
themes/landau-hacker/layouts/_default/baseof.html | 15 ++++--
.../layouts/partials/language-switcher.html | 36 +++++++++++++
themes/landau-hacker/static/css/hacker.css | 62 +++++++++++++++++++++-
3 files changed, 107 insertions(+), 6 deletions(-)
diff --git a/themes/landau-hacker/layouts/_default/baseof.html b/themes/landau-hacker/layouts/_default/baseof.html
index 57080b5..1fa8cfb 100644
--- a/themes/landau-hacker/layouts/_default/baseof.html
+++ b/themes/landau-hacker/layouts/_default/baseof.html
@@ -20,11 +20,16 @@
</head>
<body>
<header>
- <div class="container">
- <a id="a-title" href="{{ "/" | relURL }}">
- <h1>{{ site.Title }}</h1>
- </a>
- <h2>{{ site.Params.description }}</h2>
+ <div class="container header-flex">
+ <div class="header-left">
+ <a id="a-title" href="{{ "/" | relURL }}">
+ <h1>{{ site.Title }}</h1>
+ </a>
+ <h2>{{ site.Params.description }}</h2>
+ </div>
+ <div class="header-right">
+ {{ partial "language-switcher" . }}
+ </div>
</div>
</header>
diff --git a/themes/landau-hacker/layouts/partials/language-switcher.html b/themes/landau-hacker/layouts/partials/language-switcher.html
new file mode 100644
index 0000000..4c73ff5
--- /dev/null
+++ b/themes/landau-hacker/layouts/partials/language-switcher.html
@@ -0,0 +1,36 @@
+<div class="language-switcher">
+ {{ range .Site.Languages }}
+ {{ $lang := .Lang }}
+ {{ $isCurrent := eq $lang $.Site.Language.Lang }}
+ {{ $flag := "" }}
+ {{ if eq $lang "ru" }}{{ $flag = "🇷🇺" }}{{ else if eq $lang "en" }}{{ $flag = "🇬🇧" }}{{ else }}{{ $flag = "🌐" }}{{ end }}
+
+ {{ $translation := false }}
+ {{ if $.IsTranslated }}
+ {{ range $.Translations }}
+ {{ if eq .Language.Lang $lang }}
+ {{ $translation = . }}
+ {{ end }}
+ {{ end }}
+ {{ end }}
+
+ {{ if $isCurrent }}
+ <span class="active" hreflang="{{ $lang }}" lang="{{ $lang }}">
+ {{ $flag }}
+ <span class="code">{{ .LanguageName }}</span>
+ </span>
+ {{ else }}
+ {{ if $translation }}
+ <a href="{{ $translation.Permalink }}" hreflang="{{ $lang }}" lang="{{ $lang }}">
+ {{ $flag }}
+ <span class="code">{{ .LanguageName }}</span>
+ </a>
+ {{ else }}
+ <a href="{{ relLangURL "" }}" hreflang="{{ $lang }}" lang="{{ $lang }}">
+ {{ $flag }}
+ <span class="code">{{ .LanguageName }}</span>
+ </a>
+ {{ end }}
+ {{ end }}
+ {{ end }}
+</div>
\ No newline at end of file
diff --git a/themes/landau-hacker/static/css/hacker.css b/themes/landau-hacker/static/css/hacker.css
index 736bb29..400f7d1 100644
--- a/themes/landau-hacker/static/css/hacker.css
+++ b/themes/landau-hacker/static/css/hacker.css
@@ -94,6 +94,66 @@ header h2 {
margin: 0;
}
+/* Language switcher (LANDAU addition); not part of upstream pages-themes/hacker) */
+.language-switcher {
+ display: flex;
+ gap: 1rem;
+ align-items: center;
+ justify-content: flex-end;
+ font-size: 0.9rem;
+ margin-top: 5px;
+}
+
+.language-switcher a,
+.language-switcher .active {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.3rem;
+ padding: 0.2rem 0.5rem;
+ border-radius: 4px;
+ text-decoration: none;
+ transition: background 0.2s, opacity 0.2s;
+}
+
+.language-switcher a {
+ color: #b8b8b8;
+ background: transparent;
+}
+
+.language-switcher a:hover {
+ background: rgba(255, 255, 255, 0.1);
+ color: #fff;
+}
+
+.language-switcher .active {
+ color: #b5e853;
+ background: rgba(181, 232, 83, 0.1);
+ cursor: default;
+ font-weight: bold;
+}
+
+.language-switcher .lang-code {
+ font-size: 0.75rem;
+ text-transform: uppercase;
+ letter-spacing: 0.5px;
+}
+
+@media (max-width: 600px) {
+ .language-switcher {
+ justify-content: center;
+ gap: 0.5rem;
+ flex-wrap: wrap;
+ }
+ .language-switcher a,
+ .language-switcher .active {
+ padding: 0.1rem 0.3rem;
+ font-size: 0.8rem;
+ }
+ .language-switcher .lang-code {
+ display: none;
+ }
+}
+
/* Main Content */
#main_content {
@@ -287,4 +347,4 @@ footer .version {
.highlight .nt, .highlight .nn, .highlight .nc, .highlight .no { color: #f4bf75; }
.highlight .na { color: #6a9fb5; }
.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mb, .highlight .mx { color: #90a959; }
-.highlight .ss { color: #90a959; }
+.highlight .ss { color: #90a959; }
\ No newline at end of file
--
2.54.0
_______________________________________________
rulkc mailing list
rulkc@linuxtesting.org
http://linuxtesting.org/cgi-bin/mailman/listinfo/rulkc
^ permalink raw reply [flat|nested] 10+ messages in thread
* [rulkc] [PATCH v2 7/7] ru: add aliases to old url
2026-09-11 7:47 [rulkc] [PATCH v2 0/7] Add english translation for current pages Nikita Shubin
` (5 preceding siblings ...)
2026-09-11 7:47 ` [rulkc] [PATCH v2 6/7] themes: landau-hacker: Add languadge switcher Nikita Shubin
@ 2026-09-11 7:47 ` Nikita Shubin
2026-09-16 12:54 ` [rulkc] [PATCH v2 0/7] Add english translation for current pages Dmitry Rokosov
7 siblings, 0 replies; 10+ messages in thread
From: Nikita Shubin @ 2026-09-11 7:47 UTC (permalink / raw)
To: rulkc, Dmitry Rokosov, Serge Semin, Nikita Shubin
Add aliases:
- ../open_mic_27_03_2026/
- ../landau-linux/
- ../../landau-linux/maintenance/
To display old urls correctly after content move.
Reviewed-by: Dmitry Rokosov <rockosov@rulkc•org>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel•me>
---
content/ru/landau-linux/_index.md | 5 +++++
content/ru/landau-linux/maintenance/_index.md | 2 ++
content/ru/open_mic_27_03_2026/_index.md | 5 +++++
3 files changed, 12 insertions(+)
diff --git a/content/ru/landau-linux/_index.md b/content/ru/landau-linux/_index.md
index 1da986e..c1aed4d 100644
--- a/content/ru/landau-linux/_index.md
+++ b/content/ru/landau-linux/_index.md
@@ -1,3 +1,8 @@
+---
+aliases:
+ - ../landau-linux/
+---
+
# ⚛️ LANDAU Linux
---
diff --git a/content/ru/landau-linux/maintenance/_index.md b/content/ru/landau-linux/maintenance/_index.md
index 865831a..227f9dc 100644
--- a/content/ru/landau-linux/maintenance/_index.md
+++ b/content/ru/landau-linux/maintenance/_index.md
@@ -2,6 +2,8 @@
title: "📋 Манифест сопровождения ядра LANDAU Linux"
description: "Описание процесса разработки ядра LANDAU Linux — ветки, релизы, версионирование и сопровождение"
draft: false
+aliases:
+ - ../../landau-linux/maintenance/
---
# 📋 Манифест процесса сопровождения ядра LANDAU Linux
diff --git a/content/ru/open_mic_27_03_2026/_index.md b/content/ru/open_mic_27_03_2026/_index.md
index 15117d8..3a39882 100644
--- a/content/ru/open_mic_27_03_2026/_index.md
+++ b/content/ru/open_mic_27_03_2026/_index.md
@@ -1,3 +1,8 @@
+---
+aliases:
+ - ../open_mic_27_03_2026/
+---
+
# 🎙️ Открытый микрофон #001
## «Форк ядра. Инженеры для инженеров, или при чем тут LANDAU»
--
2.54.0
_______________________________________________
rulkc mailing list
rulkc@linuxtesting.org
http://linuxtesting.org/cgi-bin/mailman/listinfo/rulkc
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [rulkc] [PATCH v2 6/7] themes: landau-hacker: Add languadge switcher
2026-09-11 7:47 ` [rulkc] [PATCH v2 6/7] themes: landau-hacker: Add languadge switcher Nikita Shubin
@ 2026-09-16 12:43 ` Dmitry Rokosov
0 siblings, 0 replies; 10+ messages in thread
From: Dmitry Rokosov @ 2026-09-16 12:43 UTC (permalink / raw)
To: Nikita Shubin; +Cc: rulkc
Reviewed-by: Dmitry Rokosov <rockosov@rulkc•org>
On Fri, Sep 11, 2026 at 10:47:45AM +0300, Nikita Shubin wrote:
> Add languadge switcher to support switching between translations.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel•me>
> ---
> themes/landau-hacker/layouts/_default/baseof.html | 15 ++++--
> .../layouts/partials/language-switcher.html | 36 +++++++++++++
> themes/landau-hacker/static/css/hacker.css | 62 +++++++++++++++++++++-
> 3 files changed, 107 insertions(+), 6 deletions(-)
>
> diff --git a/themes/landau-hacker/layouts/_default/baseof.html b/themes/landau-hacker/layouts/_default/baseof.html
> index 57080b5..1fa8cfb 100644
> --- a/themes/landau-hacker/layouts/_default/baseof.html
> +++ b/themes/landau-hacker/layouts/_default/baseof.html
> @@ -20,11 +20,16 @@
> </head>
> <body>
> <header>
> - <div class="container">
> - <a id="a-title" href="{{ "/" | relURL }}">
> - <h1>{{ site.Title }}</h1>
> - </a>
> - <h2>{{ site.Params.description }}</h2>
> + <div class="container header-flex">
> + <div class="header-left">
> + <a id="a-title" href="{{ "/" | relURL }}">
> + <h1>{{ site.Title }}</h1>
> + </a>
> + <h2>{{ site.Params.description }}</h2>
> + </div>
> + <div class="header-right">
> + {{ partial "language-switcher" . }}
> + </div>
> </div>
> </header>
>
> diff --git a/themes/landau-hacker/layouts/partials/language-switcher.html b/themes/landau-hacker/layouts/partials/language-switcher.html
> new file mode 100644
> index 0000000..4c73ff5
> --- /dev/null
> +++ b/themes/landau-hacker/layouts/partials/language-switcher.html
> @@ -0,0 +1,36 @@
> +<div class="language-switcher">
> + {{ range .Site.Languages }}
> + {{ $lang := .Lang }}
> + {{ $isCurrent := eq $lang $.Site.Language.Lang }}
> + {{ $flag := "" }}
> + {{ if eq $lang "ru" }}{{ $flag = "🇷🇺" }}{{ else if eq $lang "en" }}{{ $flag = "🇬🇧" }}{{ else }}{{ $flag = "🌐" }}{{ end }}
> +
> + {{ $translation := false }}
> + {{ if $.IsTranslated }}
> + {{ range $.Translations }}
> + {{ if eq .Language.Lang $lang }}
> + {{ $translation = . }}
> + {{ end }}
> + {{ end }}
> + {{ end }}
> +
> + {{ if $isCurrent }}
> + <span class="active" hreflang="{{ $lang }}" lang="{{ $lang }}">
> + {{ $flag }}
> + <span class="code">{{ .LanguageName }}</span>
> + </span>
> + {{ else }}
> + {{ if $translation }}
> + <a href="{{ $translation.Permalink }}" hreflang="{{ $lang }}" lang="{{ $lang }}">
> + {{ $flag }}
> + <span class="code">{{ .LanguageName }}</span>
> + </a>
> + {{ else }}
> + <a href="{{ relLangURL "" }}" hreflang="{{ $lang }}" lang="{{ $lang }}">
> + {{ $flag }}
> + <span class="code">{{ .LanguageName }}</span>
> + </a>
> + {{ end }}
> + {{ end }}
> + {{ end }}
> +</div>
> \ No newline at end of file
> diff --git a/themes/landau-hacker/static/css/hacker.css b/themes/landau-hacker/static/css/hacker.css
> index 736bb29..400f7d1 100644
> --- a/themes/landau-hacker/static/css/hacker.css
> +++ b/themes/landau-hacker/static/css/hacker.css
> @@ -94,6 +94,66 @@ header h2 {
> margin: 0;
> }
>
> +/* Language switcher (LANDAU addition); not part of upstream pages-themes/hacker) */
> +.language-switcher {
> + display: flex;
> + gap: 1rem;
> + align-items: center;
> + justify-content: flex-end;
> + font-size: 0.9rem;
> + margin-top: 5px;
> +}
> +
> +.language-switcher a,
> +.language-switcher .active {
> + display: inline-flex;
> + align-items: center;
> + gap: 0.3rem;
> + padding: 0.2rem 0.5rem;
> + border-radius: 4px;
> + text-decoration: none;
> + transition: background 0.2s, opacity 0.2s;
> +}
> +
> +.language-switcher a {
> + color: #b8b8b8;
> + background: transparent;
> +}
> +
> +.language-switcher a:hover {
> + background: rgba(255, 255, 255, 0.1);
> + color: #fff;
> +}
> +
> +.language-switcher .active {
> + color: #b5e853;
> + background: rgba(181, 232, 83, 0.1);
> + cursor: default;
> + font-weight: bold;
> +}
> +
> +.language-switcher .lang-code {
> + font-size: 0.75rem;
> + text-transform: uppercase;
> + letter-spacing: 0.5px;
> +}
> +
> +@media (max-width: 600px) {
> + .language-switcher {
> + justify-content: center;
> + gap: 0.5rem;
> + flex-wrap: wrap;
> + }
> + .language-switcher a,
> + .language-switcher .active {
> + padding: 0.1rem 0.3rem;
> + font-size: 0.8rem;
> + }
> + .language-switcher .lang-code {
> + display: none;
> + }
> +}
> +
> /* Main Content */
>
> #main_content {
> @@ -287,4 +347,4 @@ footer .version {
> .highlight .nt, .highlight .nn, .highlight .nc, .highlight .no { color: #f4bf75; }
> .highlight .na { color: #6a9fb5; }
> .highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mb, .highlight .mx { color: #90a959; }
> -.highlight .ss { color: #90a959; }
> +.highlight .ss { color: #90a959; }
> \ No newline at end of file
>
> --
> 2.54.0
>
--
Thank you,
Dmitry
_______________________________________________
rulkc mailing list
rulkc@linuxtesting.org
http://linuxtesting.org/cgi-bin/mailman/listinfo/rulkc
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [rulkc] [PATCH v2 0/7] Add english translation for current pages
2026-09-11 7:47 [rulkc] [PATCH v2 0/7] Add english translation for current pages Nikita Shubin
` (6 preceding siblings ...)
2026-09-11 7:47 ` [rulkc] [PATCH v2 7/7] ru: add aliases to old url Nikita Shubin
@ 2026-09-16 12:54 ` Dmitry Rokosov
7 siblings, 0 replies; 10+ messages in thread
From: Dmitry Rokosov @ 2026-09-16 12:54 UTC (permalink / raw)
To: Nikita Shubin; +Cc: rulkc
Hello!
Thank you for the second patch version.
Applied to master branch
https://git.rulkc.org/pub/scm/landau/infra/landau.one.git/log/?h=master.
On Fri, Sep 11, 2026 at 10:47:39AM +0300, Nikita Shubin wrote:
> - reorganize contents: move ru to separate directory 'ru' and create 'en'
> directory for English version;
> - translate all current pages;
> - add language switcher;
> - add aliases to old urls for 'ru' content;
>
> We came to the conclusion that the ru version should be kept as default
> for now.
>
> Cc: rulkc@linuxtesting.org
> Cc: Dmitry Rokosov <rockosov@rulkc•org>
> Cc: Serge Semin <fancer.lancer@gmail•com>
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel•me>
> ---
> Changes in v2:
> - rebased on actual master;
> - added tags from Dmitry;
> - Link to v1: https://lore.landau.one/rulkc/20260904-translate_en-backup-v1-0-43e977a41ada@maquefel.me/
>
> ---
> Nikita Shubin (7):
> Add translation infra and move 'ru'
> en: Translate main page
> en: Transtale landau-linux
> landau-linux: en: Translate landau-linux/maintenance
> en: translate open_mic_27_03_2026
> themes: landau-hacker: Add languadge switcher
> ru: add aliases to old url
>
> content/en/_index.md | 88 ++++
> content/en/landau-linux/_index.md | 26 +
> content/en/landau-linux/maintenance/_index.md | 538 +++++++++++++++++++++
> content/en/open_mic_27_03_2026/_index.md | 86 ++++
> content/{ => en}/rulkc.png | Bin
> content/{ => ru}/_index.md | 0
> content/{ => ru}/landau-linux/_index.md | 5 +
> .../{ => ru}/landau-linux/maintenance/_index.md | 2 +
> content/{ => ru}/open_mic_27_03_2026/_index.md | 5 +
> content/ru/rulkc.png | Bin 0 -> 8749 bytes
> hugo.yaml | 20 +
> themes/landau-hacker/layouts/_default/baseof.html | 15 +-
> .../layouts/partials/language-switcher.html | 36 ++
> themes/landau-hacker/static/css/hacker.css | 62 ++-
> 14 files changed, 877 insertions(+), 6 deletions(-)
> ---
> base-commit: 00d5a4eb63801b92ae57ad2aec5404797edaefe6
> change-id: 20260904-translate_en-backup-19bc69f8195e
>
> Best regards,
> --
> Nikita Shubin
>
--
Thank you,
Dmitry
_______________________________________________
rulkc mailing list
rulkc@linuxtesting.org
http://linuxtesting.org/cgi-bin/mailman/listinfo/rulkc
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-09-16 12:54 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-11 7:47 [rulkc] [PATCH v2 0/7] Add english translation for current pages Nikita Shubin
2026-09-11 7:47 ` [rulkc] [PATCH v2 1/7] Add translation infra and move 'ru' Nikita Shubin
2026-09-11 7:47 ` [rulkc] [PATCH v2 2/7] en: Translate main page Nikita Shubin
2026-09-11 7:47 ` [rulkc] [PATCH v2 3/7] en: Transtale landau-linux Nikita Shubin
2026-09-11 7:47 ` [rulkc] [PATCH v2 4/7] landau-linux: en: Translate landau-linux/maintenance Nikita Shubin
2026-09-11 7:47 ` [rulkc] [PATCH v2 5/7] en: translate open_mic_27_03_2026 Nikita Shubin
2026-09-11 7:47 ` [rulkc] [PATCH v2 6/7] themes: landau-hacker: Add languadge switcher Nikita Shubin
2026-09-16 12:43 ` Dmitry Rokosov
2026-09-11 7:47 ` [rulkc] [PATCH v2 7/7] ru: add aliases to old url Nikita Shubin
2026-09-16 12:54 ` [rulkc] [PATCH v2 0/7] Add english translation for current pages Dmitry Rokosov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®