Make achievements translatable
This commit is contained in:
parent
522a2b9a73
commit
550fa39d86
7 changed files with 93 additions and 91 deletions
|
@ -274,9 +274,9 @@ function awards.unlock(name, award)
|
|||
elseif awards.show_mode == "chat" then
|
||||
local chat_announce
|
||||
if awdef.secret == true then
|
||||
chat_announce = S("Secret achievement gotten: %s")
|
||||
chat_announce = S("Secret achievement gotten: @1")
|
||||
else
|
||||
chat_announce = S("Achievement gotten: %s")
|
||||
chat_announce = S("Achievement gotten: @1")
|
||||
end
|
||||
-- use the chat console to send it
|
||||
minetest.chat_send_player(name, string.format(chat_announce, title))
|
||||
|
@ -386,12 +386,14 @@ function awards.getFormspec(name, to, sid)
|
|||
if def and def.title then
|
||||
title = def.title
|
||||
end
|
||||
local status = "%s"
|
||||
local status
|
||||
if item.got then
|
||||
status = S("%s (got)")
|
||||
status = S("@1 (got)", title)
|
||||
else
|
||||
status = title
|
||||
end
|
||||
formspec = formspec .. "label[1,2.75;" ..
|
||||
string.format(status, minetest.formspec_escape(title)) ..
|
||||
minetest.formspec_escape(status) ..
|
||||
"]"
|
||||
if def and def.icon then
|
||||
formspec = formspec .. "image[1,0;3,3;" .. def.icon .. "]"
|
||||
|
@ -466,14 +468,14 @@ function awards.show_to(name, to, sid, text)
|
|||
minetest.chat_send_player(to, S("You have not gotten any awards."))
|
||||
return
|
||||
end
|
||||
minetest.chat_send_player(to, string.format(S("%s’s awards:"), name))
|
||||
minetest.chat_send_player(to, S("@1’s awards:"), name)
|
||||
|
||||
for _, str in pairs(awards.players[name].unlocked) do
|
||||
local def = awards.def[str]
|
||||
if def then
|
||||
if def.title then
|
||||
if def.description then
|
||||
minetest.chat_send_player(to, string.format(S("%s: %s"), def.title, def.description))
|
||||
minetest.chat_send_player(to, S("@1: @2", def.title, def.description))
|
||||
else
|
||||
minetest.chat_send_player(to, def.title)
|
||||
end
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
%s: %s=%s: %s
|
||||
%s (got)=%s (erhalten)
|
||||
%s’s awards:=Auszeichnungen von %s:
|
||||
# textdomain:awards
|
||||
@1: @2=@1: @2
|
||||
@1 (got)=@1 (erhalten)
|
||||
@1’s awards:=Auszeichnungen von @1:
|
||||
(Secret Award)=(Geheime Auszeichnung)
|
||||
Achievement gotten!=Auszeichnung erhalten!
|
||||
Achievement gotten:=Auszeichnung erhalten:
|
||||
Achievement gotten: %s=Auszeichnung erhalten: %s
|
||||
Achievement gotten: @1=Auszeichnung erhalten: @1
|
||||
Secret achievement gotten!=Geheime Auszeichnung erhalten!
|
||||
Secret achievement gotten:=Geheime Auszeichnung erhalten:
|
||||
Secret achievement gotten: %s=Geheime Auszeichnung erhalten: %s
|
||||
Secret achievement gotten: @1=Geheime Auszeichnung erhalten: @1
|
||||
Get this achievement to find out what it is.=Verdienen Sie sich diese Auszeichnung, um herauszufinden, was sie ist.
|
||||
You have not gotten any awards.=Sie haben noch keine Auszeichnungen.
|
||||
You've disabled awards. Type /awards enable to reenable.=Sie haben die Auszeichnungen deaktiviert. Geben Sie »/awards enable« ein, um sie wieder zu aktivieren.
|
||||
|
@ -22,29 +23,29 @@ You have disabled your achievements.=Sie haben Ihre Auszeichnungen deaktiviert.
|
|||
You have enabled your achievements.=Sie haben Ihre Auszeichnungen aktiviert.
|
||||
[c|clear|disable|enable]=[c|clear|disable|enable]
|
||||
Awards=Auszeichnungen
|
||||
%d/%d crafted=%d/%d gefertigt
|
||||
%d/%d deaths=%d/%d Tode
|
||||
%d/%d dug=%d/%d abgebaut
|
||||
%d/%d game joins=%d/%d Spielen beigetreten
|
||||
%d/%d lines of chat=%d/%d Chatzeilen
|
||||
%d/%d placed=%d/%d platziert
|
||||
Die %d times.=Sterben Sie %d mal.
|
||||
@1/@2 crafted=@1/@2 gefertigt
|
||||
@1/@2 deaths=@1/@2 Tode
|
||||
@1/@2 dug=@1/@2 abgebaut
|
||||
@1/@2 game joins=@1/@2 Spielen beigetreten
|
||||
@1/@2 lines of chat=@1/@2 Chatzeilen
|
||||
@1/@2 placed=@1/@2 platziert
|
||||
Die @1 times.=Sterben Sie @1 mal.
|
||||
Die.=Sterben Sie.
|
||||
Craft: %d×%s=Fertigen Sie an: %d×%s
|
||||
Craft: %s=Fertigen Sie an: %s
|
||||
Mine a block: %s=Bauen Sie einen Block ab: %s
|
||||
Mine blocks: %d×%s=Bauen Sie Blöcke ab: %d×%s
|
||||
Place a block: %s=Platzieren Sie einen Block: %s
|
||||
Place blocks: %d×%s=Platzieren Sie Blöcke: %d×%s
|
||||
Craft: @1×@2=Fertigen Sie an: @1×@2
|
||||
Craft: @1=Fertigen Sie an: @1
|
||||
Mine a block: @1=Bauen Sie einen Block ab: @1
|
||||
Mine blocks: @1×@2=Bauen Sie Blöcke ab: @1×@2
|
||||
Place a block: @1=Platzieren Sie einen Block: @1
|
||||
Place blocks: @1×@2=Platzieren Sie Blöcke: @1×@2
|
||||
Join the game.=Treten Sie dem Spiel bei.
|
||||
Join the game %d times.=Treten Sie dem Spiel %d mal bei.
|
||||
Join the game @1 times.=Treten Sie dem Spiel @1 mal bei.
|
||||
Show details of an achievement=Details einer Auszeichnung anzeigen
|
||||
OK=OK
|
||||
Error: No awards available.=Fehler: Keine Auszeichnungen vorhanden.
|
||||
Eat: %d×%s=Essen Sie: %d×%s
|
||||
Eat: %s=Essen Sie: %s
|
||||
%d/%d eaten=%d/%d gegessen
|
||||
Place %d block(s).=Platzieren Sie %d Blöcke.
|
||||
Dig %d block(s).=Bauen Sie %d Blöcke ab.
|
||||
Eat %d item(s).=Essen Sie %d Dinge.
|
||||
Craft %d item(s).=Fertigen Sie %d Gegenstände.
|
||||
Eat: @1×@2=Essen Sie: @1×@2
|
||||
Eat: @1=Essen Sie: @1
|
||||
@1/@2 eaten=@1/@2 gegessen
|
||||
Place @1 block(s).=Platzieren Sie @1 Blöcke.
|
||||
Dig @1 block(s).=Bauen Sie @1 Blöcke ab.
|
||||
Eat @1 item(s).=Essen Sie @1 Dinge.
|
||||
Craft @1 item(s).=Fertigen Sie @1 Gegenstände.
|
||||
|
|
|
@ -1,39 +1,40 @@
|
|||
%d/%d chat messages=
|
||||
%d/%d crafted=
|
||||
%d/%d deaths=
|
||||
%d/%d dug=
|
||||
%d/%d game joins=
|
||||
%d/%d placed=
|
||||
%s (got)=
|
||||
%s: %s=
|
||||
%s’s awards:=
|
||||
# textdomain:awards
|
||||
@1/@2 chat messages=
|
||||
@1/@2 crafted=
|
||||
@1/@2 deaths=
|
||||
@1/@2 dug=
|
||||
@1/@2 game joins=
|
||||
@1/@2 placed=
|
||||
@1 (got)=
|
||||
@1: @1=
|
||||
@1’s awards:=
|
||||
(Secret Award)=
|
||||
<achievement ID>=
|
||||
<name>=
|
||||
A Cat in a Pop-Tart?!=
|
||||
Achievement gotten!=
|
||||
Achievement gotten:=
|
||||
Achievement gotten: %s=
|
||||
Achievement gotten: @1=
|
||||
Achievement not found.=
|
||||
All your awards and statistics have been cleared. You can now start again.=
|
||||
Awards=
|
||||
Craft: %d×%s=
|
||||
Craft: %s=
|
||||
Die %d times.=
|
||||
Craft: @1×@2=
|
||||
Craft: @1=
|
||||
Die @1 times.=
|
||||
Die.=
|
||||
Get the achievements statistics for the given player or yourself=
|
||||
Join the game %d times.=
|
||||
Join the game @1 times.=
|
||||
Join the game.=
|
||||
List awards in chat (deprecated)=
|
||||
Place a block: %s=
|
||||
Place blocks: %d×%s=
|
||||
Place a block: @1=
|
||||
Place blocks: @1×@2=
|
||||
Secret Achievement gotten!=
|
||||
Secret Achievement gotten:=
|
||||
Secret Achievement gotten: %s=
|
||||
Secret Achievement gotten: @1=
|
||||
Show details of an achievement=
|
||||
Show, clear, disable or enable your achievements=
|
||||
Get this achievement to find out what it is.=
|
||||
Write %d chat messages.=
|
||||
Write @1 chat messages.=
|
||||
Write something in chat.=
|
||||
You have disabled your achievements.=
|
||||
You have enabled your achievements.=
|
||||
|
@ -42,10 +43,10 @@ You've disabled awards. Type /awards enable to reenable.=
|
|||
[c|clear|disable|enable]=
|
||||
OK=
|
||||
Error: No awards available.=
|
||||
Eat: %d×%s=
|
||||
Eat: %s=
|
||||
%d/%d eaten=
|
||||
Place %d block(s).=
|
||||
Dig %d block(s).=
|
||||
Eat %d item(s).=
|
||||
Craft %d item(s).=
|
||||
Eat: @1×@2=
|
||||
Eat: @1=
|
||||
@1/@2 eaten=
|
||||
Place @1 block(s).=
|
||||
Dig @1 block(s).=
|
||||
Eat @1 item(s).=
|
||||
Craft @1 item(s).=
|
||||
|
|
|
@ -32,7 +32,7 @@ awards.register_trigger("dig", function(def)
|
|||
end
|
||||
return {
|
||||
perc = itemcount / tmp.target,
|
||||
label = string.format(S("%d/%d dug"), itemcount, tmp.target)
|
||||
label = S("@1/@2 dug", itemcount, tmp.target)
|
||||
}
|
||||
end
|
||||
def.getDefaultDescription = function(self)
|
||||
|
@ -42,12 +42,12 @@ awards.register_trigger("dig", function(def)
|
|||
nname = self.trigger.node
|
||||
end
|
||||
if self.trigger.target ~= 1 then
|
||||
return string.format(S("Mine blocks: %d×%s"), self.trigger.target, nname)
|
||||
return S("Mine blocks: @1×@2", self.trigger.target, nname)
|
||||
else
|
||||
return string.format(S("Mine a block: %s"), nname)
|
||||
return S("Mine a block: @1", nname)
|
||||
end
|
||||
else
|
||||
return string.format(S("Mine %d block(s)."), self.trigger.target)
|
||||
return S("Mine @1 block(s).", self.trigger.target)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
@ -68,7 +68,7 @@ awards.register_trigger("place", function(def)
|
|||
end
|
||||
return {
|
||||
perc = itemcount / tmp.target,
|
||||
label = string.format(S("%d/%d placed"), itemcount, tmp.target)
|
||||
label = S("@1/@2 placed"), itemcount, tmp.target
|
||||
}
|
||||
end
|
||||
def.getDefaultDescription = function(self)
|
||||
|
@ -78,12 +78,12 @@ awards.register_trigger("place", function(def)
|
|||
nname = self.trigger.node
|
||||
end
|
||||
if self.trigger.target ~= 1 then
|
||||
return string.format(S("Place blocks: %d×%s"), self.trigger.target, nname)
|
||||
return S("Place blocks: @1×@2", self.trigger.target, nname)
|
||||
else
|
||||
return string.format(S("Place a block: %s"), nname)
|
||||
return S("Place a block: @1", nname)
|
||||
end
|
||||
else
|
||||
return string.format(S("Place %d block(s)."), self.trigger.target)
|
||||
return S("Place @1 block(s).", self.trigger.target)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
@ -104,7 +104,7 @@ awards.register_trigger("eat", function(def)
|
|||
end
|
||||
return {
|
||||
perc = itemcount / tmp.target,
|
||||
label = string.format(S("%d/%d eaten"), itemcount, tmp.target)
|
||||
label = S("@1/@2 eaten", itemcount, tmp.target)
|
||||
}
|
||||
end
|
||||
def.getDefaultDescription = function(self)
|
||||
|
@ -114,12 +114,12 @@ awards.register_trigger("eat", function(def)
|
|||
iname = self.trigger.iode
|
||||
end
|
||||
if self.trigger.target ~= 1 then
|
||||
return string.format(S("Eat: %d×%s"), self.trigger.target, iname)
|
||||
return S("Eat: @1×@2", self.trigger.target, iname)
|
||||
else
|
||||
return string.format(S("Eat: %s"), iname)
|
||||
return S("Eat: @1", iname)
|
||||
end
|
||||
else
|
||||
return string.format(S("Eat %d item(s)."), self.trigger.target)
|
||||
return S("Eat @1 item(s).", self.trigger.target)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
@ -134,12 +134,12 @@ awards.register_trigger("death", function(def)
|
|||
local itemcount = data.deaths or 0
|
||||
return {
|
||||
perc = itemcount / tmp.target,
|
||||
label = string.format(S("%d/%d deaths"), itemcount, tmp.target)
|
||||
label = S("@1/@2 deaths", itemcount, tmp.target)
|
||||
}
|
||||
end
|
||||
def.getDefaultDescription = function(self)
|
||||
if self.trigger.target ~= 1 then
|
||||
return string.format(S("Die %d times."), self.trigger.target)
|
||||
return S("Die @1 times.", self.trigger.target)
|
||||
else
|
||||
return S("Die.")
|
||||
end
|
||||
|
@ -156,12 +156,12 @@ awards.register_trigger("chat", function(def)
|
|||
local itemcount = data.chats or 0
|
||||
return {
|
||||
perc = itemcount / tmp.target,
|
||||
label = string.format(S("%d/%d chat messages"), itemcount, tmp.target)
|
||||
label = S("@1/@2 chat messages", itemcount, tmp.target)
|
||||
}
|
||||
end
|
||||
def.getDefaultDescription = function(self)
|
||||
if self.trigger.target ~= 1 then
|
||||
return string.format(S("Write %d chat messages."), self.trigger.target)
|
||||
return S("Write @1 chat messages.", self.trigger.target)
|
||||
else
|
||||
return S("Write something in chat.")
|
||||
end
|
||||
|
@ -178,12 +178,12 @@ awards.register_trigger("join", function(def)
|
|||
local itemcount = data.joins or 0
|
||||
return {
|
||||
perc = itemcount / tmp.target,
|
||||
label = string.format(S("%d/%d game joins"), itemcount, tmp.target)
|
||||
label = S("@1/@2 game joins", itemcount, tmp.target)
|
||||
}
|
||||
end
|
||||
def.getDefaultDescription = function(self)
|
||||
if self.trigger.target ~= 1 then
|
||||
return string.format(S("Join the game %d times."), self.trigger.target)
|
||||
return S("Join the game @1 times.", self.trigger.target)
|
||||
else
|
||||
return S("Join the game.")
|
||||
end
|
||||
|
@ -206,7 +206,7 @@ awards.register_trigger("craft", function(def)
|
|||
end
|
||||
return {
|
||||
perc = itemcount / tmp.target,
|
||||
label = string.format(S("%d/%d crafted"), itemcount, tmp.target)
|
||||
label = S("@1/@2 crafted", itemcount, tmp.target)
|
||||
}
|
||||
end
|
||||
def.getDefaultDescription = function(self)
|
||||
|
@ -216,12 +216,12 @@ awards.register_trigger("craft", function(def)
|
|||
iname = self.trigger.item
|
||||
end
|
||||
if self.trigger.target ~= 1 then
|
||||
return string.format(S("Craft: %d×%s"), self.trigger.target, iname)
|
||||
return S("Craft: @1×@2", self.trigger.target, iname)
|
||||
else
|
||||
return string.format(S("Craft: %s"), iname)
|
||||
return S("Craft: @1", iname)
|
||||
end
|
||||
else
|
||||
return string.format(S("Craft %d item(s)."), self.trigger.target)
|
||||
return S("Craft @1 item(s).", self.trigger.target)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
|
|
@ -3,9 +3,7 @@
|
|||
-- If true, activates achievements from other Minecraft editions (XBox, PS, etc.)
|
||||
local non_pc_achievements = false
|
||||
|
||||
-- TODO: Enable translator when there's a translation
|
||||
-- local S = minetest.get_translator("mcl_achievements")
|
||||
local S = function(s) return s end
|
||||
local S = minetest.get_translator("mcl_achievements")
|
||||
|
||||
-- Achievements from PC Edition
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
# textdomain: mcl_achievements
|
||||
# textdomain:mcl_achievements
|
||||
Aquire Hardware=Schmied
|
||||
Bake Bread=Brot backen
|
||||
Benchmarking=Tischler
|
||||
Cow Tipper=Kuhschubser
|
||||
Craft a bookshelf.=Fertigen Sie ein Bücherregal
|
||||
Craft a cake using wheat, sugar, milk and an egg.=Fertigen Sie einen Kuchen mit Weizen, Zucker, Milch und einem Ei.
|
||||
Craft a bookshelf.=Fertigen Sie ein Bücherregal.
|
||||
Craft a cake using wheat, sugar, milk and an egg.=Fertigen Sie einen Kuchen aus Weizen, Zucker, Milch und einem Ei.
|
||||
Craft a crafting table from 4 wooden planks.=Fertigen Sie eine Werkbank aus 4 Holzplanken.
|
||||
Craft a stone pickaxe using sticks and cobblestone.=Fertigen Sie eine Steinspitzhacke mit Stöcken und Kopfsteinpflaster.
|
||||
Craft a wooden sword using wooden planks and sticks on a crafting table.=Fertigen Sie ein Holzschwert mit Holzplanken und Stöcken an einer Werkbank.
|
||||
Craft a stone pickaxe using sticks and cobblestone.=Fertigen Sie eine Steinspitzhacke aus Stöcken und Kopfsteinpflaster.
|
||||
Craft a wooden sword using wooden planks and sticks on a crafting table.=Fertigen Sie ein Holzschwert aus Holzplanken und Stöcken an einer Werkbank.
|
||||
DIAMONDS!=DIAMANTEN!
|
||||
Delicious Fish=Leckerer Fisch
|
||||
Dispense With This=Ein Auge darauf werfen
|
||||
|
@ -26,7 +26,7 @@ Mine emerald ore.=Bauen Sie Smaragderz ab.
|
|||
On A Rail=Auf der Schiene
|
||||
Pick up a blaze rod from the floor.=Sammeln Sie eine Lohenrute vom Boden auf.
|
||||
Pick up a diamond from the floor.=Sammeln Sie einen Diamanten vom Boden auf.
|
||||
Pick up a wood item from the ground.@nHint: Punch a tree trunk until it pops out as an item.=Sammeln Sie ein Holz vom Boden auf.@nTipp: Hauen Sie einen Baumstamm, bis er als Gegenstand herausploppt.
|
||||
Pick up a wood item from the ground.@nHint: Punch a tree trunk until it pops out as an item.=Sammeln Sie ein Stück Holz vom Boden auf.@nTipp: Hauen Sie einen Baumstamm, bis er als Gegenstand herausploppt.
|
||||
Pick up leather from the floor.@nHint: Cows and some other animals have a chance to drop leather, when killed.=Sammeln Sie Leder vom Boden auf.@nTipp: Kühe und einige andere Tiere werfen vielleicht Leder ab, wenn sie sterben.
|
||||
Place a dispenser.=Platzieren Sie einen Werfer
|
||||
Place a flower pot.=Platzieren Sie einen Blumentopf
|
||||
|
@ -41,7 +41,7 @@ The Lie=Die Lüge
|
|||
Time to Farm!=Bauernzeit
|
||||
Time to Mine!=Zeit zum Graben!
|
||||
Time to Strike!=Zuschlagen!
|
||||
Travel by minecart for at least 1000 meters from your starting point in a single ride.=Reisen Sie mit einer Lore für mindestens 1000 Meter vom Startpunkt in einer einzigen Fahrt.
|
||||
Travel by minecart for at least 1000 meters from your starting point in a single ride.=Reisen Sie mit einer Lore für mindestens 1000 Meter vom Startpunkt aus in einer einzigen Fahrt.
|
||||
Use 8 cobblestones to craft a furnace.=Benutzen Sie 8 Kopfsteinpflaster, um einen Ofen zu fertigen.
|
||||
Use a crafting table to craft a wooden hoe from wooden planks and sticks.=Benutzen Sie eine Werkbank, um eine Holzhacke aus Holzplanken und Stöcken zu fertigen.
|
||||
Use a crafting table to craft a wooden pickaxe from wooden planks and sticks.=Benutzen Sie eine Werkbank, um eine Holzspitzhacke aus Holzplanken und Stöcken zu fertigen.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# textdomain: mcl_achievements
|
||||
# textdomain:mcl_achievements
|
||||
Aquire Hardware=
|
||||
Bake Bread=
|
||||
Benchmarking=
|
||||
|
|
Reference in a new issue