Merge branch 'gamepadactionl10n' into 'master'

Translate gamepad actions, part 1

See merge request OpenMW/openmw!4888
This commit is contained in:
Alexei Kotov 2025-09-01 15:06:02 +03:00
commit 77f36dcdac
15 changed files with 232 additions and 130 deletions

View File

@ -94,11 +94,11 @@ namespace MWGui
if (Settings::gui().mControllerMenus) if (Settings::gui().mControllerMenus)
{ {
mControllerButtons.mA = "#{sSelect}"; mControllerButtons.mA = "#{Interface:Select}";
mControllerButtons.mB = "#{Interface:Cancel}"; mControllerButtons.mB = "#{Interface:Cancel}";
mControllerButtons.mX = "#{sCreate}"; mControllerButtons.mX = "#{Interface:Create}";
mControllerButtons.mY = "#{sMagicEffects}"; mControllerButtons.mY = "#{Interface:MagicEffects}";
mControllerButtons.mR3 = "#{sInfo}"; mControllerButtons.mR3 = "#{Interface:Info}";
} }
center(); center();

View File

@ -60,9 +60,9 @@ namespace MWGui
if (Settings::gui().mControllerMenus) if (Settings::gui().mControllerMenus)
{ {
mControllerButtons.mLStick = "#{sMouse}"; mControllerButtons.mLStick = "#{Interface:Mouse}";
mControllerButtons.mA = "#{sSelect}"; mControllerButtons.mA = "#{Interface:Select}";
mControllerButtons.mB = "#{sBack}"; mControllerButtons.mB = "#{Interface:Back}";
} }
updateBirths(); updateBirths();
@ -78,13 +78,13 @@ namespace MWGui
{ {
okButton->setCaption( okButton->setCaption(
MyGUI::UString(MWBase::Environment::get().getWindowManager()->getGameSettingString("sNext", {}))); MyGUI::UString(MWBase::Environment::get().getWindowManager()->getGameSettingString("sNext", {})));
mControllerButtons.mX = "#{sNext}"; mControllerButtons.mX = "#{Interface:Next}";
} }
else if (Settings::gui().mControllerMenus) else if (Settings::gui().mControllerMenus)
{ {
okButton->setCaption( okButton->setCaption(
MyGUI::UString(MWBase::Environment::get().getWindowManager()->getGameSettingString("sDone", {}))); MyGUI::UString(MWBase::Environment::get().getWindowManager()->getGameSettingString("sDone", {})));
mControllerButtons.mX = "#{sDone}"; mControllerButtons.mX = "#{Interface:Done}";
} }
else else
okButton->setCaption( okButton->setCaption(

View File

@ -66,8 +66,8 @@ namespace MWGui
MyGUI::IntCoord(0, 0, (64 - 7) * scale, mNextPageButton->getSize().height * scale)); MyGUI::IntCoord(0, 0, (64 - 7) * scale, mNextPageButton->getSize().height * scale));
} }
mControllerButtons.mL1 = "#{sPrev}"; mControllerButtons.mL1 = "#{Interface:Prev}";
mControllerButtons.mR1 = "#{sNext}"; mControllerButtons.mR1 = "#{Interface:Next}";
mControllerButtons.mB = "#{Interface:Close}"; mControllerButtons.mB = "#{Interface:Close}";
center(); center();
@ -224,7 +224,10 @@ namespace MWGui
ControllerButtons* BookWindow::getControllerButtons() ControllerButtons* BookWindow::getControllerButtons()
{ {
mControllerButtons.mA = mTakeButton->getVisible() ? "#{sTake}" : ""; if (mTakeButton->getVisible())
mControllerButtons.mA = "#{Interface:Take}";
else
mControllerButtons.mA.clear();
return &mControllerButtons; return &mControllerButtons;
} }

View File

