mirror of
https://github.com/znc/znc.git
synced 2026-03-28 17:42:41 +01:00
Make more modules translateable (#1354)
This commit is contained in:
@@ -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> <search> <host>");
|
||||
PutModule("Wildcards are allowed");
|
||||
PutModule(t_s("Usage: Add [!]<#chan> <search> <host>"));
|
||||
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> <search> <host>");
|
||||
PutModule(t_s("Usage: Del [!]<#chan> <search> <host>"));
|
||||
}
|
||||
}
|
||||
|
||||
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<CModCommand::ModCmdFunc>(
|
||||
&CChanAttach::HandleAdd),
|
||||
"[!]<#chan> <search> <host>",
|
||||
"Add an entry, use !#chan to negate and * for wildcards");
|
||||
AddCommand("Del", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CChanAttach::HandleDel),
|
||||
"[!]<#chan> <search> <host>",
|
||||
"Remove an entry, needs to be an exact match");
|
||||
AddCommand("List", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CChanAttach::HandleList),
|
||||
"", "List all entries");
|
||||
AddCommand(
|
||||
"Add", t_d("[!]<#chan> <search> <host>"),
|
||||
t_d("Add an entry, use !#chan to negate and * for wildcards"),
|
||||
[=](const CString& sLine) { HandleAdd(sLine); });
|
||||
AddCommand("Del", t_d("[!]<#chan> <search> <host>"),
|
||||
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<CChanAttach>(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."))
|
||||
|
||||
@@ -23,16 +23,15 @@ class CAutoCycleMod : public CModule {
|
||||
public:
|
||||
MODCONSTRUCTOR(CAutoCycleMod) {
|
||||
AddHelpCommand();
|
||||
AddCommand("Add", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CAutoCycleMod::OnAddCommand),
|
||||
"[!]<#chan>",
|
||||
"Add an entry, use !#chan to negate and * for wildcards");
|
||||
AddCommand("Del", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CAutoCycleMod::OnDelCommand),
|
||||
"[!]<#chan>", "Remove an entry, needs to be an exact match");
|
||||
AddCommand("List", static_cast<CModCommand::ModCmdFunc>(
|
||||
&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<CAutoCycleMod>(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"))
|
||||
|
||||
@@ -151,29 +151,26 @@ class CAutoOpMod : public CModule {
|
||||
public:
|
||||
MODCONSTRUCTOR(CAutoOpMod) {
|
||||
AddHelpCommand();
|
||||
AddCommand("ListUsers", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CAutoOpMod::OnListUsersCommand),
|
||||
"", "List all users");
|
||||
AddCommand("AddChans", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CAutoOpMod::OnAddChansCommand),
|
||||
"<user> <channel> [channel] ...", "Adds channels to a user");
|
||||
AddCommand("DelChans", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CAutoOpMod::OnDelChansCommand),
|
||||
"<user> <channel> [channel] ...",
|
||||
"Removes channels from a user");
|
||||
AddCommand("AddMasks", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CAutoOpMod::OnAddMasksCommand),
|
||||
"<user> <mask>,[mask] ...", "Adds masks to a user");
|
||||
AddCommand("DelMasks", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CAutoOpMod::OnDelMasksCommand),
|
||||
"<user> <mask>,[mask] ...", "Removes masks from a user");
|
||||
AddCommand("AddUser", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CAutoOpMod::OnAddUserCommand),
|
||||
"<user> <hostmask>[,<hostmasks>...] <key> [channels]",
|
||||
"Adds a user");
|
||||
AddCommand("DelUser", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CAutoOpMod::OnDelUserCommand),
|
||||
"<user>", "Removes a user");
|
||||
AddCommand("ListUsers", "", t_d("List all users"),
|
||||
[=](const CString& sLine) { OnListUsersCommand(sLine); });
|
||||
AddCommand("AddChans", t_d("<user> <channel> [channel] ..."),
|
||||
t_d("Adds channels to a user"),
|
||||
[=](const CString& sLine) { OnAddChansCommand(sLine); });
|
||||
AddCommand("DelChans", t_d("<user> <channel> [channel] ..."),
|
||||
t_d("Removes channels from a user"),
|
||||
[=](const CString& sLine) { OnDelChansCommand(sLine); });
|
||||
AddCommand("AddMasks", t_d("<user> <mask>,[mask] ..."),
|
||||
t_d("Adds masks to a user"),
|
||||
[=](const CString& sLine) { OnAddMasksCommand(sLine); });
|
||||
AddCommand("DelMasks", t_d("<user> <mask>,[mask] ..."),
|
||||
t_d("Removes masks from a user"),
|
||||
[=](const CString& sLine) { OnDelMasksCommand(sLine); });
|
||||
AddCommand("AddUser",
|
||||
t_d("<user> <hostmask>[,<hostmasks>...] <key> [channels]"),
|
||||
t_d("Adds a user"),
|
||||
[=](const CString& sLine) { OnAddUserCommand(sLine); });
|
||||
AddCommand("DelUser", t_d("<user>"), 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 <user> <hostmask>[,<hostmasks>...] <key> "
|
||||
"[channels]");
|
||||
t_s("Usage: AddUser <user> <hostmask>[,<hostmasks>...] <key> "
|
||||
"[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 <user>");
|
||||
PutModule(t_s("Usage: DelUser <user>"));
|
||||
} 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 <user> <channel> [channel] ...");
|
||||
PutModule(t_s("Usage: AddChans <user> <channel> [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 <user> <channel> [channel] ...");
|
||||
PutModule(t_s("Usage: DelChans <user> <channel> [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 <user> <mask>,[mask] ...");
|
||||
PutModule(t_s("Usage: AddMasks <user> <mask>,[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 <user> <mask>,[mask] ...");
|
||||
PutModule(t_s("Usage: DelMasks <user> <mask>,[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<CAutoOpMod>(CModInfo& Info) {
|
||||
Info.SetWikiPage("autoop");
|
||||
}
|
||||
|
||||
NETWORKMODULEDEFS(CAutoOpMod, "Auto op the good people")
|
||||
NETWORKMODULEDEFS(CAutoOpMod, t_s("Auto op the good people"))
|
||||
|
||||
@@ -117,22 +117,19 @@ class CAutoVoiceMod : public CModule {
|
||||
public:
|
||||
MODCONSTRUCTOR(CAutoVoiceMod) {
|
||||
AddHelpCommand();
|
||||
AddCommand("ListUsers", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CAutoVoiceMod::OnListUsersCommand),
|
||||
"", "List all users");
|
||||
AddCommand("AddChans", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CAutoVoiceMod::OnAddChansCommand),
|
||||
"<user> <channel> [channel] ...", "Adds channels to a user");
|
||||
AddCommand("DelChans", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CAutoVoiceMod::OnDelChansCommand),
|
||||
"<user> <channel> [channel] ...",
|
||||
"Removes channels from a user");
|
||||
AddCommand("AddUser", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CAutoVoiceMod::OnAddUserCommand),
|
||||
"<user> <hostmask> [channels]", "Adds a user");
|
||||
AddCommand("DelUser", static_cast<CModCommand::ModCmdFunc>(
|
||||
&CAutoVoiceMod::OnDelUserCommand),
|
||||
"<user>", "Removes a user");
|
||||
AddCommand("ListUsers", "", t_d("List all users"),
|
||||
[=](const CString& sLine) { OnListUsersCommand(sLine); });
|
||||
AddCommand("AddChans", t_d("<user> <channel> [channel] ..."),
|
||||
t_d("Adds channels to a user"),
|
||||
[=](const CString& sLine) { OnAddChansCommand(sLine); });
|
||||
AddCommand("DelChans", t_d("<user> <channel> [channel] ..."),
|
||||
t_d("Removes channels from a user"),
|
||||
[=](const CString& sLine) { OnDelChansCommand(sLine); });
|
||||
AddCommand("AddUser", t_d("<user> <hostmask> [channels]"),
|
||||
t_d("Adds a user"),
|
||||
[=](const CString& sLine) { OnAddUserCommand(sLine); });
|
||||
AddCommand("DelUser", t_d("<user>"), 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 <user> <hostmask> [channels]");
|
||||
PutModule(t_s("Usage: AddUser <user> <hostmask> [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 <user>");
|
||||
PutModule(t_s("Usage: DelUser <user>"));
|
||||
} 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 <user> <channel> [channel] ...");
|
||||
PutModule(t_s("Usage: AddChans <user> <channel> [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 <user> <channel> [channel] ...");
|
||||
PutModule(t_s("Usage: DelChans <user> <channel> [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<CAutoVoiceMod>(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"))
|
||||
|
||||
@@ -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 <num|all>");
|
||||
PutModNotice(t_s("USAGE: delete <num|all>"));
|
||||
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<CAway>(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"))
|
||||
|
||||
71
modules/po/autoattach.pot
Normal file
71
modules/po/autoattach.pot
Normal file
@@ -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> <search> <host>"
|
||||
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> <search> <host>"
|
||||
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> <search> <host>"
|
||||
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 ""
|
||||
55
modules/po/autocycle.pot
Normal file
55
modules/po/autocycle.pot
Normal file
@@ -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 ""
|
||||
154
modules/po/autoop.pot
Normal file
154
modules/po/autoop.pot
Normal file
@@ -0,0 +1,154 @@
|
||||
#: autoop.cpp:154
|
||||
msgid "List all users"
|
||||
msgstr ""
|
||||
|
||||
#: autoop.cpp:156 autoop.cpp:159
|
||||
msgid "<user> <channel> [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 "<user> <mask>,[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 "<user> <hostmask>[,<hostmasks>...] <key> [channels]"
|
||||
msgstr ""
|
||||
|
||||
#: autoop.cpp:170
|
||||
msgid "Adds a user"
|
||||
msgstr ""
|
||||
|
||||
#: autoop.cpp:172
|
||||
msgid "<user>"
|
||||
msgstr ""
|
||||
|
||||
#: autoop.cpp:172
|
||||
msgid "Removes a user"
|
||||
msgstr ""
|
||||
|
||||
#: autoop.cpp:275
|
||||
msgid "Usage: AddUser <user> <hostmask>[,<hostmasks>...] <key> [channels]"
|
||||
msgstr ""
|
||||
|
||||
#: autoop.cpp:291
|
||||
msgid "Usage: DelUser <user>"
|
||||
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 <user> <channel> [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 <user> <channel> [channel] ..."
|
||||
msgstr ""
|
||||
|
||||
#: autoop.cpp:371
|
||||
msgid "Channel(s) Removed from user {1}"
|
||||
msgstr ""
|
||||
|
||||
#: autoop.cpp:380
|
||||
msgid "Usage: AddMasks <user> <mask>,[mask] ..."
|
||||
msgstr ""
|
||||
|
||||
#: autoop.cpp:392
|
||||
msgid "Hostmasks(s) added to user {1}"
|
||||
msgstr ""
|
||||
|
||||
#: autoop.cpp:401
|
||||
msgid "Usage: DelMasks <user> <mask>,[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 ""
|
||||
29
modules/po/autoreply.pot
Normal file
29
modules/po/autoreply.pot
Normal file
@@ -0,0 +1,29 @@
|
||||
#: autoreply.cpp:25
|
||||
msgid "<reply>"
|
||||
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 ""
|
||||
97
modules/po/autovoice.pot
Normal file
97
modules/po/autovoice.pot
Normal file
@@ -0,0 +1,97 @@
|
||||
#: autovoice.cpp:120
|
||||
msgid "List all users"
|
||||
msgstr ""
|
||||
|
||||
#: autovoice.cpp:122 autovoice.cpp:125
|
||||
msgid "<user> <channel> [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 "<user> <hostmask> [channels]"
|
||||
msgstr ""
|
||||
|
||||
#: autovoice.cpp:129
|
||||
msgid "Adds a user"
|
||||
msgstr ""
|
||||
|
||||
#: autovoice.cpp:131
|
||||
msgid "<user>"
|
||||
msgstr ""
|
||||
|
||||
#: autovoice.cpp:131
|
||||
msgid "Removes a user"
|
||||
msgstr ""
|
||||
|
||||
#: autovoice.cpp:215
|
||||
msgid "Usage: AddUser <user> <hostmask> [channels]"
|
||||
msgstr ""
|
||||
|
||||
#: autovoice.cpp:229
|
||||
msgid "Usage: DelUser <user>"
|
||||
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 <user> <channel> [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 <user> <channel> [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 ""
|
||||
96
modules/po/awaystore.pot
Normal file
96
modules/po/awaystore.pot
Normal file
@@ -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 <num|all>"
|
||||
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 ""
|
||||
65
modules/po/cyrusauth.pot
Normal file
65
modules/po/cyrusauth.pot
Normal file
@@ -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 ""
|
||||
@@ -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: <code>TIME Buy a watch!</code>"
|
||||
#: 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: <code>TIME Buy a watch!</code>"
|
||||
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 ""
|
||||
|
||||
@@ -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: <code>TIME Buy a watch!</code>"
|
||||
msgstr "По одному ответу в каждой строке. Пример: <code>TIME Купи часы!</code>"
|
||||
|
||||
#: 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 "Настройки изменены, но записать конфигурацию в файл не удалось"
|
||||
|
||||
Reference in New Issue
Block a user