Better gettext support for protocol version mismatch messages

Previously, xgettext failed to resolve the dynamic call.
Thanks to @JakubVanek for pointing this out.
master
est31 2015-10-05 01:52:41 +02:00
parent 2f19abd704
commit 85c6b5fd06
1 changed files with 22 additions and 9 deletions

View File

@ -284,17 +284,30 @@ function text2textlist(xpos,ypos,width,height,tl_name,textlen,text,transparency)
end end
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
function is_server_protocol_compat(proto_min, proto_max) function is_server_protocol_compat(server_proto_min, server_proto_max)
return not ((min_supp_proto > (proto_max or 24)) or (max_supp_proto < (proto_min or 13))) return not ((min_supp_proto > (server_proto_max or 24)) or (max_supp_proto < (server_proto_min or 13)))
end end
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
function is_server_protocol_compat_or_error(proto_min, proto_max) function is_server_protocol_compat_or_error(server_proto_min, server_proto_max)
if not is_server_protocol_compat(proto_min, proto_max) then if not is_server_protocol_compat(server_proto_min, server_proto_max) then
gamedata.errormessage = fgettext_ne("Protocol version mismatch, server " .. local server_prot_ver_info
((proto_min ~= proto_max) and "supports protocols between $1 and $2" or "enforces protocol version $1") .. local client_prot_ver_info
", we " .. if server_proto_min ~= server_proto_max then
((min_supp_proto ~= max_supp_proto) and "support protocols between version $3 and $4." or "only support protocol version $3"), server_prot_ver_info = fgettext_ne("Server supports protocol versions between $1 and $2. ",
proto_min or 13, proto_max or 24, min_supp_proto, max_supp_proto) server_proto_min or 13, server_proto_max or 24)
else
server_prot_ver_info = fgettext_ne("Server enforces protocol version $1. ",
server_proto_min or 13)
end
if min_supp_proto ~= max_supp_proto then
client_prot_ver_info= fgettext_ne("We support protocol versions between version $1 and $2.",
min_supp_proto, max_supp_proto)
else
client_prot_ver_info = fgettext_ne("We only support protocol version $1.", min_supp_proto)
end
gamedata.errormessage = fgettext_ne("Protocol version mismatch. ")
.. server_prot_ver_info
.. client_prot_ver_info
return false return false
end end