diff --git a/ArchiSteamFarm/ArchiSteamFarm.csproj b/ArchiSteamFarm/ArchiSteamFarm.csproj
index 03406aa30..935ef3528 100644
--- a/ArchiSteamFarm/ArchiSteamFarm.csproj
+++ b/ArchiSteamFarm/ArchiSteamFarm.csproj
@@ -207,7 +207,6 @@
-
diff --git a/ArchiSteamFarm/Localization/Strings.en-GB.resx b/ArchiSteamFarm/Localization/Strings.en-GB.resx
deleted file mode 100644
index 81d87e463..000000000
--- a/ArchiSteamFarm/Localization/Strings.en-GB.resx
+++ /dev/null
@@ -1,710 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Accepting trade: {0}
- {0} will be replaced by trade number
-
-
- ASF will automatically check for new versions every {0} hours.
- {0} will be replaced by number of hours
-
-
- Content:
-{0}
- {0} will be replaced by content string. Please note that this string should include newline for formatting.
-
-
- Configured {0} property is invalid: {1}
- {0} will be replaced by name of the configuration property, {1} will be replaced by invalid value
-
-
- ASF V{0} has run into fatal exception before core logging module was even able to initialize!
- {0} will be replaced by version number
-
-
- Exception: {0}() {1}
-StackTrace:
-{2}
- {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.
-
-
- Exiting with non-zero error code!
-
-
- Request failing: {0}
- {0} will be replaced by URL of the request
-
-
- Global config could not be loaded, please make sure that {0} exists and is valid! Follow setting up guide on the wiki if you're confused.
- {0} will be replaced by file's path
-
-
- {0} is invalid!
- {0} will be replaced by object's name
-
-
- Refusing to execute this function due to invalid DeviceID in ASF 2FA!
-
-
- No bots are defined, did you forget to configure your ASF?
-
-
- {0} is null!
- {0} will be replaced by object's name
-
-
- Parsing {0} failed!
- {0} will be replaced by object's name
-
-
- Could not remove old ASF binary, please remove {0} manually in order for update function to work!
- {0} will be replaced by file's path
-
-
- Request failed despite of {0} tries!
- {0} will be replaced by maximum number of tries
-
-
- Could not check latest version!
-
-
- Could not proceed with update because there is no asset that relates to currently running binary! Please ensure that your ASF binary is named appropriately!
-
-
- Could not proceed with an update because that version doesn't include any assets!
-
-
- Received a request for user input, but process is running in headless mode!
-
-
- Refusing to handle the request because SteamOwnerID is not set!
- SteamOwnerID is name of bot config property, it should not be translated
-
-
- Exiting...
-
-
- Failed!
-
-
- Global config file has been changed!
-
-
- Global config file has been removed!
-
-
- Ignoring trade: {0}
- {0} will be replaced by trade number
-
-
- Logging in to {0}...
- {0} will be replaced by service's name
-
-
- No bots are running, exiting...
-
-
- Refreshing our session!
-
-
- Rejecting trade: {0}
- {0} will be replaced by trade number
-
-
- Restarting...
-
-
- ASF detected unsupported runtime version, program might NOT run correctly in current environment. You're running it at your own risk without support!
-
-
- Required version: {0} | Found version: {1}
- {0} will be replaced by required version, {1} will be replaced by current version
-
-
- Your {0} runtime version is OK.
- {0} will be replaced by runtime name (e.g. "Mono")
-
-
- Your {0} runtime version is too old!
- {0} will be replaced by runtime name (e.g. "Mono")
-
-
- Starting...
-
-
- Status code: {0}
- {0} will be replaced by status code number/name
-
-
- Success!
-
-
- 1 day
-
-
- {0} days
- {0} will be replaced by number of days
-
-
- 1 hour
-
-
- {0} hours
- {0} will be replaced by number of hours
-
-
- 1 minute
-
-
- {0} minutes
- {0} will be replaced by number of minutes
-
-
- 1 second
-
-
- {0} seconds
- {0} will be replaced by number of seconds
-
-
- Unlocking parental account...
-
-
- Checking for new version...
-
-
- Downloading new version... While waiting, consider donating if you appreciate the work being done! :)
-
-
- Update process finished!
-
-
- New ASF version is available! Consider updating yourself!
-
-
- Local version: {0} | Remote version: {1}
- {0} will be replaced by current version, {1} will be replaced by remote version
-
-
- Please enter your mobile authenticator device ID (including "android:"):
- Please note that this translation should end with space
-
-
- Please enter your 2FA code from your Steam authenticator app:
- Please note that this translation should end with space
-
-
- Please enter SteamGuard auth code that was sent on your e-mail:
- Please note that this translation should end with space
-
-
- Please enter your Steam login:
- Please note that this translation should end with space
-
-
- Please enter Steam parental PIN:
- Please note that this translation should end with space
-
-
- Please enter your Steam password:
- Please note that this translation should end with space
-
-
- Please enter undocumented value of {0}:
- {0} will be replaced by property name. Please note that this translation should end with space
-
-
- Please enter your WCF host:
- Please note that this translation should end with space
-
-
- Received unknown value for {0}, please report this: {1}
- {0} will be replaced by object's name, {1} will be replaced by value for that object
-
-
- Playing more than {0} games concurrently is not possible, only first {0} entries from {1} will be used!
- {0} will be replaced by max number of games, {1} will be replaced by name of the configuration property
-
-
- Ignoring WCF command because --client wasn't specified: {0}
- {0} will be replaced by WCF command
-
-
- WCF service could not be started because of AddressAccessDeniedException! If you want to use WCF service provided by ASF, consider starting ASF as administrator, or giving proper permissions!
-
-
- Answered to WCF command: {0} with: {1}
- {0} will be replaced by WCF command, {1} will be replaced by WCF answer
-
-
- WCF server ready!
-
-
- WCF response received: {0}
- {0} will be replaced by WCF response
-
-
- Sending command: {0} to WCF server on {1}...
- {0} will be replaced by WCF command, {1} will be replaced by WCF hostname
-
-
- Starting WCF server on {0}...
- {0} will be replaced by WCF hostname
-
-
- This bot is already stopped!
-
-
- Couldn't find any bot named {0}!
- {0} will be replaced by bot's name query (string)
-
-
- There are {0}/{1} bots running, with total of {2} games ({3} cards) left to idle.
- {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
-
-
- Bot is idling game: {0} ({1}, {2} card drops remaining) from a total of {3} games ({4} cards) left to idle (~{5} remaining).
- {0} will be replaced by game's appID (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
-
-
- Bot is idling games: {0} from a total of {1} games ({2} cards) left to idle (~{3} remaining).
- {0} will be replaced by list of the games (appIDs, 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
-
-
- Checking first badge page...
-
-
- Checking other badge pages...
-
-
- Chosen idling algorithm: {0}
- {0} will be replaced by the name of chosen idling algorithm
-
-
- Done!
-
-
- We have a total of {0} games ({1} cards) left to idle (~{2} remaining)...
- {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
-
-
- Idling finished!
-
-
- Finished idling: {0} ({1}) after {2} of playtime!
- {0} will be replaced by game's appID (number), {1} will be replaced by game's name, {2} will be replaced by translated TimeSpan string built from TimeSpan* translation parts
-
-
- Finished idling games: {0}
- {0} will be replaced by list of the games (appIDs, numbers), separated by a comma
-
-
- Idling status for {0} ({1}): {2} cards remaining
- {0} will be replaced by game's appID (number), {1} will be replaced by game's name, {2} will be replaced by number of cards left to idle
-
-
- Idling stopped!
-
-
- Ignoring this request, as sticky pause is enabled!
-
-
- We don't have anything to idle on this account!
-
-
- Now idling: {0} ({1})
- {0} will be replaced by game's appID (number), {1} will be replaced by game's name
-
-
- Now idling: {0}
- {0} will be replaced by list of the games (appIDs, numbers), separated by a comma
-
-
- Playing is currently unavailable, we'll try again later!
-
-
- Still idling: {0} ({1})
- {0} will be replaced by game's appID (number), {1} will be replaced by game's name
-
-
- Still idling: {0}
- {0} will be replaced by list of the games (appIDs, numbers), separated by a comma
-
-
- Stopped idling: {0} ({1})
- {0} will be replaced by game's appID (number), {1} will be replaced by game's name
-
-
- Stopped idling: {0}
- {0} will be replaced by list of the games (appIDs, numbers), separated by a comma
-
-
- Unknown command!
-
-
- Could not get badges information, we will try again later!
-
-
- Could not check cards status for: {0} ({1}), we will try again later!
- {0} will be replaced by game's appID (number), {1} will be replaced by game's name
-
-
- Accepting gift: {0}...
- {0} will be replaced by giftID (number)
-
-
- This account is limited, idling process is permanently unavailable until the restriction is removed!
-
-
- GameID: {0} | Status: {1}
- {0} will be replaced by gameID (number), {1} will be replaced by status string
-
-
- GameID: {0} | Status: {1} | Items: {2}
- {0} will be replaced by gameID (number), {1} will be replaced by status string, {2} will be replaced by list of granted appIDs (numbers), separated by a comma
-
-
- This bot is already running!
-
-
- Converting .maFile into ASF format...
-
-
- Successfully finished importing mobile authenticator!
-
-
- Your DeviceID is incorrect or doesn't exist!
-
-
- 2FA Token: {0}
- {0} will be replaced by generated 2FA token (string)
-
-
- Automatic idling is now paused!
-
-
- Automatic idling is now resumed!
-
-
- Automatic idling is paused already!
-
-
- Automatic idling is now paused! You have {0} minutes to start a game.
- {0} will be replaced by number of minutes
-
-
- Automatic idling is resumed already!
-
-
- Connected to Steam!
-
-
- Disconnected from Steam!
-
-
- Disconnecting...
-
-
- [{0}] password: {1}
- {0} will be replaced by password encryption method (string), {1} will be replaced by encrypted password using that method (string)
-
-
- Not starting this bot instance because it's disabled in config file!
-
-
- Received TwoFactorCodeMismatch error code {0} times in a row, this almost always indicates invalid ASF 2FA credentials, aborting!
- {0} will be replaced by maximum allowed number of failed 2FA attempts
-
-
- Logged off of Steam: {0}
- {0} will be replaced by logging off reason (string)
-
-
- Successfully logged on!
-
-
- Logging in...
-
-
- This account seems to be used in another ASF instance, which is undefined behaviour, refusing to keep it running!
-
-
- Trade offer failed!
-
-
- Trade couldn't be sent because SteamMasterID is not defined!
- SteamMasterID is name of bot config property, it should not be translated
-
-
- You don't have any lootable types set!
-
-
- Looting is now disabled!
-
-
- Looting is now enabled!
-
-
- Trade offer sent successfully!
-
-
- Looting is temporarily disabled!
-
-
- You can't loot yourself!
-
-
- This bot doesn't have ASF 2FA enabled! Did you forget to import your authenticator as ASF 2FA?
-
-
- This bot instance is not connected!
-
-
- Not owned yet: {0}
- {0} will be replaced by query (string)
-
-
- Owned already: {0} | {1}
- {0} will be replaced by game's appID (number), {1} will be replaced by game's name
-
-
- Rate limit exceeded, we will retry after {0} minutes of cooldown...
- {0} will be replaced by number of minutes
-
-
- Reconnecting...
-
-
- Key: {0} | Status: {1}
- {0} will be replaced by cd-key (string), {1} will be replaced by status string
-
-
- Key: {0} | Status: {1} | Items: {2}
- {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
-
-
- Removed expired login key!
-
-
- Bot is not idling anything.
-
-
- Bot is limited and can't drop any cards through idling.
-
-
- Bot is not connected.
-
-
- Bot is not running.
-
-
- Bot is paused or running in manual mode.
-
-
- Bot is currently being used.
-
-
- Unable to connect to Steam: {0}
- {0} will be replaced by failure reason (string)
-
-
- Unable to login to Steam: {0}/{1}
- {0} will be replaced by failure reason (string), {1} will be replaced by extended failure reason (string)
-
-
- {0} is empty!
- {0} will be replaced by object's name
-
-
- Unused keys: {0}
- {0} will be replaced by list of cd-keys (strings), separated by a comma
-
-
- Failed due to error: {0}
- {0} will be replaced by failure reason (string)
-
-
- Connection to Steam Network lost, reconnecting...
-
-
- Account is no longer occupied, idling process resumed!
-
-
- Account is currently being used, ASF will resume idling when it's free...
-
-
- Shared library has not been launched in given time period, idling process resumed!
-
-
- Connecting...
-
-
- Failed to disconnect the client, abandoning this bot instance!
-
-
- Could not initialize SteamDirectory, connecting with Steam Network might take much longer than usual!
-
-
- Stopping...
-
-
- Your bot config is invalid, please verify content of {0} and try again!
- {0} will be replaced by file's path
-
-
- Persistent database could not be loaded, if issue persists, please remove {0} in order to recreate the database!
- {0} will be replaced by file's path
-
-
- Initializing {0}...
- {0} will be replaced by service name that is being initialized
-
-
- Please review our privacy policy section on the wiki if you're concerned about what ASF is in fact doing!
-
-
- It looks like it's your first launch of the program, welcome!
-
-
- Your provided CurrentCulture is invalid, ASF will keep running with default one!
-
-
- ASF will attempt to use your preferred {0} culture, but translation in that language was completed only in {1}. Perhaps you could help us improve ASF translation for your language?
- {0} will be replaced by culture code, such as "en-US", {1} will be replaced by completeness percentage, such as "78.5%"
-
-
- Idling {0} ({1}) is temporarily disabled, as ASF is not able to play that game at the moment.
- {0} will be replaced by game's appID (number), {1} will be replaced by game's name
-
-
- ASF detected appID mismatch for {0} ({1}) and will use appID of {2} instead.
- {0} will be replaced by game's appID (number), {1} will be replaced by game's name, {2} will be replaced by game's appID (number)
-
-
- {0} V{1}
- {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.
-
-
- This account is locked, idling process is permanently unavailable!
-
-
- Bot is locked and can't drop any cards through idling.
-
-
diff --git a/ConfigGenerator/ConfigGenerator.csproj b/ConfigGenerator/ConfigGenerator.csproj
index 661be217a..1f17117bb 100644
--- a/ConfigGenerator/ConfigGenerator.csproj
+++ b/ConfigGenerator/ConfigGenerator.csproj
@@ -102,7 +102,6 @@
-
diff --git a/ConfigGenerator/Localization/CGStrings.en-GB.resx b/ConfigGenerator/Localization/CGStrings.en-GB.resx
deleted file mode 100644
index 08695e5d3..000000000
--- a/ConfigGenerator/Localization/CGStrings.en-GB.resx
+++ /dev/null
@@ -1,241 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Access
-
-
- Advanced
-
-
- Core
-
-
- Debugging
-
-
- Performance
-
-
- Updates
-
-
- Do you really want to remove this config?
-
-
- Your bot name is empty!
-
-
- You can't remove global config!
-
-
- You can't rename global config!
-
-
- Config directory could not be found!
-
-
- Configured {0} property is invalid: {1}
- {0} will be replaced by name of the configuration property, {1} will be replaced by invalid value
-
-
- Your provided CurrentCulture is invalid, ConfigGenerator will keep running with default one!
-
-
- This name is already used!
- This happens e.g. when user wants to create a bot with name that exists already
-
-
- This name is reserved!
- This happens e.g. when user wants to create a bot with reserved name, such as "ASF"
-
-
- {0} is null!
- {0} will be replaced by object's name
-
-
- You've attempted to use invalid ConfigGenerator version for your ASF!
-
-ASF: {0} | ConfigGenerator: {1}
-
-Please use matching ConfigGenerator version for your ASF binary. You'll be redirected to appropriate release...
- {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.
-
-
- New
- This is used as MessageBox title
-
-
- Removal
- This is used as MessageBox title
-
-
- Rename
- This is used as MessageBox title
-
-
- Excellent! Now your bot instance is enabled. In fact, that was everything you had to do in order to use this bot in ASF, but you might want to configure at least 2 more config properties: {0} and {1}. If you want to continue the tutorial, please do so. Remember to refer to the wiki if you're unsure how given property should be configured, or if you need additional help.
- {0} will be replaced by "SteamLogin" configuration property, {1} will be replaced by "SteamPassword" configuration property
-
-
- Your ASF is now ready! Simply launch ASF.exe binary and if you typed everything properly, you should notice that ASF is logging in and starts idling. If you have SteamGuard or two-factor authentication enabled, ASF might need to ask you for those credentials during runtime.
-
-
- Congratulations! You've done everything that is needed in order to make ASF usable, that also finishes the tutorial that we prepared for you. It's highly recommended to read entire configuration section on the wiki now, as ASF offers some really neat features for you to configure, such as offline farming or tuning ASF for using the most efficient idling algorithm for your account. All of that is optional though, and you're free to close our configurator whenever you wish. We hope that you'll enjoy the software that we coded for you!
-
-
- At the top of the window you can notice currently loaded configs, and 3 extra buttons for removing [-], renaming [~] and adding new ones [+].
- If possible, try to keep visual representation of buttons: [-], [~] and [+]
-
-
- Please note that all information about available config properties, including their description, purpose, and accepted values, is available on our GitHub wiki. Please use it as a reference.
-
-
- In the middle of the window you can configure all config properties that are available for you, for your currently selected config.
-
-
- Alright, let's start configuring our ASF. Click on the plus [+] button in order to add your first steam account!
- If possible, try to keep visual representation of [+] button
-
-
- In the top right corner you can find help button [?] which will redirect you to ASF wiki for more information.
- If possible, try to keep visual representation of [?] button
-
-
- This is the main ASF ConfigGenerator screen, it's really easy to use!
-
-
- As you can see, your bot is now ready to be configured! First thing that you want to do is switching {0} property from false to true, try it!
- {0} will be replaced by name of the configuration property ("Enabled")
-
-
- Good job! You'll be asked for your bot name now. A good example would be a nickname that you're using for the steam account you're about to configure, or any other name of your choice which will be easy for you to connect with the bot instance that is being configured.
-
-
- Welcome! I noticed that you're using ASF ConfigGenerator for the first time, so let me help you a bit.
-
-
- Please enter new bot name:
- Please note that this translation should end with space
-
-
- {0} has been set to: {1}
- {0} will be replaced by name of the configuration property, {1} will be replaced by new value
-
-
diff --git a/GUI/GUI.csproj b/GUI/GUI.csproj
index 135b3354e..4d78fdcd1 100644
--- a/GUI/GUI.csproj
+++ b/GUI/GUI.csproj
@@ -228,9 +228,6 @@
Localization\Strings.el-GR.resx
-
- Localization\Strings.en-GB.resx
-
Localization\Strings.es-ES.resx