mirror of
https://github.com/JustArchiNET/ArchiSteamFarm.git
synced 2025-12-29 20:50:47 +00:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a1b0dd5e1a | ||
|
|
4fc3787cc0 | ||
|
|
8a54f1b355 | ||
|
|
588af12d0b | ||
|
|
4f5d46b422 | ||
|
|
31c3f2bc77 | ||
|
|
7c13fde5a1 | ||
|
|
85a7a5ddc9 | ||
|
|
71de3c958a | ||
|
|
86acec9b32 | ||
|
|
133e0768c3 | ||
|
|
706474f66a | ||
|
|
bd7f1388d7 | ||
|
|
b23a0383fe |
@@ -459,6 +459,15 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
}
|
||||
|
||||
internal bool IsBlacklistedFromTrades(ulong steamID) {
|
||||
if (steamID != 0) {
|
||||
return BotDatabase.IsBlacklistedFromTrades(steamID);
|
||||
}
|
||||
|
||||
ArchiLogger.LogNullError(nameof(steamID));
|
||||
return false;
|
||||
}
|
||||
|
||||
internal bool IsMaster(ulong steamID) {
|
||||
if (steamID == 0) {
|
||||
ArchiLogger.LogNullError(nameof(steamID));
|
||||
@@ -607,6 +616,8 @@ namespace ArchiSteamFarm {
|
||||
return await Response2FAConfirm(steamID, true).ConfigureAwait(false);
|
||||
case "!API":
|
||||
return ResponseAPI(steamID);
|
||||
case "!BL":
|
||||
return ResponseBlacklist(steamID);
|
||||
case "!EXIT":
|
||||
return ResponseExit(steamID);
|
||||
case "!FARM":
|
||||
@@ -660,6 +671,20 @@ namespace ArchiSteamFarm {
|
||||
return await ResponseAddLicense(steamID, args[1]).ConfigureAwait(false);
|
||||
case "!API":
|
||||
return ResponseAPI(steamID, args[1]);
|
||||
case "!BL":
|
||||
return await ResponseBlacklist(steamID, args[1]).ConfigureAwait(false);
|
||||
case "!BLADD":
|
||||
if (args.Length > 2) {
|
||||
return await ResponseBlacklistAdd(steamID, args[1], args[2]).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
return ResponseBlacklistAdd(steamID, args[1]);
|
||||
case "!BLRM":
|
||||
if (args.Length > 2) {
|
||||
return await ResponseBlacklistRemove(steamID, args[1], args[2]).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
return ResponseBlacklistRemove(steamID, args[1]);
|
||||
case "!FARM":
|
||||
return await ResponseFarm(steamID, args[1]).ConfigureAwait(false);
|
||||
case "!INPUT":
|
||||
@@ -674,7 +699,7 @@ namespace ArchiSteamFarm {
|
||||
return await ResponseLootSwitch(steamID, args[1]).ConfigureAwait(false);
|
||||
case "!NICKNAME":
|
||||
if (args.Length > 2) {
|
||||
return await ResponseNickname(steamID, args[1], args[2]).ConfigureAwait(false);
|
||||
return await ResponseNickname(steamID, args[1], args.GetArgsAsString(2)).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
return await ResponseNickname(steamID, args[1]).ConfigureAwait(false);
|
||||
@@ -682,7 +707,7 @@ namespace ArchiSteamFarm {
|
||||
return await ResponseOwns(steamID, SharedInfo.ASF, args[1]).ConfigureAwait(false);
|
||||
case "!OWNS":
|
||||
if (args.Length > 2) {
|
||||
return await ResponseOwns(steamID, args[1], args[2]).ConfigureAwait(false);
|
||||
return await ResponseOwns(steamID, args[1], args.GetArgsAsString(2)).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
return await ResponseOwns(steamID, args[1]).ConfigureAwait(false);
|
||||
@@ -1189,6 +1214,15 @@ namespace ArchiSteamFarm {
|
||||
}).Forget();
|
||||
}
|
||||
|
||||
private async Task MarkInventoryIfNeeded() {
|
||||
if (!BotConfig.DismissInventoryNotifications) {
|
||||
return;
|
||||
}
|
||||
|
||||
await Trading.LimitInventoryRequestsAsync().ConfigureAwait(false);
|
||||
await ArchiWebHandler.MarkInventory().ConfigureAwait(false);
|
||||
}
|
||||
|
||||
private async void OnAccountInfo(SteamUser.AccountInfoCallback callback) {
|
||||
if (callback == null) {
|
||||
ArchiLogger.LogNullError(nameof(callback));
|
||||
@@ -1641,10 +1675,7 @@ namespace ArchiSteamFarm {
|
||||
RequestPersonaStateUpdate();
|
||||
|
||||
InitializeFamilySharing().Forget();
|
||||
|
||||
if (BotConfig.DismissInventoryNotifications) {
|
||||
ArchiWebHandler.MarkInventory().Forget();
|
||||
}
|
||||
MarkInventoryIfNeeded().Forget();
|
||||
|
||||
if (BotConfig.SteamMasterClanID != 0) {
|
||||
Task.Run(async () => {
|
||||
@@ -1755,9 +1786,7 @@ namespace ArchiSteamFarm {
|
||||
switch (notification) {
|
||||
case ArchiHandler.NotificationsCallback.ENotification.Items:
|
||||
CardsFarmer.OnNewItemsNotification().Forget();
|
||||
if (BotConfig.DismissInventoryNotifications) {
|
||||
ArchiWebHandler.MarkInventory().Forget();
|
||||
}
|
||||
MarkInventoryIfNeeded().Forget();
|
||||
break;
|
||||
case ArchiHandler.NotificationsCallback.ENotification.Trading:
|
||||
Trading.CheckTrades().Forget();
|
||||
@@ -2104,6 +2133,168 @@ namespace ArchiSteamFarm {
|
||||
return GetAPIStatus(Bots.Where(kv => bots.Contains(kv.Value) && kv.Value.IsMaster(steamID)).ToDictionary(kv => kv.Key, kv => kv.Value));
|
||||
}
|
||||
|
||||
private static async Task<string> ResponseBlacklist(ulong steamID, string botNames) {
|
||||
if ((steamID == 0) || string.IsNullOrEmpty(botNames)) {
|
||||
ASF.ArchiLogger.LogNullError(nameof(steamID) + " || " + nameof(botNames));
|
||||
return null;
|
||||
}
|
||||
|
||||
HashSet<Bot> bots = GetBots(botNames);
|
||||
if ((bots == null) || (bots.Count == 0)) {
|
||||
return IsOwner(steamID) ? FormatStaticResponse(string.Format(Strings.BotNotFound, botNames)) : null;
|
||||
}
|
||||
|
||||
ICollection<string> results;
|
||||
IEnumerable<Task<string>> tasks = bots.Select(bot => Task.Run(() => bot.ResponseBlacklist(steamID)));
|
||||
|
||||
switch (Program.GlobalConfig.OptimizationMode) {
|
||||
case GlobalConfig.EOptimizationMode.MinMemoryUsage:
|
||||
results = new List<string>(bots.Count);
|
||||
foreach (Task<string> task in tasks) {
|
||||
results.Add(await task.ConfigureAwait(false));
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
results = await Task.WhenAll(tasks).ConfigureAwait(false);
|
||||
break;
|
||||
}
|
||||
|
||||
List<string> responses = new List<string>(results.Where(result => !string.IsNullOrEmpty(result)));
|
||||
return responses.Count > 0 ? string.Join("", responses) : null;
|
||||
}
|
||||
|
||||
private string ResponseBlacklist(ulong steamID) {
|
||||
if (steamID != 0) {
|
||||
return IsMaster(steamID) ? FormatBotResponse(string.Join(", ", BotDatabase.GetBlacklistedFromTradesSteamIDs())) : null;
|
||||
}
|
||||
|
||||
ArchiLogger.LogNullError(nameof(steamID));
|
||||
return null;
|
||||
}
|
||||
|
||||
private string ResponseBlacklistAdd(ulong steamID, string targetsText) {
|
||||
if ((steamID == 0) || string.IsNullOrEmpty(targetsText)) {
|
||||
ArchiLogger.LogNullError(nameof(steamID) + " || " + nameof(targetsText));
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!IsMaster(steamID)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
string[] targets = targetsText.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
HashSet<ulong> targetIDs = new HashSet<ulong>();
|
||||
foreach (string target in targets) {
|
||||
ulong targetID;
|
||||
if (!ulong.TryParse(target, out targetID) || (targetID == 0)) {
|
||||
return FormatBotResponse(string.Format(Strings.ErrorParsingObject, nameof(targetID)));
|
||||
}
|
||||
|
||||
targetIDs.Add(targetID);
|
||||
}
|
||||
|
||||
if (targetIDs.Count == 0) {
|
||||
return FormatBotResponse(string.Format(Strings.ErrorIsEmpty, nameof(targetIDs)));
|
||||
}
|
||||
|
||||
BotDatabase.AddBlacklistedFromTradesSteamIDs(targetIDs);
|
||||
return FormatBotResponse(Strings.Done);
|
||||
}
|
||||
|
||||
private static async Task<string> ResponseBlacklistAdd(ulong steamID, string botNames, string targetsText) {
|
||||
if ((steamID == 0) || string.IsNullOrEmpty(botNames) || string.IsNullOrEmpty(targetsText)) {
|
||||
ASF.ArchiLogger.LogNullError(nameof(steamID) + " || " + nameof(botNames) + " || " + nameof(targetsText));
|
||||
return null;
|
||||
}
|
||||
|
||||
HashSet<Bot> bots = GetBots(botNames);
|
||||
if ((bots == null) || (bots.Count == 0)) {
|
||||
return IsOwner(steamID) ? FormatStaticResponse(string.Format(Strings.BotNotFound, botNames)) : null;
|
||||
}
|
||||
|
||||
ICollection<string> results;
|
||||
IEnumerable<Task<string>> tasks = bots.Select(bot => Task.Run(() => bot.ResponseBlacklistAdd(steamID, targetsText)));
|
||||
|
||||
switch (Program.GlobalConfig.OptimizationMode) {
|
||||
case GlobalConfig.EOptimizationMode.MinMemoryUsage:
|
||||
results = new List<string>(bots.Count);
|
||||
foreach (Task<string> task in tasks) {
|
||||
results.Add(await task.ConfigureAwait(false));
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
results = await Task.WhenAll(tasks).ConfigureAwait(false);
|
||||
break;
|
||||
}
|
||||
|
||||
List<string> responses = new List<string>(results.Where(result => !string.IsNullOrEmpty(result)));
|
||||
return responses.Count > 0 ? string.Join("", responses) : null;
|
||||
}
|
||||
|
||||
private static async Task<string> ResponseBlacklistRemove(ulong steamID, string botNames, string targetsText) {
|
||||
if ((steamID == 0) || string.IsNullOrEmpty(botNames) || string.IsNullOrEmpty(targetsText)) {
|
||||
ASF.ArchiLogger.LogNullError(nameof(steamID) + " || " + nameof(botNames) + " || " + nameof(targetsText));
|
||||
return null;
|
||||
}
|
||||
|
||||
HashSet<Bot> bots = GetBots(botNames);
|
||||
if ((bots == null) || (bots.Count == 0)) {
|
||||
return IsOwner(steamID) ? FormatStaticResponse(string.Format(Strings.BotNotFound, botNames)) : null;
|
||||
}
|
||||
|
||||
ICollection<string> results;
|
||||
IEnumerable<Task<string>> tasks = bots.Select(bot => Task.Run(() => bot.ResponseBlacklistRemove(steamID, targetsText)));
|
||||
|
||||
switch (Program.GlobalConfig.OptimizationMode) {
|
||||
case GlobalConfig.EOptimizationMode.MinMemoryUsage:
|
||||
results = new List<string>(bots.Count);
|
||||
foreach (Task<string> task in tasks) {
|
||||
results.Add(await task.ConfigureAwait(false));
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
results = await Task.WhenAll(tasks).ConfigureAwait(false);
|
||||
break;
|
||||
}
|
||||
|
||||
List<string> responses = new List<string>(results.Where(result => !string.IsNullOrEmpty(result)));
|
||||
return responses.Count > 0 ? string.Join("", responses) : null;
|
||||
}
|
||||
|
||||
private string ResponseBlacklistRemove(ulong steamID, string targetsText) {
|
||||
if ((steamID == 0) || string.IsNullOrEmpty(targetsText)) {
|
||||
ArchiLogger.LogNullError(nameof(steamID) + " || " + nameof(targetsText));
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!IsMaster(steamID)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
string[] targets = targetsText.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
HashSet<ulong> targetIDs = new HashSet<ulong>();
|
||||
foreach (string target in targets) {
|
||||
ulong targetID;
|
||||
if (!ulong.TryParse(target, out targetID) || (targetID == 0)) {
|
||||
return FormatBotResponse(string.Format(Strings.ErrorParsingObject, nameof(targetID)));
|
||||
}
|
||||
|
||||
targetIDs.Add(targetID);
|
||||
}
|
||||
|
||||
if (targetIDs.Count == 0) {
|
||||
return FormatBotResponse(string.Format(Strings.ErrorIsEmpty, nameof(targetIDs)));
|
||||
}
|
||||
|
||||
BotDatabase.RemoveBlacklistedFromTradesSteamIDs(targetIDs);
|
||||
return FormatBotResponse(Strings.Done);
|
||||
}
|
||||
|
||||
private static string ResponseExit(ulong steamID) {
|
||||
if (steamID == 0) {
|
||||
ASF.ArchiLogger.LogNullError(nameof(steamID));
|
||||
@@ -2564,12 +2755,11 @@ namespace ArchiSteamFarm {
|
||||
return null;
|
||||
}
|
||||
|
||||
BotConfig.EPermission permission = GetSteamUserPermission(steamID);
|
||||
if (permission < BotConfig.EPermission.FamilySharing) {
|
||||
if (!IsFamilySharing(steamID)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (sticky && (permission < BotConfig.EPermission.Master)) {
|
||||
if (sticky && !IsOperator(steamID)) {
|
||||
return FormatBotResponse(Strings.ErrorAccessDenied);
|
||||
}
|
||||
|
||||
@@ -2583,7 +2773,7 @@ namespace ArchiSteamFarm {
|
||||
|
||||
await CardsFarmer.Pause(sticky).ConfigureAwait(false);
|
||||
|
||||
if (permission >= BotConfig.EPermission.Master) {
|
||||
if (IsOperator(steamID)) {
|
||||
return FormatBotResponse(Strings.BotAutomaticIdlingNowPaused);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
@@ -30,6 +31,9 @@ using Newtonsoft.Json;
|
||||
|
||||
namespace ArchiSteamFarm {
|
||||
internal sealed class BotDatabase {
|
||||
[JsonProperty(Required = Required.DisallowNull)]
|
||||
private readonly ConcurrentHashSet<ulong> BlacklistedFromTradesSteamIDs = new ConcurrentHashSet<ulong>();
|
||||
|
||||
private readonly object FileLock = new object();
|
||||
|
||||
internal string LoginKey {
|
||||
@@ -80,6 +84,28 @@ namespace ArchiSteamFarm {
|
||||
[SuppressMessage("ReSharper", "UnusedMember.Local")]
|
||||
private BotDatabase() { }
|
||||
|
||||
internal void AddBlacklistedFromTradesSteamIDs(HashSet<ulong> steamIDs) {
|
||||
if ((steamIDs == null) || (steamIDs.Count == 0)) {
|
||||
ASF.ArchiLogger.LogNullError(nameof(steamIDs));
|
||||
return;
|
||||
}
|
||||
|
||||
if (BlacklistedFromTradesSteamIDs.AddRange(steamIDs)) {
|
||||
Save();
|
||||
}
|
||||
}
|
||||
|
||||
internal IEnumerable<ulong> GetBlacklistedFromTradesSteamIDs() => BlacklistedFromTradesSteamIDs;
|
||||
|
||||
internal bool IsBlacklistedFromTrades(ulong steamID) {
|
||||
if (steamID != 0) {
|
||||
return BlacklistedFromTradesSteamIDs.Contains(steamID);
|
||||
}
|
||||
|
||||
ASF.ArchiLogger.LogNullError(nameof(steamID));
|
||||
return false;
|
||||
}
|
||||
|
||||
internal static BotDatabase Load(string filePath) {
|
||||
if (string.IsNullOrEmpty(filePath)) {
|
||||
ASF.ArchiLogger.LogNullError(nameof(filePath));
|
||||
@@ -108,6 +134,17 @@ namespace ArchiSteamFarm {
|
||||
return botDatabase;
|
||||
}
|
||||
|
||||
internal void RemoveBlacklistedFromTradesSteamIDs(HashSet<ulong> steamIDs) {
|
||||
if ((steamIDs == null) || (steamIDs.Count == 0)) {
|
||||
ASF.ArchiLogger.LogNullError(nameof(steamIDs));
|
||||
return;
|
||||
}
|
||||
|
||||
if (BlacklistedFromTradesSteamIDs.RemoveRange(steamIDs)) {
|
||||
Save();
|
||||
}
|
||||
}
|
||||
|
||||
internal void Save() {
|
||||
string json = JsonConvert.SerializeObject(this);
|
||||
if (string.IsNullOrEmpty(json)) {
|
||||
|
||||
@@ -24,10 +24,11 @@
|
||||
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Nito.AsyncEx;
|
||||
|
||||
namespace ArchiSteamFarm {
|
||||
internal sealed class ConcurrentHashSet<T> : ICollection<T> {
|
||||
internal sealed class ConcurrentHashSet<T> : IReadOnlyCollection<T>, ISet<T> {
|
||||
public int Count {
|
||||
get {
|
||||
using (Lock.ReaderLock()) {
|
||||
@@ -41,6 +42,12 @@ namespace ArchiSteamFarm {
|
||||
private readonly HashSet<T> HashSet = new HashSet<T>();
|
||||
private readonly AsyncReaderWriterLock Lock = new AsyncReaderWriterLock();
|
||||
|
||||
public bool Add(T item) {
|
||||
using (Lock.WriterLock()) {
|
||||
return HashSet.Add(item);
|
||||
}
|
||||
}
|
||||
|
||||
public void Clear() {
|
||||
using (Lock.WriterLock()) {
|
||||
HashSet.Clear();
|
||||
@@ -59,21 +66,82 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
}
|
||||
|
||||
public void ExceptWith(IEnumerable<T> other) {
|
||||
using (Lock.WriterLock()) {
|
||||
HashSet.ExceptWith(other);
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerator<T> GetEnumerator() => new ConcurrentEnumerator<T>(HashSet, Lock);
|
||||
|
||||
public void IntersectWith(IEnumerable<T> other) {
|
||||
using (Lock.WriterLock()) {
|
||||
HashSet.IntersectWith(other);
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsProperSubsetOf(IEnumerable<T> other) {
|
||||
using (Lock.ReaderLock()) {
|
||||
return HashSet.IsProperSubsetOf(other);
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsProperSupersetOf(IEnumerable<T> other) {
|
||||
using (Lock.ReaderLock()) {
|
||||
return HashSet.IsProperSupersetOf(other);
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsSubsetOf(IEnumerable<T> other) {
|
||||
using (Lock.ReaderLock()) {
|
||||
return HashSet.IsSubsetOf(other);
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsSupersetOf(IEnumerable<T> other) {
|
||||
using (Lock.ReaderLock()) {
|
||||
return HashSet.IsSupersetOf(other);
|
||||
}
|
||||
}
|
||||
|
||||
public bool Overlaps(IEnumerable<T> other) {
|
||||
using (Lock.ReaderLock()) {
|
||||
return HashSet.Overlaps(other);
|
||||
}
|
||||
}
|
||||
|
||||
public bool Remove(T item) {
|
||||
using (Lock.WriterLock()) {
|
||||
return HashSet.Remove(item);
|
||||
}
|
||||
}
|
||||
|
||||
public bool SetEquals(IEnumerable<T> other) {
|
||||
using (Lock.ReaderLock()) {
|
||||
return HashSet.SetEquals(other);
|
||||
}
|
||||
}
|
||||
|
||||
public void SymmetricExceptWith(IEnumerable<T> other) {
|
||||
using (Lock.WriterLock()) {
|
||||
HashSet.SymmetricExceptWith(other);
|
||||
}
|
||||
}
|
||||
|
||||
public void UnionWith(IEnumerable<T> other) {
|
||||
using (Lock.WriterLock()) {
|
||||
HashSet.UnionWith(other);
|
||||
}
|
||||
}
|
||||
|
||||
void ICollection<T>.Add(T item) => Add(item);
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
|
||||
|
||||
internal void Add(T item) {
|
||||
internal bool AddRange(IEnumerable<T> items) {
|
||||
using (Lock.WriterLock()) {
|
||||
HashSet.Add(item);
|
||||
// We use Count() and not Any() because we must ensure full loop pass
|
||||
return items.Count(item => HashSet.Add(item)) > 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,6 +152,13 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
}
|
||||
|
||||
internal bool RemoveRange(IEnumerable<T> items) {
|
||||
using (Lock.WriterLock()) {
|
||||
// We use Count() and not Any() because we must ensure full loop pass
|
||||
return items.Count(item => HashSet.Remove(item)) > 0;
|
||||
}
|
||||
}
|
||||
|
||||
internal bool ReplaceIfNeededWith(ICollection<T> items) {
|
||||
using (AsyncReaderWriterLock.UpgradeableReaderKey readerKey = Lock.UpgradeableReaderLock()) {
|
||||
if (HashSet.SetEquals(items)) {
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
<comment>{0} will be replaced by content string. Please note that this string should include newline for formatting.</comment>
|
||||
</data>
|
||||
<data name="ErrorConfigPropertyInvalid" xml:space="preserve">
|
||||
<value>Konfigurierte Einstellung {0} ist ungültig: {1}</value>
|
||||
<value>Konfigurierter {0} Wert ist ungültig: {1}</value>
|
||||
<comment>{0} will be replaced by name of the configuration property, {1} will be replaced by invalid value</comment>
|
||||
</data>
|
||||
<data name="ErrorEarlyFatalExceptionInfo" xml:space="preserve">
|
||||
@@ -152,7 +152,7 @@ StackTrace:
|
||||
<comment>{0} will be replaced by URL of the request</comment>
|
||||
</data>
|
||||
<data name="ErrorGlobalConfigNotLoaded" xml:space="preserve">
|
||||
<value>Allgemeine Konfiguration konnte nicht geladen werden. Stelle sicher, dass {0} existiert und gültig ist! Folge der Anleitung 'Setting Up' im Wiki, falls du verwirrt sein solltest.</value>
|
||||
<value>Allgemeine Konfiguration konnte nicht geladen werden. Stelle sicher, dass {0} existiert und gültig ist! Folge der 'Setting Up' Anleitung im Wiki, falls du verwirrt sein solltest.</value>
|
||||
<comment>{0} will be replaced by file's path</comment>
|
||||
</data>
|
||||
<data name="ErrorIsInvalid" xml:space="preserve">
|
||||
@@ -174,7 +174,7 @@ StackTrace:
|
||||
<comment>{0} will be replaced by object's name</comment>
|
||||
</data>
|
||||
<data name="ErrorRemovingOldBinary" xml:space="preserve">
|
||||
<value>Konnte alte ASF-Binärdatei nicht löschen. Bitte entferne {0} manuell, damit die Updatefunktion funktionieren kann!</value>
|
||||
<value>Konnte alte ASF Binärdatei nicht löschen. Bitte entferne {0} manuell, damit die Updatefunktion funktionieren kann!</value>
|
||||
<comment>{0} will be replaced by file's path</comment>
|
||||
</data>
|
||||
<data name="ErrorRequestFailedTooManyTimes" xml:space="preserve">
|
||||
@@ -284,7 +284,7 @@ StackTrace:
|
||||
<comment>{0} will be replaced by number of seconds</comment>
|
||||
</data>
|
||||
<data name="UnlockingParentalAccount" xml:space="preserve">
|
||||
<value>Deaktiviere Familienansicht...</value>
|
||||
<value>Entsperre Elternkonto...</value>
|
||||
</data>
|
||||
<data name="UpdateCheckingNewVersion" xml:space="preserve">
|
||||
<value>Prüfe auf neue Version...</value>
|
||||
@@ -296,7 +296,7 @@ StackTrace:
|
||||
<value>Aktualisierung abgeschlossen!</value>
|
||||
</data>
|
||||
<data name="UpdateNewVersionAvailable" xml:space="preserve">
|
||||
<value>Neue ASF Version verfügbar! Erwäge manuelles Update!</value>
|
||||
<value>Neue ASF Version verfügbar! Erwäge ein manuelles Update!</value>
|
||||
</data>
|
||||
<data name="UpdateVersionInfo" xml:space="preserve">
|
||||
<value>Lokale Version: {0} | Verfügbare Version: {1}</value>
|
||||
@@ -311,7 +311,7 @@ StackTrace:
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="UserInputSteamGuard" xml:space="preserve">
|
||||
<value>Bitte gib den Steam Guard Authentifikator-Code ein, der dir per E-Mail zugeschickt wurde: </value>
|
||||
<value>Bitte gib den Steam Guard Authentifikator-Code ein, der dir per E-Mail geschickt wurde: </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="UserInputSteamLogin" xml:space="preserve">
|
||||
@@ -319,7 +319,7 @@ StackTrace:
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="UserInputSteamParentalPIN" xml:space="preserve">
|
||||
<value>Bitte geben die PIN deiner Steam-Familienansicht ein: </value>
|
||||
<value>Bitte gib deinen Steam-Familienansicht-PIN ein: </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="UserInputSteamPassword" xml:space="preserve">
|
||||
@@ -376,15 +376,15 @@ StackTrace:
|
||||
<comment>{0} will be replaced by bot's name query (string)</comment>
|
||||
</data>
|
||||
<data name="BotStatusOverview" xml:space="preserve">
|
||||
<value>Es arbeiten derzeit {0}/{1} Bots, mit insgesamt {2} Spielen ({3} Karten) übrig zum Sammlen.</value>
|
||||
<value>Es laufen derzeit {0}/{1} Bots, mit insgesamt {2} Spiel(en) ({3} Karte[n]) übrig zum Sammlen.</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 idled Spiel: {0} ({1}, {2} Karten verbleibend) von insgesamt {3} Spiel(en) ({4} Karten) verbleibend zum Idlen (~{5}).</value>
|
||||
<value>Bot sammelt Spiel: {0} ({1}, {2} Karte[n] verbleibend) von insgesamt {3} Spiel(en) ({4} Karte[n]) verbleibend zum Idlen (~{5}).</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name, {2} will be replaced by number of cards left to idle, {3} will be replaced by total number of games to idle, {4} will be replaced by total number of cards to idle, {5} will be replaced by translated TimeSpan string built from TimeSpan* translation parts</comment>
|
||||
</data>
|
||||
<data name="BotStatusIdlingList" xml:space="preserve">
|
||||
<value>Bot sammelt in Spielen: {0} von insgesamt {1} Spielen ({2} Karten) verbleibend zum Sammeln (~{3}).</value>
|
||||
<value>Bot sammelt in Spielen: {0} von insgesamt {1} Spielen ({2} Karte[n]) verbleibend zum Sammeln (~{3}).</value>
|
||||
<comment>{0} will be replaced by list of the games (IDs, numbers), {1} will be replaced by total number of games to idle, {2} will be replaced by total number of cards to idle, {3} will be replaced by translated TimeSpan string built from TimeSpan* translation parts</comment>
|
||||
</data>
|
||||
<data name="CheckingFirstBadgePage" xml:space="preserve">
|
||||
@@ -408,11 +408,11 @@ StackTrace:
|
||||
<value>Sammeln abgeschlossen!</value>
|
||||
</data>
|
||||
<data name="IdlingFinishedForGame" xml:space="preserve">
|
||||
<value>Idlen abgeschlossen: {0} ({1}) nach {2} Spielzeit!</value>
|
||||
<value>Sammeln abgeschlossen: {0} ({1}) nach {2} Spielzeit!</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name, {2} will be replaced by translated TimeSpan string built from TimeSpan* translation parts</comment>
|
||||
</data>
|
||||
<data name="IdlingFinishedForGames" xml:space="preserve">
|
||||
<value>Idlen von Spielen abgeschlossen: {0}</value>
|
||||
<value>Sammeln in folgenden Spielen abgeschlossen: {0}</value>
|
||||
<comment>{0} will be replaced by list of the games (IDs, numbers), separated by a comma</comment>
|
||||
</data>
|
||||
<data name="IdlingStatusForGame" xml:space="preserve">
|
||||
@@ -448,11 +448,11 @@ StackTrace:
|
||||
<comment>{0} will be replaced by list of the games (IDs, numbers), separated by a comma</comment>
|
||||
</data>
|
||||
<data name="StoppedIdling" xml:space="preserve">
|
||||
<value>Idlen angehalten: {0} ({1})</value>
|
||||
<value>Sammeln angehalten: {0} ({1})</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
<data name="StoppedIdlingList" xml:space="preserve">
|
||||
<value>Idlen angehalten: {0}</value>
|
||||
<value>Sammeln angehalten: {0}</value>
|
||||
<comment>{0} will be replaced by list of the games (IDs, numbers), separated by a comma</comment>
|
||||
</data>
|
||||
<data name="UnknownCommand" xml:space="preserve">
|
||||
@@ -490,7 +490,7 @@ StackTrace:
|
||||
<value>Import vom mobilen Authentikator erfolgreich abgeschlossen!</value>
|
||||
</data>
|
||||
<data name="BotAuthenticatorInvalidDeviceID" xml:space="preserve">
|
||||
<value>Deine Gerätekennung ist falsch oder existiert nicht!</value>
|
||||
<value>Deine DeviceID ist falsch oder existiert nicht!</value>
|
||||
</data>
|
||||
<data name="BotAuthenticatorToken" xml:space="preserve">
|
||||
<value>2FA Code: {0}</value>
|
||||
@@ -506,7 +506,7 @@ StackTrace:
|
||||
<value>Automatisches Sammeln ist bereits pausiert!</value>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingPausedWithCountdown" xml:space="preserve">
|
||||
<value>Automatisches Sammeln ist nun pausiert! Du hast {0} Minuten, um ein Spiel zu starten.</value>
|
||||
<value>Automatisches Sammeln ist nun pausiert! Du hast {0} Minute(n), um ein Spiel zu starten.</value>
|
||||
<comment>{0} will be replaced by number of minutes</comment>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingResumedAlready" xml:space="preserve">
|
||||
@@ -526,7 +526,7 @@ StackTrace:
|
||||
<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="BotInstanceNotStartingBecauseDisabled" xml:space="preserve">
|
||||
<value>Bot-Instanz nicht gestartet, da es in der Konfigurations-Datei deaktiviert ist!</value>
|
||||
<value>Bot-Instanz nicht gestartet, weil diese in der Konfigurations-Datei deaktiviert ist!</value>
|
||||
</data>
|
||||
<data name="BotInvalidAuthenticatorDuringLogin" xml:space="preserve">
|
||||
<value>Der Fehler "TwoFactorCodeMismatch" ist {0} Mal in Folge aufgetreten. Dies weißt fast immer auf ungültige ASF 2FA Anmeldedaten hin. Vorgang wird abgebrochen!</value>
|
||||
@@ -540,10 +540,10 @@ StackTrace:
|
||||
<value>Erfolgreich angemeldet!</value>
|
||||
</data>
|
||||
<data name="BotLoggingIn" xml:space="preserve">
|
||||
<value>Melde an...</value>
|
||||
<value>Anmelden...</value>
|
||||
</data>
|
||||
<data name="BotLogonSessionReplaced" xml:space="preserve">
|
||||
<value>Dieses Benutzerkonto scheint bereits von einer anderen ASF-Instanz verwendet zu werden, welches ein undefiniertes Verhalten ist. Verweigere, es weiter laufen zu lassen!</value>
|
||||
<value>Dieses Benutzerkonto scheint bereits von einer anderen ASF-Instanz verwendet zu werden, welches ein undefiniertes Verhalten ist, verweigere es weiter laufen zu lassen!</value>
|
||||
</data>
|
||||
<data name="BotLootingFailed" xml:space="preserve">
|
||||
<value>Senden des Handelsangebots fehlgeschlagen!</value>
|
||||
@@ -588,21 +588,21 @@ StackTrace:
|
||||
<comment>{0} will be replaced by number of minutes</comment>
|
||||
</data>
|
||||
<data name="BotReconnecting" xml:space="preserve">
|
||||
<value>Erneut verbinden...</value>
|
||||
<value>Verbinde erneut...</value>
|
||||
</data>
|
||||
<data name="BotRedeem" xml:space="preserve">
|
||||
<value>Key: {0} | Status: {1}</value>
|
||||
<comment>{0} will be replaced by cd-key (string), {1} will be replaced by status string</comment>
|
||||
</data>
|
||||
<data name="BotRedeemWithItems" xml:space="preserve">
|
||||
<value>Key: {0} | Status: {1} | Gegenstände: {2}</value>
|
||||
<value>Key: {0} | Status: {1} | Einzelheiten: {2}</value>
|
||||
<comment>{0} will be replaced by cd-key (string), {1} will be replaced by status string, {2} will be replaced by list of key-value pairs, separated by a comma</comment>
|
||||
</data>
|
||||
<data name="BotRemovedExpiredLoginKey" xml:space="preserve">
|
||||
<value>Abgelaufenen Anmelde-Schlüssel entfernt!</value>
|
||||
</data>
|
||||
<data name="BotStatusNotIdling" xml:space="preserve">
|
||||
<value>Bot sammelt nichts.</value>
|
||||
<value>Bot sammelt überhaupt nichts.</value>
|
||||
</data>
|
||||
<data name="BotStatusLimited" xml:space="preserve">
|
||||
<value>Bot ist eingeschränkt und erhält keine Karten durch's Sammeln.</value>
|
||||
@@ -620,7 +620,7 @@ StackTrace:
|
||||
<value>Bot wird zurzeit benutzt.</value>
|
||||
</data>
|
||||
<data name="BotUnableToConnect" xml:space="preserve">
|
||||
<value>Verbindgung zu Steam fehlgeschlagen: {0}</value>
|
||||
<value>Verbindung zu Steam nicht möglich: {0}</value>
|
||||
<comment>{0} will be replaced by failure reason (string)</comment>
|
||||
</data>
|
||||
<data name="BotUnableToLogin" xml:space="preserve">
|
||||
@@ -668,7 +668,7 @@ StackTrace:
|
||||
<comment>{0} will be replaced by file's path</comment>
|
||||
</data>
|
||||
<data name="ErrorDatabaseInvalid" xml:space="preserve">
|
||||
<value>Datenbank konnte nicht geladen werden! Wenn das Problem weiterhin besteht, entferne bitte {0}, um die Datenbank neu zu erstellen!</value>
|
||||
<value>Dauerhafte Datenbank konnte nicht geladen werden, wenn das Problem weiterhin besteht, entferne bitte {0}, um die Datenbank wiederherzustellen!</value>
|
||||
<comment>{0} will be replaced by file's path</comment>
|
||||
</data>
|
||||
<data name="Initializing" xml:space="preserve">
|
||||
@@ -689,7 +689,7 @@ StackTrace:
|
||||
<comment>{0} will be replaced by culture code, such as "en-US", {1} will be replaced by completeness percentage, such as "78.5%"</comment>
|
||||
</data>
|
||||
<data name="IdlingGameNotPossible" xml:space="preserve">
|
||||
<value>Leerlauf-{0} ({1}) ist vorübergehend deaktiviert, da ASF nicht in der Lage ist, im Moment dieses Spiel zu spielen.</value>
|
||||
<value>Sammeln {0} ({1}) ist vorübergehend deaktiviert, da ASF monentan nicht in der Lage ist, dieses Spiel zu spielen.</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
<data name="WarningIdlingGameMismatch" xml:space="preserve">
|
||||
|
||||
@@ -117,38 +117,23 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="AcceptingTrade" xml:space="preserve">
|
||||
<value>Αποδοχή ανταλλαγής: {0}</value>
|
||||
<comment>{0} will be replaced by trade number</comment>
|
||||
</data>
|
||||
<data name="AutoUpdateCheckInfo" xml:space="preserve">
|
||||
<value>Το ASF θα ελέγχει αυτόματα για νέες εκδόσεις κάθε {0} ώρες.</value>
|
||||
<comment>{0} will be replaced by number of hours</comment>
|
||||
</data>
|
||||
<data name="Content" xml:space="preserve">
|
||||
<value>Περιεχόμενο:{0}</value>
|
||||
<comment>{0} will be replaced by content string. Please note that this string should include newline for formatting.</comment>
|
||||
</data>
|
||||
<data name="ErrorConfigPropertyInvalid" xml:space="preserve">
|
||||
<value>Η ρυθμισμένη ιδιότητα {0} δεν είναι έγκυρη: {1}</value>
|
||||
<comment>{0} will be replaced by name of the configuration property, {1} will be replaced by invalid value</comment>
|
||||
</data>
|
||||
<data name="ErrorEarlyFatalExceptionInfo" xml:space="preserve">
|
||||
<value>Το ASF V{0} συνάντησε μια ανεπανόρθωτη εξαίρεση πριν αρχικοποιηθεί η υπομονάδα καταγραφής γεγονότων!</value>
|
||||
<comment>{0} will be replaced by version number</comment>
|
||||
</data>
|
||||
<data name="ErrorEarlyFatalExceptionPrint" xml:space="preserve">
|
||||
<value>Εξαίρεση: {0}() {1}
|
||||
StackTrace:
|
||||
{2}</value>
|
||||
<comment>{0} will be replaced by function name, {1} will be replaced by exception message, {2} will be replaced by entire stack trace. Please note that this string should include newlines for formatting.</comment>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="ErrorExitingWithNonZeroErrorCode" xml:space="preserve">
|
||||
<value>Έξοδος με μη μηδενικό κωδικό σφάλματος!</value>
|
||||
</data>
|
||||
<data name="ErrorFailingRequest" xml:space="preserve">
|
||||
<value>Αποτυχία αίτησης: {0}</value>
|
||||
<value>Αποτυχία αιτήματος: {0}</value>
|
||||
<comment>{0} will be replaced by URL of the request</comment>
|
||||
</data>
|
||||
|
||||
<data name="ErrorGlobalConfigNotLoaded" xml:space="preserve">
|
||||
<value>Αδυναμία φόρτωσης γενικής διαμόρφωσης. Βεβαιωθείτε ότι το {0} υπάρχει και είναι έγκυρο! Ακολουθήστε τον οδηγό ρύθμισης στο wiki εάν έχετε μπερδευτεί.</value>
|
||||
<comment>{0} will be replaced by file's path</comment>
|
||||
</data>
|
||||
<data name="ErrorIsInvalid" xml:space="preserve">
|
||||
<value>Το {0} δεν είναι έγκυρο!</value>
|
||||
<comment>{0} will be replaced by object's name</comment>
|
||||
@@ -156,137 +141,93 @@ StackTrace:
|
||||
<data name="ErrorMobileAuthenticatorInvalidDeviceID" xml:space="preserve">
|
||||
<value>Άρνηση εκτέλεσης αυτής της λειτουργίας λόγω μη έγκυρου DeviceID στο ASF 2FA!</value>
|
||||
</data>
|
||||
|
||||
<data name="ErrorObjectIsNull" xml:space="preserve">
|
||||
<value>{0} είναι null!</value>
|
||||
<comment>{0} will be replaced by object's name</comment>
|
||||
</data>
|
||||
<data name="ErrorParsingObject" xml:space="preserve">
|
||||
<value>Η ανάλυση του {0} απέτυχε!</value>
|
||||
<comment>{0} will be replaced by object's name</comment>
|
||||
<data name="ErrorNoBotsDefined" xml:space="preserve">
|
||||
<value>Δεν έχουν οριστεί bots. Μήπως ξεχάσατε να ρυθμίσετε το ASF σας;</value>
|
||||
</data>
|
||||
|
||||
|
||||
<data name="ErrorUpdateCheckFailed" xml:space="preserve">
|
||||
<value>Ο έλεγχος για νεότερη έκδοση απέτυχε!</value>
|
||||
<data name="ErrorRemovingOldBinary" xml:space="preserve">
|
||||
<value>Αδυναμία αφαίρεσης του παλιού ASF binary, αφαιρέστε το {0} χειροκίνητα ώστε να λειτουργήσει η λειτουργία ενημέρωσης!</value>
|
||||
<comment>{0} will be replaced by file's path</comment>
|
||||
</data>
|
||||
<data name="ErrorUpdateNoAssetForThisBinary" xml:space="preserve">
|
||||
<value>Αδυναμία να προχωρήσει η ενημέρωση γιατί τίποτε δεν σχετίζεται με το τρέχον δυαδικό αρχείο! Παρακαλώ βεβαιωθείτε οτι το ASF binary έχει το σωστό όνομα!</value>
|
||||
</data>
|
||||
<data name="ErrorUpdateNoAssets" xml:space="preserve">
|
||||
<value>Αδυναμία να προχωρήσει η ενημέρωση γιατί αυτή η έκδοση δεν περιέχει κανένα αρχείο!</value>
|
||||
</data>
|
||||
<data name="ErrorUserInputRunningInHeadlessMode" xml:space="preserve">
|
||||
<value>Παραλήφθηκε μια αίτηση για εισαγωγή από το χρήστη, αλλά η διαδικασία εκτελείται σε κατάσταση headless!</value>
|
||||
</data>
|
||||
<data name="ErrorWCFAccessDenied" xml:space="preserve">
|
||||
<value>Άρνηση ορισμού της αίτησης, επειδή δεν έχει οριστεί SteamOwnerID!</value>
|
||||
<comment>SteamOwnerID is name of bot config property, it should not be translated</comment>
|
||||
</data>
|
||||
<data name="Exiting" xml:space="preserve">
|
||||
<value>Έξοδος...</value>
|
||||
</data>
|
||||
<data name="WarningFailed" xml:space="preserve">
|
||||
<value>Απέτυχε!</value>
|
||||
<data name="ErrorRequestFailedTooManyTimes" xml:space="preserve">
|
||||
<value>Το αίτημα απέτυχε έπειτα από {0} προσπάθειες!</value>
|
||||
<comment>{0} will be replaced by maximum number of tries</comment>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="GlobalConfigChanged" xml:space="preserve">
|
||||
<value>Το καθολικό αρχείο ρυθμίσεων έχει αλλάξει!</value>
|
||||
<value>Το αρχείο γενικής διαμόρφωσης έχει αλλάξει!</value>
|
||||
</data>
|
||||
<data name="ErrorGlobalConfigRemoved" xml:space="preserve">
|
||||
<value>Το καθολικό αρχείο ρυθμίσεων έχει αφαιρεθεί!</value>
|
||||
</data>
|
||||
<data name="IgnoringTrade" xml:space="preserve">
|
||||
<value>Αγνόηση ανταλλαγής: {0}</value>
|
||||
<comment>{0} will be replaced by trade number</comment>
|
||||
</data>
|
||||
<data name="LoggingIn" xml:space="preserve">
|
||||
<value>Σύνδεση στο {0}...</value>
|
||||
<comment>{0} will be replaced by service's name</comment>
|
||||
</data>
|
||||
<data name="NoBotsAreRunning" xml:space="preserve">
|
||||
<value>Δεν τρέχει κανένα bot, τερματισμός...</value>
|
||||
<value>Το αρχείο γενικής διαμόρφωσης έχει αφαιρεθεί!</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
<data name="RefreshingOurSession" xml:space="preserve">
|
||||
<value>Ανανέωση της συνεδρίας!</value>
|
||||
</data>
|
||||
<data name="RejectingTrade" xml:space="preserve">
|
||||
<value>Απόρριψη ανταλλαγής: {0}</value>
|
||||
<comment>{0} will be replaced by trade number</comment>
|
||||
</data>
|
||||
<data name="Restarting" xml:space="preserve">
|
||||
<value>Επανεκκίνηση...</value>
|
||||
</data>
|
||||
<data name="WarningRuntimeUnsupported" xml:space="preserve">
|
||||
<value>Το ASF εντόπισε έκδοση runtime που δεν υποστηρίζεται, το πρόγραμμα μπορεί να ΜΗΝ εκτελείται σωστά στο τρέχον περιβάλλον. Το εκτελείτε με δική σας ευθύνη χωρίς υποστήριξη!</value>
|
||||
</data>
|
||||
<data name="RuntimeVersionComparison" xml:space="preserve">
|
||||
<value>Απαιτούμενη έκδοση: {0} | Βρέθηκε έκδοση: {1}</value>
|
||||
<comment>{0} will be replaced by required version, {1} will be replaced by current version</comment>
|
||||
</data>
|
||||
<data name="RuntimeVersionOK" xml:space="preserve">
|
||||
<value>Η έκδοση του {0} runtime είναι OK.</value>
|
||||
<comment>{0} will be replaced by runtime name (e.g. "Mono")</comment>
|
||||
</data>
|
||||
<data name="WarningRuntimeVersionTooOld" xml:space="preserve">
|
||||
<value>Η έκδοση του runtime {0} είναι πολύ παλιά!</value>
|
||||
<comment>{0} will be replaced by runtime name (e.g. "Mono")</comment>
|
||||
</data>
|
||||
<data name="Starting" xml:space="preserve">
|
||||
<value>Εκκίνηση...</value>
|
||||
</data>
|
||||
<data name="StatusCode" xml:space="preserve">
|
||||
<value>Κωδικός κατάστασης: {0}</value>
|
||||
<comment>{0} will be replaced by status code number/name</comment>
|
||||
</data>
|
||||
<data name="Success" xml:space="preserve">
|
||||
<value>Επιτυχία!</value>
|
||||
</data>
|
||||
<data name="TimeSpanDay" xml:space="preserve">
|
||||
<value>1 ημέρα</value>
|
||||
</data>
|
||||
<data name="TimeSpanDays" xml:space="preserve">
|
||||
<value>{0} ημέρες</value>
|
||||
<comment>{0} will be replaced by number of days</comment>
|
||||
</data>
|
||||
<data name="TimeSpanHour" xml:space="preserve">
|
||||
<value>1 ώρα</value>
|
||||
</data>
|
||||
<data name="TimeSpanHours" xml:space="preserve">
|
||||
<value>{0} ώρες</value>
|
||||
<comment>{0} will be replaced by number of hours</comment>
|
||||
</data>
|
||||
<data name="TimeSpanMinute" xml:space="preserve">
|
||||
<value>1 λεπτό</value>
|
||||
</data>
|
||||
<data name="TimeSpanMinutes" xml:space="preserve">
|
||||
<value>{0} λεπτά</value>
|
||||
<comment>{0} will be replaced by number of minutes</comment>
|
||||
</data>
|
||||
<data name="TimeSpanSecond" xml:space="preserve">
|
||||
<value>1 δευτερόλεπτο</value>
|
||||
</data>
|
||||
<data name="TimeSpanSeconds" xml:space="preserve">
|
||||
<value>{0} δευτερόλεπτα</value>
|
||||
<comment>{0} will be replaced by number of seconds</comment>
|
||||
</data>
|
||||
<data name="UnlockingParentalAccount" xml:space="preserve">
|
||||
<value>Ξεκλείδωμα γονικού λογαριασμού...</value>
|
||||
</data>
|
||||
<data name="UpdateCheckingNewVersion" xml:space="preserve">
|
||||
<value>Έλεγχος για νεότερη έκδοση...</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="UpdateDownloadingNewVersion" xml:space="preserve">
|
||||
<value>Λήψη νέας έκδοσης... Όσο περιμένετε, σκεφτείτε να κάνετε μια δωρεά εάν εκτιμάτε τη δουλειά που γίνεται! :)</value>
|
||||
</data>
|
||||
<data name="UpdateFinished" xml:space="preserve">
|
||||
<value>Η διαδικασία ενημέρωσης ολοκληρώθηκε!</value>
|
||||
</data>
|
||||
<data name="UpdateNewVersionAvailable" xml:space="preserve">
|
||||
<value>Μια νέα έκδοση του ASF είναι διαθέσιμη! Σκεφτείτε να αναβαθμιστείτε!</value>
|
||||
|
||||
|
||||
<data name="UserInputDeviceID" xml:space="preserve">
|
||||
<value>Εισάγετε το ID συσκευής επαληθευτή κινητού σας (συμπεριλαμβάνοντας το «android:»): </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="UpdateVersionInfo" xml:space="preserve">
|
||||
<value>Τοπική έκδοση: {0} | Απομακρυσμένη έκδοση: {1}</value>
|
||||
<comment>{0} will be replaced by current version, {1} will be replaced by remote version</comment>
|
||||
<data name="UserInputSteam2FA" xml:space="preserve">
|
||||
<value>Εισάγετε τον κωδικό από την εφαρμογή επαληθευτή Steam σας: </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="UserInputSteamGuard" xml:space="preserve">
|
||||
<value>Εισάγετε τον κωδικό Steam Guard που έχει αποσταλεί στο e-mail σας: </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="UserInputSteamLogin" xml:space="preserve">
|
||||
<value>Εισάγετε το όνομα χρήστη Steam σας: </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="UserInputSteamParentalPIN" xml:space="preserve">
|
||||
<value>Εισάγετε το PIN γονικού ελέγχου Steam σας: </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="UserInputSteamPassword" xml:space="preserve">
|
||||
<value>Εισάγετε τον κωδικό πρόσβασής σας στο Steam: </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
|
||||
<data name="UserInputWCFHost" xml:space="preserve">
|
||||
<value>Εισάγετε τον διακομιστή WCF σας: </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
|
||||
|
||||
@@ -296,291 +237,179 @@ StackTrace:
|
||||
|
||||
|
||||
|
||||
<data name="WarningUnknownValuePleaseReport" xml:space="preserve">
|
||||
<value>Παραλήφθηκε άγνωστη τιμή για το {0}, παρακαλώ να αναφέρετε αυτό: {1}</value>
|
||||
<comment>{0} will be replaced by object's name, {1} will be replaced by value for that object</comment>
|
||||
</data>
|
||||
<data name="WarningTooManyGamesToPlay" xml:space="preserve">
|
||||
<value>Δεν είναι δυνατό να παίζονται περισσότερα από {0} παιχνίδια ταυτόχρονα, θα χρησιμοποιηθούν μόνο οι πρώτες {0} καταχωρήσεις από {1}!</value>
|
||||
<comment>{0} will be replaced by max number of games, {1} will be replaced by name of the configuration property</comment>
|
||||
</data>
|
||||
<data name="WarningWCFIgnoringCommand" xml:space="preserve">
|
||||
<value>Αγνοήθηκε η εντολή WCF επειδή ο διακόπτης --client δεν είχε οριστεί: {0}</value>
|
||||
<comment>{0} will be replaced by WCF command</comment>
|
||||
</data>
|
||||
<data name="ErrorWCFAddressAccessDeniedException" xml:space="preserve">
|
||||
<value>Η υπηρεσία WCF δεν ξεκίνησε με την αιτία AddressAccessDeniedException! Αν θέλετε να χρησιμοποιήσετε την υπηρεσία WCF που παρέχεται από ASF, ξεκινήστε το ASF ως διαχειριστής, ή δίνοντας τα κατάλληλα δικαιώματα!</value>
|
||||
</data>
|
||||
<data name="WCFAnswered" xml:space="preserve">
|
||||
<value>Απαντήθηκε η εντολή WCF: {0} με: {1}</value>
|
||||
<comment>{0} will be replaced by WCF command, {1} will be replaced by WCF answer</comment>
|
||||
</data>
|
||||
<data name="WCFReady" xml:space="preserve">
|
||||
<value>Διακομιστής WCF έτοιμος!</value>
|
||||
</data>
|
||||
<data name="WCFResponseReceived" xml:space="preserve">
|
||||
<value>Ελήφθη WCF απάντηση: {0}</value>
|
||||
<comment>{0} will be replaced by WCF response</comment>
|
||||
</data>
|
||||
<data name="WCFSendingCommand" xml:space="preserve">
|
||||
<value>Αποστολή εντολής: {0} στο διακομιστή WCF στο {1}...</value>
|
||||
<comment>{0} will be replaced by WCF command, {1} will be replaced by WCF hostname</comment>
|
||||
</data>
|
||||
<data name="WCFStarting" xml:space="preserve">
|
||||
<value>Έναρξη διακομιστή WCF στο {0}...</value>
|
||||
<comment>{0} will be replaced by WCF hostname</comment>
|
||||
|
||||
<data name="BotAlreadyStopped" xml:space="preserve">
|
||||
<value>Το bot έχει ήδη σταματήσει!</value>
|
||||
</data>
|
||||
|
||||
<data name="BotNotFound" xml:space="preserve">
|
||||
<value>Δεν βρέθηκε κανένα bot με όνομα {0}!</value>
|
||||
<comment>{0} will be replaced by bot's name query (string)</comment>
|
||||
<data name="BotStatusOverview" xml:space="preserve">
|
||||
<value>Τρέχουν {0}/{1} bots, συνολικά {2} παιχνίδια ({3} κάρτες) απομένουν να συλλεχθούν.</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} ({1}, {2} κάρτες απομένουν) από {3} συνολικά παιχνίδια ({4} κάρτες) που απομένουν (υπόλοιπο χρόνου: ~{5}).</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name, {2} will be replaced by number of cards left to idle, {3} will be replaced by total number of games to idle, {4} will be replaced by total number of cards to idle, {5} will be replaced by translated TimeSpan string built from TimeSpan* translation parts</comment>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
<data name="CheckingFirstBadgePage" xml:space="preserve">
|
||||
<value>Έλεγχος πρώτης σελίδας εμβλημάτων...</value>
|
||||
</data>
|
||||
<data name="CheckingOtherBadgePages" xml:space="preserve">
|
||||
<value>Έλεγχος των άλλων σελίδων εμβλημάτων...</value>
|
||||
</data>
|
||||
<data name="ChosenFarmingAlgorithm" xml:space="preserve">
|
||||
<value>Επιλεγμένος αλγόριθμος συλλογής: {0}</value>
|
||||
<comment>{0} will be replaced by the name of chosen idling algorithm</comment>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="BotAddLicense" xml:space="preserve">
|
||||
<value>ID: {0} | Κατάσταση: {1}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by status string</comment>
|
||||
</data>
|
||||
<data name="Done" xml:space="preserve">
|
||||
<value>Έτοιμο!</value>
|
||||
<data name="BotAddLicenseWithItems" xml:space="preserve">
|
||||
<value>ID: {0} | Κατάσταση: {1} | Αντικείμενα: {2}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by status string, {2} will be replaced by list of granted IDs (numbers), separated by a comma</comment>
|
||||
</data>
|
||||
<data name="GamesToIdle" xml:space="preserve">
|
||||
<value>Έχουμε ένα σύνολο {0} παιχνιδιών ({1} κάρτες) που απομένουν (υπόλοιπο χρόνου ~{2})...</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>
|
||||
<data name="BotAlreadyRunning" xml:space="preserve">
|
||||
<value>Το bot εκτελείται ήδη!</value>
|
||||
</data>
|
||||
<data name="IdlingFinished" xml:space="preserve">
|
||||
<value>Η συλλογή καρτών τελείωσε!</value>
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="BotAutomaticIdlingNowPaused" xml:space="preserve">
|
||||
<value>Η αυτόματη συλλογή καρτών είναι σε παύση!</value>
|
||||
</data>
|
||||
<data name="IdlingFinishedForGame" xml:space="preserve">
|
||||
<value>Τελείωσε η συλλογή καρτών του: {0} ({1}) μετά από {2} παιχνιδιού!</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name, {2} will be replaced by translated TimeSpan string built from TimeSpan* translation parts</comment>
|
||||
<data name="BotAutomaticIdlingNowResumed" xml:space="preserve">
|
||||
<value>Η αυτόματη συλλογή καρτών είναι συνεχίζεται!</value>
|
||||
</data>
|
||||
<data name="IdlingFinishedForGames" xml:space="preserve">
|
||||
<value>Τελείωσε η συλλογή καρτών των παιχνιδιών: {0}</value>
|
||||
<comment>{0} will be replaced by list of the games (IDs, numbers), separated by a comma</comment>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="BotNotOwnedYet" xml:space="preserve">
|
||||
<value>Δεν κατέχετε ακόμη: {0}</value>
|
||||
<comment>{0} will be replaced by query (string)</comment>
|
||||
</data>
|
||||
<data name="IdlingStatusForGame" xml:space="preserve">
|
||||
<value>Κατάσταση συλλογής καρτών του {0} ({1}): {2} κάρτες απομένουν</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name, {2} will be replaced by number of cards left to idle</comment>
|
||||
</data>
|
||||
<data name="IdlingStopped" xml:space="preserve">
|
||||
<value>Η συλλογή καρτών σταμάτησε!</value>
|
||||
</data>
|
||||
<data name="IgnoredStickyPauseEnabled" xml:space="preserve">
|
||||
<value>Αυτό το αίτημα αγνοείται, γιατί είναι ενεργοποιημένη η μόνιμη παύση!</value>
|
||||
</data>
|
||||
<data name="NothingToIdle" xml:space="preserve">
|
||||
<value>Δεν έχουμε να συλλέξουμε τίποτα σε αυτό το λογαριασμό!</value>
|
||||
</data>
|
||||
<data name="NowIdling" xml:space="preserve">
|
||||
<value>Τώρα συλλέγονται κάρτες του: {0} ({1})</value>
|
||||
<data name="BotOwnedAlreadyWithName" xml:space="preserve">
|
||||
<value>Κατέχετε ήδη: {0} | {1}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
<data name="NowIdlingList" xml:space="preserve">
|
||||
<value>Τώρα συλλέγονται κάρτες των: {0}</value>
|
||||
<comment>{0} will be replaced by list of the games (IDs, numbers), separated by a comma</comment>
|
||||
</data>
|
||||
<data name="PlayingNotAvailable" xml:space="preserve">
|
||||
<value>Το παιχνίδι είναι προσωρινά μη διαθέσιμο. Θα ξαναγίνει προσπάθεια αργότερα!</value>
|
||||
</data>
|
||||
<data name="StillIdling" xml:space="preserve">
|
||||
<value>Ακόμα συλλέγονται κάρτες του: {0} ({1})</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
<data name="StillIdlingList" xml:space="preserve">
|
||||
<value>Ακόμα συλλέγονται κάρτες των: {0}</value>
|
||||
<comment>{0} will be replaced by list of the games (IDs, numbers), separated by a comma</comment>
|
||||
</data>
|
||||
<data name="StoppedIdling" xml:space="preserve">
|
||||
<value>Σταμάτησε η συλλογή καρτών του: {0} ({1})</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
<data name="StoppedIdlingList" xml:space="preserve">
|
||||
<value>Σταμάτησε η συλλογή καρτών των: {0}</value>
|
||||
<comment>{0} will be replaced by list of the games (IDs, numbers), separated by a comma</comment>
|
||||
</data>
|
||||
<data name="UnknownCommand" xml:space="preserve">
|
||||
<value>Άγνωστη εντολή!</value>
|
||||
</data>
|
||||
|
||||
<data name="WarningCouldNotCheckCardsStatus" xml:space="preserve">
|
||||
<value>Ανεπιτυχής έλεγχος κατάστασης καρτών για το: {0} ({1}), θα ξαναγίνει προσπάθεια αργότερα!</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
<data name="BotAcceptingGift" xml:space="preserve">
|
||||
<value>Αποδοχή δώρου: {0}...</value>
|
||||
<comment>{0} will be replaced by giftID (number)</comment>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="BotAuthenticatorConverting" xml:space="preserve">
|
||||
<value>Μετατροπή .maFile σε ASF μορφή...</value>
|
||||
<data name="BotRedeem" xml:space="preserve">
|
||||
<value>Κλειδί: {0} | Κατάσταση: {1}</value>
|
||||
<comment>{0} will be replaced by cd-key (string), {1} will be replaced by status string</comment>
|
||||
</data>
|
||||
<data name="BotAuthenticatorImportFinished" xml:space="preserve">
|
||||
<value>Ολοκληρώθηκε επιτυχώς η εισαγωγή επαληθευτή κινητού!</value>
|
||||
</data>
|
||||
<data name="BotAuthenticatorInvalidDeviceID" xml:space="preserve">
|
||||
<value>Το DeviceID σας είναι λάθος ή δεν υπάρχει!</value>
|
||||
</data>
|
||||
<data name="BotAuthenticatorToken" xml:space="preserve">
|
||||
<value>2FA κωδικός: {0}</value>
|
||||
<comment>{0} will be replaced by generated 2FA token (string)</comment>
|
||||
<data name="BotRedeemWithItems" xml:space="preserve">
|
||||
<value>Κλειδί: {0} | Κατάσταση: {1} | Αντικείμενα: {2}</value>
|
||||
<comment>{0} will be replaced by cd-key (string), {1} will be replaced by status string, {2} will be replaced by list of key-value pairs, separated by a comma</comment>
|
||||
</data>
|
||||
|
||||
|
||||
<data name="BotAutomaticIdlingPausedAlready" xml:space="preserve">
|
||||
<value>Η αυτόματη συλλογή καρτών είναι ήδη σε παύση!</value>
|
||||
<data name="BotStatusNotIdling" xml:space="preserve">
|
||||
<value>Το bot δεν συλλέγει τίποτα.</value>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingPausedWithCountdown" xml:space="preserve">
|
||||
<value>Η αυτόματη συλλογή καρτών είναι σε παύση! Έχετε {0} λεπτά για να ξεκινήσετε ένα παιχνίδι.</value>
|
||||
<comment>{0} will be replaced by number of minutes</comment>
|
||||
<data name="BotStatusLimited" xml:space="preserve">
|
||||
<value>Το bot είναι περιορισμένο και δεν μπορεί να αποκτήσει κάρτες.</value>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingResumedAlready" xml:space="preserve">
|
||||
<value>Η αυτόματη συλλογή καρτών έχει ξεκινήσει ήδη!</value>
|
||||
<data name="BotStatusConnecting" xml:space="preserve">
|
||||
<value>Το bot συνδέεται στο δίκτυο του Steam.</value>
|
||||
</data>
|
||||
<data name="BotConnected" xml:space="preserve">
|
||||
<value>Συνδέθηκε στο Steam!</value>
|
||||
<data name="BotStatusNotRunning" xml:space="preserve">
|
||||
<value>Το bot δεν εκτελείται.</value>
|
||||
</data>
|
||||
<data name="BotDisconnected" xml:space="preserve">
|
||||
<value>Αποσυνδέθηκε από το Steam!</value>
|
||||
<data name="BotStatusPaused" xml:space="preserve">
|
||||
<value>Το bot είναι σε παύση ή εκτελείται σε χειροκίνητη λειτουργία.</value>
|
||||
</data>
|
||||
<data name="BotDisconnecting" xml:space="preserve">
|
||||
<value>Αποσύνδεση...</value>
|
||||
</data>
|
||||
<data name="BotEncryptedPassword" xml:space="preserve">
|
||||
<value>[{0}] κωδικός πρόσβασης: {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="BotInstanceNotStartingBecauseDisabled" xml:space="preserve">
|
||||
<value>Αυτό το bot δεν ξεκινά γιατί είναι απενεργοποιημένο στο αρχείο ρυθμίσεων!</value>
|
||||
</data>
|
||||
<data name="BotInvalidAuthenticatorDuringLogin" xml:space="preserve">
|
||||
<value>Ο κωδικός σφάλματος TwoFactorCodeMismatch ελήφθη {0} φορές στη σειρά, αυτό σχεδόν πάντα υποδηλώνει άκυρα 2FA ASF διαπιστευτήρια, η διαδικασία ματαιώνεται!</value>
|
||||
<comment>{0} will be replaced by maximum allowed number of failed 2FA attempts</comment>
|
||||
</data>
|
||||
<data name="BotLoggedOff" xml:space="preserve">
|
||||
<value>Αποσύνδεση από το Steam: {0}</value>
|
||||
<comment>{0} will be replaced by logging off reason (string)</comment>
|
||||
</data>
|
||||
<data name="BotLoggedOn" xml:space="preserve">
|
||||
<value>Επιτυχημένη σύνδεση!</value>
|
||||
</data>
|
||||
<data name="BotLoggingIn" xml:space="preserve">
|
||||
<value>Γίνεται σύνδεση...</value>
|
||||
</data>
|
||||
<data name="BotLogonSessionReplaced" xml:space="preserve">
|
||||
<value>Αυτός ο λογαριασμός φαίνεται να χρησιμοποιείται σε άλλο ενεργό ASF, η συμπεριφορά αυτή είναι απροσδιόριστη, άρνηση συνέχισης της εκτέλεσης!</value>
|
||||
</data>
|
||||
<data name="BotLootingFailed" xml:space="preserve">
|
||||
<value>Η προσφορά ανταλλαγής απέτυχε!</value>
|
||||
</data>
|
||||
|
||||
<data name="BotLootingNoLootableTypes" xml:space="preserve">
|
||||
<value>Δεν έχετε καθορίσει κανένα τύπο λεηλασίας!</value>
|
||||
</data>
|
||||
<data name="BotLootingNowDisabled" xml:space="preserve">
|
||||
<value>Η λεηλασία απενεργοποιήθηκε!</value>
|
||||
</data>
|
||||
<data name="BotLootingNowEnabled" xml:space="preserve">
|
||||
<value>Η λεηλασία ενεργοποιήθηκε!</value>
|
||||
</data>
|
||||
<data name="BotLootingSuccess" xml:space="preserve">
|
||||
<value>Η προσφορά ανταλλαγής στάλθηκε με επιτυχία!</value>
|
||||
</data>
|
||||
<data name="BotLootingTemporarilyDisabled" xml:space="preserve">
|
||||
<value>Η λεηλασία απενεργοποιήθηκε προσωρινά!</value>
|
||||
</data>
|
||||
<data name="BotLootingYourself" xml:space="preserve">
|
||||
<value>Δεν μπορείτε να λεηλατήσετε τον εαυτό σας!</value>
|
||||
</data>
|
||||
|
||||
<data name="BotNotConnected" xml:space="preserve">
|
||||
<value>Αυτό το bot δεν είναι συνδεδεμένο!</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
<data name="BotReconnecting" xml:space="preserve">
|
||||
<value>Επανασύνδεση...</value>
|
||||
</data>
|
||||
|
||||
|
||||
<data name="BotRemovedExpiredLoginKey" xml:space="preserve">
|
||||
<value>Αφαιρέθηκε το κλειδί σύνδεσης που έχει λήξει!</value>
|
||||
<data name="BotStatusPlayingNotAvailable" xml:space="preserve">
|
||||
<value>Το bot χρησιμοποιείται αυτή τη στιγμή.</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="BotUnableToConnect" xml:space="preserve">
|
||||
<value>Αδυναμία σύνδεσης στο Steam: {0}</value>
|
||||
<comment>{0} will be replaced by failure reason (string)</comment>
|
||||
<data name="BotConnectionLost" xml:space="preserve">
|
||||
<value>Η σύνδεση στο δίκτυο Steam χάθηκε. Γίνεται επανασύνδεση...</value>
|
||||
</data>
|
||||
<data name="BotUnableToLogin" xml:space="preserve">
|
||||
<value>Δεν είναι δυνατή η σύνδεση στο Steam: {0}/{1}</value>
|
||||
<comment>{0} will be replaced by failure reason (string), {1} will be replaced by extended failure reason (string)</comment>
|
||||
<data name="BotAccountFree" xml:space="preserve">
|
||||
<value>Ο λογαριασμός δεν χρησιμοποιείται πλέον: ξεκινά πάλι η συλλογή καρτών!</value>
|
||||
</data>
|
||||
<data name="ErrorIsEmpty" xml:space="preserve">
|
||||
<value>{0} είναι άδειο!</value>
|
||||
<comment>{0} will be replaced by object's name</comment>
|
||||
<data name="BotAccountOccupied" xml:space="preserve">
|
||||
<value>Ο λογαριασμός χρησιμοποιείται αυτή τη στιγμή: το ASF θα συνεχίσει όταν αυτός αποδεσμευθεί...</value>
|
||||
</data>
|
||||
<data name="UnusedKeys" xml:space="preserve">
|
||||
<value>Αχρησιμοποίητα κλειδιά: {0}</value>
|
||||
<comment>{0} will be replaced by list of cd-keys (strings), separated by a comma</comment>
|
||||
</data>
|
||||
<data name="WarningFailedWithError" xml:space="preserve">
|
||||
<value>Απέτυχε λόγω σφάλματος: {0}</value>
|
||||
<comment>{0} will be replaced by failure reason (string)</comment>
|
||||
<data name="BotAutomaticIdlingPauseTimeout" xml:space="preserve">
|
||||
<value>Η κοινόχρηστη συλλογή δεν ξεκίνησε στο χρόνο που δόθηκε. Η συλλογή καρτών ξεκινά πάλι!</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="BotConnecting" xml:space="preserve">
|
||||
<value>Σύνδεση...</value>
|
||||
</data>
|
||||
|
||||
|
||||
<data name="BotStopping" xml:space="preserve">
|
||||
<value>Τερματισμός...</value>
|
||||
</data>
|
||||
|
||||
<data name="ErrorDatabaseInvalid" xml:space="preserve">
|
||||
<value>Αδυναμία ανάγνωσης της μόνιμης βάσης δεδομένων, εάν το πρόβλημα επιμένει, παρακαλούμε αφαιρέστε το {0} για να αναδημιουργήσετε τη βάση δεδομένων!</value>
|
||||
<data name="ErrorBotConfigInvalid" xml:space="preserve">
|
||||
<value>Η διαμόρφωση του bot σας δεν είναι έγκυρη. Επαληθεύστε το περιεχόμενο του {0} και δοκιμάστε ξανά!</value>
|
||||
<comment>{0} will be replaced by file's path</comment>
|
||||
</data>
|
||||
<data name="Initializing" xml:space="preserve">
|
||||
<value>Αρχικοποίηση {0}...</value>
|
||||
<comment>{0} will be replaced by service name that is being initialized</comment>
|
||||
</data>
|
||||
<data name="WarningPrivacyPolicy" xml:space="preserve">
|
||||
<value>Παρακαλώ διαβάστε την ενότητα Πολιτική Απορρήτου στο wiki, αν ανησυχείτε για το τι κάνει στην πραγματικότητα το ASF!</value>
|
||||
</data>
|
||||
<data name="Welcome" xml:space="preserve">
|
||||
<value>Φαίνεται να είναι η πρώτη σας εκκίνηση του προγράμματος, Καλώς ήρθατε!</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="ErrorInvalidCurrentCulture" xml:space="preserve">
|
||||
<value>Η παρεχόμενη τιμή CurrentCulture είναι άκυρη, το ASF θα συνεχίσει να εκτελείται με την προεπιλεγμένη τιμή!</value>
|
||||
</data>
|
||||
<data name="TranslationIncomplete" xml:space="preserve">
|
||||
<value>Το ASF θα επιχειρήσει να χρησιμοποιήσει τη γλώσσα {0}, αλλά η μετάφραση σ'αυτή τη γλώσσα έχει συμπληρωθεί μόνο κατά {1}. Ισως θα μπορούσατε να μας βοηθήσετε να βελτιώσουμε τη μετάφραση του ASF για τη γλώσσα σας;</value>
|
||||
<value>Το ASF θα επιχειρήσει να χρησιμοποιήσει τη γλώσσα {0}, αλλά η μετάφραση σε αυτή τη γλώσσα έχει ολοκληρωθεί μόνο κατά {1}. Ίσως θα μπορούσατε να μας βοηθήσετε να βελτιώσουμε τη μετάφραση του ASF για τη γλώσσα σας;</value>
|
||||
<comment>{0} will be replaced by culture code, such as "en-US", {1} will be replaced by completeness percentage, such as "78.5%"</comment>
|
||||
</data>
|
||||
|
||||
|
||||
<data name="BotVersion" xml:space="preserve">
|
||||
<value>{0} V{1}</value>
|
||||
<comment>{0} will be replaced by program's name (e.g. "ASF"), {1} will be replaced by program's version (e.g. "1.0.0.0"). This string typically has nothing to translate and you should leave it as it is, unless you need to change the format, e.g. in RTL languages.</comment>
|
||||
</data>
|
||||
<data name="BotAccountLocked" xml:space="preserve">
|
||||
<value>Αυτός ο λογαριασμός είναι κλειδωμένος, η συλλογή καρτών είναι μόνιμα μη διαθέσιμη!</value>
|
||||
</data>
|
||||
<data name="BotStatusLocked" xml:space="preserve">
|
||||
<value>Το bot είναι κλειδωμένο και δεν μπορεί να αποκτήσει κάρτες.</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="BotOwnedAlready" xml:space="preserve">
|
||||
<value>Κατέχετε ήδη: {0}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
|
||||
</root>
|
||||
|
||||
@@ -547,7 +547,9 @@ Trazo de pila:
|
||||
<data name="BotLootingFailed" xml:space="preserve">
|
||||
<value>Se ha producido un error al realizar el intercambio!</value>
|
||||
</data>
|
||||
|
||||
<data name="BotLootingMasterNotDefined" xml:space="preserve">
|
||||
<value>El intercambio no ha podido enviarse porque no hay ningún usuario con permiso master definido!</value>
|
||||
</data>
|
||||
<data name="BotLootingNoLootableTypes" xml:space="preserve">
|
||||
<value>¡No tienes ningún tipo de conjunto que puedas traspasar!</value>
|
||||
</data>
|
||||
@@ -604,7 +606,9 @@ Trazo de pila:
|
||||
<data name="BotStatusLimited" xml:space="preserve">
|
||||
<value>El bot esta limitado y no puede conseguir ningún cromo a través de la recolección.</value>
|
||||
</data>
|
||||
|
||||
<data name="BotStatusConnecting" xml:space="preserve">
|
||||
<value>El bot se está conectando a la red Steam.</value>
|
||||
</data>
|
||||
<data name="BotStatusNotRunning" xml:space="preserve">
|
||||
<value>El Bot no se está ejecutando.</value>
|
||||
</data>
|
||||
@@ -708,5 +712,7 @@ Trazo de pila:
|
||||
<value>Ya posees: {0}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
|
||||
<data name="ErrorAccessDenied" xml:space="preserve">
|
||||
<value>Acceso denegado!</value>
|
||||
</data>
|
||||
</root>
|
||||
|
||||
@@ -548,7 +548,9 @@ StackTrace :
|
||||
<data name="BotLootingFailed" xml:space="preserve">
|
||||
<value>L'offre d'échange a échoué!</value>
|
||||
</data>
|
||||
|
||||
<data name="BotLootingMasterNotDefined" xml:space="preserve">
|
||||
<value>L'offre d'échange n'a pas pû être envoyée car il n'y a pas d'utilisateur avec une autorisation Master défini !</value>
|
||||
</data>
|
||||
<data name="BotLootingNoLootableTypes" xml:space="preserve">
|
||||
<value>Vous n'avez aucun type d'objets à récupérer de configuré !</value>
|
||||
</data>
|
||||
|
||||
@@ -548,7 +548,9 @@ StackTrace :
|
||||
<data name="BotLootingFailed" xml:space="preserve">
|
||||
<value>L'offre d'échange a échoué !</value>
|
||||
</data>
|
||||
|
||||
<data name="BotLootingMasterNotDefined" xml:space="preserve">
|
||||
<value>L'offre d'échange n'a pas pu être envoyée car il n'y a pas d'utilisateur avec une autorisation Master définie !</value>
|
||||
</data>
|
||||
<data name="BotLootingNoLootableTypes" xml:space="preserve">
|
||||
<value>Vous n'avez aucun type d'objets à récupérer de configuré !</value>
|
||||
</data>
|
||||
@@ -606,7 +608,7 @@ StackTrace :
|
||||
<value>Le bot est limité et ne permet pas la collecte de carte.</value>
|
||||
</data>
|
||||
<data name="BotStatusConnecting" xml:space="preserve">
|
||||
<value>Bot se connecte au réseau Steam.</value>
|
||||
<value>Le bot se connecte au réseau Steam.</value>
|
||||
</data>
|
||||
<data name="BotStatusNotRunning" xml:space="preserve">
|
||||
<value>Le bot n’est pas en cours d’exécution.</value>
|
||||
@@ -711,5 +713,7 @@ StackTrace :
|
||||
<value>Possède déjà : {0}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
|
||||
<data name="ErrorAccessDenied" xml:space="preserve">
|
||||
<value>Accès refusé !</value>
|
||||
</data>
|
||||
</root>
|
||||
|
||||
@@ -374,7 +374,7 @@
|
||||
<comment>{0} will be replaced by bot's name query (string)</comment>
|
||||
</data>
|
||||
<data name="BotStatusOverview" xml:space="preserve">
|
||||
<value>Ci sono {0}/{1} bot in esecuzione, per un totale di {2} giochi ({3} carte) ancora da trovare.</value>
|
||||
<value>Ci sono {0}/{1} bot in esecuzione, per un totale di {2} giochi ({3} carte) ancora da farmare.</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">
|
||||
@@ -399,7 +399,7 @@
|
||||
<value>Fatto!</value>
|
||||
</data>
|
||||
<data name="GamesToIdle" xml:space="preserve">
|
||||
<value>Ci sono un totale di {0} giochi ({1} carte) ancora da trovare (~{2} rimanenti)...</value>
|
||||
<value>Ci sono un totale di {0} giochi ({1} carte) ancora da farmare (~{2} rimanenti)...</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>
|
||||
</data>
|
||||
<data name="IdlingFinished" xml:space="preserve">
|
||||
@@ -424,7 +424,7 @@
|
||||
<value>Questa richiesta verrà ignorata, in quanto è abilitata la pausa permanente!</value>
|
||||
</data>
|
||||
<data name="NothingToIdle" xml:space="preserve">
|
||||
<value>Non c'è niente da trovare su questo account!</value>
|
||||
<value>Non c'è niente da farmare su questo account!</value>
|
||||
</data>
|
||||
<data name="NowIdling" xml:space="preserve">
|
||||
<value>Ora in idle: {0} ({1})</value>
|
||||
@@ -546,7 +546,9 @@
|
||||
<data name="BotLootingFailed" xml:space="preserve">
|
||||
<value>Offerta di scambio fallita!</value>
|
||||
</data>
|
||||
|
||||
<data name="BotLootingMasterNotDefined" xml:space="preserve">
|
||||
<value>L'offerta di scambio non può essere inviata perchè non c'è nessun botmaster definito!</value>
|
||||
</data>
|
||||
<data name="BotLootingNoLootableTypes" xml:space="preserve">
|
||||
<value>Non hai configurato il tipo di oggetti per il loot!</value>
|
||||
</data>
|
||||
@@ -603,7 +605,9 @@
|
||||
<data name="BotStatusLimited" xml:space="preserve">
|
||||
<value>Il Bot è un account limitato e non può ottenere carte tramite idling.</value>
|
||||
</data>
|
||||
|
||||
<data name="BotStatusConnecting" xml:space="preserve">
|
||||
<value>Il bot si stà connettendo alla rete di Steam.</value>
|
||||
</data>
|
||||
<data name="BotStatusNotRunning" xml:space="preserve">
|
||||
<value>Bot non è in esecuzione.</value>
|
||||
</data>
|
||||
@@ -707,5 +711,7 @@
|
||||
<value>Già posseduto: {0}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
|
||||
<data name="ErrorAccessDenied" xml:space="preserve">
|
||||
<value>Accesso negato!</value>
|
||||
</data>
|
||||
</root>
|
||||
|
||||
@@ -545,7 +545,9 @@
|
||||
<data name="BotLootingFailed" xml:space="preserve">
|
||||
<value>トレードのオファーに失敗しました!</value>
|
||||
</data>
|
||||
|
||||
<data name="BotLootingMasterNotDefined" xml:space="preserve">
|
||||
<value>Master権限に定義されているbotがないため、トレードは送信できません!</value>
|
||||
</data>
|
||||
<data name="BotLootingNoLootableTypes" xml:space="preserve">
|
||||
<value>Lootable typesが設定されていません!</value>
|
||||
</data>
|
||||
@@ -602,7 +604,9 @@
|
||||
<data name="BotStatusLimited" xml:space="preserve">
|
||||
<value>Botは制限中のため、アイドリングでカードをドロップできません。</value>
|
||||
</data>
|
||||
|
||||
<data name="BotStatusConnecting" xml:space="preserve">
|
||||
<value>BotはSteam Networkに接続しています。</value>
|
||||
</data>
|
||||
<data name="BotStatusNotRunning" xml:space="preserve">
|
||||
<value>Botは実行されていません。</value>
|
||||
</data>
|
||||
@@ -706,5 +710,7 @@
|
||||
<value>所有している: {0}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
|
||||
<data name="ErrorAccessDenied" xml:space="preserve">
|
||||
<value>アクセスが拒否されました!</value>
|
||||
</data>
|
||||
</root>
|
||||
|
||||
@@ -184,7 +184,7 @@ StackTrace:
|
||||
<value>Controle voor de laatste versie is mislukt!</value>
|
||||
</data>
|
||||
<data name="ErrorUpdateNoAssetForThisBinary" xml:space="preserve">
|
||||
<value>Kon niet verdergaan met updaten, omdat er geen bestand verwijst naar de momenteel draaiende versie! Zorg ervoor dat je ASF-bestand de correcte naam heeft!</value>
|
||||
<value>Kon niet verdergaan met updaten, omdat er geen bestand gerelateerd is aan de reeds werkende versie! Zorg ervoor dat je ASF-bestand de correcte naam heeft!</value>
|
||||
</data>
|
||||
<data name="ErrorUpdateNoAssets" xml:space="preserve">
|
||||
<value>Kon niet verdergaan met updaten, omdat deze updateversie geen bestanden bevat!</value>
|
||||
@@ -477,7 +477,7 @@ StackTrace:
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by status string</comment>
|
||||
</data>
|
||||
<data name="BotAddLicenseWithItems" xml:space="preserve">
|
||||
<value>ID: {0} | Status: {1} | Items: {2}</value>
|
||||
<value>ID: {0} | Status: {1} | Geactiveerde ID(s): {2}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by status string, {2} will be replaced by list of granted IDs (numbers), separated by a comma</comment>
|
||||
</data>
|
||||
<data name="BotAlreadyRunning" xml:space="preserve">
|
||||
@@ -529,7 +529,7 @@ StackTrace:
|
||||
<value>Deze bot wordt niet gestart omdat hij uitgeschakeld is in het configuratiebestand!</value>
|
||||
</data>
|
||||
<data name="BotInvalidAuthenticatorDuringLogin" xml:space="preserve">
|
||||
<value>TwoFactorCodeMisMatch foutmelding {0} keer ontvangen. Dit betekent meestal de verkeerde ASF 2FA login informatie, afbreken!</value>
|
||||
<value>TwoFactorCodeMisMatch foutmelding {0} keer op rij ontvangen. Dit betekent meestal de verkeerde ASF 2FA login informatie. Proces wordt afgebroken!</value>
|
||||
<comment>{0} will be replaced by maximum allowed number of failed 2FA attempts</comment>
|
||||
</data>
|
||||
<data name="BotLoggedOff" xml:space="preserve">
|
||||
@@ -543,7 +543,7 @@ StackTrace:
|
||||
<value>Inloggen...</value>
|
||||
</data>
|
||||
<data name="BotLogonSessionReplaced" xml:space="preserve">
|
||||
<value>Dit account wordt waarschijnlijk al gebruikt door een andere ASF-instantie, wat wordt gezien als ongedefinieerd gedrag. Weigeren om het voort te zetten!</value>
|
||||
<value>Dit account wordt waarschijnlijk al gebruikt door een andere ASF-instantie, wat wordt gezien als ongedefinieerd gedrag. Weigeren om het proces voort te zetten!</value>
|
||||
</data>
|
||||
<data name="BotLootingFailed" xml:space="preserve">
|
||||
<value>Ruilaanbod mislukt!</value>
|
||||
|
||||
@@ -184,7 +184,7 @@ StackTrace:
|
||||
<value>Laatste versie kon niet worden gecontroleerd!</value>
|
||||
</data>
|
||||
<data name="ErrorUpdateNoAssetForThisBinary" xml:space="preserve">
|
||||
<value>Kon niet verdergaan met updaten, omdat er geen bestand verwijst naar de momenteel draaiende versie! Zorg ervoor dat je ASF-bestand de correcte naam heeft!</value>
|
||||
<value>Kon niet verdergaan met updaten, omdat er geen bestand gerelateerd is aan de reeds werkende versie! Zorg ervoor dat je ASF-bestand de correcte naam heeft!</value>
|
||||
</data>
|
||||
<data name="ErrorUpdateNoAssets" xml:space="preserve">
|
||||
<value>Kon niet verdergaan met updaten, omdat deze updateversie geen bestanden bevat!</value>
|
||||
@@ -477,7 +477,7 @@ StackTrace:
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by status string</comment>
|
||||
</data>
|
||||
<data name="BotAddLicenseWithItems" xml:space="preserve">
|
||||
<value>ID: {0} | Status: {1} | Items: {2}</value>
|
||||
<value>ID: {0} | Status: {1} | Geactiveerde ID(s): {2}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by status string, {2} will be replaced by list of granted IDs (numbers), separated by a comma</comment>
|
||||
</data>
|
||||
<data name="BotAlreadyRunning" xml:space="preserve">
|
||||
@@ -529,7 +529,7 @@ StackTrace:
|
||||
<value>Deze bot wordt niet gestart omdat hij uitgeschakeld is in het configuratiebestand!</value>
|
||||
</data>
|
||||
<data name="BotInvalidAuthenticatorDuringLogin" xml:space="preserve">
|
||||
<value>TwoFactorCodeMisMatch foutmelding {0} keer ontvangen. Dit betekent meestal de verkeerde ASF 2FA login informatie, afbreken!</value>
|
||||
<value>TwoFactorCodeMisMatch foutmelding {0} keer op rij ontvangen. Dit betekent meestal de verkeerde ASF 2FA login informatie. Proces wordt afgebroken!</value>
|
||||
<comment>{0} will be replaced by maximum allowed number of failed 2FA attempts</comment>
|
||||
</data>
|
||||
<data name="BotLoggedOff" xml:space="preserve">
|
||||
@@ -543,7 +543,7 @@ StackTrace:
|
||||
<value>Inloggen...</value>
|
||||
</data>
|
||||
<data name="BotLogonSessionReplaced" xml:space="preserve">
|
||||
<value>Dit account wordt waarschijnlijk al gebruikt door een andere ASF-instantie, wat wordt gezien als ongedefinieerd gedrag. Weigeren om het voort te zetten!</value>
|
||||
<value>Dit account wordt waarschijnlijk al gebruikt door een andere ASF-instantie, wat wordt gezien als ongedefinieerd gedrag. Weigeren om het proces voort te zetten!</value>
|
||||
</data>
|
||||
<data name="BotLootingFailed" xml:space="preserve">
|
||||
<value>Ruilaanbod mislukt!</value>
|
||||
|
||||
@@ -163,7 +163,7 @@ StackTrace:
|
||||
<value>Recusando a execução desta função devido ao DeviceID inválido no ASF 2FA!</value>
|
||||
</data>
|
||||
<data name="ErrorNoBotsDefined" xml:space="preserve">
|
||||
<value>Nenhum bot configurado, será que você não esqueceu de algo?</value>
|
||||
<value>Nenhum bot configurado, será que você não esqueceu de configurar o seu ASF?</value>
|
||||
</data>
|
||||
<data name="ErrorObjectIsNull" xml:space="preserve">
|
||||
<value>{0} é nulo!</value>
|
||||
@@ -191,7 +191,7 @@ StackTrace:
|
||||
<value>Não foi possível prosseguir com a atualização pois esta versão não inclui nenhum arquivo!</value>
|
||||
</data>
|
||||
<data name="ErrorUserInputRunningInHeadlessMode" xml:space="preserve">
|
||||
<value>Recebido uma pedido de entrada para o usuário, mas o processo está sendo executado em modo headless!</value>
|
||||
<value>Recebido um pedido de entrada feito pelo usuário, mas o processo está sendo executado em modo headless!</value>
|
||||
</data>
|
||||
<data name="ErrorWCFAccessDenied" xml:space="preserve">
|
||||
<value>Solicitação de pedido negada pois o SteamOwnerID não foi configurado!</value>
|
||||
@@ -470,7 +470,7 @@ StackTrace:
|
||||
<comment>{0} will be replaced by giftID (number)</comment>
|
||||
</data>
|
||||
<data name="BotAccountLimited" xml:space="preserve">
|
||||
<value>Esta conta é limitada, processo de farm não está disponível até que a restrição seja removida!</value>
|
||||
<value>Esta conta está limitada, processo de farm indisponível até que a restrição seja removida!</value>
|
||||
</data>
|
||||
<data name="BotAddLicense" xml:space="preserve">
|
||||
<value>ID: {0} | Status: {1}</value>
|
||||
@@ -500,7 +500,7 @@ StackTrace:
|
||||
<value>O processo de farm automático foi pausado!</value>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingNowResumed" xml:space="preserve">
|
||||
<value>O processo de farm automático foi resumido!</value>
|
||||
<value>O processo de farm automático foi retomado!</value>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingPausedAlready" xml:space="preserve">
|
||||
<value>A coleta automática de cartas já está pausada!</value>
|
||||
@@ -529,7 +529,7 @@ StackTrace:
|
||||
<value>Este bot não será iniciado, pois está desativado no arquivo de configurações!</value>
|
||||
</data>
|
||||
<data name="BotInvalidAuthenticatorDuringLogin" xml:space="preserve">
|
||||
<value>Foi recebido o código de erro TwoFactorCodeMismatch {0} vezes seguidas, isto é praticamente um indicativo de que as credenciais do ASF 2FA são inválidas, abortando!</value>
|
||||
<value>Foi recebido o código de erro TwoFactorCodeMismatch {0} vezes seguidas, isto quase sempre indica que as credenciais do ASF 2FA são inválidas, abortando!</value>
|
||||
<comment>{0} will be replaced by maximum allowed number of failed 2FA attempts</comment>
|
||||
</data>
|
||||
<data name="BotLoggedOff" xml:space="preserve">
|
||||
@@ -548,7 +548,9 @@ StackTrace:
|
||||
<data name="BotLootingFailed" xml:space="preserve">
|
||||
<value>Proposta de troca falhou!</value>
|
||||
</data>
|
||||
|
||||
<data name="BotLootingMasterNotDefined" xml:space="preserve">
|
||||
<value>A Troca não pode ser enviada porque não há nenhum usuário com permissão master definida!</value>
|
||||
</data>
|
||||
<data name="BotLootingNoLootableTypes" xml:space="preserve">
|
||||
<value>Você não configurou nenhum tipo de item para coletar!</value>
|
||||
</data>
|
||||
@@ -571,7 +573,7 @@ StackTrace:
|
||||
<value>Esse bot não possui ASF 2FA habilitado! Você esqueceu de configurar as confirmações para 2FA ASF?</value>
|
||||
</data>
|
||||
<data name="BotNotConnected" xml:space="preserve">
|
||||
<value>Esse bot não está conectado!</value>
|
||||
<value>Essa instância de bot não está conectada!</value>
|
||||
</data>
|
||||
<data name="BotNotOwnedYet" xml:space="preserve">
|
||||
<value>Ainda não possui: {0}</value>
|
||||
@@ -582,7 +584,7 @@ StackTrace:
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
<data name="BotRateLimitExceeded" xml:space="preserve">
|
||||
<value>Tempo limite atingido!; tentando novamente em {0} minutos...</value>
|
||||
<value>Limite de taxas excedido; tentaremos novamente depois de {0} minutos de descanso...</value>
|
||||
<comment>{0} will be replaced by number of minutes</comment>
|
||||
</data>
|
||||
<data name="BotReconnecting" xml:space="preserve">
|
||||
@@ -644,21 +646,25 @@ StackTrace:
|
||||
<value>A conta não está mais sendo usada, resumindo processo de farm!</value>
|
||||
</data>
|
||||
<data name="BotAccountOccupied" xml:space="preserve">
|
||||
<value>Conta atualmente em uso; Resumindo processo de farm quando você terminar de jogar!</value>
|
||||
<value>A conta está sendo usada no momento, o ASF voltará a farmar quando ela estiver livre...</value>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingPauseTimeout" xml:space="preserve">
|
||||
<value>A biblioteca compartilhada não foi iniciada no período de tempo especificado, o farm foi retomado!</value>
|
||||
</data>
|
||||
|
||||
<data name="BotConnecting" xml:space="preserve">
|
||||
<value>Conectando...</value>
|
||||
</data>
|
||||
<data name="BotHeartBeatFailed" xml:space="preserve">
|
||||
<value>Falha ao desconectar cliente. Abandonando instância de bot!</value>
|
||||
</data>
|
||||
|
||||
<data name="BotSteamDirectoryInitializationFailed" xml:space="preserve">
|
||||
<value>Não foi possível inicializar o SteamDirectory: a conexão com a rede Steam pode demorar mais do que o normal!</value>
|
||||
</data>
|
||||
<data name="BotStopping" xml:space="preserve">
|
||||
<value>Parando...</value>
|
||||
</data>
|
||||
<data name="ErrorBotConfigInvalid" xml:space="preserve">
|
||||
<value>A configuração do bot é inválida, verifique o arquivo {0} e tente novamente!</value>
|
||||
<value>A sua configuração do bot é inválida. Por favor, verifique o conteúdo de {0} e tente novamente!</value>
|
||||
<comment>{0} will be replaced by file's path</comment>
|
||||
</data>
|
||||
<data name="ErrorDatabaseInvalid" xml:space="preserve">
|
||||
@@ -679,15 +685,15 @@ StackTrace:
|
||||
<value>O valor 'CurrentCulture' fornecido é inválido, o ASF continuará executando com o valor padrão!</value>
|
||||
</data>
|
||||
<data name="TranslationIncomplete" xml:space="preserve">
|
||||
<value>O ASF tentará usar seu preferido {0} idle, mas a tradução para este idioma foi concluída somente em {1}. Talvez você possa nos ajudar a melhorar a tradução do ASF ao seu idioma?</value>
|
||||
<value>O ASF tentará usar seu preferido {0} idle, mas a tradução para este idioma foi concluída somente em {1}. Talvez você possa nos ajudar a melhorar a tradução do ASF para o seu idioma?</value>
|
||||
<comment>{0} will be replaced by culture code, such as "en-US", {1} will be replaced by completeness percentage, such as "78.5%"</comment>
|
||||
</data>
|
||||
<data name="IdlingGameNotPossible" xml:space="preserve">
|
||||
<value>{0} processo de receber cartas ({1}) está temporariamente desativada, ASF não é capaz de jogar esse jogo no momento.</value>
|
||||
<value>O farm de {0} ({1}) está temporariamente desativado, pois o ASF não é capaz de farmar esse jogo neste momento.</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
<data name="WarningIdlingGameMismatch" xml:space="preserve">
|
||||
<value>ASF detectou incompatibilidade de ID para {0} ({1}) e usará o ID de {2} no lugar.</value>
|
||||
<value>ASF detectou incompatibilidade de ID para {0} ({1}) e usará o ID de {2} no seu lugar.</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name, {2} will be replaced by game's ID (number)</comment>
|
||||
</data>
|
||||
<data name="BotVersion" xml:space="preserve">
|
||||
@@ -701,11 +707,13 @@ StackTrace:
|
||||
<value>Bot está bloqueado e não pode receber nenhuma carta através da coleta.</value>
|
||||
</data>
|
||||
<data name="ErrorFunctionOnlyInHeadlessMode" xml:space="preserve">
|
||||
<value>Esta função está disponível apenas no modo 'Headless', de preferencia em um server!</value>
|
||||
<value>Esta função está disponível apenas no modo headless!</value>
|
||||
</data>
|
||||
<data name="BotOwnedAlready" xml:space="preserve">
|
||||
<value>Já possui: {0}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
|
||||
<data name="ErrorAccessDenied" xml:space="preserve">
|
||||
<value>Acesso negado!</value>
|
||||
</data>
|
||||
</root>
|
||||
|
||||
@@ -306,14 +306,38 @@ StackTrace:
|
||||
<value>Por favor digita o ID do teu dispositivo autenticador móvel (incluindo "android:"): </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="UserInputSteam2FA" xml:space="preserve">
|
||||
<value>Por favor digite o seu código 2FA do autenticador da Steam: </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="UserInputSteamGuard" xml:space="preserve">
|
||||
<value>Por favor insira o código de autenticador SteamGuard que foi enviado para o seu e-mail: </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="UserInputSteamLogin" xml:space="preserve">
|
||||
<value>Por favor, digite o seu login da sua conta Steam: </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="UserInputSteamParentalPIN" xml:space="preserve">
|
||||
<value>Por favor, insira o seu PIN parental da Steam: </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="UserInputSteamPassword" xml:space="preserve">
|
||||
<value>Por favor, digite a password da sua conta Steam: </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="UserInputUnknown" xml:space="preserve">
|
||||
<value>Por favor, insira o valor não-documentado de {0}: </value>
|
||||
<comment>{0} will be replaced by property name. Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="UserInputWCFHost" xml:space="preserve">
|
||||
<value>Por favor, digite o seu anfitrião do WCF: </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="WarningUnknownValuePleaseReport" xml:space="preserve">
|
||||
<value>Valor desconhecido recebido por {0}, por favor reporte isto: {1}</value>
|
||||
<comment>{0} will be replaced by object's name, {1} will be replaced by value for that object</comment>
|
||||
</data>
|
||||
<data name="WarningTooManyGamesToPlay" xml:space="preserve">
|
||||
<value>Não é possível jogar {0} ao mesmo tempo, apenas {0} jogos vão usados com {1}!</value>
|
||||
<comment>{0} will be replaced by max number of games, {1} will be replaced by name of the configuration property</comment>
|
||||
@@ -344,14 +368,25 @@ StackTrace:
|
||||
<value>A iniciar o server de WCF em {0}...</value>
|
||||
<comment>{0} will be replaced by WCF hostname</comment>
|
||||
</data>
|
||||
|
||||
<data name="BotAlreadyStopped" xml:space="preserve">
|
||||
<value>Este bot já parou!</value>
|
||||
</data>
|
||||
<data name="BotNotFound" xml:space="preserve">
|
||||
<value>Não foi possível encontrar qualquer bot chamado {0}!</value>
|
||||
<comment>{0} will be replaced by bot's name query (string)</comment>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
<data name="BotStatusOverview" xml:space="preserve">
|
||||
<value>Existem {0}/{1} bots em execução, com o total de {2} jogos ({3} cartas) sobraram para farmar.</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>O Bot está a farmar o jogo: {0} ({1}, {2} cartas restantes) num total de {3} jogos ({4} cartas) restantes para farmar (~{5} restantes).</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name, {2} will be replaced by number of cards left to idle, {3} will be replaced by total number of games to idle, {4} will be replaced by total number of cards to idle, {5} will be replaced by translated TimeSpan string built from TimeSpan* translation parts</comment>
|
||||
</data>
|
||||
<data name="BotStatusIdlingList" xml:space="preserve">
|
||||
<value>Bot está a farmar cartas dos jogos: {0} num total de {1} jogos ({2} cartas) restantes para colecionar (~{3} cartas restantes).</value>
|
||||
<comment>{0} will be replaced by list of the games (IDs, numbers), {1} will be replaced by total number of games to idle, {2} will be replaced by total number of cards to idle, {3} will be replaced by translated TimeSpan string built from TimeSpan* translation parts</comment>
|
||||
</data>
|
||||
<data name="CheckingFirstBadgePage" xml:space="preserve">
|
||||
<value>Verificando a primeira página de medalhas...</value>
|
||||
</data>
|
||||
@@ -423,7 +458,9 @@ StackTrace:
|
||||
<data name="UnknownCommand" xml:space="preserve">
|
||||
<value>Comando desconhecido!</value>
|
||||
</data>
|
||||
|
||||
<data name="WarningCouldNotCheckBadges" xml:space="preserve">
|
||||
<value>Não foi possível obter a informação das medalhas, vamos tentar outra vez mais tarde!</value>
|
||||
</data>
|
||||
<data name="WarningCouldNotCheckCardsStatus" xml:space="preserve">
|
||||
<value>Não foi possível verificar o estado das cartas para o jogo: {0} ({1}), tentaremos mais tarde!</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
@@ -432,7 +469,9 @@ StackTrace:
|
||||
<value>A aceitar presente: {0}...</value>
|
||||
<comment>{0} will be replaced by giftID (number)</comment>
|
||||
</data>
|
||||
|
||||
<data name="BotAccountLimited" xml:space="preserve">
|
||||
<value>Esta conta é limitada, processo da coleta está indisponível até que a restrição seja removida!</value>
|
||||
</data>
|
||||
<data name="BotAddLicense" xml:space="preserve">
|
||||
<value>ID: {0} | Estado: {1}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by status string</comment>
|
||||
@@ -457,8 +496,12 @@ StackTrace:
|
||||
<value>Código de Autorização 2FA: {0}</value>
|
||||
<comment>{0} will be replaced by generated 2FA token (string)</comment>
|
||||
</data>
|
||||
|
||||
|
||||
<data name="BotAutomaticIdlingNowPaused" xml:space="preserve">
|
||||
<value>O farm automático está agora pausado!</value>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingNowResumed" xml:space="preserve">
|
||||
<value>O farm automático retornou!</value>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingPausedAlready" xml:space="preserve">
|
||||
<value>A coleta automática está pausada!</value>
|
||||
</data>
|
||||
@@ -506,7 +549,9 @@ inválidas, abortando!</value>
|
||||
<data name="BotLootingFailed" xml:space="preserve">
|
||||
<value>A Troca falhou!</value>
|
||||
</data>
|
||||
|
||||
<data name="BotLootingMasterNotDefined" xml:space="preserve">
|
||||
<value>Troca não pôde ser enviada porque não há nenhum usuário com a permissão mestre definida!</value>
|
||||
</data>
|
||||
<data name="BotLootingNoLootableTypes" xml:space="preserve">
|
||||
<value>Não tens tipos de loot defenidos!</value>
|
||||
</data>
|
||||
@@ -525,27 +570,56 @@ inválidas, abortando!</value>
|
||||
<data name="BotLootingYourself" xml:space="preserve">
|
||||
<value>Não se pode bloquear a si mesmo!</value>
|
||||
</data>
|
||||
|
||||
<data name="BotNoASFAuthenticator" xml:space="preserve">
|
||||
<value>Este bot não tem a ASF 2FA ligada! Esqueceu-se de importar seu autenticador como ASF 2FA?</value>
|
||||
</data>
|
||||
<data name="BotNotConnected" xml:space="preserve">
|
||||
<value>Este bot não está conectado!</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
<data name="BotNotOwnedYet" xml:space="preserve">
|
||||
<value>Não possuí ainda: {0}</value>
|
||||
<comment>{0} will be replaced by query (string)</comment>
|
||||
</data>
|
||||
<data name="BotOwnedAlreadyWithName" xml:space="preserve">
|
||||
<value>Já adquirido: {0} | {1}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
<data name="BotRateLimitExceeded" xml:space="preserve">
|
||||
<value>Taxa limite excedida, tentaremos novamente daqui a {0} minutos...</value>
|
||||
<comment>{0} will be replaced by number of minutes</comment>
|
||||
</data>
|
||||
<data name="BotReconnecting" xml:space="preserve">
|
||||
<value>Reconectando...</value>
|
||||
</data>
|
||||
|
||||
|
||||
<data name="BotRedeem" xml:space="preserve">
|
||||
<value>Chave: {0} | Estado: {1}</value>
|
||||
<comment>{0} will be replaced by cd-key (string), {1} will be replaced by status string</comment>
|
||||
</data>
|
||||
<data name="BotRedeemWithItems" xml:space="preserve">
|
||||
<value>Chave: {0} | Status: {1} | Itens: {2}</value>
|
||||
<comment>{0} will be replaced by cd-key (string), {1} will be replaced by status string, {2} will be replaced by list of key-value pairs, separated by a comma</comment>
|
||||
</data>
|
||||
<data name="BotRemovedExpiredLoginKey" xml:space="preserve">
|
||||
<value>A chave de login expirada foi removida!</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="BotStatusNotIdling" xml:space="preserve">
|
||||
<value>O Bot não está a farmar nada.</value>
|
||||
</data>
|
||||
<data name="BotStatusLimited" xml:space="preserve">
|
||||
<value>O Bot é limitado e não consegue farmar nenhuma carta.</value>
|
||||
</data>
|
||||
<data name="BotStatusConnecting" xml:space="preserve">
|
||||
<value>O Bot está a conectar-se à rede Steam.</value>
|
||||
</data>
|
||||
<data name="BotStatusNotRunning" xml:space="preserve">
|
||||
<value>O Bot não está ligado.</value>
|
||||
</data>
|
||||
<data name="BotStatusPaused" xml:space="preserve">
|
||||
<value>O Bot está parado ou a ser executado no modo manual.</value>
|
||||
</data>
|
||||
<data name="BotStatusPlayingNotAvailable" xml:space="preserve">
|
||||
<value>O Bot está a ser usado atualmente.</value>
|
||||
</data>
|
||||
<data name="BotUnableToConnect" xml:space="preserve">
|
||||
<value>Não foi possível estabelecer ligação à Steam: {0}</value>
|
||||
<comment>{0} will be replaced by failure reason (string)</comment>
|
||||
@@ -566,19 +640,34 @@ inválidas, abortando!</value>
|
||||
<value>Falhado devido: {0}</value>
|
||||
<comment>{0} will be replaced by failure reason (string)</comment>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="BotConnectionLost" xml:space="preserve">
|
||||
<value>Conexão à rede Steam perdida, a ligar novamente...</value>
|
||||
</data>
|
||||
<data name="BotAccountFree" xml:space="preserve">
|
||||
<value>A conta já não está mais ocupada, a resumir o processo!</value>
|
||||
</data>
|
||||
<data name="BotAccountOccupied" xml:space="preserve">
|
||||
<value>A conta atualmente está a ser usada: ASF retomará o farm quando estiver livre...</value>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingPauseTimeout" xml:space="preserve">
|
||||
<value>Biblioteca compartilhada não foi lançada em dado período de tempo, processo de farm resumido!</value>
|
||||
</data>
|
||||
<data name="BotConnecting" xml:space="preserve">
|
||||
<value>A ligar...</value>
|
||||
</data>
|
||||
|
||||
|
||||
<data name="BotHeartBeatFailed" xml:space="preserve">
|
||||
<value>Erro ao desconectar o cliente, a abandonar este bot!</value>
|
||||
</data>
|
||||
<data name="BotSteamDirectoryInitializationFailed" xml:space="preserve">
|
||||
<value>Não foi possível executar o Steam Directory, a conexão com a rede Steam pode demorar mais do que o normal!</value>
|
||||
</data>
|
||||
<data name="BotStopping" xml:space="preserve">
|
||||
<value>A parar...</value>
|
||||
</data>
|
||||
|
||||
<data name="ErrorBotConfigInvalid" xml:space="preserve">
|
||||
<value>A sua configuração do bot é inválida, por favor verifique o conteúdo de {0} e tente outra vez!</value>
|
||||
<comment>{0} will be replaced by file's path</comment>
|
||||
</data>
|
||||
<data name="ErrorDatabaseInvalid" xml:space="preserve">
|
||||
<value>Não foi possível carregar a base de dados, se este problema persistir, por favor remova "{0}" para recriar o banco dados!</value>
|
||||
<comment>{0} will be replaced by file's path</comment>
|
||||
@@ -593,10 +682,21 @@ inválidas, abortando!</value>
|
||||
<data name="Welcome" xml:space="preserve">
|
||||
<value>Parece que é a primeira vez a iniciar este programa, bem vindo!</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="ErrorInvalidCurrentCulture" xml:space="preserve">
|
||||
<value>O seu CurrentCulture fornecido é inválido, ASF continuará a funcionar com o predefinido!</value>
|
||||
</data>
|
||||
<data name="TranslationIncomplete" xml:space="preserve">
|
||||
<value>ASF tentará usar a sua {0} cultura preferida, mas a tradução nesse idioma foi concluído apenas em {1}. Talvez você poderia nos ajudar a melhorar ASF e a sua tradução no seu idioma?</value>
|
||||
<comment>{0} will be replaced by culture code, such as "en-US", {1} will be replaced by completeness percentage, such as "78.5%"</comment>
|
||||
</data>
|
||||
<data name="IdlingGameNotPossible" xml:space="preserve">
|
||||
<value>Farmar {0} ({1}) está temporariamente indisponivel, logo ASF não é capaz de farmar esse jogo neste momento.</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
<data name="WarningIdlingGameMismatch" xml:space="preserve">
|
||||
<value>ASF detectou incompatibilidade do ID de {0} ({1}) e usará o ID de {2} em vez disso.</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name, {2} will be replaced by game's ID (number)</comment>
|
||||
</data>
|
||||
<data name="BotVersion" xml:space="preserve">
|
||||
<value>{0} V{1}</value>
|
||||
<comment>{0} will be replaced by program's name (e.g. "ASF"), {1} will be replaced by program's version (e.g. "1.0.0.0"). This string typically has nothing to translate and you should leave it as it is, unless you need to change the format, e.g. in RTL languages.</comment>
|
||||
@@ -604,8 +704,17 @@ inválidas, abortando!</value>
|
||||
<data name="BotAccountLocked" xml:space="preserve">
|
||||
<value>Esta conta está bloqueada, está permanentemente indisponível o processo de farmar!</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="BotStatusLocked" xml:space="preserve">
|
||||
<value>O Bot está trancado e não consegue farmar nenhuma carta.</value>
|
||||
</data>
|
||||
<data name="ErrorFunctionOnlyInHeadlessMode" xml:space="preserve">
|
||||
<value>Esta função está disponível apenas no modo headless!</value>
|
||||
</data>
|
||||
<data name="BotOwnedAlready" xml:space="preserve">
|
||||
<value>Já adquirido: {0}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
<data name="ErrorAccessDenied" xml:space="preserve">
|
||||
<value>Acesso negado!</value>
|
||||
</data>
|
||||
</root>
|
||||
|
||||
@@ -144,12 +144,17 @@ StackTrace:
|
||||
{2}</value>
|
||||
<comment>{0} will be replaced by function name, {1} will be replaced by exception message, {2} will be replaced by entire stack trace. Please note that this string should include newlines for formatting.</comment>
|
||||
</data>
|
||||
|
||||
<data name="ErrorExitingWithNonZeroErrorCode" xml:space="preserve">
|
||||
<value>Avslutar med en icke-noll felkod!</value>
|
||||
</data>
|
||||
<data name="ErrorFailingRequest" xml:space="preserve">
|
||||
<value>Anrop misslyckades: {0}</value>
|
||||
<comment>{0} will be replaced by URL of the request</comment>
|
||||
</data>
|
||||
|
||||
<data name="ErrorGlobalConfigNotLoaded" xml:space="preserve">
|
||||
<value>Den globala konfigurationen kunde inte laddas. Försäkra dig om att {0} existerar och är valid! Följ installations-guiden på wiki-sidan om du är förvirrad.</value>
|
||||
<comment>{0} will be replaced by file's path</comment>
|
||||
</data>
|
||||
<data name="ErrorIsInvalid" xml:space="preserve">
|
||||
<value>{0} är ogiltig!</value>
|
||||
<comment>{0} will be replaced by object's name</comment>
|
||||
@@ -454,7 +459,9 @@ StackTrace:
|
||||
<data name="UnknownCommand" xml:space="preserve">
|
||||
<value>Okänt kommando!</value>
|
||||
</data>
|
||||
|
||||
<data name="WarningCouldNotCheckBadges" xml:space="preserve">
|
||||
<value>Kunde inte hämta märkes information, vi kommer försöka igen senare!</value>
|
||||
</data>
|
||||
<data name="WarningCouldNotCheckCardsStatus" xml:space="preserve">
|
||||
<value>Kunde inte kontrollera kort-status för: {0} ({1}), vi ska prova igen senare!</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
@@ -466,8 +473,14 @@ StackTrace:
|
||||
<data name="BotAccountLimited" xml:space="preserve">
|
||||
<value>Detta konto är begränsad av Steam, farmning funktionaliteten är otillgänglig tills begränsningen tas bort!</value>
|
||||
</data>
|
||||
|
||||
|
||||
<data name="BotAddLicense" xml:space="preserve">
|
||||
<value>ID: {0} | Status: {1}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by status string</comment>
|
||||
</data>
|
||||
<data name="BotAddLicenseWithItems" xml:space="preserve">
|
||||
<value>ID: {0} | Status: {1} | Föremål: {2}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by status string, {2} will be replaced by list of granted IDs (numbers), separated by a comma</comment>
|
||||
</data>
|
||||
<data name="BotAlreadyRunning" xml:space="preserve">
|
||||
<value>Den bot-instansen körs redan!</value>
|
||||
</data>
|
||||
@@ -536,7 +549,9 @@ StackTrace:
|
||||
<data name="BotLootingFailed" xml:space="preserve">
|
||||
<value>Bytesförslag misslyckades!</value>
|
||||
</data>
|
||||
|
||||
<data name="BotLootingMasterNotDefined" xml:space="preserve">
|
||||
<value>Bytesförslag kunde inte skickas för det finns ingen användare med "master"-rättigheter definierad!</value>
|
||||
</data>
|
||||
<data name="BotLootingNoLootableTypes" xml:space="preserve">
|
||||
<value>Du har inga föremålstyper att skicka!</value>
|
||||
</data>
|
||||
@@ -565,8 +580,14 @@ StackTrace:
|
||||
<value>Ägs inte ännu: {0}</value>
|
||||
<comment>{0} will be replaced by query (string)</comment>
|
||||
</data>
|
||||
|
||||
|
||||
<data name="BotOwnedAlreadyWithName" xml:space="preserve">
|
||||
<value>Ägs redan: {0} | {1}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
<data name="BotRateLimitExceeded" xml:space="preserve">
|
||||
<value>Förfrågningsgränsen har överskridits; vi kommer försöka igen efter {0} minuters väntan...</value>
|
||||
<comment>{0} will be replaced by number of minutes</comment>
|
||||
</data>
|
||||
<data name="BotReconnecting" xml:space="preserve">
|
||||
<value>Återansluter...</value>
|
||||
</data>
|
||||
@@ -619,19 +640,34 @@ StackTrace:
|
||||
<value>Misslyckades på grund av ett fel: {0}</value>
|
||||
<comment>{0} will be replaced by failure reason (string)</comment>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="BotConnectionLost" xml:space="preserve">
|
||||
<value>Anslutning till Steam-nätverket misslyckades, återansluter...</value>
|
||||
</data>
|
||||
<data name="BotAccountFree" xml:space="preserve">
|
||||
<value>Kontot är inte längre upptaget: fortsätter insamlingsprocessen!</value>
|
||||
</data>
|
||||
<data name="BotAccountOccupied" xml:space="preserve">
|
||||
<value>Kontot används för närvarande: ASF återupptar farmandet när det är ledigt...</value>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingPauseTimeout" xml:space="preserve">
|
||||
<value>"Shared library" har inte startats inom en given tidsram. Farmnings-process återupptagen!</value>
|
||||
</data>
|
||||
<data name="BotConnecting" xml:space="preserve">
|
||||
<value>Ansluter...</value>
|
||||
</data>
|
||||
|
||||
|
||||
<data name="BotHeartBeatFailed" xml:space="preserve">
|
||||
<value>Det gick inte att koppla från klienten, överger denna bot instans!</value>
|
||||
</data>
|
||||
<data name="BotSteamDirectoryInitializationFailed" xml:space="preserve">
|
||||
<value>Kunde inte initiera SteamDirectory, anslutning till Steam-nätverket kan ta mycket längre tid än vanligt!</value>
|
||||
</data>
|
||||
<data name="BotStopping" xml:space="preserve">
|
||||
<value>Stoppar...</value>
|
||||
</data>
|
||||
|
||||
<data name="ErrorBotConfigInvalid" xml:space="preserve">
|
||||
<value>Din bots konfigurering är ogiltig, vänligen verifiera innehållet av {0} och försök igen!</value>
|
||||
<comment>{0} will be replaced by file's path</comment>
|
||||
</data>
|
||||
<data name="ErrorDatabaseInvalid" xml:space="preserve">
|
||||
<value>Nuvarande databas kunde inte laddas, om problemet kvarstår vänligen ta bort {0} för att återskapa databasen!</value>
|
||||
<comment>{0} will be replaced by file's path</comment>
|
||||
@@ -646,7 +682,9 @@ StackTrace:
|
||||
<data name="Welcome" xml:space="preserve">
|
||||
<value>Det ser ut som det är din första start av programmet, Välkommen!</value>
|
||||
</data>
|
||||
|
||||
<data name="ErrorInvalidCurrentCulture" xml:space="preserve">
|
||||
<value>Din angivna CurrentCulture variabel är ogiltig, ASF kommer fortsätta köras med standardvärdet!</value>
|
||||
</data>
|
||||
<data name="TranslationIncomplete" xml:space="preserve">
|
||||
<value>ASF kommer försöka att använda din föredragna {0}, men den översättningen är endast {1} färdig. Du kanske kan hjälpa oss att förbättra ASF översättningarna för ditt språk?</value>
|
||||
<comment>{0} will be replaced by culture code, such as "en-US", {1} will be replaced by completeness percentage, such as "78.5%"</comment>
|
||||
@@ -655,7 +693,10 @@ StackTrace:
|
||||
<value>Farmning {0} ({1}) är tillfälligt inaktiverat då ASF inte kan spela detta spelet just nu.</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
|
||||
<data name="WarningIdlingGameMismatch" xml:space="preserve">
|
||||
<value>ASF upptäckte ett ID-matchningsfel för {0} ({1}) och kommer använda ID't för {2} i stället.</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name, {2} will be replaced by game's ID (number)</comment>
|
||||
</data>
|
||||
<data name="BotVersion" xml:space="preserve">
|
||||
<value>{0} V{1}</value>
|
||||
<comment>{0} will be replaced by program's name (e.g. "ASF"), {1} will be replaced by program's version (e.g. "1.0.0.0"). This string typically has nothing to translate and you should leave it as it is, unless you need to change the format, e.g. in RTL languages.</comment>
|
||||
@@ -666,7 +707,9 @@ StackTrace:
|
||||
<data name="BotStatusLocked" xml:space="preserve">
|
||||
<value>Botten är begrensad och kan inte få några kort via farmning.</value>
|
||||
</data>
|
||||
|
||||
<data name="ErrorFunctionOnlyInHeadlessMode" xml:space="preserve">
|
||||
<value>Denna funktion är tillgänglig endast i "headless"-läge!</value>
|
||||
</data>
|
||||
<data name="BotOwnedAlready" xml:space="preserve">
|
||||
<value>Ägs redan: {0}</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace ArchiSteamFarm {
|
||||
internal const string ServiceDescription = "ASF is an application that allows you to farm steam cards using multiple steam accounts simultaneously.";
|
||||
internal const string ServiceName = "ArchiSteamFarm";
|
||||
internal const string StatisticsServer = "asf.justarchi.net";
|
||||
internal const string VersionNumber = "2.3.0.4";
|
||||
internal const string VersionNumber = "2.3.0.7";
|
||||
|
||||
internal static readonly Version Version = Assembly.GetEntryAssembly().GetName().Version;
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ using SteamKit2;
|
||||
namespace ArchiSteamFarm {
|
||||
internal sealed class Statistics : IDisposable {
|
||||
private const byte MinAnnouncementCheckTTL = 6; // Minimum amount of hours we must wait before checking eligibility for Announcement, should be lower than MinPersonaStateTTL
|
||||
private const byte MinCardsCount = 100; // Minimum amount of cards to be eligible for public listing
|
||||
private const byte MinHeartBeatTTL = 10; // Minimum amount of minutes we must wait before sending next HeartBeat
|
||||
private const byte MinPersonaStateTTL = 8; // Minimum amount of hours we must wait before requesting persona state update
|
||||
|
||||
@@ -137,8 +138,8 @@ namespace ArchiSteamFarm {
|
||||
return;
|
||||
}
|
||||
|
||||
// This is inventory indeed being empty
|
||||
if (inventory.Count == 0) {
|
||||
// This is actual inventory
|
||||
if (inventory.Count < MinCardsCount) {
|
||||
LastAnnouncementCheck = DateTime.UtcNow;
|
||||
ShouldSendHeartBeats = false;
|
||||
return;
|
||||
|
||||
@@ -177,9 +177,16 @@ namespace ArchiSteamFarm {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Always accept trades from SteamMasterID
|
||||
if ((tradeOffer.OtherSteamID64 != 0) && Bot.IsMaster(tradeOffer.OtherSteamID64)) {
|
||||
return new ParseTradeResult(tradeOffer.TradeOfferID, tradeOffer.ItemsToGive.Count > 0 ? ParseTradeResult.EResult.AcceptedWithItemLose : ParseTradeResult.EResult.AcceptedWithoutItemLose);
|
||||
if (tradeOffer.OtherSteamID64 != 0) {
|
||||
// Always accept trades from SteamMasterID
|
||||
if (Bot.IsMaster(tradeOffer.OtherSteamID64)) {
|
||||
return new ParseTradeResult(tradeOffer.TradeOfferID, tradeOffer.ItemsToGive.Count > 0 ? ParseTradeResult.EResult.AcceptedWithItemLose : ParseTradeResult.EResult.AcceptedWithoutItemLose);
|
||||
}
|
||||
|
||||
// Always deny trades from blacklistem steamIDs
|
||||
if (Bot.IsBlacklistedFromTrades(tradeOffer.OtherSteamID64)) {
|
||||
return new ParseTradeResult(tradeOffer.TradeOfferID, ParseTradeResult.EResult.RejectedPermanently);
|
||||
}
|
||||
}
|
||||
|
||||
// Check if it's donation trade
|
||||
|
||||
@@ -40,6 +40,15 @@ namespace ArchiSteamFarm {
|
||||
[SuppressMessage("ReSharper", "UnusedParameter.Global")]
|
||||
internal static void Forget(this object obj) { }
|
||||
|
||||
internal static string GetArgsAsString(this string[] args, byte argsToSkip = 1) {
|
||||
if (args.Length >= argsToSkip) {
|
||||
return string.Join(" ", args.GetArgs(argsToSkip));
|
||||
}
|
||||
|
||||
ASF.ArchiLogger.LogNullError(nameof(args));
|
||||
return null;
|
||||
}
|
||||
|
||||
internal static string GetCookieValue(this CookieContainer cookieContainer, string url, string name) {
|
||||
if (string.IsNullOrEmpty(url) || string.IsNullOrEmpty(name)) {
|
||||
ASF.ArchiLogger.LogNullError(nameof(url) + " || " + nameof(name));
|
||||
@@ -133,5 +142,22 @@ namespace ArchiSteamFarm {
|
||||
|
||||
return result.ToString();
|
||||
}
|
||||
|
||||
private static string[] GetArgs(this string[] args, byte argsToSkip = 1) {
|
||||
if (args.Length < argsToSkip) {
|
||||
ASF.ArchiLogger.LogNullError(nameof(args));
|
||||
return null;
|
||||
}
|
||||
|
||||
byte argsToCopy = (byte) (args.Length - argsToSkip);
|
||||
|
||||
string[] result = new string[argsToCopy];
|
||||
|
||||
if (argsToCopy > 0) {
|
||||
Array.Copy(args, argsToSkip, result, 0, argsToCopy);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -37,7 +37,7 @@ namespace ArchiSteamFarm {
|
||||
internal sealed class WebBrowser {
|
||||
internal const byte MaxRetries = 5; // Defines maximum number of retries, UrlRequest() does not handle retry by itself (it's app responsibility)
|
||||
|
||||
private const byte MaxConnections = 10; // Defines maximum number of connections per ServicePoint. Be careful, as it also defines maximum number of sockets in CLOSE_WAIT state
|
||||
private const byte MaxConnections = ServicePointManager.DefaultNonPersistentConnectionLimit; // Defines maximum number of connections per ServicePoint. Be careful, as it also defines maximum number of sockets in CLOSE_WAIT state
|
||||
private const byte MaxIdleTime = 15; // In seconds, how long socket is allowed to stay in CLOSE_WAIT state after there are no connections to it
|
||||
|
||||
internal readonly CookieContainer CookieContainer = new CookieContainer();
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
<value>Konfigurationsverzeichnis konnte nicht gefunden werden!</value>
|
||||
</data>
|
||||
<data name="ErrorConfigPropertyInvalid" xml:space="preserve">
|
||||
<value>Konfigurierte {0} Einstellung ist ungültig: {1}</value>
|
||||
<value>Konfigurierter {0} Wert ist ungültig: {1}</value>
|
||||
<comment>{0} will be replaced by name of the configuration property, {1} will be replaced by invalid value</comment>
|
||||
</data>
|
||||
<data name="ErrorInvalidCurrentCulture" xml:space="preserve">
|
||||
@@ -207,7 +207,7 @@ Bitte benutze eine passende ConfigGenerator Version für dein ASF. Du wirst zur
|
||||
<value>Bitte beachte, dass alle Informationen über verfügbare Konfigurationseigenschaften einschließlich ihrer Beschreibung, ihrem Zweck und ihrer akzeptierten Werte in unserer GitHub Wiki verfügbar sind. Bitte verwende dieses als Referenz.</value>
|
||||
</data>
|
||||
<data name="TutorialMainFormConfigurationWindow" xml:space="preserve">
|
||||
<value>In der Mitte des Fensters kannst du alle verfügbaren Eigenschaften, für deine aktuell ausgewählte Konfiguration, konfigurieren.</value>
|
||||
<value>In der Mitte des Fensters kannst du alle Einstellungs-Werte konfigurieren, die für deine aktuell ausgewählte Konfiguration zur Verfügung stehen.</value>
|
||||
</data>
|
||||
<data name="TutorialMainFormFinished" xml:space="preserve">
|
||||
<value>Alles klar, fangen wir mit der Konfiguration unseres ASF an. Klicke auf das Pluszeichen [+], um dein erstes Steam-Benutzerkonto hinzuzufügen!</value>
|
||||
|
||||
@@ -117,126 +117,45 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="CategoryAccess" xml:space="preserve">
|
||||
<value>Πρόσβαση</value>
|
||||
</data>
|
||||
<data name="CategoryAdvanced" xml:space="preserve">
|
||||
<value>Για προχωρημένους</value>
|
||||
</data>
|
||||
<data name="CategoryCore" xml:space="preserve">
|
||||
<value>Πυρήνας</value>
|
||||
</data>
|
||||
<data name="CategoryDebugging" xml:space="preserve">
|
||||
<value>Εντοπισμός σφαλμάτων</value>
|
||||
</data>
|
||||
<data name="CategoryPerformance" xml:space="preserve">
|
||||
<value>Επιδόσεις</value>
|
||||
</data>
|
||||
<data name="CategoryUpdates" xml:space="preserve">
|
||||
<value>Ενημερώσεις</value>
|
||||
</data>
|
||||
<data name="ConfirmRemoval" xml:space="preserve">
|
||||
<value>Θέλετε πραγματικά να αφαιρέσετε αυτές τις ρυθμίσεις;</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="ErrorBotNameEmpty" xml:space="preserve">
|
||||
<value>Το όνομα του bot σας είναι άδειο!</value>
|
||||
</data>
|
||||
<data name="ErrorCantRemoveGlobalConfig" xml:space="preserve">
|
||||
<value>Δεν μπορείτε να αφαιρέσετε τις γενικές ρυθμίσεις!</value>
|
||||
</data>
|
||||
<data name="ErrorCantRenameGlobalConfig" xml:space="preserve">
|
||||
<value>Δεν μπορείτε να μετονομάσετε τις γενικές ρυθμίσεις!</value>
|
||||
</data>
|
||||
<data name="ErrorConfigDirectoryNotFound" xml:space="preserve">
|
||||
<value>Δεν ήταν δυνατή η εύρεση του καταλόγου ρυθμίσεων!</value>
|
||||
</data>
|
||||
<data name="ErrorConfigPropertyInvalid" xml:space="preserve">
|
||||
<value>Η ρυθμισμένη ιδιότητα {0} δεν είναι έγκυρη: {1}</value>
|
||||
<comment>{0} will be replaced by name of the configuration property, {1} will be replaced by invalid value</comment>
|
||||
</data>
|
||||
<data name="ErrorInvalidCurrentCulture" xml:space="preserve">
|
||||
<value>Η παρεχόμενη τιμή CurrentCulture είναι άκυρη, το ConfigGenerator θα συνεχίσει να τρέχει με την προεπιλεγμένη!</value>
|
||||
</data>
|
||||
<data name="ErrorNameAlreadyUsed" xml:space="preserve">
|
||||
<value>Αυτό το όνομα χρησιμοποιείται ήδη!</value>
|
||||
<comment>This happens e.g. when user wants to create a bot with name that exists already</comment>
|
||||
</data>
|
||||
<data name="ErrorNameReserved" xml:space="preserve">
|
||||
<value>Αυτό το όνομα είναι δεσμευμένο!</value>
|
||||
<comment>This happens e.g. when user wants to create a bot with reserved name, such as "ASF"</comment>
|
||||
<value>Το όνομα του bot σας είναι κενό!</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="ErrorObjectIsNull" xml:space="preserve">
|
||||
<value>{0} είναι null!</value>
|
||||
<value>Το {0} είναι null!</value>
|
||||
<comment>{0} will be replaced by object's name</comment>
|
||||
</data>
|
||||
<data name="ErrorVersionMismatch" xml:space="preserve">
|
||||
<value>Προσπαθήσατε να χρησιμοποιήσετε μη έγκυρη έκδοση ConfigGenerator για το ASF σας!
|
||||
|
||||
ASF: {0} | ConfigGenerator: {1}
|
||||
|
||||
Παρακαλώ χρησιμοποιήστε την έκδοση ConfigGenerator που ταιριάζει με το δικό σας ASF. Θα ανακατευθυνθείτε στην κατάλληλη έκδοση...</value>
|
||||
<comment>{0} will be replaced by ASF version (string), {1} will be replaced by ConfigGenerator version (string). Please note that this string should include newlines for formatting.</comment>
|
||||
</data>
|
||||
<data name="New" xml:space="preserve">
|
||||
<value>Νέο</value>
|
||||
<comment>This is used as MessageBox title</comment>
|
||||
</data>
|
||||
<data name="Removal" xml:space="preserve">
|
||||
<value>Αφαίρεση</value>
|
||||
<comment>This is used as MessageBox title</comment>
|
||||
</data>
|
||||
<data name="Rename" xml:space="preserve">
|
||||
<value>Μετονομασία</value>
|
||||
<comment>This is used as MessageBox title</comment>
|
||||
</data>
|
||||
<data name="TutorialBotFormEnabled" xml:space="preserve">
|
||||
<value>Εξαιρετικά! Τώρα το bot σας είναι ενεργοποιημένο. Στην πραγματικότητα, αυτά ήταν όλα όσα έπρεπε να γίνουν για να χρησιμοποιήσετε αυτό το bot στο ASF, αλλά μπορεί να θέλετε να ρυθμίσετε τουλάχιστον 2 ακόμα ιδιότητες: {0} και {1}. Αν θέλετε να συνεχίσετε το βοήθημα, παρακαλώ κάντε το. Θυμηθείτε να συμβουλευτείτε το wiki αν δεν είσαι βέβαιοι πως πρέπει να ρυθμιστεί μια ιδιότητα, ή αν χρειάζεστε επιπλέον βοήθεια.</value>
|
||||
<comment>{0} will be replaced by "SteamLogin" configuration property, {1} will be replaced by "SteamPassword" configuration property</comment>
|
||||
</data>
|
||||
<data name="TutorialBotFormReady" xml:space="preserve">
|
||||
<value>Το ASD τώρα είναι έτοιμο! Απλώς ξεκινήστε το αρχείο ASF.exe και αν τα πληκτρολογήσατε όλα σωστά, θα πρέπει να παρατηρήσετε οτι το ASF συνδέεται και αρχίζει την συλλογή καρτών. Αν έχετε SteamGuard ή ενεργοποιημένο τον έλεγχο ταυτότητας δύο παραγόντων, το ASF ίσως χρειαστεί να σας ζητήσει αυτές τις πληροφορίες κατά την εκτέλεσή του.</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="TutorialFinished" xml:space="preserve">
|
||||
<value>Συγχαρητήρια! Έχετε κάνει ότι απαιτείται για να χρησιμοποιηθεί το ASF, εδώ επίσης τελειώνει το βοήθημα που ετοιμάσαμε για εσάς. Συνιστάται ιδιαίτερα να διαβάσετε ολόκληρη την ενότητα ρυθμίσεων στο wiki τώρα, μιας και το ASF σας προσφέρει μερικά πραγματικά καλοφτιαγμένα χαρακτηριστικά για να ρυθμίσετε, όπως την offline συλλογή καρτών ή την ρύθμιση του ASF χρησιμοποιώντας τον πιο αποδοτικό αλγόριθμο για τον λογαριασμό σας. Όλα αυτά όμως είναι προαιρετικά, μπορείτε να κλείσετε τον configurator όποτε επιθυμείτε. Ελπίζουμε ότι θα απολαύσετε το λογισμικό που αναπτύξαμε για εσάς!</value>
|
||||
</data>
|
||||
<data name="TutorialMainFormBotsManagementButtons" xml:space="preserve">
|
||||
<value>Στο επάνω μέρος του παραθύρου μπορείτε να παρατηρήσετε τις τρέχουσες φορτωμένες διαμορφώσεις, και 3 επιπλέον κουμπιά για την αφαίρεση [-], μετονομασία [~] και προσθήκη νέων [+].</value>
|
||||
<comment>If possible, try to keep visual representation of buttons: [-], [~] and [+]</comment>
|
||||
</data>
|
||||
<data name="TutorialMainFormConfigurationWiki" xml:space="preserve">
|
||||
<value>Παρακαλώ σημειώστε ότι όλες οι πληροφορίες σχετικά με τις διαθέσιμες ιδιότητες διαμόρφωσης, συμπεριλαμβανομένης της περιγραφής, του σκοπού, και των αποδεκτών τιμών, διατίθενται στο GitHub wiki μας. Παρακαλούμε να το χρησιμοποιήσετε ως αναφορά.</value>
|
||||
</data>
|
||||
<data name="TutorialMainFormConfigurationWindow" xml:space="preserve">
|
||||
<value>Στο κέντρο του παραθύρου μπορείτε να ρυθμίσετε όλες τις ιδιότητες διαμόρφωσης που είναι διαθέσιμες για εσάς, για την τρέχουσα επιλεγμένη διαμόρφωσή σας.</value>
|
||||
</data>
|
||||
<data name="TutorialMainFormFinished" xml:space="preserve">
|
||||
<value>Εντάξει, ας αρχίσουμε τη διαμόρφωση του ASF. Κάντε κλικ στο κουμπί συν [+] για να προσθέσετε τον πρώτο Steam λογαριασμό σας!</value>
|
||||
<comment>If possible, try to keep visual representation of [+] button</comment>
|
||||
</data>
|
||||
<data name="TutorialMainFormHelpButton" xml:space="preserve">
|
||||
<value>Στην επάνω δεξιά γωνία, μπορείτε να βρείτε το κουμπί βοήθειας [?], το οποίο θα σας ανακατευθύνει στο ASF wiki για περισσότερες πληροφορίες.</value>
|
||||
<comment>If possible, try to keep visual representation of [?] button</comment>
|
||||
</data>
|
||||
<data name="TutorialMainFormShown" xml:space="preserve">
|
||||
<value>Αυτή είναι η κύρια οθόνη του ASF ConfigGenerator, είναι πραγματικά εύκολο στη χρήση!</value>
|
||||
</data>
|
||||
<data name="TutorialNewBotFormFinished" xml:space="preserve">
|
||||
<value>Όπως μπορείτε να δείτε, το bot σας είναι τώρα έτοιμο να ρυθμιστεί! Το πρώτο πράγμα που θέλετε να κάνετε είναι η αλλαγή της ιδιότητας {0} από false σε true, δοκιμάστε το!</value>
|
||||
<comment>{0} will be replaced by name of the configuration property ("Enabled")</comment>
|
||||
</data>
|
||||
<data name="TutorialNewBotFormShown" xml:space="preserve">
|
||||
<value>Πολύ καλά! Θα ερωτηθείτε για το όνομα του bot σας τώρα. Ένα καλό παράδειγμα θα ήταν ένα ψευδώνυμο που χρησιμοποιείτε για το Steam λογαριασμό που είστε έτοιμοι να ρυθμίσετε, ή οποιοδήποτε άλλο όνομα της αρεσκείας σας που θα είναι εύκολο για σας να συνδεθείτε με
|
||||
το bot που γίνεται ρύθμιση παραμέτρων.</value>
|
||||
</data>
|
||||
<data name="TutorialStart" xml:space="preserve">
|
||||
<value>Καλώς ήρθατε! Παρατήρησα ότι χρησιμοποιείτε το ASD ConfigGenerator για πρώτη φορά, γι'αυτό επιτρέψτε μου να σας βοηθήσω λίγο.</value>
|
||||
</data>
|
||||
<data name="UserInputBotName" xml:space="preserve">
|
||||
<value>Παρακαλώ εισάγετε το νέο όνομα bot: </value>
|
||||
<comment>Please note that this translation should end with space</comment>
|
||||
</data>
|
||||
<data name="WarningConfigPropertyModified" xml:space="preserve">
|
||||
<value>Η ιδιότητα {0} έχει οριστεί σε: {1}</value>
|
||||
<comment>{0} will be replaced by name of the configuration property, {1} will be replaced by new value</comment>
|
||||
<value>Συγχαρητήρια! Έχετε κάνει ό,τι απαιτείται για τη χρήση του ASF και εδώ επίσης τελειώνει το βοήθημα που ετοιμάσαμε για εσάς. Συνιστάται ιδιαίτερα να διαβάσετε ολόκληρη την ενότητα διαμόρφωσης στο wiki τώρα, μιας και το ASF σας προσφέρει μερικά πραγματικά καλοφτιαγμένα χαρακτηριστικά για να ρυθμίσετε, όπως την offline συλλογή καρτών ή την ρύθμιση του ASF χρησιμοποιώντας τον πιο αποδοτικό αλγόριθμο για τον λογαριασμό σας. Όλα αυτά όμως είναι προαιρετικά, μπορείτε να κλείσετε το εργαλείο διαμόρφωσης όποτε επιθυμείτε. Ελπίζουμε ότι θα απολαύσετε το λογισμικό που αναπτύξαμε για εσάς!</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</root>
|
||||
|
||||
@@ -119,10 +119,16 @@
|
||||
</resheader>
|
||||
|
||||
|
||||
<data name="CategoryCore" xml:space="preserve">
|
||||
<value>Ydin</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="CategoryPerformance" xml:space="preserve">
|
||||
<value>Suorityskyky</value>
|
||||
</data>
|
||||
<data name="CategoryUpdates" xml:space="preserve">
|
||||
<value>Päivitykset</value>
|
||||
</data>
|
||||
<data name="ConfirmRemoval" xml:space="preserve">
|
||||
<value>Haluatko varmasti poistaa tämän config tiedoston?</value>
|
||||
</data>
|
||||
|
||||
Reference in New Issue
Block a user