OpenMW och lokalisering

Sedan över ett decennium är jag engagerad i projektet OpenMW. Det är kort och gott en spelmotor vars huvudsakliga syfte är att köra datan från det gamla datorrollspelet The Elder Scrolls III: Morrowind. Spelmotorn är byggd helt på öppen källkod av programmerare från hela världen och fungerar på en rad operativsystem, inklusive Windows, Linux och macOS.

Lua-skript och l10n-stöd

För några år sedan, i samband med implementeringen av Lua som skriptspråk till OpenMW, infördes grunden till spelmotorns framtida stöd för lokalisering (förkortat l10n) i olika språk. Än så länge stödjer systemet för lokalisering endast Lua-skriptad data, och eftersom inte riktigt all spelmekanik är överflyttad från C++ till Lua ännu finns det vissa begränsningar i hur mycket som går att översätta i skrivande stund.

Mycket går dock ändå att översätta redan nu, och som den sanna knäppskallen jag är står jag för den officiella svenska översättningen av OpenMW. Ja, du kan alltså gå in i fliken ”Languages” i inställningarna och ändra språket till svenska. Det som händer då är att alla strängar i spelmotorn som finns i Lua-skript istället för att vara kodade i C++ kommer vara på svenska. Har du Luaskriptmoddar kommer även dessa att visas på svenska, om det finns en översättningsfil på svenska som följer med modden vill säga.

Hur systemet fungerar kan du läsa om på följade sida, men kort och gott bygger det på att strängar lagras i yaml-filer, med en fil per språk. Svenska representeras exempelvis då med sv.yaml och engelska med en.yaml.

Vad går att översätta nu?

Än så länge är det som sagt endast Lua-kod som har stöd för systemet med lokalisering. Det innebär att endast sådant som kan hanteras av Lua-skript går att översätta. Just nu innebär det i sin tur mestadels inställningar och funktioner som inte fanns i Morrowind från början, exempelvis avancerade grafiska inställningar, modifierbar spelmekanik och kamerainställningar. Och Lua-skriptade moddar såsom ”Go Home!” såklart. Det mesta annat kommer vara strängar som hämtas från Morrowinds esm- och esp-filer, och dessa går inte att översätta med det smarta yaml-baserade systemet.

Morrowind på svenska – går det?!

Med andra ord går det i skrivande stund inte att översätta själva spelet Morrowind till svenska med denna metod. Den som vill att det ska stå ”Färdigheter” istället för ”Skills”, ”Basegenskaper” istället för ”Attributes” och ”STY” istället för ”Strength” får alltså vänta tills dessa spelmekaniska funktioner har flyttats från C++-kod (som ju kräver kompilering för att få effekt) till Lua-kod (som inte kräver kompilering och därför kan distribueras och justeras i moddar). Jag är naturligtvis knäpp nog att jag gärna skulle skapa mig ett lite mer Drakar och Demoner-doftande Morrowind.

Vill man översätta spelets dialog, namn på föremål, innehåll i böcker och så vidare är man för överskådlig framtid dock helt bunden till traditionella Morrowind-moddar, och en sådan mod skulle göra ditt spel i princip helt inkompatibelt med andra moddar.

OpenMW har dock större planer än bara l10n-stöd för Lua-skriptade moddar. Problemet är att det kräver noggrann planering för att få ett bra fungerande system för esm-formatbaserad data. OpenMW har sina egna format kallade *.omwgame och *.omwaddon, och hittills är dessa format i princip rena kloner av *.esm-formatet. För att få stöd för lokalisering till omwgame- och omwaddon-filer kommer man alltså behöva börja frångå esm-formatet. Moddar gjorda för OpenMW skulle då alltså sluta vara kompatibla med Morrowind.exe. Innan en sådan förändring kommer gå att genomföra krävs därför naturligtvis planering för att inte moddare ska börja använda formatet för att sen behöva uppdatera dem när formatet uppdateras.

Men planering för l10n-stöd till pluginmoddar har förts till viss del. Tyvärr har diskussionen varit i princip död sedan 2022. Det mesta av diskussionen har förts här, och i diverse ”merge requests” (såsom denna) som finns länkade i den tråden. En del av problemen har att göra med hur olika språkversioner, framför allt den ryska versionen, av Morrowind (”vaniljversionen”) var uppbyggda. Hur ska man stödja dessa parallellt med ett helt nytt och betydligt smidigare system?

Morrowind på svenska – vill nån ens ha det?!

Nog med allt tekniskt prat. Vill någon ens ha Morrowind på svenska? Jag vill det! Och med tanke på att det faktiskt finns en komplett svensk fanöversättning av Final Fantasy III (VI i Japan) tänker jag att det kanske ändå finns enstaka fler som tycker det skulle vara kul. ”Varför” ställer säkert vissa sig frågan. Jag kan ju trots allt engelska tillräckligt bra ändå. Och svaret är väl typ bara ”jag vet inte, men det är väl kul antar jag”.

Jag kommer knappast ha tid att översätta hela spelet själv, men jag kommer antagligen påbörja ett projekt att översätta all spelmekanik själv så snart jag får möjlighet att göra det. Detta bygger som sagt på att all spelmekanik flyttas över från C++-kod till Lua-skript istället, och detta arbete sker sakta men säkert hela tiden. Redan nu är en ganska stor del av inställningsmenyerna översatta officiellt i OpenMW till flera språk.

Skulle du vara intresserad av att översätta Morrowind? Skriv en kommentar så kanske vi kan försöka organisera ihop ett sådant projekt så snart det blir tekniskt möjligt!


Kommentarer

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *