diff --git a/modules/autoattach.cpp b/modules/autoattach.cpp index 1dbd6345..91c94819 100644 --- a/modules/autoattach.cpp +++ b/modules/autoattach.cpp @@ -91,14 +91,14 @@ class CChanAttach : public CModule { if (sChan.empty()) { bHelp = true; } else if (Add(bNegated, sChan, sSearch, sHost)) { - PutModule("Added to list"); + PutModule(t_s("Added to list")); } else { - PutModule(sLine.Token(1, true) + " is already added"); + PutModule(t_f("{1} is already added")(sLine.Token(1, true))); bHelp = true; } if (bHelp) { - PutModule("Usage: Add [!]<#chan> "); - PutModule("Wildcards are allowed"); + PutModule(t_s("Usage: Add [!]<#chan> ")); + PutModule(t_s("Wildcards are allowed")); } } @@ -110,49 +110,47 @@ class CChanAttach : public CModule { CString sHost = sMsg.Token(2); if (Del(bNegated, sChan, sSearch, sHost)) { - PutModule("Removed " + sChan + " from list"); + PutModule(t_f("Removed {1} from list")(sChan)); } else { - PutModule("Usage: Del [!]<#chan> "); + PutModule(t_s("Usage: Del [!]<#chan> ")); } } void HandleList(const CString& sLine) { CTable Table; - Table.AddColumn("Neg"); - Table.AddColumn("Chan"); - Table.AddColumn("Search"); - Table.AddColumn("Host"); + Table.AddColumn(t_s("Neg")); + Table.AddColumn(t_s("Chan")); + Table.AddColumn(t_s("Search")); + Table.AddColumn(t_s("Host")); VAttachIter it = m_vMatches.begin(); for (; it != m_vMatches.end(); ++it) { Table.AddRow(); - Table.SetCell("Neg", it->IsNegated() ? "!" : ""); - Table.SetCell("Chan", it->GetChans()); - Table.SetCell("Search", it->GetSearch()); - Table.SetCell("Host", it->GetHostMask()); + Table.SetCell(t_s("Neg"), it->IsNegated() ? "!" : ""); + Table.SetCell(t_s("Chan"), it->GetChans()); + Table.SetCell(t_s("Search"), it->GetSearch()); + Table.SetCell(t_s("Host"), it->GetHostMask()); } if (Table.size()) { PutModule(Table); } else { - PutModule("You have no entries."); + PutModule(t_s("You have no entries.")); } } public: MODCONSTRUCTOR(CChanAttach) { AddHelpCommand(); - AddCommand("Add", static_cast( - &CChanAttach::HandleAdd), - "[!]<#chan> ", - "Add an entry, use !#chan to negate and * for wildcards"); - AddCommand("Del", static_cast( - &CChanAttach::HandleDel), - "[!]<#chan> ", - "Remove an entry, needs to be an exact match"); - AddCommand("List", static_cast( - &CChanAttach::HandleList), - "", "List all entries"); + AddCommand( + "Add", t_d("[!]<#chan> "), + t_d("Add an entry, use !#chan to negate and * for wildcards"), + [=](const CString& sLine) { HandleAdd(sLine); }); + AddCommand("Del", t_d("[!]<#chan> "), + t_d("Remove an entry, needs to be an exact match"), + [=](const CString& sLine) { HandleDel(sLine); }); + AddCommand("List", "", t_d("List all entries"), + [=](const CString& sLine) { HandleList(sLine); }); } ~CChanAttach() override {} @@ -170,7 +168,7 @@ class CChanAttach : public CModule { CString sHost = sAdd.Token(2, true); if (!Add(bNegated, sChan, sSearch, sHost)) { - PutModule("Unable to add [" + *it + "]"); + PutModule(t_f("Unable to add [{1}]")(*it)); } } @@ -281,8 +279,8 @@ void TModInfo(CModInfo& Info) { Info.AddType(CModInfo::UserModule); Info.SetWikiPage("autoattach"); Info.SetHasArgs(true); - Info.SetArgsHelpText( - "List of channel masks and channel masks with ! before them."); + Info.SetArgsHelpText(Info.t_s( + "List of channel masks and channel masks with ! before them.")); } -NETWORKMODULEDEFS(CChanAttach, "Reattaches you to channels on activity.") +NETWORKMODULEDEFS(CChanAttach, t_s("Reattaches you to channels on activity.")) diff --git a/modules/autocycle.cpp b/modules/autocycle.cpp index c811678e..ec2b310c 100644 --- a/modules/autocycle.cpp +++ b/modules/autocycle.cpp @@ -23,16 +23,15 @@ class CAutoCycleMod : public CModule { public: MODCONSTRUCTOR(CAutoCycleMod) { AddHelpCommand(); - AddCommand("Add", static_cast( - &CAutoCycleMod::OnAddCommand), - "[!]<#chan>", - "Add an entry, use !#chan to negate and * for wildcards"); - AddCommand("Del", static_cast( - &CAutoCycleMod::OnDelCommand), - "[!]<#chan>", "Remove an entry, needs to be an exact match"); - AddCommand("List", static_cast( - &CAutoCycleMod::OnListCommand), - "", "List all entries"); + AddCommand( + "Add", t_d("[!]<#chan>"), + t_d("Add an entry, use !#chan to negate and * for wildcards"), + [=](const CString& sLine) { OnAddCommand(sLine); }); + AddCommand("Del", t_d("[!]<#chan>"), + t_d("Remove an entry, needs to be an exact match"), + [=](const CString& sLine) { OnDelCommand(sLine); }); + AddCommand("List", "", t_d("List all entries"), + [=](const CString& sLine) { OnListCommand(sLine); }); m_recentlyCycled.SetTTL(15 * 1000); } @@ -44,7 +43,7 @@ class CAutoCycleMod : public CModule { for (const CString& sChan : vsChans) { if (!Add(sChan)) { - PutModule("Unable to add [" + sChan + "]"); + PutModule(t_f("Unable to add {1}")(sChan)); } } @@ -64,11 +63,11 @@ class CAutoCycleMod : public CModule { CString sChan = sLine.Token(1); if (AlreadyAdded(sChan)) { - PutModule(sChan + " is already added"); + PutModule(t_f("{1} is already added")(sChan)); } else if (Add(sChan)) { - PutModule("Added " + sChan + " to list"); + PutModule(t_f("Added {1} to list")(sChan)); } else { - PutModule("Usage: Add [!]<#chan>"); + PutModule(t_s("Usage: Add [!]<#chan>")); } } @@ -76,29 +75,29 @@ class CAutoCycleMod : public CModule { CString sChan = sLine.Token(1); if (Del(sChan)) - PutModule("Removed " + sChan + " from list"); + PutModule(t_f("Removed {1} from list")(sChan)); else - PutModule("Usage: Del [!]<#chan>"); + PutModule(t_s("Usage: Del [!]<#chan>")); } void OnListCommand(const CString& sLine) { CTable Table; - Table.AddColumn("Chan"); + Table.AddColumn(t_s("Channel")); for (const CString& sChan : m_vsChans) { Table.AddRow(); - Table.SetCell("Chan", sChan); + Table.SetCell(t_s("Channel"), sChan); } for (const CString& sChan : m_vsNegChans) { Table.AddRow(); - Table.SetCell("Chan", "!" + sChan); + Table.SetCell(t_s("Channel"), "!" + sChan); } if (Table.size()) { PutModule(Table); } else { - PutModule("You have no entries."); + PutModule(t_s("You have no entries.")); } } @@ -226,9 +225,10 @@ template <> void TModInfo(CModInfo& Info) { Info.SetWikiPage("autocycle"); Info.SetHasArgs(true); - Info.SetArgsHelpText( - "List of channel masks and channel masks with ! before them."); + Info.SetArgsHelpText(Info.t_s( + "List of channel masks and channel masks with ! before them.")); } -NETWORKMODULEDEFS(CAutoCycleMod, - "Rejoins channels to gain Op if you're the only user left") +NETWORKMODULEDEFS( + CAutoCycleMod, + t_s("Rejoins channels to gain Op if you're the only user left")) diff --git a/modules/autoop.cpp b/modules/autoop.cpp index b8e4f674..3485470b 100644 --- a/modules/autoop.cpp +++ b/modules/autoop.cpp @@ -151,29 +151,26 @@ class CAutoOpMod : public CModule { public: MODCONSTRUCTOR(CAutoOpMod) { AddHelpCommand(); - AddCommand("ListUsers", static_cast( - &CAutoOpMod::OnListUsersCommand), - "", "List all users"); - AddCommand("AddChans", static_cast( - &CAutoOpMod::OnAddChansCommand), - " [channel] ...", "Adds channels to a user"); - AddCommand("DelChans", static_cast( - &CAutoOpMod::OnDelChansCommand), - " [channel] ...", - "Removes channels from a user"); - AddCommand("AddMasks", static_cast( - &CAutoOpMod::OnAddMasksCommand), - " ,[mask] ...", "Adds masks to a user"); - AddCommand("DelMasks", static_cast( - &CAutoOpMod::OnDelMasksCommand), - " ,[mask] ...", "Removes masks from a user"); - AddCommand("AddUser", static_cast( - &CAutoOpMod::OnAddUserCommand), - " [,...] [channels]", - "Adds a user"); - AddCommand("DelUser", static_cast( - &CAutoOpMod::OnDelUserCommand), - "", "Removes a user"); + AddCommand("ListUsers", "", t_d("List all users"), + [=](const CString& sLine) { OnListUsersCommand(sLine); }); + AddCommand("AddChans", t_d(" [channel] ..."), + t_d("Adds channels to a user"), + [=](const CString& sLine) { OnAddChansCommand(sLine); }); + AddCommand("DelChans", t_d(" [channel] ..."), + t_d("Removes channels from a user"), + [=](const CString& sLine) { OnDelChansCommand(sLine); }); + AddCommand("AddMasks", t_d(" ,[mask] ..."), + t_d("Adds masks to a user"), + [=](const CString& sLine) { OnAddMasksCommand(sLine); }); + AddCommand("DelMasks", t_d(" ,[mask] ..."), + t_d("Removes masks from a user"), + [=](const CString& sLine) { OnDelMasksCommand(sLine); }); + AddCommand("AddUser", + t_d(" [,...] [channels]"), + t_d("Adds a user"), + [=](const CString& sLine) { OnAddUserCommand(sLine); }); + AddCommand("DelUser", t_d(""), t_d("Removes a user"), + [=](const CString& sLine) { OnDelUserCommand(sLine); }); } bool OnLoad(const CString& sArgs, CString& sMessage) override { @@ -275,8 +272,8 @@ class CAutoOpMod : public CModule { if (sHost.empty()) { PutModule( - "Usage: AddUser [,...] " - "[channels]"); + t_s("Usage: AddUser [,...] " + "[channels]")); } else { CAutoOpUser* pUser = AddUser(sUser, sKey, sHost, sLine.Token(4, true)); @@ -291,7 +288,7 @@ class CAutoOpMod : public CModule { CString sUser = sLine.Token(1); if (sUser.empty()) { - PutModule("Usage: DelUser "); + PutModule(t_s("Usage: DelUser ")); } else { DelUser(sUser); DelNV(sUser); @@ -300,16 +297,16 @@ class CAutoOpMod : public CModule { void OnListUsersCommand(const CString& sLine) { if (m_msUsers.empty()) { - PutModule("There are no users defined"); + PutModule(t_s("There are no users defined")); return; } CTable Table; - Table.AddColumn("User"); - Table.AddColumn("Hostmasks"); - Table.AddColumn("Key"); - Table.AddColumn("Channels"); + Table.AddColumn(t_s("User")); + Table.AddColumn(t_s("Hostmasks")); + Table.AddColumn(t_s("Key")); + Table.AddColumn(t_s("Channels")); for (const auto& it : m_msUsers) { VCString vsHostmasks; @@ -317,15 +314,15 @@ class CAutoOpMod : public CModule { for (unsigned int a = 0; a < vsHostmasks.size(); a++) { Table.AddRow(); if (a == 0) { - Table.SetCell("User", it.second->GetUsername()); - Table.SetCell("Key", it.second->GetUserKey()); - Table.SetCell("Channels", it.second->GetChannels()); + Table.SetCell(t_s("User"), it.second->GetUsername()); + Table.SetCell(t_s("Key"), it.second->GetUserKey()); + Table.SetCell(t_s("Channels"), it.second->GetChannels()); } else if (a == vsHostmasks.size() - 1) { - Table.SetCell("User", "`-"); + Table.SetCell(t_s("User"), "`-"); } else { - Table.SetCell("User", "|-"); + Table.SetCell(t_s("User"), "|-"); } - Table.SetCell("Hostmasks", vsHostmasks[a]); + Table.SetCell(t_s("Hostmasks"), vsHostmasks[a]); } } @@ -337,19 +334,19 @@ class CAutoOpMod : public CModule { CString sChans = sLine.Token(2, true); if (sChans.empty()) { - PutModule("Usage: AddChans [channel] ..."); + PutModule(t_s("Usage: AddChans [channel] ...")); return; } CAutoOpUser* pUser = FindUser(sUser); if (!pUser) { - PutModule("No such user"); + PutModule(t_s("No such user")); return; } pUser->AddChans(sChans); - PutModule("Channel(s) added to user [" + pUser->GetUsername() + "]"); + PutModule(t_f("Channel(s) added to user {1}")(pUser->GetUsername())); SetNV(pUser->GetUsername(), pUser->ToString()); } @@ -358,20 +355,20 @@ class CAutoOpMod : public CModule { CString sChans = sLine.Token(2, true); if (sChans.empty()) { - PutModule("Usage: DelChans [channel] ..."); + PutModule(t_s("Usage: DelChans [channel] ...")); return; } CAutoOpUser* pUser = FindUser(sUser); if (!pUser) { - PutModule("No such user"); + PutModule(t_s("No such user")); return; } pUser->DelChans(sChans); - PutModule("Channel(s) Removed from user [" + pUser->GetUsername() + - "]"); + PutModule( + t_f("Channel(s) Removed from user {1}")(pUser->GetUsername())); SetNV(pUser->GetUsername(), pUser->ToString()); } @@ -380,19 +377,19 @@ class CAutoOpMod : public CModule { CString sHostmasks = sLine.Token(2, true); if (sHostmasks.empty()) { - PutModule("Usage: AddMasks ,[mask] ..."); + PutModule(t_s("Usage: AddMasks ,[mask] ...")); return; } CAutoOpUser* pUser = FindUser(sUser); if (!pUser) { - PutModule("No such user"); + PutModule(t_s("No such user")); return; } pUser->AddHostmasks(sHostmasks); - PutModule("Hostmasks(s) added to user [" + pUser->GetUsername() + "]"); + PutModule(t_f("Hostmasks(s) added to user {1}")(pUser->GetUsername())); SetNV(pUser->GetUsername(), pUser->ToString()); } @@ -401,26 +398,26 @@ class CAutoOpMod : public CModule { CString sHostmasks = sLine.Token(2, true); if (sHostmasks.empty()) { - PutModule("Usage: DelMasks ,[mask] ..."); + PutModule(t_s("Usage: DelMasks ,[mask] ...")); return; } CAutoOpUser* pUser = FindUser(sUser); if (!pUser) { - PutModule("No such user"); + PutModule(t_s("No such user")); return; } if (pUser->DelHostmasks(sHostmasks)) { - PutModule("Removed user [" + pUser->GetUsername() + "] with key [" + - pUser->GetUserKey() + "] and channels [" + - pUser->GetChannels() + "]"); + PutModule(t_f("Removed user {1} with key {2} and channels {3}")( + pUser->GetUsername(), pUser->GetUserKey(), + pUser->GetChannels())); DelUser(sUser); DelNV(sUser); } else { - PutModule("Hostmasks(s) Removed from user [" + - pUser->GetUsername() + "]"); + PutModule(t_f("Hostmasks(s) Removed from user {1}")( + pUser->GetUsername())); SetNV(pUser->GetUsername(), pUser->ToString()); } } @@ -472,26 +469,25 @@ class CAutoOpMod : public CModule { m_msUsers.find(sUser.AsLower()); if (it == m_msUsers.end()) { - PutModule("That user does not exist"); + PutModule(t_s("No such user")); return; } delete it->second; m_msUsers.erase(it); - PutModule("User [" + sUser + "] removed"); + PutModule(t_f("User {1} removed")(sUser)); } CAutoOpUser* AddUser(const CString& sUser, const CString& sKey, const CString& sHosts, const CString& sChans) { if (m_msUsers.find(sUser) != m_msUsers.end()) { - PutModule("That user already exists"); + PutModule(t_s("That user already exists")); return nullptr; } CAutoOpUser* pUser = new CAutoOpUser(sUser, sKey, sHosts, sChans); m_msUsers[sUser.AsLower()] = pUser; - PutModule("User [" + sUser + "] added with hostmask(s) [" + sHosts + - "]"); + PutModule(t_f("User {1} added with hostmask(s) {2}")(sUser, sHosts)); return pUser; } @@ -532,21 +528,21 @@ class CAutoOpMod : public CModule { if (!bValid) { if (bMatchedHost) { - PutModule("[" + Nick.GetHostMask() + - "] sent us a challenge but they are not opped in any " - "defined channels."); + PutModule(t_f( + "[{1}] sent us a challenge but they are not opped in any " + "defined channels.")(Nick.GetHostMask())); } else { - PutModule("[" + Nick.GetHostMask() + - "] sent us a challenge but they do not match a " - "defined user."); + PutModule( + t_f("[{1}] sent us a challenge but they do not match a " + "defined user.")(Nick.GetHostMask())); } return false; } if (sChallenge.length() != AUTOOP_CHALLENGE_LENGTH) { - PutModule("WARNING! [" + Nick.GetHostMask() + - "] sent an invalid challenge."); + PutModule(t_f("WARNING! [{1}] sent an invalid challenge.")( + Nick.GetHostMask())); return false; } @@ -561,8 +557,8 @@ class CAutoOpMod : public CModule { if (itQueue == m_msQueue.end()) { PutModule( - "[" + Nick.GetHostMask() + - "] sent an unchallenged response. This could be due to lag."); + t_f("[{1}] sent an unchallenged response. This could be due " + "to lag.")(Nick.GetHostMask())); return false; } @@ -577,16 +573,18 @@ class CAutoOpMod : public CModule { OpUser(Nick, *it.second); return true; } else { - PutModule("WARNING! [" + Nick.GetHostMask() + - "] sent a bad response. Please verify that you " - "have their correct password."); + PutModule( + t_f("WARNING! [{1}] sent a bad response. Please " + "verify that you have their correct password.")( + Nick.GetHostMask())); return false; } } } - PutModule("WARNING! [" + Nick.GetHostMask() + - "] sent a response but did not match any defined users."); + PutModule( + t_f("WARNING! [{1}] sent a response but did not match any defined " + "users.")(Nick.GetHostMask())); return false; } @@ -643,4 +641,4 @@ void TModInfo(CModInfo& Info) { Info.SetWikiPage("autoop"); } -NETWORKMODULEDEFS(CAutoOpMod, "Auto op the good people") +NETWORKMODULEDEFS(CAutoOpMod, t_s("Auto op the good people")) diff --git a/modules/autovoice.cpp b/modules/autovoice.cpp index f7ae6891..d08d4f1b 100644 --- a/modules/autovoice.cpp +++ b/modules/autovoice.cpp @@ -117,22 +117,19 @@ class CAutoVoiceMod : public CModule { public: MODCONSTRUCTOR(CAutoVoiceMod) { AddHelpCommand(); - AddCommand("ListUsers", static_cast( - &CAutoVoiceMod::OnListUsersCommand), - "", "List all users"); - AddCommand("AddChans", static_cast( - &CAutoVoiceMod::OnAddChansCommand), - " [channel] ...", "Adds channels to a user"); - AddCommand("DelChans", static_cast( - &CAutoVoiceMod::OnDelChansCommand), - " [channel] ...", - "Removes channels from a user"); - AddCommand("AddUser", static_cast( - &CAutoVoiceMod::OnAddUserCommand), - " [channels]", "Adds a user"); - AddCommand("DelUser", static_cast( - &CAutoVoiceMod::OnDelUserCommand), - "", "Removes a user"); + AddCommand("ListUsers", "", t_d("List all users"), + [=](const CString& sLine) { OnListUsersCommand(sLine); }); + AddCommand("AddChans", t_d(" [channel] ..."), + t_d("Adds channels to a user"), + [=](const CString& sLine) { OnAddChansCommand(sLine); }); + AddCommand("DelChans", t_d(" [channel] ..."), + t_d("Removes channels from a user"), + [=](const CString& sLine) { OnDelChansCommand(sLine); }); + AddCommand("AddUser", t_d(" [channels]"), + t_d("Adds a user"), + [=](const CString& sLine) { OnAddUserCommand(sLine); }); + AddCommand("DelUser", t_d(""), t_d("Removes a user"), + [=](const CString& sLine) { OnDelUserCommand(sLine); }); } bool OnLoad(const CString& sArgs, CString& sMessage) override { @@ -215,7 +212,7 @@ class CAutoVoiceMod : public CModule { CString sHost = sLine.Token(2); if (sHost.empty()) { - PutModule("Usage: AddUser [channels]"); + PutModule(t_s("Usage: AddUser [channels]")); } else { CAutoVoiceUser* pUser = AddUser(sUser, sHost, sLine.Token(3, true)); @@ -229,7 +226,7 @@ class CAutoVoiceMod : public CModule { CString sUser = sLine.Token(1); if (sUser.empty()) { - PutModule("Usage: DelUser "); + PutModule(t_s("Usage: DelUser ")); } else { DelUser(sUser); DelNV(sUser); @@ -238,21 +235,21 @@ class CAutoVoiceMod : public CModule { void OnListUsersCommand(const CString& sLine) { if (m_msUsers.empty()) { - PutModule("There are no users defined"); + PutModule(t_s("There are no users defined")); return; } CTable Table; - Table.AddColumn("User"); - Table.AddColumn("Hostmask"); - Table.AddColumn("Channels"); + Table.AddColumn(t_s("User")); + Table.AddColumn(t_s("Hostmask")); + Table.AddColumn(t_s("Channels")); for (const auto& it : m_msUsers) { Table.AddRow(); - Table.SetCell("User", it.second->GetUsername()); - Table.SetCell("Hostmask", it.second->GetHostmask()); - Table.SetCell("Channels", it.second->GetChannels()); + Table.SetCell(t_s("User"), it.second->GetUsername()); + Table.SetCell(t_s("Hostmask"), it.second->GetHostmask()); + Table.SetCell(t_s("Channels"), it.second->GetChannels()); } PutModule(Table); @@ -263,19 +260,19 @@ class CAutoVoiceMod : public CModule { CString sChans = sLine.Token(2, true); if (sChans.empty()) { - PutModule("Usage: AddChans [channel] ..."); + PutModule(t_s("Usage: AddChans [channel] ...")); return; } CAutoVoiceUser* pUser = FindUser(sUser); if (!pUser) { - PutModule("No such user"); + PutModule(t_s("No such user")); return; } pUser->AddChans(sChans); - PutModule("Channel(s) added to user [" + pUser->GetUsername() + "]"); + PutModule(t_f("Channel(s) added to user {1}")(pUser->GetUsername())); SetNV(pUser->GetUsername(), pUser->ToString()); } @@ -285,20 +282,20 @@ class CAutoVoiceMod : public CModule { CString sChans = sLine.Token(2, true); if (sChans.empty()) { - PutModule("Usage: DelChans [channel] ..."); + PutModule(t_s("Usage: DelChans [channel] ...")); return; } CAutoVoiceUser* pUser = FindUser(sUser); if (!pUser) { - PutModule("No such user"); + PutModule(t_s("No such user")); return; } pUser->DelChans(sChans); - PutModule("Channel(s) Removed from user [" + pUser->GetUsername() + - "]"); + PutModule( + t_f("Channel(s) Removed from user {1}")(pUser->GetUsername())); SetNV(pUser->GetUsername(), pUser->ToString()); } @@ -329,25 +326,25 @@ class CAutoVoiceMod : public CModule { m_msUsers.find(sUser.AsLower()); if (it == m_msUsers.end()) { - PutModule("That user does not exist"); + PutModule(t_s("No such user")); return; } delete it->second; m_msUsers.erase(it); - PutModule("User [" + sUser + "] removed"); + PutModule(t_f("User {1} removed")(sUser)); } CAutoVoiceUser* AddUser(const CString& sUser, const CString& sHost, const CString& sChans) { if (m_msUsers.find(sUser) != m_msUsers.end()) { - PutModule("That user already exists"); + PutModule(t_s("That user already exists")); return nullptr; } CAutoVoiceUser* pUser = new CAutoVoiceUser(sUser, sHost, sChans); m_msUsers[sUser.AsLower()] = pUser; - PutModule("User [" + sUser + "] added with hostmask [" + sHost + "]"); + PutModule(t_f("User {1} added with hostmask {2}")(sUser, sHost)); return pUser; } @@ -359,10 +356,10 @@ template <> void TModInfo(CModInfo& Info) { Info.SetWikiPage("autovoice"); Info.SetHasArgs(true); - Info.SetArgsHelpText( + Info.SetArgsHelpText(Info.t_s( "Each argument is either a channel you want autovoice for (which can " "include wildcards) or, if it starts with !, it is an exception for " - "autovoice."); + "autovoice.")); } -NETWORKMODULEDEFS(CAutoVoiceMod, "Auto voice the good people") +NETWORKMODULEDEFS(CAutoVoiceMod, t_s("Auto voice the good people")) diff --git a/modules/awaystore.cpp b/modules/awaystore.cpp index 5253eb4d..2dfedb2d 100644 --- a/modules/awaystore.cpp +++ b/modules/awaystore.cpp @@ -64,7 +64,7 @@ class CAway : public CModule { if (sCommand.Token(1) != "-quiet") { sReason = CUtils::FormatTime(curtime, sCommand.Token(1, true), GetUser()->GetTimezone()); - PutModNotice("You have been marked as away"); + PutModNotice(t_s("You have been marked as away")); } else { sReason = CUtils::FormatTime(curtime, sCommand.Token(2, true), GetUser()->GetTimezone()); @@ -75,7 +75,7 @@ class CAway : public CModule { void BackCommand(const CString& sCommand) { if ((m_vMessages.empty()) && (sCommand.Token(1) != "-quiet")) - PutModNotice("Welcome Back!"); + PutModNotice(t_s("Welcome back!")); Ping(); Back(); } @@ -97,21 +97,20 @@ class CAway : public CModule { void DeleteCommand(const CString& sCommand) { CString sWhich = sCommand.Token(1); if (sWhich == "all") { - PutModNotice("Deleted " + CString(m_vMessages.size()) + - " Messages."); + PutModNotice(t_f("Deleted {1} messages")(m_vMessages.size())); for (u_int a = 0; a < m_vMessages.size(); a++) m_vMessages.erase(m_vMessages.begin() + a--); } else if (sWhich.empty()) { - PutModNotice("USAGE: delete "); + PutModNotice(t_s("USAGE: delete ")); return; } else { u_int iNum = sWhich.ToUInt(); if (iNum >= m_vMessages.size()) { - PutModNotice("Illegal Message # Requested"); + PutModNotice(t_s("Illegal message # requested")); return; } else { m_vMessages.erase(m_vMessages.begin() + iNum); - PutModNotice("Message Erased."); + PutModNotice(t_s("Message erased")); } SaveBufferToDisk(); } @@ -120,9 +119,9 @@ class CAway : public CModule { void SaveCommand(const CString& sCommand) { if (m_saveMessages) { SaveBufferToDisk(); - PutModNotice("Messages saved to disk."); + PutModNotice(t_s("Messages saved to disk")); } else { - PutModNotice("There are no messages to save."); + PutModNotice(t_s("There are no messages to save")); } } @@ -133,7 +132,7 @@ class CAway : public CModule { void PassCommand(const CString& sCommand) { m_sPassword = sCommand.Token(1); - PutModNotice("Password Updated to [" + m_sPassword + "]"); + PutModNotice(t_f("Password updated to [{1}]")(m_sPassword)); } void ShowCommand(const CString& sCommand) { @@ -145,7 +144,7 @@ class CAway : public CModule { if ((sTime.empty()) || (sWhom.empty()) || (sMessage.empty())) { // illegal format - PutModule("Corrupt message! [" + m_vMessages[a] + "]"); + PutModule(t_f("Corrupt message! [{1}]")(m_vMessages[a])); m_vMessages.erase(m_vMessages.begin() + a--); continue; } @@ -157,7 +156,7 @@ class CAway : public CModule { size_t iCount = strftime(szFormat, 64, "%F %T", &t); if (iCount <= 0) { - PutModule("Corrupt time stamp! [" + m_vMessages[a] + "]"); + PutModule(t_f("Corrupt time stamp! [{1}]")(m_vMessages[a])); m_vMessages.erase(m_vMessages.begin() + a--); continue; } @@ -176,17 +175,17 @@ class CAway : public CModule { PutModule(it->second[a]); } - PutModule("#--- End Messages"); + PutModule(t_s("#--- End of messages")); } void EnableTimerCommand(const CString& sCommand) { SetAwayTime(300); - PutModule("Timer set to 300 seconds"); + PutModule(t_s("Timer set to 300 seconds")); } void DisableTimerCommand(const CString& sCommand) { SetAwayTime(0); - PutModule("Timer disabled"); + PutModule(t_s("Timer disabled")); } void SetTimerCommand(const CString& sCommand) { @@ -195,14 +194,13 @@ class CAway : public CModule { SetAwayTime(iSetting); if (iSetting == 0) - PutModule("Timer disabled"); + PutModule(t_s("Timer disabled")); else - PutModule("Timer set to " + CString(iSetting) + " seconds"); + PutModule(t_f("Timer set to {1} seconds")(iSetting)); } void TimerCommand(const CString& sCommand) { - PutModule("Current timer setting: " + CString(GetAwayTime()) + - " seconds"); + PutModule(t_f("Current timer setting: {1} seconds")(GetAwayTime())); } public: @@ -277,16 +275,16 @@ class CAway : public CModule { m_sPassword = CBlowfish::MD5(sMyArgs); } else { sMessage = - "This module needs as an argument a keyphrase used for " - "encryption"; + t_s("This module needs as an argument a keyphrase used for " + "encryption"); return false; } if (!BootStrap()) { - sMessage = + sMessage = t_s( "Failed to decrypt your saved messages - " "Did you give the right encryption key as an argument to " - "this module?"; + "this module?"); m_bBootError = true; return false; } @@ -384,13 +382,11 @@ class CAway : public CModule { m_bIsAway = false; if (!m_vMessages.empty()) { if (bUsePrivMessage) { - PutModule("Welcome Back!"); - PutModule("You have " + CString(m_vMessages.size()) + - " messages!"); + PutModule(t_s("Welcome back!")); + PutModule(t_f("You have {1} messages!")(m_vMessages.size())); } else { - PutModNotice("Welcome Back!"); - PutModNotice("You have " + CString(m_vMessages.size()) + - " messages!"); + PutModNotice(t_s("Welcome back!")); + PutModNotice(t_f("You have {1} messages!")(m_vMessages.size())); } } m_sReason = ""; @@ -457,7 +453,7 @@ class CAway : public CModule { CFile File(sMessages); if (sMessages.empty() || !File.Open() || !File.ReadFile(sFile)) { - PutModule("Unable to find buffer"); + PutModule(t_s("Unable to find buffer")); return (true); // gonna be successful here } @@ -470,7 +466,7 @@ class CAway : public CModule { if (sBuffer.Left(strlen(CRYPT_VERIFICATION_TOKEN)) != CRYPT_VERIFICATION_TOKEN) { // failed to decode :( - PutModule("Unable to decode Encrypted messages"); + PutModule(t_s("Unable to decode encrypted messages")); return (false); } sBuffer.erase(0, strlen(CRYPT_VERIFICATION_TOKEN)); @@ -516,11 +512,11 @@ template <> void TModInfo(CModInfo& Info) { Info.SetWikiPage("awaystore"); Info.SetHasArgs(true); - Info.SetArgsHelpText( + Info.SetArgsHelpText(Info.t_s( "[ -notimer | -timer N ] [-chans] passw0rd . N is number of seconds, " - "600 by default."); + "600 by default.")); } -NETWORKMODULEDEFS(CAway, - "Adds auto-away with logging, useful when you use ZNC from " - "different locations") +NETWORKMODULEDEFS( + CAway, t_s("Adds auto-away with logging, useful when you use ZNC from " + "different locations")) diff --git a/modules/po/autoattach.pot b/modules/po/autoattach.pot new file mode 100644 index 00000000..da52224e --- /dev/null +++ b/modules/po/autoattach.pot @@ -0,0 +1,71 @@ +#: autoattach.cpp:94 +msgid "Added to list" +msgstr "" + +#: autoattach.cpp:96 +msgid "{1} is already added" +msgstr "" + +#: autoattach.cpp:100 +msgid "Usage: Add [!]<#chan> " +msgstr "" + +#: autoattach.cpp:101 +msgid "Wildcards are allowed" +msgstr "" + +#: autoattach.cpp:113 +msgid "Removed {1} from list" +msgstr "" + +#: autoattach.cpp:115 +msgid "Usage: Del [!]<#chan> " +msgstr "" + +#: autoattach.cpp:121 autoattach.cpp:129 +msgid "Neg" +msgstr "" + +#: autoattach.cpp:122 autoattach.cpp:130 +msgid "Chan" +msgstr "" + +#: autoattach.cpp:123 autoattach.cpp:131 +msgid "Search" +msgstr "" + +#: autoattach.cpp:124 autoattach.cpp:132 +msgid "Host" +msgstr "" + +#: autoattach.cpp:138 +msgid "You have no entries." +msgstr "" + +#: autoattach.cpp:146 autoattach.cpp:149 +msgid "[!]<#chan> " +msgstr "" + +#: autoattach.cpp:147 +msgid "Add an entry, use !#chan to negate and * for wildcards" +msgstr "" + +#: autoattach.cpp:150 +msgid "Remove an entry, needs to be an exact match" +msgstr "" + +#: autoattach.cpp:152 +msgid "List all entries" +msgstr "" + +#: autoattach.cpp:171 +msgid "Unable to add [{1}]" +msgstr "" + +#: autoattach.cpp:283 +msgid "List of channel masks and channel masks with ! before them." +msgstr "" + +#: autoattach.cpp:286 +msgid "Reattaches you to channels on activity." +msgstr "" diff --git a/modules/po/autocycle.pot b/modules/po/autocycle.pot new file mode 100644 index 00000000..aba05c55 --- /dev/null +++ b/modules/po/autocycle.pot @@ -0,0 +1,55 @@ +#: autocycle.cpp:27 autocycle.cpp:30 +msgid "[!]<#chan>" +msgstr "" + +#: autocycle.cpp:28 +msgid "Add an entry, use !#chan to negate and * for wildcards" +msgstr "" + +#: autocycle.cpp:31 +msgid "Remove an entry, needs to be an exact match" +msgstr "" + +#: autocycle.cpp:33 +msgid "List all entries" +msgstr "" + +#: autocycle.cpp:46 +msgid "Unable to add {1}" +msgstr "" + +#: autocycle.cpp:66 +msgid "{1} is already added" +msgstr "" + +#: autocycle.cpp:68 +msgid "Added {1} to list" +msgstr "" + +#: autocycle.cpp:70 +msgid "Usage: Add [!]<#chan>" +msgstr "" + +#: autocycle.cpp:78 +msgid "Removed {1} from list" +msgstr "" + +#: autocycle.cpp:80 +msgid "Usage: Del [!]<#chan>" +msgstr "" + +#: autocycle.cpp:85 autocycle.cpp:89 autocycle.cpp:94 +msgid "Channel" +msgstr "" + +#: autocycle.cpp:100 +msgid "You have no entries." +msgstr "" + +#: autocycle.cpp:229 +msgid "List of channel masks and channel masks with ! before them." +msgstr "" + +#: autocycle.cpp:234 +msgid "Rejoins channels to gain Op if you're the only user left" +msgstr "" diff --git a/modules/po/autoop.pot b/modules/po/autoop.pot new file mode 100644 index 00000000..7a3f9ca1 --- /dev/null +++ b/modules/po/autoop.pot @@ -0,0 +1,154 @@ +#: autoop.cpp:154 +msgid "List all users" +msgstr "" + +#: autoop.cpp:156 autoop.cpp:159 +msgid " [channel] ..." +msgstr "" + +#: autoop.cpp:157 +msgid "Adds channels to a user" +msgstr "" + +#: autoop.cpp:160 +msgid "Removes channels from a user" +msgstr "" + +#: autoop.cpp:162 autoop.cpp:165 +msgid " ,[mask] ..." +msgstr "" + +#: autoop.cpp:163 +msgid "Adds masks to a user" +msgstr "" + +#: autoop.cpp:166 +msgid "Removes masks from a user" +msgstr "" + +#: autoop.cpp:169 +msgid " [,...] [channels]" +msgstr "" + +#: autoop.cpp:170 +msgid "Adds a user" +msgstr "" + +#: autoop.cpp:172 +msgid "" +msgstr "" + +#: autoop.cpp:172 +msgid "Removes a user" +msgstr "" + +#: autoop.cpp:275 +msgid "Usage: AddUser [,...] [channels]" +msgstr "" + +#: autoop.cpp:291 +msgid "Usage: DelUser " +msgstr "" + +#: autoop.cpp:300 +msgid "There are no users defined" +msgstr "" + +#: autoop.cpp:306 autoop.cpp:317 autoop.cpp:321 autoop.cpp:323 +msgid "User" +msgstr "" + +#: autoop.cpp:307 autoop.cpp:325 +msgid "Hostmasks" +msgstr "" + +#: autoop.cpp:308 autoop.cpp:318 +msgid "Key" +msgstr "" + +#: autoop.cpp:309 autoop.cpp:319 +msgid "Channels" +msgstr "" + +#: autoop.cpp:337 +msgid "Usage: AddChans [channel] ..." +msgstr "" + +#: autoop.cpp:344 autoop.cpp:365 autoop.cpp:387 autoop.cpp:408 autoop.cpp:472 +msgid "No such user" +msgstr "" + +#: autoop.cpp:349 +msgid "Channel(s) added to user {1}" +msgstr "" + +#: autoop.cpp:358 +msgid "Usage: DelChans [channel] ..." +msgstr "" + +#: autoop.cpp:371 +msgid "Channel(s) Removed from user {1}" +msgstr "" + +#: autoop.cpp:380 +msgid "Usage: AddMasks ,[mask] ..." +msgstr "" + +#: autoop.cpp:392 +msgid "Hostmasks(s) added to user {1}" +msgstr "" + +#: autoop.cpp:401 +msgid "Usage: DelMasks ,[mask] ..." +msgstr "" + +#: autoop.cpp:413 +msgid "Removed user {1} with key {2} and channels {3}" +msgstr "" + +#: autoop.cpp:419 +msgid "Hostmasks(s) Removed from user {1}" +msgstr "" + +#: autoop.cpp:478 +msgid "User {1} removed" +msgstr "" + +#: autoop.cpp:484 +msgid "That user already exists" +msgstr "" + +#: autoop.cpp:490 +msgid "User {1} added with hostmask(s) {2}" +msgstr "" + +#: autoop.cpp:532 +msgid "" +"[{1}] sent us a challenge but they are not opped in any defined channels." +msgstr "" + +#: autoop.cpp:536 +msgid "[{1}] sent us a challenge but they do not match a defined user." +msgstr "" + +#: autoop.cpp:544 +msgid "WARNING! [{1}] sent an invalid challenge." +msgstr "" + +#: autoop.cpp:560 +msgid "[{1}] sent an unchallenged response. This could be due to lag." +msgstr "" + +#: autoop.cpp:577 +msgid "" +"WARNING! [{1}] sent a bad response. Please verify that you have their " +"correct password." +msgstr "" + +#: autoop.cpp:586 +msgid "WARNING! [{1}] sent a response but did not match any defined users." +msgstr "" + +#: autoop.cpp:644 +msgid "Auto op the good people" +msgstr "" diff --git a/modules/po/autoreply.pot b/modules/po/autoreply.pot new file mode 100644 index 00000000..d0c16580 --- /dev/null +++ b/modules/po/autoreply.pot @@ -0,0 +1,29 @@ +#: autoreply.cpp:25 +msgid "" +msgstr "" + +#: autoreply.cpp:25 +msgid "Sets a new reply" +msgstr "" + +#: autoreply.cpp:27 +msgid "Displays the current query reply" +msgstr "" + +#: autoreply.cpp:75 +msgid "Current reply is: {1} ({2})" +msgstr "" + +#: autoreply.cpp:81 +msgid "New reply set to: {1} ({2})" +msgstr "" + +#: autoreply.cpp:94 +msgid "" +"You might specify a reply text. It is used when automatically answering " +"queries, if you are not connected to ZNC." +msgstr "" + +#: autoreply.cpp:98 +msgid "Reply to queries when you are away" +msgstr "" diff --git a/modules/po/autovoice.pot b/modules/po/autovoice.pot new file mode 100644 index 00000000..21465e1f --- /dev/null +++ b/modules/po/autovoice.pot @@ -0,0 +1,97 @@ +#: autovoice.cpp:120 +msgid "List all users" +msgstr "" + +#: autovoice.cpp:122 autovoice.cpp:125 +msgid " [channel] ..." +msgstr "" + +#: autovoice.cpp:123 +msgid "Adds channels to a user" +msgstr "" + +#: autovoice.cpp:126 +msgid "Removes channels from a user" +msgstr "" + +#: autovoice.cpp:128 +msgid " [channels]" +msgstr "" + +#: autovoice.cpp:129 +msgid "Adds a user" +msgstr "" + +#: autovoice.cpp:131 +msgid "" +msgstr "" + +#: autovoice.cpp:131 +msgid "Removes a user" +msgstr "" + +#: autovoice.cpp:215 +msgid "Usage: AddUser [channels]" +msgstr "" + +#: autovoice.cpp:229 +msgid "Usage: DelUser " +msgstr "" + +#: autovoice.cpp:238 +msgid "There are no users defined" +msgstr "" + +#: autovoice.cpp:244 autovoice.cpp:250 +msgid "User" +msgstr "" + +#: autovoice.cpp:245 autovoice.cpp:251 +msgid "Hostmask" +msgstr "" + +#: autovoice.cpp:246 autovoice.cpp:252 +msgid "Channels" +msgstr "" + +#: autovoice.cpp:263 +msgid "Usage: AddChans [channel] ..." +msgstr "" + +#: autovoice.cpp:270 autovoice.cpp:292 autovoice.cpp:329 +msgid "No such user" +msgstr "" + +#: autovoice.cpp:275 +msgid "Channel(s) added to user {1}" +msgstr "" + +#: autovoice.cpp:285 +msgid "Usage: DelChans [channel] ..." +msgstr "" + +#: autovoice.cpp:298 +msgid "Channel(s) Removed from user {1}" +msgstr "" + +#: autovoice.cpp:335 +msgid "User {1} removed" +msgstr "" + +#: autovoice.cpp:341 +msgid "That user already exists" +msgstr "" + +#: autovoice.cpp:347 +msgid "User {1} added with hostmask {2}" +msgstr "" + +#: autovoice.cpp:360 +msgid "" +"Each argument is either a channel you want autovoice for (which can include " +"wildcards) or, if it starts with !, it is an exception for autovoice." +msgstr "" + +#: autovoice.cpp:365 +msgid "Auto voice the good people" +msgstr "" diff --git a/modules/po/awaystore.pot b/modules/po/awaystore.pot new file mode 100644 index 00000000..5eee71e1 --- /dev/null +++ b/modules/po/awaystore.pot @@ -0,0 +1,96 @@ +#: awaystore.cpp:67 +msgid "You have been marked as away" +msgstr "" + +#: awaystore.cpp:78 awaystore.cpp:385 awaystore.cpp:388 +msgid "Welcome back!" +msgstr "" + +#: awaystore.cpp:100 +msgid "Deleted {1} messages" +msgstr "" + +#: awaystore.cpp:104 +msgid "USAGE: delete " +msgstr "" + +#: awaystore.cpp:109 +msgid "Illegal message # requested" +msgstr "" + +#: awaystore.cpp:113 +msgid "Message erased" +msgstr "" + +#: awaystore.cpp:122 +msgid "Messages saved to disk" +msgstr "" + +#: awaystore.cpp:124 +msgid "There are no messages to save" +msgstr "" + +#: awaystore.cpp:135 +msgid "Password updated to [{1}]" +msgstr "" + +#: awaystore.cpp:147 +msgid "Corrupt message! [{1}]" +msgstr "" + +#: awaystore.cpp:159 +msgid "Corrupt time stamp! [{1}]" +msgstr "" + +#: awaystore.cpp:178 +msgid "#--- End of messages" +msgstr "" + +#: awaystore.cpp:183 +msgid "Timer set to 300 seconds" +msgstr "" + +#: awaystore.cpp:188 awaystore.cpp:197 +msgid "Timer disabled" +msgstr "" + +#: awaystore.cpp:199 +msgid "Timer set to {1} seconds" +msgstr "" + +#: awaystore.cpp:203 +msgid "Current timer setting: {1} seconds" +msgstr "" + +#: awaystore.cpp:278 +msgid "This module needs as an argument a keyphrase used for encryption" +msgstr "" + +#: awaystore.cpp:285 +msgid "" +"Failed to decrypt your saved messages - Did you give the right encryption " +"key as an argument to this module?" +msgstr "" + +#: awaystore.cpp:386 awaystore.cpp:389 +msgid "You have {1} messages!" +msgstr "" + +#: awaystore.cpp:456 +msgid "Unable to find buffer" +msgstr "" + +#: awaystore.cpp:469 +msgid "Unable to decode encrypted messages" +msgstr "" + +#: awaystore.cpp:516 +msgid "" +"[ -notimer | -timer N ] [-chans] passw0rd . N is number of seconds, 600 by " +"default." +msgstr "" + +#: awaystore.cpp:521 +msgid "" +"Adds auto-away with logging, useful when you use ZNC from different locations" +msgstr "" diff --git a/modules/po/cyrusauth.pot b/modules/po/cyrusauth.pot new file mode 100644 index 00000000..31336248 --- /dev/null +++ b/modules/po/cyrusauth.pot @@ -0,0 +1,65 @@ +#: cyrusauth.cpp:42 +msgid "[yes|no]" +msgstr "" + +#: cyrusauth.cpp:43 +msgid "Create ZNC user upon first successful login" +msgstr "" + +#: cyrusauth.cpp:45 +msgid "[username]" +msgstr "" + +#: cyrusauth.cpp:46 +msgid "User to be used as the template for new users" +msgstr "" + +#: cyrusauth.cpp:59 +msgid "Access denied" +msgstr "" + +#: cyrusauth.cpp:73 +msgid "Ignoring invalid SASL pwcheck method: {1}" +msgstr "" + +#: cyrusauth.cpp:74 +msgid "Ignored invalid SASL pwcheck method" +msgstr "" + +#: cyrusauth.cpp:82 +msgid "Need a pwcheck method as argument (saslauthd, auxprop)" +msgstr "" + +#: cyrusauth.cpp:87 +msgid "SASL Could Not Be Initialized - Halting Startup" +msgstr "" + +#: cyrusauth.cpp:180 +msgid "We will create users on their first login" +msgstr "" + +#: cyrusauth.cpp:182 +msgid "We will not create users on their first login" +msgstr "" + +#: cyrusauth.cpp:194 +msgid "We will clone {1}" +msgstr "" + +#: cyrusauth.cpp:196 +msgid "We will not clone a user" +msgstr "" + +#: cyrusauth.cpp:202 +msgid "Clone user disabled" +msgstr "" + +#: cyrusauth.cpp:233 +msgid "" +"This global module takes up to two arguments - the methods of authentication " +"- auxprop and saslauthd" +msgstr "" + +#: cyrusauth.cpp:239 +msgid "Allow users to authenticate via SASL password verification method" +msgstr "" diff --git a/modules/po/webadmin.pot b/modules/po/webadmin.pot index 71966684..ad6b6a6b 100644 --- a/modules/po/webadmin.pot +++ b/modules/po/webadmin.pot @@ -61,19 +61,19 @@ msgid "Save to config" msgstr "" #: modules/po/../data/webadmin/tmpl/add_edit_chan.tmpl:67 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:399 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:404 #: modules/po/../data/webadmin/tmpl/add_edit_network.tmpl:282 msgid "Module {1}" msgstr "" #: modules/po/../data/webadmin/tmpl/add_edit_chan.tmpl:75 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:408 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:413 #: modules/po/../data/webadmin/tmpl/add_edit_network.tmpl:290 msgid "Save and return" msgstr "" #: modules/po/../data/webadmin/tmpl/add_edit_chan.tmpl:76 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:409 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:414 #: modules/po/../data/webadmin/tmpl/add_edit_network.tmpl:291 msgid "Save and continue" msgstr "" @@ -147,7 +147,7 @@ msgstr "" #: modules/po/../data/webadmin/tmpl/settings.tmpl:72 #: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:123 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:343 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:348 #: modules/po/../data/webadmin/tmpl/add_edit_network.tmpl:185 #: modules/po/../data/webadmin/tmpl/listusers.tmpl:15 msgid "Add" @@ -158,12 +158,12 @@ msgid "Settings" msgstr "" #: modules/po/../data/webadmin/tmpl/settings.tmpl:90 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:362 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:367 msgid "Skin:" msgstr "" #: modules/po/../data/webadmin/tmpl/settings.tmpl:94 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:368 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:373 msgid "Default" msgstr "" @@ -276,7 +276,7 @@ msgid "Loaded by users" msgstr "" #: modules/po/../data/webadmin/tmpl/settings.tmpl:231 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:419 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:424 #: modules/po/../data/webadmin/tmpl/add_edit_network.tmpl:187 msgid "Save" msgstr "" @@ -537,77 +537,88 @@ msgid "" msgstr "" #: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:316 -msgid "Max IRC Networks Number:" +msgid "Timeout before reconnect:" msgstr "" #: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:318 -msgid "Maximum number of IRC networks allowed for this user." +msgid "" +"How much time ZNC waits (in seconds) until it receives something from " +"network or declares the connection timeout. This happens after attempts to " +"ping the peer." msgstr "" #: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:321 -msgid "Substitutions" +msgid "Max IRC Networks Number:" msgstr "" #: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:323 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:331 -msgid "CTCP Replies:" +msgid "Maximum number of IRC networks allowed for this user." msgstr "" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:327 -msgid "One reply per line. Example: TIME Buy a watch!" +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:326 +msgid "Substitutions" msgstr "" #: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:328 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:344 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:336 +msgid "CTCP Replies:" +msgstr "" + +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:332 +msgid "One reply per line. Example: TIME Buy a watch!" +msgstr "" + +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:333 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:349 msgid "{1} are available" msgstr "" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:330 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:335 msgid "Empty value means this CTCP request will be ignored" msgstr "" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:336 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:341 msgid "Request" msgstr "" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:337 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:342 msgid "Response" msgstr "" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:366 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:371 msgid "- Global -" msgstr "" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:372 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:377 msgid "No other skins found" msgstr "" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:378 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:383 msgid "Language:" msgstr "" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:411 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:416 msgid "Clone and return" msgstr "" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:412 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:417 msgid "Clone and continue" msgstr "" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:414 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:419 msgid "Create and return" msgstr "" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:415 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:420 msgid "Create and continue" msgstr "" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:421 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:426 #: modules/po/../data/webadmin/tmpl/listusers.tmpl:28 msgid "Clone" msgstr "" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:423 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:428 msgid "Create" msgstr "" @@ -936,7 +947,7 @@ msgstr "" msgid "Are you sure you want to delete user “{1}”?" msgstr "" -#: webadmin.cpp:91 webadmin.cpp:1843 +#: webadmin.cpp:91 webadmin.cpp:1853 msgid "Global Settings" msgstr "" @@ -944,11 +955,11 @@ msgstr "" msgid "Your Settings" msgstr "" -#: webadmin.cpp:94 webadmin.cpp:1655 +#: webadmin.cpp:94 webadmin.cpp:1665 msgid "Traffic Info" msgstr "" -#: webadmin.cpp:97 webadmin.cpp:1634 +#: webadmin.cpp:97 webadmin.cpp:1644 msgid "Manage Users" msgstr "" @@ -960,211 +971,215 @@ msgstr "" msgid "Invalid Submission [Passwords do not match]" msgstr "" -#: webadmin.cpp:383 webadmin.cpp:411 webadmin.cpp:1161 webadmin.cpp:2025 +#: webadmin.cpp:314 +msgid "Timeout can't be less than 30 seconds!" +msgstr "" + +#: webadmin.cpp:391 webadmin.cpp:419 webadmin.cpp:1169 webadmin.cpp:2035 msgid "Unable to load module [{1}]: {2}" msgstr "" -#: webadmin.cpp:388 webadmin.cpp:416 +#: webadmin.cpp:396 webadmin.cpp:424 msgid "Unable to load module [{1}] with arguments [{2}]" msgstr "" -#: webadmin.cpp:497 webadmin.cpp:601 webadmin.cpp:626 webadmin.cpp:648 -#: webadmin.cpp:682 webadmin.cpp:1228 +#: webadmin.cpp:505 webadmin.cpp:609 webadmin.cpp:634 webadmin.cpp:656 +#: webadmin.cpp:690 webadmin.cpp:1236 msgid "No such user" msgstr "" -#: webadmin.cpp:510 webadmin.cpp:542 webadmin.cpp:571 webadmin.cpp:587 +#: webadmin.cpp:518 webadmin.cpp:550 webadmin.cpp:579 webadmin.cpp:595 msgid "No such user or network" msgstr "" -#: webadmin.cpp:552 +#: webadmin.cpp:560 msgid "No such channel" msgstr "" -#: webadmin.cpp:618 +#: webadmin.cpp:626 msgid "Please don't delete yourself, suicide is not the answer!" msgstr "" -#: webadmin.cpp:691 webadmin.cpp:913 webadmin.cpp:1292 +#: webadmin.cpp:699 webadmin.cpp:921 webadmin.cpp:1300 msgid "Edit User [{1}]" msgstr "" -#: webadmin.cpp:695 webadmin.cpp:945 +#: webadmin.cpp:703 webadmin.cpp:953 msgid "Edit Network [{1}]" msgstr "" -#: webadmin.cpp:705 +#: webadmin.cpp:713 msgid "Edit Channel [{1}] of Network [{2}] of User [{3}]" msgstr "" -#: webadmin.cpp:712 +#: webadmin.cpp:720 msgid "Edit Channel [{1}]" msgstr "" -#: webadmin.cpp:720 +#: webadmin.cpp:728 msgid "Add Channel to Network [{1}] of User [{2}]" msgstr "" -#: webadmin.cpp:725 +#: webadmin.cpp:733 msgid "Add Channel" msgstr "" -#: webadmin.cpp:732 webadmin.cpp:1481 +#: webadmin.cpp:740 webadmin.cpp:1491 msgid "Auto Clear Chan Buffer" msgstr "" -#: webadmin.cpp:734 +#: webadmin.cpp:742 msgid "Automatically Clear Channel Buffer After Playback" msgstr "" -#: webadmin.cpp:742 +#: webadmin.cpp:750 msgid "Detached" msgstr "" -#: webadmin.cpp:749 +#: webadmin.cpp:757 msgid "Enabled" msgstr "" -#: webadmin.cpp:773 +#: webadmin.cpp:781 msgid "Channel name is a required argument" msgstr "" -#: webadmin.cpp:782 +#: webadmin.cpp:790 msgid "Channel [{1}] already exists" msgstr "" -#: webadmin.cpp:789 +#: webadmin.cpp:797 msgid "Could not add channel [{1}]" msgstr "" -#: webadmin.cpp:837 +#: webadmin.cpp:845 msgid "Channel was added/modified, but config file was not written" msgstr "" -#: webadmin.cpp:921 +#: webadmin.cpp:929 msgid "Edit Network [{1}] of User [{2}]" msgstr "" -#: webadmin.cpp:982 webadmin.cpp:1050 +#: webadmin.cpp:990 webadmin.cpp:1058 msgid "" "Network number limit reached. Ask an admin to increase the limit for you, or " "delete unneeded networks from Your Settings." msgstr "" -#: webadmin.cpp:990 +#: webadmin.cpp:998 msgid "Add Network for User [{1}]" msgstr "" -#: webadmin.cpp:998 +#: webadmin.cpp:1006 msgid "Add Network" msgstr "" -#: webadmin.cpp:1044 +#: webadmin.cpp:1052 msgid "Network name is a required argument" msgstr "" -#: webadmin.cpp:1168 webadmin.cpp:2032 +#: webadmin.cpp:1176 webadmin.cpp:2042 msgid "Unable to reload module [{1}]: {2}" msgstr "" -#: webadmin.cpp:1205 +#: webadmin.cpp:1213 msgid "Network was added/modified, but config file was not written" msgstr "" -#: webadmin.cpp:1234 +#: webadmin.cpp:1242 msgid "That network doesn't exist for this user" msgstr "" -#: webadmin.cpp:1251 +#: webadmin.cpp:1259 msgid "Network was deleted, but config file was not written" msgstr "" -#: webadmin.cpp:1265 +#: webadmin.cpp:1273 msgid "That channel doesn't exist for this network" msgstr "" -#: webadmin.cpp:1274 +#: webadmin.cpp:1282 msgid "Channel was deleted, but config file was not written" msgstr "" -#: webadmin.cpp:1300 +#: webadmin.cpp:1308 msgid "Clone User [{1}]" msgstr "" -#: webadmin.cpp:1483 +#: webadmin.cpp:1493 msgid "" "Automatically Clear Channel Buffer After Playback (the default value for new " "channels)" msgstr "" -#: webadmin.cpp:1493 +#: webadmin.cpp:1503 msgid "Multi Clients" msgstr "" -#: webadmin.cpp:1500 +#: webadmin.cpp:1510 msgid "Append Timestamps" msgstr "" -#: webadmin.cpp:1507 +#: webadmin.cpp:1517 msgid "Prepend Timestamps" msgstr "" -#: webadmin.cpp:1515 +#: webadmin.cpp:1525 msgid "Deny LoadMod" msgstr "" -#: webadmin.cpp:1522 +#: webadmin.cpp:1532 msgid "Admin" msgstr "" -#: webadmin.cpp:1532 +#: webadmin.cpp:1542 msgid "Deny SetBindHost" msgstr "" -#: webadmin.cpp:1540 +#: webadmin.cpp:1550 msgid "Auto Clear Query Buffer" msgstr "" -#: webadmin.cpp:1542 +#: webadmin.cpp:1552 msgid "Automatically Clear Query Buffer After Playback" msgstr "" -#: webadmin.cpp:1566 +#: webadmin.cpp:1576 msgid "Invalid Submission: User {1} already exists" msgstr "" -#: webadmin.cpp:1588 webadmin.cpp:1599 +#: webadmin.cpp:1598 webadmin.cpp:1609 msgid "Invalid submission: {1}" msgstr "" -#: webadmin.cpp:1594 +#: webadmin.cpp:1604 msgid "User was added, but config file was not written" msgstr "" -#: webadmin.cpp:1605 +#: webadmin.cpp:1615 msgid "User was edited, but config file was not written" msgstr "" -#: webadmin.cpp:1763 +#: webadmin.cpp:1773 msgid "Choose either IPv4 or IPv6 or both." msgstr "" -#: webadmin.cpp:1780 +#: webadmin.cpp:1790 msgid "Choose either IRC or HTTP or both." msgstr "" -#: webadmin.cpp:1793 webadmin.cpp:1829 +#: webadmin.cpp:1803 webadmin.cpp:1839 msgid "Port was changed, but config file was not written" msgstr "" -#: webadmin.cpp:1819 +#: webadmin.cpp:1829 msgid "Invalid request." msgstr "" -#: webadmin.cpp:1833 +#: webadmin.cpp:1843 msgid "The specified listener was not found." msgstr "" -#: webadmin.cpp:2061 +#: webadmin.cpp:2071 msgid "Settings were changed, but config file was not written" msgstr "" diff --git a/modules/po/webadmin.ru.po b/modules/po/webadmin.ru.po index 6423e77e..357e1fe2 100644 --- a/modules/po/webadmin.ru.po +++ b/modules/po/webadmin.ru.po @@ -70,19 +70,19 @@ msgid "Save to config" msgstr "Сохранять в файл конфигурации" #: modules/po/../data/webadmin/tmpl/add_edit_chan.tmpl:67 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:399 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:404 #: modules/po/../data/webadmin/tmpl/add_edit_network.tmpl:282 msgid "Module {1}" msgstr "Модуль {1}" #: modules/po/../data/webadmin/tmpl/add_edit_chan.tmpl:75 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:408 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:413 #: modules/po/../data/webadmin/tmpl/add_edit_network.tmpl:290 msgid "Save and return" msgstr "Сохранить и вернуться" #: modules/po/../data/webadmin/tmpl/add_edit_chan.tmpl:76 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:409 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:414 #: modules/po/../data/webadmin/tmpl/add_edit_network.tmpl:291 msgid "Save and continue" msgstr "Сохранить и продолжить" @@ -159,7 +159,7 @@ msgstr "Текущий" #: modules/po/../data/webadmin/tmpl/settings.tmpl:72 #: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:123 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:343 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:348 #: modules/po/../data/webadmin/tmpl/add_edit_network.tmpl:185 #: modules/po/../data/webadmin/tmpl/listusers.tmpl:15 msgid "Add" @@ -170,12 +170,12 @@ msgid "Settings" msgstr "Настройки" #: modules/po/../data/webadmin/tmpl/settings.tmpl:90 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:362 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:367 msgid "Skin:" msgstr "Тема:" #: modules/po/../data/webadmin/tmpl/settings.tmpl:94 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:368 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:373 msgid "Default" msgstr "По умолчанию" @@ -294,7 +294,7 @@ msgid "Loaded by users" msgstr "Загружено пользо­вателями" #: modules/po/../data/webadmin/tmpl/settings.tmpl:231 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:419 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:424 #: modules/po/../data/webadmin/tmpl/add_edit_network.tmpl:187 msgid "Save" msgstr "Сохранить" @@ -580,79 +580,90 @@ msgstr "" "отключает с ошибкой «Max SendQ Exceeded»" #: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:316 +msgid "Timeout before reconnect:" +msgstr "" + +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:318 +msgid "" +"How much time ZNC waits (in seconds) until it receives something from " +"network or declares the connection timeout. This happens after attempts to " +"ping the peer." +msgstr "" + +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:321 msgid "Max IRC Networks Number:" msgstr "Ограничение количества сетей IRC:" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:318 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:323 msgid "Maximum number of IRC networks allowed for this user." msgstr "" "Наибольшее разрешённое число сетей IRC, которые может иметь этот " "пользователь." -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:321 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:326 msgid "Substitutions" msgstr "подстановки" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:323 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:331 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:328 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:336 msgid "CTCP Replies:" msgstr "Ответы CTCP:" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:327 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:332 msgid "One reply per line. Example: TIME Buy a watch!" msgstr "По одному ответу в каждой строке. Пример: TIME Купи часы!" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:328 -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:344 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:333 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:349 msgid "{1} are available" msgstr "Доступны {1}" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:330 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:335 msgid "Empty value means this CTCP request will be ignored" msgstr "Если пусто, этот запрос CTCP игнорируется" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:336 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:341 msgid "Request" msgstr "Запрос" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:337 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:342 msgid "Response" msgstr "Ответ" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:366 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:371 msgid "- Global -" msgstr "- Глобальная -" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:372 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:377 msgid "No other skins found" msgstr "Другие темы не найдены" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:378 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:383 msgid "Language:" msgstr "Язык:" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:411 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:416 msgid "Clone and return" msgstr "Склонировать и вернуться" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:412 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:417 msgid "Clone and continue" msgstr "Склонировать и продолжить" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:414 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:419 msgid "Create and return" msgstr "Создать и вернуться" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:415 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:420 msgid "Create and continue" msgstr "Создать и продолжить" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:421 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:426 #: modules/po/../data/webadmin/tmpl/listusers.tmpl:28 msgid "Clone" msgstr "Склонировать" -#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:423 +#: modules/po/../data/webadmin/tmpl/add_edit_user.tmpl:428 msgid "Create" msgstr "Создать" @@ -1000,7 +1011,7 @@ msgstr "Подтверждение удаления пользователя" msgid "Are you sure you want to delete user “{1}”?" msgstr "Вы действительно хотите удалить пользователя «{1}»?" -#: webadmin.cpp:91 webadmin.cpp:1843 +#: webadmin.cpp:91 webadmin.cpp:1853 msgid "Global Settings" msgstr "Глобальные настройки" @@ -1008,11 +1019,11 @@ msgstr "Глобальные настройки" msgid "Your Settings" msgstr "Мои настройки" -#: webadmin.cpp:94 webadmin.cpp:1655 +#: webadmin.cpp:94 webadmin.cpp:1665 msgid "Traffic Info" msgstr "Трафик" -#: webadmin.cpp:97 webadmin.cpp:1634 +#: webadmin.cpp:97 webadmin.cpp:1644 msgid "Manage Users" msgstr "Пользователи" @@ -1024,92 +1035,96 @@ msgstr "Ошибка: необходимо имя пользователя" msgid "Invalid Submission [Passwords do not match]" msgstr "Ошибка: пароли не совпадают" -#: webadmin.cpp:383 webadmin.cpp:411 webadmin.cpp:1161 webadmin.cpp:2025 +#: webadmin.cpp:314 +msgid "Timeout can't be less than 30 seconds!" +msgstr "" + +#: webadmin.cpp:391 webadmin.cpp:419 webadmin.cpp:1169 webadmin.cpp:2035 msgid "Unable to load module [{1}]: {2}" msgstr "Не могу загрузить модуль [{1}]: {2}" -#: webadmin.cpp:388 webadmin.cpp:416 +#: webadmin.cpp:396 webadmin.cpp:424 msgid "Unable to load module [{1}] with arguments [{2}]" msgstr "Не могу загрузить модуль [{1}] с аргументами [{2}]" -#: webadmin.cpp:497 webadmin.cpp:601 webadmin.cpp:626 webadmin.cpp:648 -#: webadmin.cpp:682 webadmin.cpp:1228 +#: webadmin.cpp:505 webadmin.cpp:609 webadmin.cpp:634 webadmin.cpp:656 +#: webadmin.cpp:690 webadmin.cpp:1236 msgid "No such user" msgstr "Нет такого пользователя" -#: webadmin.cpp:510 webadmin.cpp:542 webadmin.cpp:571 webadmin.cpp:587 +#: webadmin.cpp:518 webadmin.cpp:550 webadmin.cpp:579 webadmin.cpp:595 msgid "No such user or network" msgstr "Нет такого пользователя" -#: webadmin.cpp:552 +#: webadmin.cpp:560 msgid "No such channel" msgstr "Нет такого канала" -#: webadmin.cpp:618 +#: webadmin.cpp:626 msgid "Please don't delete yourself, suicide is not the answer!" msgstr "Пожалуйста, не удаляйте себя, самоубийство — не ответ!" -#: webadmin.cpp:691 webadmin.cpp:913 webadmin.cpp:1292 +#: webadmin.cpp:699 webadmin.cpp:921 webadmin.cpp:1300 msgid "Edit User [{1}]" msgstr "Пользователь [{1}]" -#: webadmin.cpp:695 webadmin.cpp:945 +#: webadmin.cpp:703 webadmin.cpp:953 msgid "Edit Network [{1}]" msgstr "Сеть [{1}]" -#: webadmin.cpp:705 +#: webadmin.cpp:713 msgid "Edit Channel [{1}] of Network [{2}] of User [{3}]" msgstr "Канал [{1}] в сети [{2}] пользователя [{3}]" -#: webadmin.cpp:712 +#: webadmin.cpp:720 msgid "Edit Channel [{1}]" msgstr "Канал [{1}]" -#: webadmin.cpp:720 +#: webadmin.cpp:728 msgid "Add Channel to Network [{1}] of User [{2}]" msgstr "Новый канал для сети [{1}] пользователя [{2}]" -#: webadmin.cpp:725 +#: webadmin.cpp:733 msgid "Add Channel" msgstr "Новый канал" -#: webadmin.cpp:732 webadmin.cpp:1481 +#: webadmin.cpp:740 webadmin.cpp:1491 msgid "Auto Clear Chan Buffer" msgstr "Автоматически очищать буфер канала" -#: webadmin.cpp:734 +#: webadmin.cpp:742 msgid "Automatically Clear Channel Buffer After Playback" msgstr "Автоматически очищать буфер канала после воспроизведения" -#: webadmin.cpp:742 +#: webadmin.cpp:750 msgid "Detached" msgstr "Отделён" -#: webadmin.cpp:749 +#: webadmin.cpp:757 msgid "Enabled" msgstr "Включена" -#: webadmin.cpp:773 +#: webadmin.cpp:781 msgid "Channel name is a required argument" msgstr "Необходимо имя канала" -#: webadmin.cpp:782 +#: webadmin.cpp:790 msgid "Channel [{1}] already exists" msgstr "Канал [{1}] уже существует" -#: webadmin.cpp:789 +#: webadmin.cpp:797 msgid "Could not add channel [{1}]" msgstr "Не могу добавить канал [{1}]" -#: webadmin.cpp:837 +#: webadmin.cpp:845 msgid "Channel was added/modified, but config file was not written" msgstr "Канал добавлен/изменён, но записать конфигурацию в файл не удалось" -#: webadmin.cpp:921 +#: webadmin.cpp:929 msgid "Edit Network [{1}] of User [{2}]" msgstr "Сеть [{1}] пользователя [{2}]" -#: webadmin.cpp:982 webadmin.cpp:1050 +#: webadmin.cpp:990 webadmin.cpp:1058 msgid "" "Network number limit reached. Ask an admin to increase the limit for you, or " "delete unneeded networks from Your Settings." @@ -1117,47 +1132,47 @@ msgstr "" "Достигнуто ограничение на количество сетей. Попросите администратора поднять " "вам лимит или удалите ненужные сети в «Моих настройках»" -#: webadmin.cpp:990 +#: webadmin.cpp:998 msgid "Add Network for User [{1}]" msgstr "Новая сеть пользователя [{1}]" -#: webadmin.cpp:998 +#: webadmin.cpp:1006 msgid "Add Network" msgstr "Новая сеть" -#: webadmin.cpp:1044 +#: webadmin.cpp:1052 msgid "Network name is a required argument" msgstr "Необходимо имя сети" -#: webadmin.cpp:1168 webadmin.cpp:2032 +#: webadmin.cpp:1176 webadmin.cpp:2042 msgid "Unable to reload module [{1}]: {2}" msgstr "Не могу перегрузить модуль [{1}]: {2}" -#: webadmin.cpp:1205 +#: webadmin.cpp:1213 msgid "Network was added/modified, but config file was not written" msgstr "Сеть добавлена/изменена, но записать конфигурацию в файл не удалось" -#: webadmin.cpp:1234 +#: webadmin.cpp:1242 msgid "That network doesn't exist for this user" msgstr "У этого пользователя нет такой сети" -#: webadmin.cpp:1251 +#: webadmin.cpp:1259 msgid "Network was deleted, but config file was not written" msgstr "Сеть удалена, но записать конфигурацию в файл не удалось" -#: webadmin.cpp:1265 +#: webadmin.cpp:1273 msgid "That channel doesn't exist for this network" msgstr "В этой сети нет такого канала" -#: webadmin.cpp:1274 +#: webadmin.cpp:1282 msgid "Channel was deleted, but config file was not written" msgstr "Канал удалён, но записать конфигурацию в файл не удалось" -#: webadmin.cpp:1300 +#: webadmin.cpp:1308 msgid "Clone User [{1}]" msgstr "Клон пользователя [{1}]" -#: webadmin.cpp:1483 +#: webadmin.cpp:1493 msgid "" "Automatically Clear Channel Buffer After Playback (the default value for new " "channels)" @@ -1165,74 +1180,74 @@ msgstr "" "Автоматически очищать буфер канала после воспроизведения (значение по " "умолчанию для новых каналов)" -#: webadmin.cpp:1493 +#: webadmin.cpp:1503 msgid "Multi Clients" msgstr "Много клиентов" -#: webadmin.cpp:1500 +#: webadmin.cpp:1510 msgid "Append Timestamps" msgstr "Метка времени в конце" -#: webadmin.cpp:1507 +#: webadmin.cpp:1517 msgid "Prepend Timestamps" msgstr "Метка времени в начале" -#: webadmin.cpp:1515 +#: webadmin.cpp:1525 msgid "Deny LoadMod" msgstr "Запрет загрузки модулей" -#: webadmin.cpp:1522 +#: webadmin.cpp:1532 msgid "Admin" msgstr "Администратор" -#: webadmin.cpp:1532 +#: webadmin.cpp:1542 msgid "Deny SetBindHost" msgstr "Запрет смены хоста" -#: webadmin.cpp:1540 +#: webadmin.cpp:1550 msgid "Auto Clear Query Buffer" msgstr "Автоматически очищать буфер личных сообщений" -#: webadmin.cpp:1542 +#: webadmin.cpp:1552 msgid "Automatically Clear Query Buffer After Playback" msgstr "Автоматически очищать буфер личных сообщений после воспроизведения" -#: webadmin.cpp:1566 +#: webadmin.cpp:1576 msgid "Invalid Submission: User {1} already exists" msgstr "Ошибка: пользователь {1} уже существует" -#: webadmin.cpp:1588 webadmin.cpp:1599 +#: webadmin.cpp:1598 webadmin.cpp:1609 msgid "Invalid submission: {1}" msgstr "Ошибка: {1}" -#: webadmin.cpp:1594 +#: webadmin.cpp:1604 msgid "User was added, but config file was not written" msgstr "Пользователь добавлен, но записать конфигурацию в файл не удалось" -#: webadmin.cpp:1605 +#: webadmin.cpp:1615 msgid "User was edited, but config file was not written" msgstr "Пользователь изменён, но записать конфигурацию в файл не удалось" -#: webadmin.cpp:1763 +#: webadmin.cpp:1773 msgid "Choose either IPv4 or IPv6 or both." msgstr "Выберите IPv4, IPv6 или и то, и другое." -#: webadmin.cpp:1780 +#: webadmin.cpp:1790 msgid "Choose either IRC or HTTP or both." msgstr "Выберите IRC, HTTP или и то, и другое." -#: webadmin.cpp:1793 webadmin.cpp:1829 +#: webadmin.cpp:1803 webadmin.cpp:1839 msgid "Port was changed, but config file was not written" msgstr "Порт изменён, но записать конфигурацию в файл не удалось" -#: webadmin.cpp:1819 +#: webadmin.cpp:1829 msgid "Invalid request." msgstr "Некорректный запрос." -#: webadmin.cpp:1833 +#: webadmin.cpp:1843 msgid "The specified listener was not found." msgstr "Указанный порт не найден." -#: webadmin.cpp:2061 +#: webadmin.cpp:2071 msgid "Settings were changed, but config file was not written" msgstr "Настройки изменены, но записать конфигурацию в файл не удалось"