@ -59,8 +59,8 @@ namespace MWGui
{ {
mOkButton->setStateSelected(true); mOkButton->setStateSelected(true);
mDisableGamepadCursor = true; mDisableGamepadCursor = true;
mControllerButtons.mA = "#{sSelect}"; mControllerButtons.mA = "#{Interface:Select}";
mControllerButtons.mB = "#{sBack}"; mControllerButtons.mB = "#{Interface:Back}";
} }
center(); center();
@ -149,9 +149,9 @@ namespace MWGui
if (Settings::gui().mControllerMenus) if (Settings::gui().mControllerMenus)
{ {
mControllerButtons.mLStick = "#{sMouse}"; mControllerButtons.mLStick = "#{Interface:Mouse}";
mControllerButtons.mA = "#{sSelect}"; mControllerButtons.mA = "#{Interface:Select}";
mControllerButtons.mB = "#{sBack}"; mControllerButtons.mB = "#{Interface:Back}";
} }
updateClasses(); updateClasses();
@ -167,13 +167,13 @@ namespace MWGui
{ {
okButton->setCaption( okButton->setCaption(
MyGUI::UString(MWBase::Environment::get().getWindowManager()->getGameSettingString("sNext", {}))); MyGUI::UString(MWBase::Environment::get().getWindowManager()->getGameSettingString("sNext", {})));
mControllerButtons.mX = "#{sNext}"; mControllerButtons.mX = "#{Interface:Next}";
} }
else if (Settings::gui().mControllerMenus) else if (Settings::gui().mControllerMenus)
{ {
okButton->setCaption( okButton->setCaption(
MyGUI::UString(MWBase::Environment::get().getWindowManager()->getGameSettingString("sDone", {}))); MyGUI::UString(MWBase::Environment::get().getWindowManager()->getGameSettingString("sDone", {})));
mControllerButtons.mX = "#{sDone}"; mControllerButtons.mX = "#{Interface:Done}";
} }
else else
okButton->setCaption( okButton->setCaption(
@ -392,7 +392,7 @@ namespace MWGui
center(); center();
mDisableGamepadCursor = Settings::gui().mControllerMenus; mDisableGamepadCursor = Settings::gui().mControllerMenus;
mControllerButtons.mA = "#{sSelect}"; mControllerButtons.mA = "#{Interface:Select}";
} }
void InfoBoxDialog::setText(const std::string& str) void InfoBoxDialog::setText(const std::string& str)
@ -584,9 +584,9 @@ namespace MWGui
if (Settings::gui().mControllerMenus) if (Settings::gui().mControllerMenus)
{ {
okButton->setStateSelected(true); okButton->setStateSelected(true);
mControllerButtons.mLStick = "#{sMouse}"; mControllerButtons.mLStick = "#{Interface:Mouse}";
mControllerButtons.mA = "#{sSelect}"; mControllerButtons.mA = "#{Interface:Select}";
mControllerButtons.mB = "#{sBack}"; mControllerButtons.mB = "#{Interface:Back}";
} }
// Set default skills, attributes // Set default skills, attributes
@ -678,13 +678,13 @@ namespace MWGui
{ {
okButton->setCaption( okButton->setCaption(
MyGUI::UString(MWBase::Environment::get().getWindowManager()->getGameSettingString("sNext", {}))); MyGUI::UString(MWBase::Environment::get().getWindowManager()->getGameSettingString("sNext", {})));
mControllerButtons.mX = "#{sNext}"; mControllerButtons.mX = "#{Interface:Next}";
} }
else if (Settings::gui().mControllerMenus) else if (Settings::gui().mControllerMenus)
{ {
okButton->setCaption( okButton->setCaption(
MyGUI::UString(MWBase::Environment::get().getWindowManager()->getGameSettingString("sDone", {}))); MyGUI::UString(MWBase::Environment::get().getWindowManager()->getGameSettingString("sDone", {})));
mControllerButtons.mX = "#{sDone}"; mControllerButtons.mX = "#{Interface:Done}";
} }
else else
okButton->setCaption( okButton->setCaption(
@ -882,7 +882,7 @@ namespace MWGui
getWidget(cancelButton, "CancelButton"); getWidget(cancelButton, "CancelButton");
cancelButton->eventMouseButtonClick += MyGUI::newDelegate(this, &SelectSpecializationDialog::onCancelClicked); cancelButton->eventMouseButtonClick += MyGUI::newDelegate(this, &SelectSpecializationDialog::onCancelClicked);
mControllerButtons.mA = "#{sSelect}"; mControllerButtons.mA = "#{Interface:Select}";
mControllerButtons.mB = "#{Interface:Cancel}"; mControllerButtons.mB = "#{Interface:Cancel}";
} }
@ -963,7 +963,7 @@ namespace MWGui
if (mAttributeButtons.size() > 0) if (mAttributeButtons.size() > 0)
mAttributeButtons[0]->setStateSelected(true); mAttributeButtons[0]->setStateSelected(true);
mControllerButtons.mA = "#{sSelect}"; mControllerButtons.mA = "#{Interface:Select}";
mControllerButtons.mB = "#{Interface:Cancel}"; mControllerButtons.mB = "#{Interface:Cancel}";
} }
} }
@ -1063,7 +1063,7 @@ namespace MWGui
if (mSkillButtons.size() > 0) if (mSkillButtons.size() > 0)
mSkillButtons[0]->setStateSelected(true); mSkillButtons[0]->setStateSelected(true);
mControllerButtons.mA = "#{sSelect}"; mControllerButtons.mA = "#{Interface:Select}";
mControllerButtons.mB = "#{Interface:Cancel}"; mControllerButtons.mB = "#{Interface:Cancel}";
} }
} }

View File

@ -64,10 +64,10 @@ namespace MWGui
setCoord(200, 0, 600, 300); setCoord(200, 0, 600, 300);
mControllerButtons.mA = "#{sTake}"; mControllerButtons.mA = "#{Interface:Take}";
mControllerButtons.mB = "#{Interface:Close}"; mControllerButtons.mB = "#{Interface:Close}";
mControllerButtons.mR3 = "#{sInfo}"; mControllerButtons.mR3 = "#{Interface:Info}";
mControllerButtons.mL2 = "#{sInventory}"; mControllerButtons.mL2 = "#{Interface:Inventory}";
} }
void CompanionWindow::onItemSelected(int index) void CompanionWindow::onItemSelected(int index)

View File

@ -59,11 +59,11 @@ namespace MWGui
setCoord(200, 0, 600, 300); setCoord(200, 0, 600, 300);
mControllerButtons.mA = "#{sTake}"; mControllerButtons.mA = "#{Interface:Take}";
mControllerButtons.mB = "#{Interface:Close}"; mControllerButtons.mB = "#{Interface:Close}";
mControllerButtons.mX = "#{sTakeAll}"; mControllerButtons.mX = "#{Interface:TakeAll}";
mControllerButtons.mR3 = "#{sInfo}"; mControllerButtons.mR3 = "#{Interface:Info}";
mControllerButtons.mL2 = "#{sInventory}"; mControllerButtons.mL2 = "#{Interface:Inventory}";
} }
void ContainerWindow::onItemSelected(int index) void ContainerWindow::onItemSelected(int index)
@ -355,7 +355,10 @@ namespace MWGui
ControllerButtons* ContainerWindow::getControllerButtons() ControllerButtons* ContainerWindow::getControllerButtons()
{ {
mControllerButtons.mR1 = mDisposeCorpseButton->getVisible() ? "#{sDisposeofCorpse}" : ""; if (mDisposeCorpseButton->getVisible())
mControllerButtons.mR1 = "#{Interface:DisposeOfCorpse}";
else
mControllerButtons.mR1.clear();
return &mControllerButtons; return &mControllerButtons;
} }

View File

