# shbsltd/avs03-translations architecture

> Architecture diagram of the GitHub repository shbsltd/avs03-translations, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/shbsltd/avs03-translations
- Repository: https://github.com/shbsltd/avs03-translations

## Overview

This repository is a community localization contribution, not the game itself. Translators use the POT template to create PO catalogs, then submit them for use in the game. At runtime, the game discovers official and custom catalogs, uses language names in Settings, and falls back from custom to official translations and then English. The README documents these relationships; no implementation source is present.

Main entry points: [`de.po`](https://github.com/shbsltd/avs03-translations/blob/main/de.po) (PO catalogs), [`messages.pot`](https://github.com/shbsltd/avs03-translations/blob/main/messages.pot) (Message template), [`en.po`](https://github.com/shbsltd/avs03-translations/blob/main/en.po) (English catalog), [`locale_names.csv`](https://github.com/shbsltd/avs03-translations/blob/main/locale_names.csv) (Language names)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_catalogs["Translation files"]
  node_pot["Message template<br/>[messages.pot]"]
  node_catalogs_po["PO catalogs<br/>[de.po]"]
  node_english["English catalog<br/>[en.po]"]
  node_language_names["Language names<br/>[locale_names.csv]"]
end

subgraph group_runtime["Game localization"]
  node_game["Game runtime"]
  node_official["Official translations"]
  node_settings["Language settings"]
end

node_translator(("Translator"))
node_poedit["Poedit"]
node_github["GitHub repository"]

node_translator -->|"edits with"| node_poedit
node_pot -->|"loads template"| node_poedit
node_poedit -->|"saves catalog"| node_catalogs_po
node_translator -->|"submits catalog"| node_github
node_catalogs_po -.->|"provides custom translations"| node_game
node_official -->|"provides translations"| node_game
node_english -->|"provides English fallback"| node_game
node_language_names -->|"names languages"| node_settings
node_game -->|"shows choices"| node_settings
node_settings -->|"selects language"| node_game

click node_pot "https://github.com/shbsltd/avs03-translations/blob/main/messages.pot"
click node_catalogs_po "https://github.com/shbsltd/avs03-translations/blob/main/de.po"
click node_english "https://github.com/shbsltd/avs03-translations/blob/main/en.po"
click node_language_names "https://github.com/shbsltd/avs03-translations/blob/main/locale_names.csv"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_pot,node_catalogs_po,node_english,node_language_names toneBlue
class node_game,node_official,node_settings toneAmber
class node_translator,node_poedit,node_github toneIndigo
```

## Components

### Translation files

- [Message template](https://github.com/shbsltd/avs03-translations/blob/main/messages.pot): `messages.pot`
- [PO catalogs](https://github.com/shbsltd/avs03-translations/blob/main/de.po): `de.po`
- [English catalog](https://github.com/shbsltd/avs03-translations/blob/main/en.po): `en.po`
- [Language names](https://github.com/shbsltd/avs03-translations/blob/main/locale_names.csv): `locale_names.csv`

### Game localization

- **Game runtime**
- **Official translations**
- **Language settings**

### Other components

- **Translator**
- **Poedit**
- **GitHub repository**

## Connections

- Translator → Poedit: edits with
- Message template → Poedit: loads template
- Poedit → PO catalogs: saves catalog
- Translator → GitHub repository: submits catalog
- PO catalogs → Game runtime: provides custom translations
- Official translations → Game runtime: provides translations
- English catalog → Game runtime: provides English fallback
- Language names → Language settings: names languages
- Game runtime → Language settings: shows choices
- Language settings → Game runtime: selects language
