Added support for localization

master
Michele Viotto 2021-03-08 16:05:03 +01:00
parent 13c9caaa88
commit a5113bc522
3 changed files with 57 additions and 18 deletions

View File

@ -1,5 +1,6 @@
betterpm = {}
local S = minetest.get_translator("betterpm")
local modpath = minetest.get_modpath("betterpm")
local storage = minetest.get_mod_storage()
local reply_to = {}
@ -20,14 +21,14 @@ local function sendMessage(sender, target, message)
if not minetest.check_player_privs(sender, { shout=true }) and betterpm.requires_shout then
minetest.chat_send_player(sender,
minetest.colorize("#ff0000", "You don't have the privilege to send private messages"))
minetest.colorize("#ff0000", S("You don't have the privilege to send private messages")))
return
end
local ignored = minetest.deserialize(storage:get_string(target)) or {}
if ignored[sender] or ignored[":all"] then
minetest.chat_send_player(sender,
minetest.colorize("#ff0000", "You can't send messages to " .. target))
minetest.colorize("#ff0000", S("You can't send messages to @1", target)))
return
end
@ -39,7 +40,7 @@ local function sendMessage(sender, target, message)
minetest.colorize(betterpm.senderPrefixColor, formatPrefix(betterpm.senderPrefix, sender, target) ..
minetest.colorize(betterpm.senderMsgColor, message)))
else
minetest.chat_send_player(sender, minetest.colorize("#ff0000", target .. " is not online"))
minetest.chat_send_player(sender, minetest.colorize("#ff0000", S("@1 is not online", target)))
end
end
@ -48,8 +49,8 @@ ChatCmdBuilder.new("msg", function(cmd)
sendMessage(sender, target, message)
end)
end, {
description = "Write private messages",
params = "<name> <message>",
description = S("Write private messages"),
params = S("<name>") .. " " .. S("<message>"),
})
ChatCmdBuilder.new("w", function(cmd)
@ -57,15 +58,15 @@ ChatCmdBuilder.new("w", function(cmd)
sendMessage(sender, target, message)
end)
end, {
description = "Alias for /msg",
params = "<name> <message>",
description = S("Alias for /msg"),
params = S("<name>") .. " " .. S("<message>"),
})
ChatCmdBuilder.new("r", function(cmd)
cmd:sub(":message:text", function (sender, message)
if not minetest.check_player_privs(sender, { shout=true }) and betterpm.requires_shout then
minetest.chat_send_player(sender,
minetest.colorize("#ff0000", "You don't have the privilege to send private messages"))
minetest.colorize("#ff0000", S("You don't have the privilege to send private messages")))
return
end
@ -74,7 +75,7 @@ ChatCmdBuilder.new("r", function(cmd)
local ignored = minetest.deserialize(storage:get_string(reply_to[sender])) or {}
if ignored[sender] or ignored[":all"] then
minetest.chat_send_player(sender,
minetest.colorize("#ff0000", "You can't send messages to " .. reply_to[sender]))
minetest.colorize("#ff0000", S("You can't send messages to @1", reply_to[sender])))
return
end
@ -86,12 +87,12 @@ ChatCmdBuilder.new("r", function(cmd)
minetest.colorize(betterpm.senderPrefixColor, formatPrefix(betterpm.senderPrefix, sender, reply_to[sender]) ..
minetest.colorize(betterpm.senderMsgColor, message)))
else
minetest.chat_send_player(sender, "You must write to someone before replying. Use /msg <name> <message>")
minetest.chat_send_player(sender, S("You must write to someone before replying. Use /msg <name> <message>"))
end
end)
end, {
description = "Reply to a private message",
params = "<message>",
description = S("Reply to a private message"),
params = S("<message>"),
})
-- ignore private messages
@ -101,10 +102,10 @@ ChatCmdBuilder.new("pmignore", function(cmd)
local ignored = minetest.deserialize(storage:get_string(sender)) or {}
if ignored[":all"] then
ignored[":all"] = false
minetest.chat_send_player("You are no longer ignoring private messages")
minetest.chat_send_player(sender, S("You are no longer ignoring all private messages"))
else
ignored[":all"] = true
minetest.chat_send_player("You are now ignoring private messages")
minetest.chat_send_player(sender, S("You are now ignoring all private messages"))
end
storage:set_string(sender, minetest.serialize(ignored))
end)
@ -113,16 +114,16 @@ ChatCmdBuilder.new("pmignore", function(cmd)
local ignored = minetest.deserialize(storage:get_string(sender)) or {}
if ignored[name] then
ignored[name] = false
minetest.chat_send_player("You are no longer ignoring private messages from " .. name)
minetest.chat_send_player(sender, S("You are no longer ignoring private messages from @1", name))
else
ignored[name] = true
minetest.chat_send_player("You are now ignoring private messages from " .. name)
minetest.chat_send_player(sender, S("You are now ignoring private messages from @1", name))
end
storage:set_string(sender, minetest.serialize(ignored))
end)
end, {
description = "Ignore private messages from specific players or from everyone (/pmignore)",
params = "<name>",
description = S("Ignore private messages from specific players or from everyone (/pmignore)"),
params = S("<name>"),
})
minetest.log("action", "[BETTERPM] Mod initialised")

19
locale/betterpm.it.tr Normal file
View File

@ -0,0 +1,19 @@
# textdomain: betterpm
### init.lua ###
You don't have the privilege to send private messages=Non hai il permesso di inviare messaggi privati
You can't send messages to @1=Non puoi mandare messaggi privati a @1
@1 is not online=@1 non è online
Write private messages=Scrivi messaggi privati
<name>=<nome>
<message>=<messaggio>
Alias for /msg=Alias per /msg
You must write to someone before replying. Use /msg <name> <message>=Devi scrivere a qualcuno prima di poter rispondere. Usa /msg <nome> <messaggio>
Reply to a private message=Rispondi ad un messaggio privato
You are no longer ignoring all private messages=Non stai più ignorando tutti i messaggi privati
You are now ignoring all private messages=Stai ignorando tutti i messaggi privati
You are no longer ignoring private messages from @1=Non stai più ignorando i messaggi privati di @1
You are now ignoring private messages from @1=Stai ignorando i messaggi privati di @1
Ignore private messages from specific players or from everyone (/pmignore)=Ignora i messaggi privati di utenti specifici o di tutti (/pmignore)

19
locale/template.txt Normal file
View File

@ -0,0 +1,19 @@
# textdomain: betterpm
### init.lua ###
You don't have the privilege to send private messages=
You can't send messages to @1=
@1 is not online=
Write private messages=
<name>=
<message>=
Alias for /msg=
You must write to someone before replying. Use /msg <name> <message>=
Reply to a private message=
You are no longer ignoring all private messages=
You are now ignoring all private messages=
You are no longer ignoring private messages from @1=
You are now ignoring private messages from @1=
Ignore private messages from specific players or from everyone (/pmignore)=