@ -90,7 +90,7 @@ namespace MWGui
mBribe1000Button->eventMouseButtonClick += MyGUI::newDelegate(this, &PersuasionDialog::onPersuade); mBribe1000Button->eventMouseButtonClick += MyGUI::newDelegate(this, &PersuasionDialog::onPersuade);
mDisableGamepadCursor = Settings::gui().mControllerMenus; mDisableGamepadCursor = Settings::gui().mControllerMenus;
mControllerButtons.mA = "#{sSelect}"; mControllerButtons.mA = "#{Interface:Select}";
mControllerButtons.mB = "#{Interface:Cancel}"; mControllerButtons.mB = "#{Interface:Cancel}";
} }
@ -387,9 +387,9 @@ namespace MWGui
+= MyGUI::newDelegate(this, &DialogueWindow::onWindowResize); += MyGUI::newDelegate(this, &DialogueWindow::onWindowResize);
mControllerScrollWidget = mHistory->getParent(); mControllerScrollWidget = mHistory->getParent();
mControllerButtons.mA = "#{sAsk}"; mControllerButtons.mA = "#{Interface:Ask}";
mControllerButtons.mB = "#{sGoodbye}"; mControllerButtons.mB = "#{Interface:Goodbye}";
mControllerButtons.mRStick = "#{sScrollup}"; mControllerButtons.mRStick = "#{Interface:ScrollUp}";
} }
void DialogueWindow::onTradeComplete() void DialogueWindow::onTradeComplete()

View File

@ -60,11 +60,11 @@ namespace MWGui
mTypeButton->eventMouseButtonClick += MyGUI::newDelegate(this, &EnchantingDialog::onTypeButtonClicked); mTypeButton->eventMouseButtonClick += MyGUI::newDelegate(this, &EnchantingDialog::onTypeButtonClicked);
mName->eventEditSelectAccept += MyGUI::newDelegate(this, &EnchantingDialog::onAccept); mName->eventEditSelectAccept += MyGUI::newDelegate(this, &EnchantingDialog::onAccept);
mControllerButtons.mA = "#{sSelect}"; mControllerButtons.mA = "#{Interface:Select}";
mControllerButtons.mB = "#{Interface:Cancel}"; mControllerButtons.mB = "#{Interface:Cancel}";
mControllerButtons.mY = "#{OMWEngine:EnchantType}"; mControllerButtons.mY = "#{OMWEngine:EnchantType}";
mControllerButtons.mL1 = "#{sItem}"; mControllerButtons.mL1 = "#{Interface:Item}";
mControllerButtons.mR1 = "#{sSoulGem}"; mControllerButtons.mR1 = "#{Interface:Soul}";
} }
void EnchantingDialog::onOpen() void EnchantingDialog::onOpen()
@ -158,7 +158,7 @@ namespace MWGui
mEnchanting.setSelfEnchanting(false); mEnchanting.setSelfEnchanting(false);
mEnchanting.setEnchanter(ptr); mEnchanting.setEnchanter(ptr);
mBuyButton->setCaptionWithReplacing("#{sBuy}"); mBuyButton->setCaptionWithReplacing("#{sBuy}");
mControllerButtons.mX = "#{sBuy}"; mControllerButtons.mX = "#{Interface:Buy}";
mChanceLayout->setVisible(false); mChanceLayout->setVisible(false);
mPtr = ptr; mPtr = ptr;
setSoulGem(MWWorld::Ptr()); setSoulGem(MWWorld::Ptr());
@ -170,7 +170,7 @@ namespace MWGui
mEnchanting.setSelfEnchanting(true); mEnchanting.setSelfEnchanting(true);
mEnchanting.setEnchanter(MWMechanics::getPlayer()); mEnchanting.setEnchanter(MWMechanics::getPlayer());
mBuyButton->setCaptionWithReplacing("#{sCreate}"); mBuyButton->setCaptionWithReplacing("#{sCreate}");
mControllerButtons.mX = "#{sCreate}"; mControllerButtons.mX = "#{Interface:Create}";
mChanceLayout->setVisible(Settings::game().mShowEnchantChance); mChanceLayout->setVisible(Settings::game().mShowEnchantChance);
mPtr = MWMechanics::getPlayer(); mPtr = MWMechanics::getPlayer();
setSoulGem(ptr); setSoulGem(ptr);

