+string translate_modifications(string s)
+{
+ return build_mutator_list(s);
+}
+
+string translate_weaponarena(string s)
+{
+ if (s == "") return s;
+ if (s == "All Weapons Arena") return _("All Weapons Arena");
+ if (s == "All Available Weapons Arena") return _("All Available Weapons Arena");
+ if (s == "Most Weapons Arena") return _("Most Weapons Arena");
+ if (s == "Most Available Weapons Arena") return _("Most Available Weapons Arena");
+ if (s == "Dev All Weapons Arena") return s; // development option, do not translate
+ if (s == "Dev All Available Weapons Arena") return s; // development option, do not translate
+ if (s == "No Weapons Arena") return _("No Weapons Arena");
+
+ int n = tokenizebyseparator(s, " & ");
+ string wpn_list = "";
+ for (int i = 0; i < n; i++)
+ {
+ Weapon wep = Weapon_from_name(argv(i));
+ if (wep == WEP_Null)
+ LOG_INFO("^3Warning: ^7server sent an invalid weapon name\n");
+ wpn_list = cons_mid(wpn_list, " & ", wep.m_name);
+ }
+ if (wpn_list != "")
+ return sprintf(_("%s Arena"), wpn_list);
+ else
+ return _("No Weapons Arena");
+}
+
+string GetVersionMessage(string hostversion, bool version_mismatch, bool version_check)
+{
+ string xonotic_hostversion = strcat("Xonotic ", hostversion);
+ if (version_mismatch)
+ {
+ if(!version_check)
+ return strcat(sprintf(_("This is %s"), xonotic_hostversion), "\n^3",
+ _("Your client version is outdated."), "\n\n\n",
+ _("### YOU WON'T BE ABLE TO PLAY ON THIS SERVER ###"), "\n\n\n",
+ _("Please update!"));
+ else
+ return strcat(sprintf(_("This is %s"), xonotic_hostversion), "\n^3",
+ _("This server is using an outdated Xonotic version."), "\n\n\n",
+ _("### THIS SERVER IS INCOMPATIBLE AND THUS YOU CANNOT JOIN ###"));
+ }
+ return sprintf(_("Welcome to %s"), xonotic_hostversion);
+}
+
+bool net_handle_ServerWelcome()