Self‑Healing Localization
| Self-Healing Localization Library | |
|---|---|
| Tekijä(t) | Tuomas Lähteenmäki |
| Kehittäjä(t) | Tuomas Lähteenmäki |
| Ensijulkaisu | 0.1.5 / 12. helmikuuta 2026 |
| Vakaa versio | 0.2.3 / 16. elokuuta 2026 |
| Kehitysversio | 0.2.5 |
| Ohjelmoitu | Python |
| Kirjasto | Python kirjasto |
| Lisenssi | Mit |
| Kotisivu | codeberg.org |
| Lähdekoodi | codeberg.org |
'Self-Healing Localization Library (SHL) on riippuvuuksista vapaa Python-kirjasto, joka automatisoi sovellusten lokalisoinnin ja korjaa puuttuvat käännökset itsenäisesti. Kirjasto luo, päivittää ja synkronoi käännöstiedostoja sovelluksen elinkaaren aikana ilman manuaalista ylläpitoa.
SHL hyödyntää self‑healing‑periaatetta: kun sovellus pyytää puuttuvaa käännösavainta, kirjasto luo sen automaattisesti, hakee tarvittaessa konekäännöksen ja tallentaa tuloksen oikeaan kielitiedostoon. Tämä tekee lokalisoinnista determinististä ja vähentää kehittäjän työmäärää.
Ominaisuudet
[muokkaa]- Automaattinen puuttuvien käännösten luonti
- Uusien kielitiedostojen automaattinen generointi
- BCP‑47‑kielikoodien tuki (esim. fi-FI, pt-BR, zh-TW)
- GLFM‑pohjainen kielivalidaatio (7900+ kieltä)
- Konekäännöstuki: Microsoft Translater, DeepL, Google Translate, MyMemory, LibreTranslate, Papago
- Itsestään korjautuva lokalisointiputki (self‑healing)
- Yhtenäinen korkean tason lokalisointimoottori
- Ei ulkoisia riippuvuuksia (zero‑dependency core)
Rajoitukset
[muokkaa]SHL ei käsittele käyttäjän auditoimia eikä muokattuja tiedostoja. Kirjasto ei tee self‑healing‑korjauksia käyttäjän omiin data‑ tai konfiguraatiotiedostoihin, vaan toimii ainoastaan sovelluksen omassa lokalisointikerroksessa.
Arkkitehtuuri
[muokkaa]SHL:n arkkitehtuuri perustuu kerrosmalliin, jossa lokalisointimoottori ohjaa käännöspyyntöjä reitittimen kautta eri palveluntarjoajille. Provider‑kerros käyttää konfiguraatiota, joka määrittää palveluiden prioriteetit, aikakatkaisut, ympäristömuuttujat ja sisällön suodatuksen.
Asennus
[muokkaa]SHL on saatavilla PyPI:stä:
pip install self-healing-localization
Esimerkki
[muokkaa]from shl.engine import LocalizationEngine
engine = LocalizationEngine(lang_code="fi", base_lang="en")
teksti = engine.ui_text("tervetuloa", "Welcome to the App!")
print(teksti) # "Tervetuloa sovellukseen!"