View File

@ -1,9 +1,27 @@
Ask: "sAsk"
Back: "sBack"
Buy: "sBuy"
Cancel: "sCancel" Cancel: "sCancel"
Close: "sClose" Close: "sClose"
Create: "sCreate"
DisposeOfCorpse: "sDisposeofCorpse"
Done: "sDone"
Goodbye: "sGoodbye"
Info: "sInfo"
Inventory: "sInventory"
Item: "sItem"
MagicEffects: "sMagicEffects"
# NB: sMouse exists but it is not localized in the Russian game and should not be used to translate Mouse
Next: "sNext"
No: "sNo" No: "sNo"
None: "sNone" None: "sNone"
OK: "sOK"
Off: "sOff" Off: "sOff"
OK: "sOK"
On: "sOn" On: "sOn"
Prev: "sPrev"
ScrollUp: "sScrollup"
Select: "sSelect"
Soul: "sSoulGem"
Take: "sTake"
TakeAll: "sTakeAll"
Yes: "sYes" Yes: "sYes"

View File

@ -1,3 +1,12 @@
Ask: "Fragen"
Back: "Zurück"
Buy: "Kaufen"
Cancel: "Abbruch"
Close: "Schließen"
Copy: "Kopieren"
Create: "Herstellen"
DisposeOfCorpse: "Leiche beseitigen"
Done: "Fertig"
DurationDay: "{days} d " DurationDay: "{days} d "
DurationHour: "{hours} h " DurationHour: "{hours} h "
DurationMinute: "{minutes} min " DurationMinute: "{minutes} min "
@ -17,18 +26,28 @@ DurationYear: |-
one{{years} Jahr } one{{years} Jahr }
other{{years} Jahre } other{{years} Jahre }
} }
Goodbye: "Lebt wohl!"
Info: "Info"
Inventory: "Inventar"
Item: "Gegenstand"
MagicEffects: "Magischer Effekt"
Mouse: "Maus"
Next: "Weiter"
No: "Nein" No: "Nein"
NotAvailableShort: "N/A"
Reset: "Zurücksetzen"
Yes: "Ja"
Cancel: "Abbrechen"
Close: "Schließen"
# This one is a bit tricky since it can be translated to # This one is a bit tricky since it can be translated to
# "keiner"/"keine"/"keines", "nichts", or "leer" ("empty") depending on context. # "keiner"/"keine"/"keines", "nichts", or "leer" ("empty") depending on context.
# #
# Using the "keine" option for now. # Using the "keine" option for now.
None: "Keine" None: "Keine"
OK: "OK" NotAvailableShort: "N/A"
Off: "Aus" Off: "Aus"
On: "Ein" OK: "OK"
Copy: "Kopieren" On: "An"
Prev: "Zurück"
Reset: "Zurücksetzen"
ScrollUp: "Nach oben scrollen"
Select: "Auswählen"
Soul: "Seele"
Take: "Nehmen"
TakeAll: "Alles nehmen"
Yes: "Ja"

View File

