mirror of
https://github.com/JustArchiNET/ArchiSteamFarm.git
synced 2026-01-14 15:40:39 +00:00
Localizing...
This commit is contained in:
@@ -118,7 +118,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (Bots.ContainsKey(botName)) {
|
||||
throw new ArgumentException("That bot is already defined!");
|
||||
throw new ArgumentException(string.Format(Strings.ErrorIsInvalid, nameof(botName)));
|
||||
}
|
||||
|
||||
BotName = botName;
|
||||
@@ -320,7 +320,7 @@ namespace ArchiSteamFarm {
|
||||
|
||||
try {
|
||||
await SteamDirectory.Initialize(cellID).ConfigureAwait(false);
|
||||
Program.ArchiLogger.LogGenericInfo("Done!");
|
||||
Program.ArchiLogger.LogGenericInfo(Strings.Success);
|
||||
} catch {
|
||||
Program.ArchiLogger.LogGenericWarning("Could not initialize SteamDirectory, connecting with Steam Network might take much longer than usual!");
|
||||
}
|
||||
@@ -1534,11 +1534,7 @@ namespace ArchiSteamFarm {
|
||||
return await bot.Response2FA(steamID).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
if (IsOwner(steamID)) {
|
||||
return "Couldn't find any bot named " + botName + "!";
|
||||
}
|
||||
|
||||
return null;
|
||||
return IsOwner(steamID) ? string.Format(Strings.BotNotFound, botName) : null;
|
||||
}
|
||||
|
||||
private async Task<string> Response2FAConfirm(ulong steamID, bool confirm) {
|
||||
@@ -1552,7 +1548,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (!IsConnectedAndLoggedOn) {
|
||||
return "This bot instance is not connected!";
|
||||
return Strings.BotNotConnected;
|
||||
}
|
||||
|
||||
if (!HasMobileAuthenticator) {
|
||||
@@ -1577,11 +1573,7 @@ namespace ArchiSteamFarm {
|
||||
return await bot.Response2FAConfirm(steamID, confirm).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
if (IsOwner(steamID)) {
|
||||
return "Couldn't find any bot named " + botName + "!";
|
||||
}
|
||||
|
||||
return null;
|
||||
return IsOwner(steamID) ? string.Format(Strings.BotNotFound, botName) : null;
|
||||
}
|
||||
|
||||
private async Task<string> ResponseAddLicense(ulong steamID, ICollection<uint> gameIDs) {
|
||||
@@ -1595,7 +1587,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (!IsConnectedAndLoggedOn) {
|
||||
return "This bot instance is not connected!";
|
||||
return Strings.BotNotConnected;
|
||||
}
|
||||
|
||||
StringBuilder result = new StringBuilder();
|
||||
@@ -1626,11 +1618,7 @@ namespace ArchiSteamFarm {
|
||||
|
||||
Bot bot;
|
||||
if (!Bots.TryGetValue(botName, out bot)) {
|
||||
if (IsOwner(steamID)) {
|
||||
return "Couldn't find any bot named " + botName + "!";
|
||||
}
|
||||
|
||||
return null;
|
||||
return IsOwner(steamID) ? string.Format(Strings.BotNotFound, botName) : null;
|
||||
}
|
||||
|
||||
string[] gameIDs = games.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
@@ -1677,7 +1665,7 @@ namespace ArchiSteamFarm {
|
||||
Program.Exit();
|
||||
}).Forget();
|
||||
|
||||
return "Done!";
|
||||
return Strings.Done;
|
||||
}
|
||||
|
||||
private async Task<string> ResponseFarm(ulong steamID) {
|
||||
@@ -1691,12 +1679,12 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (!IsConnectedAndLoggedOn) {
|
||||
return "This bot instance is not connected!";
|
||||
return Strings.BotNotConnected;
|
||||
}
|
||||
|
||||
await CardsFarmer.StopFarming().ConfigureAwait(false);
|
||||
CardsFarmer.StartFarming().Forget();
|
||||
return "Done!";
|
||||
return Strings.Done;
|
||||
}
|
||||
|
||||
private static async Task<string> ResponseFarm(ulong steamID, string botName) {
|
||||
@@ -1710,11 +1698,7 @@ namespace ArchiSteamFarm {
|
||||
return await bot.ResponseFarm(steamID).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
if (IsOwner(steamID)) {
|
||||
return "Couldn't find any bot named " + botName + "!";
|
||||
}
|
||||
|
||||
return null;
|
||||
return IsOwner(steamID) ? string.Format(Strings.BotNotFound, botName) : null;
|
||||
}
|
||||
|
||||
private string ResponseHelp(ulong steamID) {
|
||||
@@ -1741,7 +1725,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (!IsConnectedAndLoggedOn) {
|
||||
return "This bot instance is not connected!";
|
||||
return Strings.BotNotConnected;
|
||||
}
|
||||
|
||||
if (!LootingAllowed) {
|
||||
@@ -1787,11 +1771,7 @@ namespace ArchiSteamFarm {
|
||||
return await bot.ResponseLoot(steamID).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
if (IsOwner(steamID)) {
|
||||
return "Couldn't find any bot named " + botName + "!";
|
||||
}
|
||||
|
||||
return null;
|
||||
return IsOwner(steamID) ? string.Format(Strings.BotNotFound, botName) : null;
|
||||
}
|
||||
|
||||
private static async Task<string> ResponseLootAll(ulong steamID) {
|
||||
@@ -1805,7 +1785,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
await Task.WhenAll(Bots.Values.Where(bot => bot.IsConnectedAndLoggedOn).Select(bot => bot.ResponseLoot(steamID))).ConfigureAwait(false);
|
||||
return "Done!";
|
||||
return Strings.Done;
|
||||
}
|
||||
|
||||
private string ResponseLootSwitch(ulong steamID) {
|
||||
@@ -1819,7 +1799,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
LootingAllowed = !LootingAllowed;
|
||||
return "Looting is now " + (LootingAllowed ? "enabled" : "disabled") + "!";
|
||||
return LootingAllowed ? Strings.BotLootingEnabled : Strings.BotLootingDisabled;
|
||||
}
|
||||
|
||||
private static string ResponseLootSwitch(ulong steamID, string botName) {
|
||||
@@ -1833,11 +1813,7 @@ namespace ArchiSteamFarm {
|
||||
return bot.ResponseLootSwitch(steamID);
|
||||
}
|
||||
|
||||
if (IsOwner(steamID)) {
|
||||
return "Couldn't find any bot named " + botName + "!";
|
||||
}
|
||||
|
||||
return null;
|
||||
return IsOwner(steamID) ? string.Format(Strings.BotNotFound, botName) : null;
|
||||
}
|
||||
|
||||
private async Task<string> ResponseOwns(ulong steamID, string query) {
|
||||
@@ -1851,7 +1827,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (!IsConnectedAndLoggedOn) {
|
||||
return "This bot instance is not connected!";
|
||||
return Strings.BotNotConnected;
|
||||
}
|
||||
|
||||
Dictionary<uint, string> ownedGames;
|
||||
@@ -1862,7 +1838,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if ((ownedGames == null) || (ownedGames.Count == 0)) {
|
||||
return Environment.NewLine + "<" + BotName + "> List of owned games is empty!";
|
||||
return Environment.NewLine + string.Format(Strings.ErrorIsEmpty, nameof(ownedGames));
|
||||
}
|
||||
|
||||
StringBuilder response = new StringBuilder();
|
||||
@@ -1874,9 +1850,9 @@ namespace ArchiSteamFarm {
|
||||
if (uint.TryParse(game, out appID)) {
|
||||
string ownedName;
|
||||
if (ownedGames.TryGetValue(appID, out ownedName)) {
|
||||
response.Append(Environment.NewLine + "<" + BotName + "> Owned already: " + appID + " | " + ownedName);
|
||||
response.Append(Environment.NewLine + string.Format(Strings.BotOwnedAlready, BotName, appID, ownedName));
|
||||
} else {
|
||||
response.Append(Environment.NewLine + "<" + BotName + "> Not owned yet: " + appID);
|
||||
response.Append(Environment.NewLine + string.Format(Strings.BotNotOwnedYet, BotName, appID));
|
||||
}
|
||||
|
||||
continue;
|
||||
@@ -1884,7 +1860,7 @@ namespace ArchiSteamFarm {
|
||||
|
||||
// This is a string, so check our entire library
|
||||
foreach (KeyValuePair<uint, string> ownedGame in ownedGames.Where(ownedGame => ownedGame.Value.IndexOf(game, StringComparison.OrdinalIgnoreCase) >= 0)) {
|
||||
response.Append(Environment.NewLine + "<" + BotName + "> Owned already: " + ownedGame.Key + " | " + ownedGame.Value);
|
||||
response.Append(Environment.NewLine + string.Format(Strings.BotOwnedAlready, BotName, ownedGame.Key, ownedGame.Value));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1892,7 +1868,7 @@ namespace ArchiSteamFarm {
|
||||
return response.ToString();
|
||||
}
|
||||
|
||||
return Environment.NewLine + "<" + BotName + "> Not owned yet: " + query;
|
||||
return Environment.NewLine + string.Format(Strings.BotNotOwnedYet, BotName, query);
|
||||
}
|
||||
|
||||
private static async Task<string> ResponseOwns(ulong steamID, string botName, string query) {
|
||||
@@ -1906,11 +1882,7 @@ namespace ArchiSteamFarm {
|
||||
return await bot.ResponseOwns(steamID, query).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
if (IsOwner(steamID)) {
|
||||
return "Couldn't find any bot named " + botName + "!";
|
||||
}
|
||||
|
||||
return null;
|
||||
return IsOwner(steamID) ? string.Format(Strings.BotNotFound, botName) : null;
|
||||
}
|
||||
|
||||
private static async Task<string> ResponseOwnsAll(ulong steamID, string query) {
|
||||
@@ -1930,7 +1902,7 @@ namespace ArchiSteamFarm {
|
||||
result.Append(response);
|
||||
}
|
||||
|
||||
return result.Length != 0 ? result.ToString() : null;
|
||||
return result.Length > 0 ? result.ToString() : null;
|
||||
}
|
||||
|
||||
private string ResponsePassword(ulong steamID) {
|
||||
@@ -1944,10 +1916,10 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(BotConfig.SteamPassword)) {
|
||||
return "Can't encrypt null password!";
|
||||
return string.Join(Strings.ErrorIsEmpty, nameof(BotConfig.SteamPassword));
|
||||
}
|
||||
|
||||
return Environment.NewLine + "[" + CryptoHelper.ECryptoMethod.AES + "] password: " + CryptoHelper.Encrypt(CryptoHelper.ECryptoMethod.AES, BotConfig.SteamPassword) + Environment.NewLine + "[" + CryptoHelper.ECryptoMethod.ProtectedDataForCurrentUser + "] password: " + CryptoHelper.Encrypt(CryptoHelper.ECryptoMethod.ProtectedDataForCurrentUser, BotConfig.SteamPassword);
|
||||
return Environment.NewLine + string.Format(Strings.BotEncryptedPassword, CryptoHelper.ECryptoMethod.AES, CryptoHelper.Encrypt(CryptoHelper.ECryptoMethod.AES, BotConfig.SteamPassword)) + Environment.NewLine + string.Format(Strings.BotEncryptedPassword, CryptoHelper.ECryptoMethod.ProtectedDataForCurrentUser, CryptoHelper.Encrypt(CryptoHelper.ECryptoMethod.ProtectedDataForCurrentUser, BotConfig.SteamPassword));
|
||||
}
|
||||
|
||||
private static string ResponsePassword(ulong steamID, string botName) {
|
||||
@@ -1961,11 +1933,7 @@ namespace ArchiSteamFarm {
|
||||
return bot.ResponsePassword(steamID);
|
||||
}
|
||||
|
||||
if (IsOwner(steamID)) {
|
||||
return "Couldn't find any bot named " + botName + "!";
|
||||
}
|
||||
|
||||
return null;
|
||||
return IsOwner(steamID) ? string.Format(Strings.BotNotFound, botName) : null;
|
||||
}
|
||||
|
||||
private async Task<string> ResponsePause(ulong steamID, bool sticky) {
|
||||
@@ -1979,21 +1947,21 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (!IsConnectedAndLoggedOn) {
|
||||
return "This bot instance is not connected!";
|
||||
return Strings.BotNotConnected;
|
||||
}
|
||||
|
||||
if (CardsFarmer.Paused) {
|
||||
return "Automatic farming is paused already!";
|
||||
return Strings.BotAutomaticIdlingPausedAlready;
|
||||
}
|
||||
|
||||
await CardsFarmer.Pause(sticky).ConfigureAwait(false);
|
||||
|
||||
if (!SteamFamilySharingIDs.Contains(steamID)) {
|
||||
return "Automatic farming is now paused!";
|
||||
return Strings.BotAutomaticIdlingPaused;
|
||||
}
|
||||
|
||||
StartFamilySharingInactivityTimer();
|
||||
return "Automatic farming is now paused! You have " + FamilySharingInactivityMinutes + " minutes to start a game.";
|
||||
return string.Join(Strings.BotAutomaticIdlingPausedWithCountdown, FamilySharingInactivityMinutes);
|
||||
}
|
||||
|
||||
private static async Task<string> ResponsePause(ulong steamID, string botName, bool sticky) {
|
||||
@@ -2007,11 +1975,7 @@ namespace ArchiSteamFarm {
|
||||
return await bot.ResponsePause(steamID, sticky).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
if (IsOwner(steamID)) {
|
||||
return "Couldn't find any bot named " + botName + "!";
|
||||
}
|
||||
|
||||
return null;
|
||||
return IsOwner(steamID) ? string.Format(Strings.BotNotFound, botName) : null;
|
||||
}
|
||||
|
||||
private async Task<string> ResponsePlay(ulong steamID, HashSet<uint> gameIDs) {
|
||||
@@ -2025,7 +1989,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (!IsConnectedAndLoggedOn) {
|
||||
return "This bot instance is not connected!";
|
||||
return Strings.BotNotConnected;
|
||||
}
|
||||
|
||||
if (!CardsFarmer.Paused) {
|
||||
@@ -2033,7 +1997,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
ArchiHandler.PlayGames(gameIDs);
|
||||
return "Done!";
|
||||
return Strings.Done;
|
||||
}
|
||||
|
||||
private static async Task<string> ResponsePlay(ulong steamID, string botName, string games) {
|
||||
@@ -2044,11 +2008,7 @@ namespace ArchiSteamFarm {
|
||||
|
||||
Bot bot;
|
||||
if (!Bots.TryGetValue(botName, out bot)) {
|
||||
if (IsOwner(steamID)) {
|
||||
return "Couldn't find any bot named " + botName + "!";
|
||||
}
|
||||
|
||||
return null;
|
||||
return IsOwner(steamID) ? string.Format(Strings.BotNotFound, botName) : null;
|
||||
}
|
||||
|
||||
string[] gameIDs = games.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
@@ -2057,7 +2017,7 @@ namespace ArchiSteamFarm {
|
||||
foreach (string game in gameIDs.Where(game => !string.IsNullOrEmpty(game))) {
|
||||
uint gameID;
|
||||
if (!uint.TryParse(game, out gameID)) {
|
||||
return "Couldn't parse games list!";
|
||||
return string.Format(Strings.ErrorParsingObject, nameof(gameID));
|
||||
}
|
||||
|
||||
gamesToPlay.Add(gameID);
|
||||
@@ -2068,7 +2028,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (gamesToPlay.Count == 0) {
|
||||
return "List of games is empty!";
|
||||
return string.Format(Strings.ErrorIsEmpty, gamesToPlay);
|
||||
}
|
||||
|
||||
return await bot.ResponsePlay(steamID, gamesToPlay).ConfigureAwait(false);
|
||||
@@ -2086,7 +2046,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (!IsConnectedAndLoggedOn) {
|
||||
return "This bot instance is not connected!";
|
||||
return Strings.BotNotConnected;
|
||||
}
|
||||
|
||||
bool forward = !redeemFlags.HasFlag(ERedeemFlags.SkipForwarding) && (redeemFlags.HasFlag(ERedeemFlags.ForceForwarding) || BotConfig.RedeemingPreferences.HasFlag(BotConfig.ERedeemingPreferences.Forwarding));
|
||||
@@ -2129,7 +2089,11 @@ namespace ArchiSteamFarm {
|
||||
result.PurchaseResult = await currentBot.ArchiWebHandler.RedeemWalletKey(key).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
response.Append(Environment.NewLine + "<" + currentBot.BotName + "> Key: " + key + " | Status: " + result.PurchaseResult + ((result.Items != null) && (result.Items.Count > 0) ? " | Items: " + string.Join("", result.Items) : ""));
|
||||
if ((result.Items != null) && (result.Items.Count > 0)) {
|
||||
response.Append(Environment.NewLine + string.Join(Strings.BotRedeemResponseWithItems, currentBot.BotName, key, result.PurchaseResult, result.Items));
|
||||
} else {
|
||||
response.Append(Environment.NewLine + string.Join(Strings.BotRedeemResponse, currentBot.BotName, key, result.PurchaseResult));
|
||||
}
|
||||
|
||||
if (result.PurchaseResult == ArchiHandler.PurchaseResponseCallback.EPurchaseResult.OK) {
|
||||
unusedKeys.Remove(key);
|
||||
@@ -2146,7 +2110,11 @@ namespace ArchiSteamFarm {
|
||||
case ArchiHandler.PurchaseResponseCallback.EPurchaseResult.BaseGameRequired:
|
||||
case ArchiHandler.PurchaseResponseCallback.EPurchaseResult.OnCooldown:
|
||||
case ArchiHandler.PurchaseResponseCallback.EPurchaseResult.RegionLocked:
|
||||
response.Append(Environment.NewLine + "<" + currentBot.BotName + "> Key: " + key + " | Status: " + result.PurchaseResult + ((result.Items != null) && (result.Items.Count > 0) ? " | Items: " + string.Join("", result.Items) : ""));
|
||||
if ((result.Items != null) && (result.Items.Count > 0)) {
|
||||
response.Append(Environment.NewLine + string.Join(Strings.BotRedeemResponseWithItems, currentBot.BotName, key, result.PurchaseResult, result.Items));
|
||||
} else {
|
||||
response.Append(Environment.NewLine + string.Join(Strings.BotRedeemResponse, currentBot.BotName, key, result.PurchaseResult));
|
||||
}
|
||||
|
||||
if (!forward) {
|
||||
key = reader.ReadLine(); // Next key
|
||||
@@ -2164,7 +2132,7 @@ namespace ArchiSteamFarm {
|
||||
foreach (Bot bot in Bots.Where(bot => (bot.Value != previousBot) && (!redeemFlags.HasFlag(ERedeemFlags.SkipInitial) || (bot.Value != this)) && bot.Value.IsConnectedAndLoggedOn && ((items.Count == 0) || items.Keys.Any(packageID => !bot.Value.OwnedPackageIDs.Contains(packageID)))).OrderBy(bot => bot.Key).Select(bot => bot.Value)) {
|
||||
ArchiHandler.PurchaseResponseCallback otherResult = await bot.ArchiHandler.RedeemKey(key).ConfigureAwait(false);
|
||||
if (otherResult == null) {
|
||||
response.Append(Environment.NewLine + "<" + bot.BotName + "> Key: " + key + " | Status: Timeout!");
|
||||
response.Append(Environment.NewLine + string.Join(Strings.BotRedeemResponse, bot.BotName, key, "Timeout!"));
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -2181,7 +2149,11 @@ namespace ArchiSteamFarm {
|
||||
break;
|
||||
}
|
||||
|
||||
response.Append(Environment.NewLine + "<" + bot.BotName + "> Key: " + key + " | Status: " + otherResult.PurchaseResult + ((otherResult.Items != null) && (otherResult.Items.Count > 0) ? " | Items: " + string.Join("", otherResult.Items) : ""));
|
||||
if ((otherResult.Items != null) && (otherResult.Items.Count > 0)) {
|
||||
response.Append(Environment.NewLine + string.Join(Strings.BotRedeemResponseWithItems, bot.BotName, key, otherResult.PurchaseResult, otherResult.Items));
|
||||
} else {
|
||||
response.Append(Environment.NewLine + string.Join(Strings.BotRedeemResponse, bot.BotName, key, otherResult.PurchaseResult));
|
||||
}
|
||||
|
||||
if (alreadyHandled) {
|
||||
break;
|
||||
@@ -2214,7 +2186,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (unusedKeys.Count > 0) {
|
||||
response.Append(Environment.NewLine + "Unused keys: " + string.Join(", ", unusedKeys));
|
||||
response.Append(Environment.NewLine + string.Format(Strings.UnusedKeys, string.Join(", ", unusedKeys)));
|
||||
}
|
||||
|
||||
return response.Length > 0 ? response.ToString() : null;
|
||||
@@ -2231,11 +2203,7 @@ namespace ArchiSteamFarm {
|
||||
return await bot.ResponseRedeem(steamID, message, redeemFlags).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
if (IsOwner(steamID)) {
|
||||
return "Couldn't find any bot named " + botName + "!";
|
||||
}
|
||||
|
||||
return null;
|
||||
return IsOwner(steamID) ? string.Format(Strings.BotNotFound, botName) : null;
|
||||
}
|
||||
|
||||
private static string ResponseRejoinChat(ulong steamID) {
|
||||
@@ -2252,7 +2220,7 @@ namespace ArchiSteamFarm {
|
||||
bot.JoinMasterChat();
|
||||
}
|
||||
|
||||
return "Done!";
|
||||
return Strings.Done;
|
||||
}
|
||||
|
||||
private static string ResponseRestart(ulong steamID) {
|
||||
@@ -2271,7 +2239,7 @@ namespace ArchiSteamFarm {
|
||||
Program.Restart();
|
||||
}).Forget();
|
||||
|
||||
return "Done!";
|
||||
return Strings.Done;
|
||||
}
|
||||
|
||||
private string ResponseResume(ulong steamID) {
|
||||
@@ -2285,16 +2253,16 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (!IsConnectedAndLoggedOn) {
|
||||
return "This bot instance is not connected!";
|
||||
return Strings.BotNotConnected;
|
||||
}
|
||||
|
||||
if (!CardsFarmer.Paused) {
|
||||
return "Automatic farming is resumed already!";
|
||||
return Strings.BotAutomaticIdlingResumedAlready;
|
||||
}
|
||||
|
||||
StopFamilySharingInactivityTimer();
|
||||
CardsFarmer.Resume(true);
|
||||
return "Automatic farming is now resumed!";
|
||||
return Strings.BotAutomaticIdlingResumed;
|
||||
}
|
||||
|
||||
private static string ResponseResume(ulong steamID, string botName) {
|
||||
@@ -2308,11 +2276,7 @@ namespace ArchiSteamFarm {
|
||||
return bot.ResponseResume(steamID);
|
||||
}
|
||||
|
||||
if (IsOwner(steamID)) {
|
||||
return "Couldn't find any bot named " + botName + "!";
|
||||
}
|
||||
|
||||
return null;
|
||||
return IsOwner(steamID) ? string.Format(Strings.BotNotFound, botName) : null;
|
||||
}
|
||||
|
||||
private string ResponseStart(ulong steamID) {
|
||||
@@ -2326,12 +2290,12 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (KeepRunning) {
|
||||
return "That bot instance is already running!";
|
||||
return Strings.BotAlreadyRunning;
|
||||
}
|
||||
|
||||
SkipFirstShutdown = true;
|
||||
Start().Forget();
|
||||
return "Done!";
|
||||
return Strings.Done;
|
||||
}
|
||||
|
||||
private static string ResponseStart(ulong steamID, string botName) {
|
||||
@@ -2345,11 +2309,7 @@ namespace ArchiSteamFarm {
|
||||
return bot.ResponseStart(steamID);
|
||||
}
|
||||
|
||||
if (IsOwner(steamID)) {
|
||||
return "Couldn't find any bot named " + botName + "!";
|
||||
}
|
||||
|
||||
return null;
|
||||
return IsOwner(steamID) ? string.Format(Strings.BotNotFound, botName) : null;
|
||||
}
|
||||
|
||||
private static string ResponseStartAll(ulong steamID) {
|
||||
@@ -2366,7 +2326,7 @@ namespace ArchiSteamFarm {
|
||||
bot.ResponseStart(steamID);
|
||||
}
|
||||
|
||||
return "Done!";
|
||||
return Strings.Done;
|
||||
}
|
||||
|
||||
private string ResponseStatus(ulong steamID) {
|
||||
@@ -2380,40 +2340,31 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (!IsConnectedAndLoggedOn) {
|
||||
if (KeepRunning) {
|
||||
return "Bot " + BotName + " is not connected.";
|
||||
}
|
||||
|
||||
return "Bot " + BotName + " is not running.";
|
||||
return string.Format(KeepRunning ? Strings.BotStatusNotConnected : Strings.BotStatusNotRunning, BotName);
|
||||
}
|
||||
|
||||
if (PlayingBlocked) {
|
||||
return "Bot " + BotName + " is currently being used.";
|
||||
return string.Format(Strings.BotStatusPlayingNotAvailable, BotName);
|
||||
}
|
||||
|
||||
if (CardsFarmer.Paused) {
|
||||
return "Bot " + BotName + " is paused or running in manual mode.";
|
||||
return string.Format(Strings.BotStatusPaused, BotName);
|
||||
}
|
||||
|
||||
if (IsLimitedUser) {
|
||||
return "Bot " + BotName + " is limited.";
|
||||
return string.Format(Strings.BotStatusLimited, BotName);
|
||||
}
|
||||
|
||||
if (CardsFarmer.CurrentGamesFarming.Count == 0) {
|
||||
return "Bot " + BotName + " is not farming anything.";
|
||||
return string.Format(Strings.BotsStatusNotIdling, BotName);
|
||||
}
|
||||
|
||||
StringBuilder response = new StringBuilder("Bot " + BotName + " is idling ");
|
||||
|
||||
if (CardsFarmer.CurrentGamesFarming.Count == 1) {
|
||||
CardsFarmer.Game game = CardsFarmer.CurrentGamesFarming.First();
|
||||
response.Append("game: " + game.AppID + " (" + game.GameName + ", " + game.CardsRemaining + " card drops remaining)");
|
||||
} else {
|
||||
response.Append("appIDs: " + string.Join(", ", CardsFarmer.CurrentGamesFarming.Select(game => game.AppID)));
|
||||
if (CardsFarmer.CurrentGamesFarming.Count > 1) {
|
||||
return string.Format(Strings.BotStatusIdling, BotName, CardsFarmer.GamesToFarm.Count, CardsFarmer.GamesToFarm.Sum(game => game.CardsRemaining), CardsFarmer.TimeRemaining.ToHumanReadable());
|
||||
}
|
||||
|
||||
response.Append(" from a total of " + CardsFarmer.GamesToFarm.Count + " games (" + CardsFarmer.GamesToFarm.Sum(game => game.CardsRemaining) + " cards) left to idle (~" + CardsFarmer.TimeRemaining.ToHumanReadable() + " remaining).");
|
||||
return response.ToString();
|
||||
CardsFarmer.Game soloGame = CardsFarmer.CurrentGamesFarming.First();
|
||||
return string.Format(Strings.BotStatusIdling, BotName, soloGame.AppID, soloGame.GameName, soloGame.CardsRemaining, CardsFarmer.GamesToFarm.Count, CardsFarmer.GamesToFarm.Sum(game => game.CardsRemaining), CardsFarmer.TimeRemaining.ToHumanReadable());
|
||||
}
|
||||
|
||||
private static string ResponseStatus(ulong steamID, string botName) {
|
||||
@@ -2427,11 +2378,7 @@ namespace ArchiSteamFarm {
|
||||
return bot.ResponseStatus(steamID);
|
||||
}
|
||||
|
||||
if (IsOwner(steamID)) {
|
||||
return "Couldn't find any bot named " + botName + "!";
|
||||
}
|
||||
|
||||
return null;
|
||||
return IsOwner(steamID) ? string.Format(Strings.BotNotFound, botName) : null;
|
||||
}
|
||||
|
||||
private static string ResponseStatusAll(ulong steamID) {
|
||||
@@ -2447,7 +2394,7 @@ namespace ArchiSteamFarm {
|
||||
HashSet<Bot> botsRunning = new HashSet<Bot>(Bots.Where(bot => bot.Value.KeepRunning).OrderBy(bot => bot.Key).Select(bot => bot.Value));
|
||||
IEnumerable<string> statuses = botsRunning.Select(bot => bot.ResponseStatus(steamID));
|
||||
|
||||
return Environment.NewLine + string.Join(Environment.NewLine, statuses) + Environment.NewLine + "There are " + botsRunning.Count + "/" + Bots.Count + " bots running, with total of " + botsRunning.Sum(bot => bot.CardsFarmer.GamesToFarm.Count) + " games (" + botsRunning.Sum(bot => bot.CardsFarmer.GamesToFarm.Sum(game => game.CardsRemaining)) + " cards) left to farm.";
|
||||
return Environment.NewLine + string.Join(Environment.NewLine, statuses) + Environment.NewLine + string.Format(Strings.BotsStatusOverview, botsRunning.Count, Bots.Count, botsRunning.Sum(bot => bot.CardsFarmer.GamesToFarm.Count), botsRunning.Sum(bot => bot.CardsFarmer.GamesToFarm.Sum(game => game.CardsRemaining)));
|
||||
}
|
||||
|
||||
private string ResponseStop(ulong steamID) {
|
||||
@@ -2461,11 +2408,11 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if (!KeepRunning) {
|
||||
return "That bot instance is already inactive!";
|
||||
return Strings.BotAlreadyStopped;
|
||||
}
|
||||
|
||||
Stop();
|
||||
return "Done!";
|
||||
return Strings.Done;
|
||||
}
|
||||
|
||||
private static string ResponseStop(ulong steamID, string botName) {
|
||||
@@ -2479,16 +2426,12 @@ namespace ArchiSteamFarm {
|
||||
return bot.ResponseStop(steamID);
|
||||
}
|
||||
|
||||
if (IsOwner(steamID)) {
|
||||
return "Couldn't find any bot named " + botName + "!";
|
||||
}
|
||||
|
||||
return null;
|
||||
return IsOwner(steamID) ? string.Format(Strings.BotNotFound, botName) : null;
|
||||
}
|
||||
|
||||
private string ResponseUnknown(ulong steamID) {
|
||||
if (steamID != 0) {
|
||||
return !IsMaster(steamID) ? null : "ERROR: Unknown command!";
|
||||
return IsMaster(steamID) ? Strings.UnknownCommand : null;
|
||||
}
|
||||
|
||||
ArchiLogger.LogNullError(nameof(steamID));
|
||||
@@ -2506,7 +2449,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
await ASF.CheckForUpdate(true).ConfigureAwait(false);
|
||||
return "Done!";
|
||||
return Strings.Done;
|
||||
}
|
||||
|
||||
private string ResponseVersion(ulong steamID) {
|
||||
|
||||
261
ArchiSteamFarm/Localization/Strings.Designer.cs
generated
261
ArchiSteamFarm/Localization/Strings.Designer.cs
generated
@@ -78,6 +78,231 @@ namespace ArchiSteamFarm.Localization {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to That bot instance is already running!.
|
||||
/// </summary>
|
||||
internal static string BotAlreadyRunning {
|
||||
get {
|
||||
return ResourceManager.GetString("BotAlreadyRunning", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to That bot instance is already stopped!.
|
||||
/// </summary>
|
||||
internal static string BotAlreadyStopped {
|
||||
get {
|
||||
return ResourceManager.GetString("BotAlreadyStopped", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Automatic idling is now paused!.
|
||||
/// </summary>
|
||||
internal static string BotAutomaticIdlingPaused {
|
||||
get {
|
||||
return ResourceManager.GetString("BotAutomaticIdlingPaused", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Automatic idling is paused already!.
|
||||
/// </summary>
|
||||
internal static string BotAutomaticIdlingPausedAlready {
|
||||
get {
|
||||
return ResourceManager.GetString("BotAutomaticIdlingPausedAlready", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Automatic idling is now paused! You have {0} minutes to start a game..
|
||||
/// </summary>
|
||||
internal static string BotAutomaticIdlingPausedWithCountdown {
|
||||
get {
|
||||
return ResourceManager.GetString("BotAutomaticIdlingPausedWithCountdown", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Automatic idling is now resumed!.
|
||||
/// </summary>
|
||||
internal static string BotAutomaticIdlingResumed {
|
||||
get {
|
||||
return ResourceManager.GetString("BotAutomaticIdlingResumed", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Automatic idling is resumed already!.
|
||||
/// </summary>
|
||||
internal static string BotAutomaticIdlingResumedAlready {
|
||||
get {
|
||||
return ResourceManager.GetString("BotAutomaticIdlingResumedAlready", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [{0}] password: {1}.
|
||||
/// </summary>
|
||||
internal static string BotEncryptedPassword {
|
||||
get {
|
||||
return ResourceManager.GetString("BotEncryptedPassword", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Looting is now disabled!.
|
||||
/// </summary>
|
||||
internal static string BotLootingDisabled {
|
||||
get {
|
||||
return ResourceManager.GetString("BotLootingDisabled", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Looting is now enabled!.
|
||||
/// </summary>
|
||||
internal static string BotLootingEnabled {
|
||||
get {
|
||||
return ResourceManager.GetString("BotLootingEnabled", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to This bot instance is not connected!.
|
||||
/// </summary>
|
||||
internal static string BotNotConnected {
|
||||
get {
|
||||
return ResourceManager.GetString("BotNotConnected", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Couldn't find any bot named {0}!.
|
||||
/// </summary>
|
||||
internal static string BotNotFound {
|
||||
get {
|
||||
return ResourceManager.GetString("BotNotFound", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to <{0}> Not owned yet: {1}.
|
||||
/// </summary>
|
||||
internal static string BotNotOwnedYet {
|
||||
get {
|
||||
return ResourceManager.GetString("BotNotOwnedYet", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to <{0}> Owned already: {1} | {2}.
|
||||
/// </summary>
|
||||
internal static string BotOwnedAlready {
|
||||
get {
|
||||
return ResourceManager.GetString("BotOwnedAlready", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to <{0}> Key: {1} | Status: {2}.
|
||||
/// </summary>
|
||||
internal static string BotRedeemResponse {
|
||||
get {
|
||||
return ResourceManager.GetString("BotRedeemResponse", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to <{0}> Key: {1} | Status: {2} | Items: {3}.
|
||||
/// </summary>
|
||||
internal static string BotRedeemResponseWithItems {
|
||||
get {
|
||||
return ResourceManager.GetString("BotRedeemResponseWithItems", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Bot {0} is not idling anything..
|
||||
/// </summary>
|
||||
internal static string BotsStatusNotIdling {
|
||||
get {
|
||||
return ResourceManager.GetString("BotsStatusNotIdling", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to There are {0}/{1} bots running, with total of {2} games ({3} cards) left to idle..
|
||||
/// </summary>
|
||||
internal static string BotsStatusOverview {
|
||||
get {
|
||||
return ResourceManager.GetString("BotsStatusOverview", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Bot {0} is idling game: {1} ({2}, {3} card drops remaining) from a total of {4} games ({5} cards) left to idle (~{6} remaining)..
|
||||
/// </summary>
|
||||
internal static string BotStatusIdling {
|
||||
get {
|
||||
return ResourceManager.GetString("BotStatusIdling", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Bot {0} is idling games: {1} from a total of {2} games ({3} cards) left to idle (~{4} remaining)..
|
||||
/// </summary>
|
||||
internal static string BotStatusIdlingList {
|
||||
get {
|
||||
return ResourceManager.GetString("BotStatusIdlingList", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Bot {0} is limited and can't drop any cards through idling..
|
||||
/// </summary>
|
||||
internal static string BotStatusLimited {
|
||||
get {
|
||||
return ResourceManager.GetString("BotStatusLimited", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Bot {0} is not connected..
|
||||
/// </summary>
|
||||
internal static string BotStatusNotConnected {
|
||||
get {
|
||||
return ResourceManager.GetString("BotStatusNotConnected", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Bot {0} is not running..
|
||||
/// </summary>
|
||||
internal static string BotStatusNotRunning {
|
||||
get {
|
||||
return ResourceManager.GetString("BotStatusNotRunning", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Bot {0} is paused or running in manual mode..
|
||||
/// </summary>
|
||||
internal static string BotStatusPaused {
|
||||
get {
|
||||
return ResourceManager.GetString("BotStatusPaused", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Bot {0} is currently being used..
|
||||
/// </summary>
|
||||
internal static string BotStatusPlayingNotAvailable {
|
||||
get {
|
||||
return ResourceManager.GetString("BotStatusPlayingNotAvailable", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Checking first badge page....
|
||||
/// </summary>
|
||||
@@ -115,6 +340,15 @@ namespace ArchiSteamFarm.Localization {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Done!.
|
||||
/// </summary>
|
||||
internal static string Done {
|
||||
get {
|
||||
return ResourceManager.GetString("Done", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Configured {0} property is invalid: {1}.
|
||||
/// </summary>
|
||||
@@ -189,6 +423,15 @@ namespace ArchiSteamFarm.Localization {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to {0} is empty!.
|
||||
/// </summary>
|
||||
internal static string ErrorIsEmpty {
|
||||
get {
|
||||
return ResourceManager.GetString("ErrorIsEmpty", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to {0} is invalid!.
|
||||
/// </summary>
|
||||
@@ -630,6 +873,15 @@ namespace ArchiSteamFarm.Localization {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Unknown command!.
|
||||
/// </summary>
|
||||
internal static string UnknownCommand {
|
||||
get {
|
||||
return ResourceManager.GetString("UnknownCommand", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Unlocking parental account....
|
||||
/// </summary>
|
||||
@@ -639,6 +891,15 @@ namespace ArchiSteamFarm.Localization {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Unused keys: {0}.
|
||||
/// </summary>
|
||||
internal static string UnusedKeys {
|
||||
get {
|
||||
return ResourceManager.GetString("UnusedKeys", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Checking for new version....
|
||||
/// </summary>
|
||||
|
||||
@@ -371,6 +371,25 @@ StackTrace:
|
||||
<value>Starting WCF server on {0}...</value>
|
||||
<comment>{0} will be replaced by WCF hostname</comment>
|
||||
</data>
|
||||
<data name="BotAlreadyStopped" xml:space="preserve">
|
||||
<value>That bot instance is already stopped!</value>
|
||||
</data>
|
||||
<data name="BotNotFound" xml:space="preserve">
|
||||
<value>Couldn't find any bot named {0}!</value>
|
||||
<comment>{0} will be replaced by bot's name</comment>
|
||||
</data>
|
||||
<data name="BotsStatusOverview" xml:space="preserve">
|
||||
<value>There are {0}/{1} bots running, with total of {2} games ({3} cards) left to idle.</value>
|
||||
<comment>{0} will be replaced by number of active bots, {1} will be replaced by total number of bots, {2} will be replaced by total number of games left to idle, {3} will be replaced by total number of cards left to idle</comment>
|
||||
</data>
|
||||
<data name="BotStatusIdling" xml:space="preserve">
|
||||
<value>Bot {0} is idling game: {1} ({2}, {3} card drops remaining) from a total of {4} games ({5} cards) left to idle (~{6} remaining).</value>
|
||||
<comment>{0} will be replaced by bot's name, {1} will be replaced by game's appID (number), {2} will be replaced by game's name, {3} will be replaced by number of cards left to idle, {4} will be replaced by total number of games to idle, {5} will be replaced by total number of cards to idle, {6} will be replaced by translated TimeSpan string built from TimeSpan* translation parts</comment>
|
||||
</data>
|
||||
<data name="BotStatusIdlingList" xml:space="preserve">
|
||||
<value>Bot {0} is idling games: {1} from a total of {2} games ({3} cards) left to idle (~{4} remaining).</value>
|
||||
<comment>{0} will be replaced by bot's name, {1} will be replaced by list of the games (appIDs, numbers), {2} will be replaced by total number of games to idle, {3} will be replaced by total number of cards to idle, {4} will be replaced by translated TimeSpan string built from TimeSpan* translation parts</comment>
|
||||
</data>
|
||||
<data name="CheckingFirstBadgePage" xml:space="preserve">
|
||||
<value>Checking first badge page...</value>
|
||||
</data>
|
||||
@@ -381,6 +400,9 @@ StackTrace:
|
||||
<value>Chosen farming algorithm: {0}</value>
|
||||
<comment>{0} will be replaced by the name of chosen farming algorithm</comment>
|
||||
</data>
|
||||
<data name="Done" xml:space="preserve">
|
||||
<value>Done!</value>
|
||||
</data>
|
||||
<data name="GamesToIdle" xml:space="preserve">
|
||||
<value>We have a total of {0} games ({1} cards) left to idle (~{3} remaining)...</value>
|
||||
<comment>{0} will be replaced by number of games, {1} will be replaced by number of cards, {2} will be replaced by translated TimeSpan string built from TimeSpan* translation parts</comment>
|
||||
@@ -436,6 +458,9 @@ StackTrace:
|
||||
<value>Stopped idling: {0}</value>
|
||||
<comment>{0} will be replaced by list of the games (appIDs, numbers), separated by a comma</comment>
|
||||
</data>
|
||||
<data name="UnknownCommand" xml:space="preserve">
|
||||
<value>Unknown command!</value>
|
||||
</data>
|
||||
<data name="WarningCouldNotCheckBadges" xml:space="preserve">
|
||||
<value>Could not get badges information, we will try again later!</value>
|
||||
</data>
|
||||
@@ -443,4 +468,86 @@ StackTrace:
|
||||
<value>Could not check cards status for: {0} ({1}), we will try again later!</value>
|
||||
<comment>{0} will be replaced by game's appID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
<data name="BotAlreadyRunning" xml:space="preserve">
|
||||
<value>That bot instance is already running!</value>
|
||||
<comment>{0} will be replaced by bot's name</comment>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingPaused" xml:space="preserve">
|
||||
<value>Automatic idling is now paused!</value>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingPausedAlready" xml:space="preserve">
|
||||
<value>Automatic idling is paused already!</value>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingPausedWithCountdown" xml:space="preserve">
|
||||
<value>Automatic idling is now paused! You have {0} minutes to start a game.</value>
|
||||
<comment>{0} will be replaced by number of minutes</comment>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingResumed" xml:space="preserve">
|
||||
<value>Automatic idling is now resumed!</value>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingResumedAlready" xml:space="preserve">
|
||||
<value>Automatic idling is resumed already!</value>
|
||||
</data>
|
||||
<data name="BotEncryptedPassword" xml:space="preserve">
|
||||
<value>[{0}] password: {1}</value>
|
||||
<comment>{0} will be replaced by password encryption method (string), {1} will be replaced by encrypted password using that method (string)</comment>
|
||||
</data>
|
||||
<data name="BotLootingDisabled" xml:space="preserve">
|
||||
<value>Looting is now disabled!</value>
|
||||
</data>
|
||||
<data name="BotLootingEnabled" xml:space="preserve">
|
||||
<value>Looting is now enabled!</value>
|
||||
</data>
|
||||
<data name="BotNotConnected" xml:space="preserve">
|
||||
<value>This bot instance is not connected!</value>
|
||||
<comment>{0} will be replaced by bot's name</comment>
|
||||
</data>
|
||||
<data name="BotNotOwnedYet" xml:space="preserve">
|
||||
<value><{0}> Not owned yet: {1}</value>
|
||||
<comment>{0} will be replaced by bot's name, {1} will be replaced by query (string)</comment>
|
||||
</data>
|
||||
<data name="BotOwnedAlready" xml:space="preserve">
|
||||
<value><{0}> Owned already: {1} | {2}</value>
|
||||
<comment>{0} will be replaced by bot's name, {1} will be replaced by game's appID (number), {2} will be replaced by game's name</comment>
|
||||
</data>
|
||||
<data name="BotRedeemResponse" xml:space="preserve">
|
||||
<value><{0}> Key: {1} | Status: {2}</value>
|
||||
<comment>{0} will be replaced by bot's name, {1} will be replaced by cd-key (string), {2} will be replaced by status string</comment>
|
||||
</data>
|
||||
<data name="BotRedeemResponseWithItems" xml:space="preserve">
|
||||
<value><{0}> Key: {1} | Status: {2} | Items: {3}</value>
|
||||
<comment>{0} will be replaced by bot's name, {1} will be replaced by cd-key (string), {2} will be replaced by status string, {3} will be replaced by list of key-value pairs, separated by a comma</comment>
|
||||
</data>
|
||||
<data name="BotsStatusNotIdling" xml:space="preserve">
|
||||
<value>Bot {0} is not idling anything.</value>
|
||||
<comment>{0} will be replaced by bot's name</comment>
|
||||
</data>
|
||||
<data name="BotStatusLimited" xml:space="preserve">
|
||||
<value>Bot {0} is limited and can't drop any cards through idling.</value>
|
||||
<comment>{0} will be replaced by bot's name</comment>
|
||||
</data>
|
||||
<data name="BotStatusNotConnected" xml:space="preserve">
|
||||
<value>Bot {0} is not connected.</value>
|
||||
<comment>{0} will be replaced by bot's name</comment>
|
||||
</data>
|
||||
<data name="BotStatusNotRunning" xml:space="preserve">
|
||||
<value>Bot {0} is not running.</value>
|
||||
<comment>{0} will be replaced by bot's name</comment>
|
||||
</data>
|
||||
<data name="BotStatusPaused" xml:space="preserve">
|
||||
<value>Bot {0} is paused or running in manual mode.</value>
|
||||
<comment>{0} will be replaced by bot's name</comment>
|
||||
</data>
|
||||
<data name="BotStatusPlayingNotAvailable" xml:space="preserve">
|
||||
<value>Bot {0} is currently being used.</value>
|
||||
<comment>{0} will be replaced by bot's name</comment>
|
||||
</data>
|
||||
<data name="ErrorIsEmpty" xml:space="preserve">
|
||||
<value>{0} is empty!</value>
|
||||
<comment>{0} will be replaced by object's name</comment>
|
||||
</data>
|
||||
<data name="UnusedKeys" xml:space="preserve">
|
||||
<value>Unused keys: {0}</value>
|
||||
<comment>{0} will be replaced by list of cd-keys (strings), separated by a comma</comment>
|
||||
</data>
|
||||
</root>
|
||||
Reference in New Issue
Block a user