i18n
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2025-07-18 07:01:10 +00:00
parent 64448e968f
commit cc40baf361
5 changed files with 67 additions and 20 deletions

View File

@@ -2,6 +2,7 @@
title: Midsomer Murders
---
::: sv
**Midsomer Murders – men var är amatörradion?**<br>
Midsomer Murders är en av de mest älskade brittiska kriminalserierna – inte bara tack vare sina snillrika mordgåtor, utan för hur varje avsnitt placerar oss i en ny, udda och charmig subkultur mitt i den lantliga idyllen. Vi har fått följa historier i allt från new age-mässor, konstnärskollektiv och IQ-sällskap till rugbyklubbar, riddarföreningar och preppers – alltid med värme, humor och ett stänk brittisk excentricitet.
@@ -23,9 +24,9 @@ Jag vill samla in namn och ev. signal för att skicka en vänlig men tydlig väd
Låt radioamatörerna få sitt avsnitt!
Oavsett om du är sändaramatör eller bara älskar serien – skriv gärna under och hjälp oss visa att detta är ett tema som många vill se!
:::
---
::: en
**Midsomer Murders – but where is amateur radio?**<br>
Midsomer Murders is one of Britain's most beloved detective series – not just for its clever plots, but for the way each episode dives into a new, quirky subculture nestled in the peaceful countryside. We've seen episodes set among new age fairs, art collectives, IQ societies, rugby clubs, medieval reenactors, doomsday preppers – always with warmth, charm, and a distinctly British wink.
@@ -47,6 +48,7 @@ We’re gathering names to kindly but firmly ask the show's writers:
Let amateur radio have its episode!
Whether you're a licensed ham or just a loyal viewer, add your name and help us show there's real interest in this story idea.
:::
---

View File

@@ -6,13 +6,13 @@ title: sa6anw.se
<pre><code><div align="center">
______ __ __ ______ __ __ ________ _______ ______ __ __ ______
/\ ____\ |\_\ /\_\ /\ ____\ |\_\ /\_\ |\ ______\ |\ _____\ |\ ____\ |\_\ |\_\ /\ ____\
|\ $$$$$$\ | $$\ / $$ |\ $$$$$$\ | $$ / $$ | $$$$$$$$ | $$$$$$$\ \$$$$$$ | $$\ | $$ |\ $$$$$$\
| $$___\$$ | $$$\ / $$$ | $$ | $$ | $$/ $$ | $$__ | $$__/ $$ | $$ | $$$\| $$ | $$ __\$$
\$$ ___\ | $$$$\ $$$$ | $$ | $$ | $$ $$ | $$ _\ | $$ _\ $$ | $$ | $$$$\ $$ | $$|\ __\
_\$$$$$$\ | $$\$$ $$ $$ | $$ | $$ | $$$$$\ | $$$$$ | $$$$$$$ | $$ | $$\$$ $$ | $$ \$$$$
|\_\__| $$ | $$ \$$$| $$ | $$__/\$$ | $$ \$$\ | $$_____ | $$ _| $$_ | $$ \$$$$ | $$__| $$
\$$ __\$$ | $$ \$ | $$ \$$ _\ $$ | $$ \$$\ | $$ ____\ | $$ |\_\$$_\ | $$ \$$$ \$$ __\$$
\$$$$$$ \$$ \$$ \$$$$$$ \$$ \$$ \$$$$$$$$ \$$ \$$$$$$ \$$ \$$ \$$$$$$
|\ ######\ | ##\ / ## |\ ######\ | ## / ## | ######## | #######\ \###### | ##\ | ## |\ ######\
| ##___\## | ###\ / ### | ## | ## | ##/ ## | ##__ | ##__/ ## | ## | ###\| ## | ## __\##
\## ___\ | ####\ #### | ## | ## | ## ## | ## _\ | ## _\ ## | ## | ####\ ## | ##|\ __\
_\######\ | ##\## ## ## | ## | ## | #####\ | ##### | ####### | ## | ##\## ## | ## \####
|\_\__| ## | ## \###| ## | ##__/\## | ## \##\ | ##_____ | ## _| ##_ | ## \#### | ##__| ##
\## __\## | ## \# | ## \## _\ ## | ## \##\ | ## ____\ | ## |\_\##_\ | ## \### \## __\##
\###### \## \## \###### \## \## \######## \## \###### \## \## \######
SA6ANW 20240105
</div></code></pre>
@@ -20,7 +20,7 @@ title: sa6anw.se
**[smokeping.sa6anw.se](https://smokeping.sa6anw.se)**
För att köra netnetmaker i ditt egna labb:
För att köra smokeping i ditt egna labb:
- Skapa en `docker-compose.yaml` med följande innehåll
@@ -46,5 +46,5 @@ services:
```
- Byt till din domän.
- Sen är det bara att köra `docker-compose up -d`
- Sen är det bara att köra `docker compose up -d`

View File

@@ -13,9 +13,9 @@ nav:
- Caddy: caddy.md
- sa6anw.se: sa6anwse.md
- Smokeping: smokeping.md
theme:
name: 'material'
language: sv
font:
text: 'Ubuntu'
@@ -36,18 +36,23 @@ theme:
toggle:
icon: material/weather-night
name: Embrace the dark side
features:
- navigation.tabs
- navigation.instant
- i18n
plugins:
- search
- open-in-new-tab
# - git-revision-date-localized:
# enable_creation_date: true
# locale: sv
# fallback_to_build_date: true
# type: date
- i18n:
default_language: sv
languages:
sv: Svenska
en: English
extra_css:
- stylesheets/extra.css
- overrides/hide-titles.css
- overrides/hide-toc.css
- overrides/header__title.css

View File

@@ -3,4 +3,4 @@ mkdocs-material==9.6.12
mkdocs-open-in-new-tab==1.0.3
mkdocs-git-revision-date-localized-plugin==1.2.0
mkdocs-minify-plugin==0.7.1
mkdocs-static-i18n

40
split_markdown.py Normal file
View File

@@ -0,0 +1,40 @@
import os
import re
SOURCE_DIR = "docs"
OUTPUT_DIRS = {
"sv": "docs_sv",
"en": "docs_en"
}
lang_block_re = re.compile(r":::\s*(sv|en)\n(.*?)\n:::", re.DOTALL)
def split_content_by_language(content):
blocks = {"sv": "", "en": ""}
pos = 0
for match in lang_block_re.finditer(content):
start, end = match.span()
lang, text = match.groups()
neutral = content[pos:start]
for l in blocks:
blocks[l] += neutral
blocks[lang] += text.strip() + "\n\n"
pos = end
tail = content[pos:]
for l in blocks:
blocks[l] += tail
return blocks
for filename in os.listdir(SOURCE_DIR):
if filename.endswith(".md"):
filepath = os.path.join(SOURCE_DIR, filename)
with open(filepath, "r", encoding="utf-8") as f:
content = f.read()
blocks = split_content_by_language(content)
for lang, text in blocks.items():
os.makedirs(OUTPUT_DIRS[lang], exist_ok=True)
out_path = os.path.join(OUTPUT_DIRS[lang], filename)
with open(out_path, "w", encoding="utf-8") as f:
f.write(text.strip())