@ -1,3 +1,12 @@
Ask: "Ask"
Back: "Back"
Buy: "Buy"
Cancel: "Cancel"
Close: "Close"
Copy: "Copy"
Create: "Create"
DisposeOfCorpse: "Dispose of Corpse"
Done: "Done"
DurationDay: "{days} d " DurationDay: "{days} d "
DurationHour: "{hours} h " DurationHour: "{hours} h "
DurationMinute: "{minutes} min " DurationMinute: "{minutes} min "
@ -12,14 +21,24 @@ DurationYear: |-
one{{years} yr } one{{years} yr }
other{{years} yrs } other{{years} yrs }
} }
Goodbye: "Goodbye"
Info: "Info"
Inventory: "Inventory"
Item: "Item"
MagicEffects: "Magic Effects"
Mouse: "Mouse"
Next: "Next"
No: "No" No: "No"
NotAvailableShort: "N/A"
Reset: "Reset"
Yes: "Yes"
On: "On"
Off: "Off"
None: "None" None: "None"
NotAvailableShort: "N/A"
Off: "Off"
OK: "OK" OK: "OK"
Cancel: "Cancel" On: "On"
Close: "Close" Prev: "Prev"
Copy: "Copy" Reset: "Reset"
ScrollUp: "Scroll Up"
Select: "Select"
Soul: "Soul"
Take: "Take"
TakeAll: "Take All"
Yes: "Yes"

View File

@ -1,3 +1,12 @@
Ask: "Demander"
Back: "En arrière"
Buy: "Acheter"
Cancel: "Annuler"
Close: "Fermer"
Copy: "Copier"
Create: "Créer"
DisposeOfCorpse: "Supprimer cadavre"
Done: "Fait"
DurationDay: |- DurationDay: |-
{days, plural, {days, plural,
one{{days} jour } one{{days} jour }
@ -12,14 +21,24 @@ DurationYear: |-
one{{years} an } one{{years} an }
other{{years} ans } other{{years} ans }
} }
Goodbye: "Au revoir"
Info: "Info"
Inventory: "Inventaire"
Item: "Objet"
MagicEffects: "Effets magiques"
Mouse: "Souris"
Next: "Suivant"
No: "Non" No: "Non"
NotAvailableShort: "N/A"
Reset: "Réinitialiser"
Yes: "Oui"
On: "Actif"
Off: "Inactif"
None: "Aucun" None: "Aucun"
NotAvailableShort: "N/A"
Off: "Inactif"
OK: "Valider" OK: "Valider"
Cancel: "Annuler" On: "Actif"
Close: "Fermer" Prev: "Précédent"
Copy: "Copier" Reset: "Réinitialiser"
ScrollUp: "Défilement haut"
Select: "Sélectionner"
Soul: "Ame"
Take: "Prendre"
TakeAll: "Tout prendre"
Yes: "Oui"

View File

@ -1,43 +1,17 @@
DurationDay: |- Ask: "Zapytaj"
{days, plural, Back: "Wstecz"
one{{days} d. } Buy: "Kup"
other{{days} d. } Cancel: "Anuluj"
few{{days} d. } Close: "Zamknij"
many{{days} d. } Copy: "Kopiuj"
} Create: "Utwórz"
DisposeOfCorpse: "Usuń zwłoki"
DurationHour: |- Done: "Koniec"
{hours, plural, DurationDay: "{days} d. "
one{{hours} godz. } DurationHour: "{hours} godz. "
other{{hours} godz. } DurationMinute: "{minutes} min "
few{{hours} godz. } DurationMonth: "{months} mies. "
many{{hours} godz. } DurationSecond: "{seconds} s "
}
DurationMinute: |-
{minutes, plural,
one{{minutes} min }
other{{minutes} min }
few{{minutes} min }
many{{minutes} min }
}
DurationSecond: |-
{seconds, plural,
one{{seconds} s }
other{{seconds} s }
few{{seconds} s }
many{{seconds} s }
}
DurationMonth: |-
{months, plural,
one{{months} mies. }
other{{months} mies. }
few{{months} mies. }
many{{months} mies. }
}
DurationYear: |- DurationYear: |-
{years, plural, {years, plural,
one{{years} rok } one{{years} rok }
@ -45,15 +19,24 @@ DurationYear: |-
few{{years} lata } few{{years} lata }
many{{years} lat } many{{years} lat }
} }
Goodbye: "Do widzenia"
Info: "Info"
Inventory: "Ekwipunek"
Item: "Przedmiot"
MagicEffects: "Magiczne efekty"
Mouse: "Mysz"
Next: "Nast."
No: "Nie" No: "Nie"
NotAvailableShort: "N/D"
Reset: "Przywróć"
Yes: "Tak"
On: "Wł."
Off: "Wył."
None: "Brak" None: "Brak"
NotAvailableShort: "N/D"
Off: "Wył."
OK: "OK" OK: "OK"
Cancel: "Anuluj" On: "Wł."
Close: "Zamknij" Prev: "Poprz."
Copy: "Kopiuj" Reset: "Przywróć"
ScrollUp: "Przewiń w górę"
Select: "Wybierz"
Soul: "Dusza"
Take: "Weź"
TakeAll: "Weź wszystko"
Yes: "Tak"

View File

@ -1,6 +1,12 @@
Ask: "Спросить"
Back: "Назад"
Buy: "Купить"
Cancel: "Отмена" Cancel: "Отмена"
Close: "Закрыть" Close: "Закрыть"
Copy: "Скопировать" Copy: "Скопировать"
Create: "Создать"
DisposeOfCorpse: "Убрать тело"
Done: "Готово"
DurationDay: "{days} д " DurationDay: "{days} д "
DurationHour: "{hours} ч " DurationHour: "{hours} ч "
DurationMinute: "{minutes} мин " DurationMinute: "{minutes} мин "
@ -12,11 +18,24 @@ DurationYear: |-
few{{years} г } few{{years} г }
other{{years} л } other{{years} л }
} }
Goodbye: "Прощание"
Info: "Инфо"
Inventory: "Инвентарь"
Item: "Предмет"
MagicEffects: "Маг. эффекты"
Mouse: "Мышь"
Next: "След"
No: "Нет" No: "Нет"
NotAvailableShort: "Н/Д"
None: "Нет" None: "Нет"
OK: "OK" NotAvailableShort: "Н"
Off: "Выкл" Off: "Выкл"
OK: "OK"
On: "Вкл" On: "Вкл"
Prev: "Пред"
Reset: "Сбросить" Reset: "Сбросить"
ScrollUp: "Прокрутить вверх"
Select: "Выбрать"
Soul: "Душа"
Take: "Взять"
TakeAll: "Взять все"
Yes: "Да" Yes: "Да"

View File

@ -1,3 +1,12 @@
Ask: "Fråga"
Back: "Bakåt"
Buy: "Köp"
Cancel: "Avbryt"
Close: "Stäng"
Copy: "Kopiera"
Create: "Skapa"
DisposeOfCorpse: "Undanröj liket"
Done: "Klar"
DurationDay: "{days} d " DurationDay: "{days} d "
DurationHour: "{hours} tim " DurationHour: "{hours} tim "
DurationMinute: "{minutes} min " DurationMinute: "{minutes} min "
@ -12,14 +21,24 @@ DurationYear: |-
one{{years} år } one{{years} år }
other{{years} år } other{{years} år }
} }
Goodbye: "Adjö"
Info: "Info"
Item: "Föremål"
Inventory: "Inventariet"
MagicEffects: "Magiska effekter"
Mouse: "Mus"
Next: "Nästa"
No: "Nej" No: "Nej"
NotAvailableShort: "N/A"
Reset: "Reset"
Yes: "Ja"
On: "På"
Off: "Av"
None: "Inget" None: "Inget"
NotAvailableShort: "N/A"
Off: "Av"
OK: "Ok" OK: "Ok"
Cancel: "Avbryt" On: "På"
Close: "Stäng" Prev: "Föreg."
Copy: "Kopiera" Reset: "Återställ"
ScrollUp: "Scrolla upp"
Select: "Välj"
Soul: "Själ"
Take: "Ta"
TakeAll: "Ta allt"
Yes: "Ja"