mirror of
https://github.com/JustArchiNET/ArchiSteamFarm
synced 2024-11-10 07:04:27 +00:00
ASF V3.4 with ASF UI (#906)
* Add ASF UI as dependency * Correct CIs * Misc * Misc * Another attempt of fixing travis * And another one * Test monmon improvements * Test * Another test * More travis tests * And one more * Another test * More tests * More tests * More tests * Final code * Use deploy script for ASF UI * Misc * Kill obsolete code and bump version * Delete old asf-ui * Add new ASF-ui * Add UI.html
This commit is contained in:
parent
b342b31298
commit
d0f32c8250
56 changed files with 81 additions and 5954 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +1,6 @@
|
|||
[submodule "ASF-ui"]
|
||||
path = ASF-ui
|
||||
url = https://github.com/JustArchiNET/ASF-ui
|
||||
[submodule "ASF-WebConfigGenerator"]
|
||||
path = ASF-WebConfigGenerator
|
||||
url = https://github.com/JustArchiNET/ASF-WebConfigGenerator
|
||||
|
|
14
.travis.yml
14
.travis.yml
|
@ -20,7 +20,6 @@ env:
|
|||
- DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
|
||||
- NET_CORE_VERSION: netcoreapp2.1
|
||||
- VARIANTS="generic linux-arm linux-x64 osx-x64 win-x64" # NOTE: When modifying variants, don't forget to update ASF_VARIANT definitions in SharedInfo.cs!
|
||||
|
||||
before_script:
|
||||
- |
|
||||
set -eu
|
||||
|
@ -35,6 +34,19 @@ script:
|
|||
- |
|
||||
set -eu
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
set +eu # This is needed to run below npm block on OSX
|
||||
fi
|
||||
|
||||
cd ASF-ui
|
||||
npm i --no-progress
|
||||
npm run-script deploy --no-progress
|
||||
cd ..
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
set -eu # We no longer need +eu on OSX
|
||||
fi
|
||||
|
||||
dotnet build ArchiSteamFarm -c "$CONFIGURATION" -f "$NET_CORE_VERSION" -o 'out/source' /nologo
|
||||
dotnet test ArchiSteamFarm.Tests -c "$CONFIGURATION" -f "$NET_CORE_VERSION" -o 'out/source' /nologo
|
||||
|
||||
|
|
1
ASF-ui
Submodule
1
ASF-ui
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 3410b5d4c9bf4dfc7f28bacefcaebb051d130e88
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>ASF.ico</ApplicationIcon>
|
||||
<AssemblyVersion>3.3.1.0</AssemblyVersion>
|
||||
<AssemblyVersion>3.4.0.0</AssemblyVersion>
|
||||
<Authors>JustArchi</Authors>
|
||||
<Company>JustArchi</Company>
|
||||
<ConcurrentGarbageCollection>true</ConcurrentGarbageCollection>
|
||||
|
@ -10,7 +10,7 @@
|
|||
<DefaultItemExcludes>$(DefaultItemExcludes);debug/**;out/**</DefaultItemExcludes>
|
||||
<Description>ASF is an application that allows you to farm steam cards using multiple steam accounts simultaneously.</Description>
|
||||
<ErrorReport>none</ErrorReport>
|
||||
<FileVersion>3.3.1.0</FileVersion>
|
||||
<FileVersion>3.4.0.0</FileVersion>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<NoWarn />
|
||||
<OutputType>Exe</OutputType>
|
||||
|
@ -102,6 +102,9 @@
|
|||
<None Update="ConfigGenerator.html">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="UI.html">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="config\ASF.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
|
@ -111,7 +114,8 @@
|
|||
<None Update="config\minimal.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<Content Include="www\**" Exclude="**\README.md">
|
||||
<Content Include="..\ASF-ui\dist\**\*.*" Exclude="**\README.md">
|
||||
<Link>www\%(RecursiveDir)%(Filename)%(Extension)</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
|
|
@ -1,94 +0,0 @@
|
|||
// _ _ _ ____ _ _____
|
||||
// / \ _ __ ___ | |__ (_)/ ___| | |_ ___ __ _ _ __ ___ | ___|__ _ _ __ _ __ ___
|
||||
// / _ \ | '__|/ __|| '_ \ | |\___ \ | __|/ _ \ / _` || '_ ` _ \ | |_ / _` || '__|| '_ ` _ \
|
||||
// / ___ \ | | | (__ | | | || | ___) || |_| __/| (_| || | | | | || _|| (_| || | | | | | | |
|
||||
// /_/ \_\|_| \___||_| |_||_||____/ \__|\___| \__,_||_| |_| |_||_| \__,_||_| |_| |_| |_|
|
||||
//
|
||||
// Copyright 2015-2018 Łukasz "JustArchi" Domeradzki
|
||||
// Contact: JustArchi@JustArchi.net
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using ArchiSteamFarm.IPC.Requests;
|
||||
using ArchiSteamFarm.IPC.Responses;
|
||||
using ArchiSteamFarm.Localization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace ArchiSteamFarm.IPC.Controllers.Api {
|
||||
[ApiController]
|
||||
[Route("Api/GamesToRedeemInBackground")]
|
||||
public sealed class GamesToRedeemInBackgroundController : ControllerBase {
|
||||
[HttpDelete("{botNames:required}")]
|
||||
public async Task<ActionResult<GenericResponse>> GamesToRedeemInBackgroundDelete(string botNames) {
|
||||
if (string.IsNullOrEmpty(botNames)) {
|
||||
ASF.ArchiLogger.LogNullError(nameof(botNames));
|
||||
return BadRequest(new GenericResponse(false, string.Format(Strings.ErrorIsEmpty, nameof(botNames))));
|
||||
}
|
||||
|
||||
HashSet<Bot> bots = Bot.GetBots(botNames);
|
||||
if ((bots == null) || (bots.Count == 0)) {
|
||||
return BadRequest(new GenericResponse(false, string.Format(Strings.BotNotFound, botNames)));
|
||||
}
|
||||
|
||||
IList<bool> results = await Utilities.InParallel(bots.Select(bot => Task.Run(bot.DeleteRedeemedKeysFiles))).ConfigureAwait(false);
|
||||
return Ok(results.All(result => result) ? new GenericResponse(true) : new GenericResponse(false, Strings.WarningFailed));
|
||||
}
|
||||
|
||||
[HttpGet("{botNames:required}")]
|
||||
public async Task<ActionResult<GenericResponse<Dictionary<string, GamesToRedeemInBackgroundResponse>>>> GamesToRedeemInBackgroundGet(string botNames) {
|
||||
if (string.IsNullOrEmpty(botNames)) {
|
||||
ASF.ArchiLogger.LogNullError(nameof(botNames));
|
||||
return BadRequest(new GenericResponse<Dictionary<string, GamesToRedeemInBackgroundResponse>>(false, string.Format(Strings.ErrorIsEmpty, nameof(botNames))));
|
||||
}
|
||||
|
||||
HashSet<Bot> bots = Bot.GetBots(botNames);
|
||||
if ((bots == null) || (bots.Count == 0)) {
|
||||
return BadRequest(new GenericResponse<Dictionary<string, GamesToRedeemInBackgroundResponse>>(false, string.Format(Strings.BotNotFound, botNames)));
|
||||
}
|
||||
|
||||
IList<(Dictionary<string, string> UnusedKeys, Dictionary<string, string> UsedKeys)> results = await Utilities.InParallel(bots.Select(bot => bot.GetUsedAndUnusedKeys())).ConfigureAwait(false);
|
||||
|
||||
Dictionary<string, GamesToRedeemInBackgroundResponse> result = new Dictionary<string, GamesToRedeemInBackgroundResponse>();
|
||||
|
||||
foreach (Bot bot in bots) {
|
||||
(Dictionary<string, string> unusedKeys, Dictionary<string, string> usedKeys) = results[result.Count];
|
||||
result[bot.BotName] = new GamesToRedeemInBackgroundResponse(unusedKeys, usedKeys);
|
||||
}
|
||||
|
||||
return Ok(new GenericResponse<Dictionary<string, GamesToRedeemInBackgroundResponse>>(result));
|
||||
}
|
||||
|
||||
[HttpPost("{botName:required}")]
|
||||
public async Task<ActionResult<GenericResponse<OrderedDictionary>>> GamesToRedeemInBackgroundPost(string botName, [FromBody] GamesToRedeemInBackgroundRequest request) {
|
||||
if (string.IsNullOrEmpty(botName) || (request == null)) {
|
||||
ASF.ArchiLogger.LogNullError(nameof(botName) + " || " + nameof(request));
|
||||
return BadRequest(new GenericResponse<OrderedDictionary>(false, string.Format(Strings.ErrorIsEmpty, nameof(botName) + " || " + nameof(request))));
|
||||
}
|
||||
|
||||
if (request.GamesToRedeemInBackground.Count == 0) {
|
||||
return BadRequest(new GenericResponse<OrderedDictionary>(false, string.Format(Strings.ErrorIsEmpty, nameof(request.GamesToRedeemInBackground))));
|
||||
}
|
||||
|
||||
if (!Bot.Bots.TryGetValue(botName, out Bot bot)) {
|
||||
return BadRequest(new GenericResponse<OrderedDictionary>(false, string.Format(Strings.BotNotFound, botName)));
|
||||
}
|
||||
|
||||
bool result = await bot.ValidateAndAddGamesToRedeemInBackground(request.GamesToRedeemInBackground).ConfigureAwait(false);
|
||||
return Ok(new GenericResponse<OrderedDictionary>(result, request.GamesToRedeemInBackground));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -34,7 +34,6 @@ using Newtonsoft.Json;
|
|||
namespace ArchiSteamFarm.IPC.Controllers.Api {
|
||||
[ApiController]
|
||||
[Route("Api/NLog")]
|
||||
[Route("Api/Log")]
|
||||
public sealed class NLogController : ControllerBase {
|
||||
private static readonly ConcurrentDictionary<WebSocket, SemaphoreSlim> ActiveLogWebSockets = new ConcurrentDictionary<WebSocket, SemaphoreSlim>();
|
||||
|
||||
|
|
9
ArchiSteamFarm/UI.html
Normal file
9
ArchiSteamFarm/UI.html
Normal file
|
@ -0,0 +1,9 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>ASF UI</title>
|
||||
<meta http-equiv="refresh" content="0; url=http://127.0.0.1:1242">
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
1
ArchiSteamFarm/www/css/_all-skins.min.css
vendored
1
ArchiSteamFarm/www/css/_all-skins.min.css
vendored
File diff suppressed because one or more lines are too long
1
ArchiSteamFarm/www/css/_nightmode.min.css
vendored
1
ArchiSteamFarm/www/css/_nightmode.min.css
vendored
File diff suppressed because one or more lines are too long
|
@ -1,233 +0,0 @@
|
|||
.box-content-log {
|
||||
font-family: monospace, monospace;
|
||||
color: rgb(255, 255, 255);
|
||||
font-size: 14px;
|
||||
background-color: #000000;
|
||||
width: auto;
|
||||
height: 400px;
|
||||
padding: 6px 12px;
|
||||
white-space: pre-line;
|
||||
border-color: rgb(221, 221, 221);
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.box-content-commands {
|
||||
width: auto;
|
||||
height: 400px;
|
||||
padding: 6px 12px;
|
||||
white-space: pre-line;
|
||||
border-color: rgb(221, 221, 221);
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
font-family: monospace, monospace;
|
||||
color: rgb(255, 255, 255);
|
||||
font-size: 14px;
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
.bg-gray {
|
||||
color: rgb(255, 255, 255);
|
||||
background-color: #bfc3cb !important;
|
||||
}
|
||||
|
||||
#commandSent {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 12px;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
button.bot-stopped {
|
||||
color: red;
|
||||
}
|
||||
|
||||
button.bot-stopped:hover {
|
||||
color: green;
|
||||
}
|
||||
|
||||
button.bot-started:hover {
|
||||
color: red;
|
||||
}
|
||||
|
||||
button.bot-paused {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
button.bot-paused:hover {
|
||||
color: green;
|
||||
}
|
||||
|
||||
button.bot-resumed:hover {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
.botHeader {
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.botTitle {
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.botHeader > .botTools {
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
.bots-info-box-icon {
|
||||
height: 64px;
|
||||
width: 64px;
|
||||
line-height: 64px;
|
||||
font-size: 35px;
|
||||
}
|
||||
|
||||
.bot-info-box {
|
||||
min-height: 64px;
|
||||
}
|
||||
|
||||
.bot-info-box-content {
|
||||
margin-left: 64px;
|
||||
}
|
||||
|
||||
.nav-tabs-custom > .nav-tabs > li {
|
||||
margin-right: 0px;
|
||||
}
|
||||
|
||||
.info-overview {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.control-sidebar {
|
||||
padding-top: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.control-sidebar {
|
||||
padding-top: 100px;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-badge {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
text-align: center;
|
||||
padding: 6px 0;
|
||||
font-size: 12px;
|
||||
line-height: 1.42;
|
||||
border-radius: .25em;
|
||||
}
|
||||
|
||||
.btn-badge-active {
|
||||
border-color: white;
|
||||
}
|
||||
|
||||
.box .overlay, .overlay-wrapper .overlay {
|
||||
background: none;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-left: -15px;
|
||||
margin-top: -15px;
|
||||
font-size: 30px
|
||||
}
|
||||
|
||||
.box .overlay, .overlay-wrapper .overlay .bot-box-loading {
|
||||
font-size: 20px
|
||||
}
|
||||
|
||||
.main-header .sidebar-toggle:before {
|
||||
content: none;
|
||||
}
|
||||
|
||||
.form-group-config {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
background-color: #333;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
-webkit-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
background: rgb(167, 167, 167);
|
||||
}
|
||||
|
||||
#txtAddKeys,
|
||||
#txtUnusedKeys,
|
||||
#txtUsedKeys {
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
font-size: 18px;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
.swal-wide {
|
||||
width: 700px !important;
|
||||
}
|
||||
|
||||
#txtAddKeys,
|
||||
#txtUnusedKeys,
|
||||
#txtUsedKeys {
|
||||
height: 250px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar-menu li.header {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.lockscreen-image{
|
||||
left:-5px
|
||||
}
|
||||
|
||||
.language-item {
|
||||
padding: 0.6rem;
|
||||
}
|
||||
|
||||
.dropdown-language {
|
||||
background: #222d32 !important;
|
||||
border-color: #222d32 !important;
|
||||
}
|
||||
|
||||
.scrollable-menu {
|
||||
height: auto;
|
||||
max-height: 220px;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.toggle.ios, .toggle-on.ios, .toggle-off.ios, .toggle-handle {
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
.toggle-on {
|
||||
color: #3d9970 !important;
|
||||
}
|
||||
|
||||
.li-btn {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.li-toggle {
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
.dropdown-menu-toggle {
|
||||
min-width: 140px !important;
|
||||
}
|
||||
|
||||
.single-btn {
|
||||
vertical-align: -webkit-baseline-middle;
|
||||
}
|
||||
|
||||
[class^="games-carousel-"] .game-box:not(:first-child):not(.slick-slide){
|
||||
display: none;
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 15 KiB |
Binary file not shown.
Before Width: | Height: | Size: 6.5 KiB |
|
@ -1,157 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title data-i18n="auth-title">ASF | Authentication</title>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<script defer src="https://use.fontawesome.com/releases/v5.1.0/js/all.js"></script> <!--Change to cdnjs once available-->
|
||||
<link rel="icon" href="img/favicon.png" type="image/png">
|
||||
<link rel="shortcut icon" href="img/favicon.ico" type="img/x-icon">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/admin-lte/2.4.2/css/AdminLTE.min.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.messagestore.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.fallbacks.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.language.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.parser.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.emitter.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.emitter.bidi.min.js"></script>
|
||||
<script src="js/utils.js"></script>
|
||||
<script src="js/i18n.js"></script>
|
||||
<link rel="stylesheet" href="css/app.css">
|
||||
<link rel="stylesheet" href="css/_nightmode.min.css">
|
||||
</head>
|
||||
<body class="hold-transition lockscreen">
|
||||
<div class="lockscreen-wrapper">
|
||||
<div class="lockscreen-logo">
|
||||
<a href="index.html"><b>Archi</b>SteamFarm</a>
|
||||
</div>
|
||||
<div class="lockscreen-name" data-i18n="auth-ipc-header">IPC password required</div>
|
||||
|
||||
<div class="lockscreen-item">
|
||||
<div class="lockscreen-image">
|
||||
<img src="img/favicon.png" alt="ASF">
|
||||
</div>
|
||||
<form class="lockscreen-credentials">
|
||||
<div class="input-group">
|
||||
<input type="password" id="IPCPassword" class="form-control" data-i18n="placeholder-auth" placeholder="Type your password...">
|
||||
|
||||
<div class="input-group-btn">
|
||||
<button type="button" id="TryToAuth" class="btn"><i class="fa fa-arrow-right text-muted"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="help-block text-center">
|
||||
<span data-i18n="auth-ipc-text">Please enter the correct IPC password</span>
|
||||
</div>
|
||||
</div>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.js"></script>
|
||||
<script src="js/adminlte.min.js"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
'use strict';
|
||||
|
||||
var tmpIsAuthorized = get('IsAuthorized'),
|
||||
tmpLastPage = get('CurrentPage'),
|
||||
tmpNightmodeState = get('nightmodeState'),
|
||||
redirectPage = 'pages/commands.html';
|
||||
|
||||
if (tmpNightmodeState === 'nightmode') $('html').addClass('nightmode');
|
||||
|
||||
if (tmpLastPage) {
|
||||
redirectPage = tmpLastPage;
|
||||
}
|
||||
|
||||
if (tmpIsAuthorized === 'true') {
|
||||
window.location.replace(redirectPage);
|
||||
} else {
|
||||
$.ajax({
|
||||
url: '/Api/ASF',
|
||||
type: 'GET',
|
||||
statusCode: {
|
||||
401: function () {
|
||||
store('IsAuthorized', false);
|
||||
store('IPCPassword', '');
|
||||
},
|
||||
403: function () {
|
||||
store('IsAuthorized', false);
|
||||
store('IPCPassword', '');
|
||||
$('.lockscreen-name, .lockscreen-item').remove();
|
||||
var res = $.i18n('auth-ipc-403');
|
||||
$('.help-block').text(res);
|
||||
},
|
||||
200: function () {
|
||||
store('IsAuthorized', true);
|
||||
window.location.replace(redirectPage);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(document).keypress(function (e) {
|
||||
var keyCode = e.keyCode || e.which;
|
||||
|
||||
if (keyCode == 13) {
|
||||
e.preventDefault();
|
||||
$('#TryToAuth').click();
|
||||
}
|
||||
});
|
||||
|
||||
$('#TryToAuth').click(function () {
|
||||
var newPwd = $('#IPCPassword').val();
|
||||
|
||||
if (newPwd === false) return false;
|
||||
|
||||
if (newPwd === '') {
|
||||
swal({
|
||||
title: $.i18n('global-error-title'),
|
||||
text: $.i18n('global-error-invalid-pw'),
|
||||
type: 'error'
|
||||
}, function () { swal.close(); });
|
||||
return false;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: '/Api/ASF',
|
||||
type: 'GET',
|
||||
beforeSend: function (jqXHR) {
|
||||
jqXHR.setRequestHeader('Authentication', newPwd);
|
||||
},
|
||||
statusCode: {
|
||||
401: function () {
|
||||
store('IsAuthorized', false);
|
||||
|
||||
swal({
|
||||
title: $.i18n('global-error-title'),
|
||||
text: $.i18n('auth-ipc-pw-wrong'),
|
||||
type: 'error'
|
||||
}, function () { swal.close(); });
|
||||
},
|
||||
403: function () {
|
||||
store('IsAuthorized', false);
|
||||
$('.lockscreen-name, .lockscreen-item').remove();
|
||||
$('.help-block').text($.i18n('auth-ipc-403'));
|
||||
},
|
||||
200: function () {
|
||||
store('IsAuthorized', true);
|
||||
store('IPCPassword', newPwd);
|
||||
|
||||
swal({
|
||||
title: $.i18n('global-success-title'),
|
||||
text: $.i18n('auth-ipc-pw-saved'),
|
||||
type: 'success'
|
||||
}, function () { window.location.replace(redirectPage); });
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
1
ArchiSteamFarm/www/js/adminlte.min.js
vendored
1
ArchiSteamFarm/www/js/adminlte.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -1,956 +0,0 @@
|
|||
//{#region Setup
|
||||
const tmpIPCPassword = get('IPCPassword'),
|
||||
vGUI = '0.4';
|
||||
|
||||
if (tmpIPCPassword) {
|
||||
$.ajaxSetup({
|
||||
beforeSend: function (jqXHR) {
|
||||
jqXHR.setRequestHeader('Authentication', tmpIPCPassword);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$.ajaxSetup({
|
||||
statusCode: {
|
||||
401: function () {
|
||||
store('IPCPassword', '');
|
||||
store('IsAuthorized', false);
|
||||
window.location.replace('../index.html');
|
||||
},
|
||||
403: function () {
|
||||
store('IPCPassword', '');
|
||||
store('IsAuthorized', false);
|
||||
window.location.replace('../index.html');
|
||||
}
|
||||
}
|
||||
});
|
||||
//}#endregion Setup
|
||||
|
||||
//{#region Footer
|
||||
$.ajax({
|
||||
url: '/Api/ASF',
|
||||
type: 'GET',
|
||||
success: function (data) {
|
||||
var v = data.Result.Version,
|
||||
vNr = v.Major + '.' + v.Minor + '.' + v.Build + '.' + v.Revision,
|
||||
build = data.Result.BuildVariant;
|
||||
|
||||
$('#version').text(vNr + ' - ' + build + ' - ' + vGUI);
|
||||
$('#changelog').attr('href', 'https://github.com/JustArchi/ArchiSteamFarm/releases/tag/' + vNr);
|
||||
}
|
||||
});
|
||||
//}#endregion Footer
|
||||
|
||||
//{#region Bots Status Buttons
|
||||
function displayBotStatus() {
|
||||
var offline = 0,
|
||||
disconnected = 0,
|
||||
online = 0,
|
||||
farming = 0;
|
||||
|
||||
$.ajax({
|
||||
url: '/Api/Bot/ASF',
|
||||
type: 'GET',
|
||||
success: function (data) {
|
||||
var json = data.Result;
|
||||
|
||||
for (var i = 0; i < json.length; i++) {
|
||||
var obj = json[i],
|
||||
KeepRunning = obj.KeepRunning,
|
||||
TimeRemaining = obj.CardsFarmer.TimeRemaining,
|
||||
SteamID = obj.SteamID;
|
||||
|
||||
if (KeepRunning === false) {
|
||||
offline++;
|
||||
} else {
|
||||
if (SteamID === 0) {
|
||||
disconnected++;
|
||||
} else {
|
||||
if (TimeRemaining === '00:00:00') {
|
||||
online++;
|
||||
}
|
||||
else {
|
||||
farming++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$('#offlineBots').text(offline);
|
||||
if (disconnected > 0) {
|
||||
$('#disconnectedBots').show();
|
||||
$('#disconnectedBots').text(disconnected);
|
||||
} else {
|
||||
$('#disconnectedBots').hide();
|
||||
}
|
||||
$('#onlineBots').text(online);
|
||||
$('#farmingBots').text(farming);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
displayBotStatus();
|
||||
window.setInterval(function () { displayBotStatus(); }, 5000);
|
||||
//}#endregion Bots Status Buttons
|
||||
|
||||
//{#region Information
|
||||
function displayRAMUsage() {
|
||||
$.ajax({
|
||||
url: '/Api/ASF',
|
||||
type: 'GET',
|
||||
success: function (data) {
|
||||
var mem = data.Result.MemoryUsage,
|
||||
memMB = (mem / 1024).toFixed(2);
|
||||
|
||||
$('#ramUsage').html(memMB + ' MB');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
displayRAMUsage();
|
||||
window.setInterval(function () { displayRAMUsage(); }, 10000);
|
||||
|
||||
function displayUptime() {
|
||||
$.ajax({
|
||||
url: '/Api/ASF',
|
||||
type: 'GET',
|
||||
success: function (data) {
|
||||
var pst = data.Result.ProcessStartTime,
|
||||
start = new Date(pst),
|
||||
now = new Date(),
|
||||
diff = now.getTime() - start.getTime();
|
||||
|
||||
var d = Math.floor(diff / (1000 * 60 * 60 * 24));
|
||||
diff -= d * (1000 * 60 * 60 * 24);
|
||||
|
||||
var h = Math.floor(diff / (1000 * 60 * 60));
|
||||
diff -= h * (1000 * 60 * 60);
|
||||
|
||||
var m = Math.floor(diff / (1000 * 60));
|
||||
|
||||
h = (h < 10 ? '0' : '') + h;
|
||||
m = (m < 10 ? '0' : '') + m;
|
||||
|
||||
up = d + 'd ' + h + 'h ' + m + 'm';
|
||||
|
||||
$('#uptime').html(up);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
displayUptime();
|
||||
window.setInterval(function () { displayUptime(); }, 60000);
|
||||
//}#endregion Information
|
||||
|
||||
//{#region Commands
|
||||
var $cmdInput = $('#commandInput');
|
||||
|
||||
function getDateAndTime() {
|
||||
var date = new Date();
|
||||
return ('0' + date.getDate()).slice(-2) + '.'
|
||||
+ ('0' + (date.getMonth() + 1)).slice(-2) + '.'
|
||||
+ date.getFullYear() + ' @ '
|
||||
+ ('0' + date.getHours()).slice(-2) + ':'
|
||||
+ ('0' + date.getMinutes()).slice(-2) + ':'
|
||||
+ ('0' + date.getSeconds()).slice(-2);
|
||||
}
|
||||
|
||||
function logCommand(state, cmd) {
|
||||
var tmpAutoClear = get('chkClear');
|
||||
|
||||
if (state) {
|
||||
$('#commandSent').val($.i18n('commands-sent', getDateAndTime(), cmd));
|
||||
return;
|
||||
}
|
||||
|
||||
var response = $.i18n('commands-response', getDateAndTime(), cmd);
|
||||
|
||||
if (tmpAutoClear === 'false') {
|
||||
var oldText = $('.box-content-commands').text();
|
||||
$('.box-content-commands').text(oldText + '\n' + response + '\n');
|
||||
} else {
|
||||
$('.box-content-commands').text(response);
|
||||
}
|
||||
}
|
||||
|
||||
function sendCommand() {
|
||||
var command = $cmdInput.val(),
|
||||
requestURL = '/Api/Command/' + encodeURIComponent(command),
|
||||
tmpAutoClear = get('chkClear');
|
||||
|
||||
if (command === '') return;
|
||||
|
||||
logCommand(true, command);
|
||||
|
||||
var response = $.i18n('commands-waiting', getDateAndTime());
|
||||
|
||||
if (tmpAutoClear === 'false') {
|
||||
if ($('.box-content-commands').text() === '') {
|
||||
$('.box-content-commands').append(response + '\n');
|
||||
} else {
|
||||
$('.box-content-commands').append('\n' + response + '\n');
|
||||
}
|
||||
} else {
|
||||
$('.box-content-commands').text(response);
|
||||
}
|
||||
|
||||
$('.box-content-commands').append('<div class="overlay"><i class="fas fa-sync fa-spin" style="color:white"></i></div>');
|
||||
|
||||
$.ajax({
|
||||
url: requestURL,
|
||||
type: 'POST',
|
||||
success: function (data) {
|
||||
$('.overlay').remove();
|
||||
logCommand(false, data.Result);
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
$('.overlay').remove();
|
||||
logCommand(false, jqXHR.status + ' ' + errorThrown + ' - ' + jqXHR.responseJSON.Message);
|
||||
}
|
||||
});
|
||||
|
||||
if (tmpAutoClear !== 'false') $cmdInput.val('');
|
||||
}
|
||||
//}#endregion Commands
|
||||
|
||||
//{#region Config Utils
|
||||
function generateConfigHTML(mode) {
|
||||
var namespace = mode === 'ASF' ? 'ArchiSteamFarm.GlobalConfig' : 'ArchiSteamFarm.BotConfig';
|
||||
$('.box-content-config').empty(); // Clear page content first
|
||||
|
||||
$.ajax({
|
||||
url: '/Api/Type/' + namespace,
|
||||
type: 'GET',
|
||||
async: false,
|
||||
success: function (data) {
|
||||
var obj = data.Result,
|
||||
config = obj.Body,
|
||||
boxBodyHTML = '',
|
||||
textBoxes = '',
|
||||
checkBoxes = '',
|
||||
numberBoxes = '',
|
||||
defaultBoxes = '',
|
||||
textAreas = '';
|
||||
|
||||
for (var key in config) {
|
||||
if (config.hasOwnProperty(key)) {
|
||||
var value = config[key],
|
||||
noSpaceKey = key.replace(/([A-Z])/g, ' $1').trim(),
|
||||
readableKey = noSpaceKey.replace(/([A-Z])\s(?=[A-Z])/g, '$1');
|
||||
|
||||
switch (value) {
|
||||
case 'System.Boolean':
|
||||
checkBoxes += '<div class="">'
|
||||
+ '<button type="button" data-type="' + value + '" class="btn btn-box-tool text-grey" id="' + key + '">'
|
||||
+ '<i id="ico' + key + '" class="fas fa-toggle-on fa-2x fa-fw fa-rotate-180" ></i ></button>'
|
||||
+ readableKey
|
||||
+ '</div>';
|
||||
break;
|
||||
case 'System.String':
|
||||
textBoxes += '<div class="form-group-config">'
|
||||
+ '<label for="' + key + '">' + readableKey + '</label>'
|
||||
+ '<input type="text" id="' + key + '" class="form-control" data-type="' + value + '">'
|
||||
+ '</div>';
|
||||
break;
|
||||
case 'System.Byte':
|
||||
numberBoxes += '<div class="form-group-config">'
|
||||
+ '<label for="' + key + '">' + readableKey + '</label>'
|
||||
+ '<input type="number" id="' + key + '" class="form-control" data-type="' + value + '">'
|
||||
+ '</div>';
|
||||
break;
|
||||
case 'System.Collections.Generic.HashSet`1[System.String]':
|
||||
case 'System.Collections.Immutable.ImmutableHashSet`1[System.String]':
|
||||
textAreas += '<div class="form-group-config">'
|
||||
+ '<label for="' + key + '">' + readableKey + '</label>'
|
||||
+ '<textarea id="' + key + '" class="form-control" data-type="' + value + '" rows="4"></textarea>'
|
||||
+ '</div>';
|
||||
break;
|
||||
case 'System.Collections.Generic.Dictionary`2[System.UInt64][ArchiSteamFarm.BotConfig+EPermission]':
|
||||
case 'System.Collections.Immutable.ImmutableDictionary`2[System.UInt64][ArchiSteamFarm.BotConfig+EPermission]':
|
||||
textAreas += '<div class="form-group-config">'
|
||||
+ '<label for="' + key + '">' + readableKey + '</label>'
|
||||
+ '<textarea id="' + key + '" class="form-control" data-type="' + value + '" rows="3"></textarea>'
|
||||
+ '</div>';
|
||||
break;
|
||||
default:
|
||||
defaultBoxes += '<div class="form-group-config">'
|
||||
+ '<label for="' + key + '">' + readableKey + '</label>'
|
||||
+ '<input type="text" id="' + key + '" class="form-control" data-type="' + value + '">'
|
||||
+ '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
if (mode === 'ASF') {
|
||||
boxBodyHTML = '<div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">' + checkBoxes + numberBoxes + '</div>'
|
||||
+ '<div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">' + textBoxes + defaultBoxes + textAreas + '</div>';
|
||||
} else {
|
||||
boxBodyHTML = '<div class="col-lg-4 col-md-4 col-sm-6 col-xs-12">' + defaultBoxes + '</div>'
|
||||
+ '<div class="col-lg-4 col-md-4 col-sm-6 col-xs-12">' + textBoxes + numberBoxes + '</div>'
|
||||
+ '<div class="col-lg-4 col-md-4 col-sm-6 col-xs-12">' + checkBoxes + textAreas + '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
$('.box-content-config').html(boxBodyHTML);
|
||||
|
||||
createClickFunction();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function createClickFunction() {
|
||||
var myNodeList = document.querySelectorAll('[data-type="System.Boolean"]');
|
||||
|
||||
for (i = 0; i < myNodeList.length; i++) {
|
||||
var myID = myNodeList[i].id;
|
||||
|
||||
$('#' + myID).bind('click', function () {
|
||||
var $key = $('#' + this.id);
|
||||
|
||||
if ($key.hasClass('text-grey')) {
|
||||
$key.removeClass('text-grey');
|
||||
$key.addClass('text-olive');
|
||||
$('#ico' + this.id).removeClass('fa-rotate-180');
|
||||
$key.blur();
|
||||
} else {
|
||||
$key.removeClass('text-olive');
|
||||
$key.addClass('text-grey');
|
||||
$('#ico' + this.id).addClass('fa-rotate-180');
|
||||
$key.blur();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
//}#endregion Config Utils
|
||||
|
||||
//{#region Editor
|
||||
var globalConfig = {};
|
||||
|
||||
function loadPageContentEditor(botName) {
|
||||
if (botName === 'ASF') {
|
||||
generateConfigHTML('ASF');
|
||||
} else {
|
||||
generateConfigHTML();
|
||||
}
|
||||
|
||||
$("#saveButton").unbind();
|
||||
$("#saveButton").click(function (e) {
|
||||
swal({
|
||||
title: $.i18n('global-question-title'),
|
||||
text: $.i18n('editor-update', botName),
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonClass: 'btn-danger',
|
||||
confirmButtonText: $.i18n('editor-update-confirm'),
|
||||
closeOnConfirm: false,
|
||||
showLoaderOnConfirm: true
|
||||
}, function () { prepareConfigForSaving(botName); });
|
||||
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
$('.box-content-config').ready(function () {
|
||||
loadConfigValues(botName);
|
||||
});
|
||||
}
|
||||
|
||||
function loadConfigValues(botName) {
|
||||
var requestURL = botName === 'ASF' ? '/Api/ASF' : '/Api/Bot/' + encodeURIComponent(botName);
|
||||
|
||||
$.ajax({
|
||||
url: requestURL,
|
||||
type: 'GET',
|
||||
success: function (data) {
|
||||
var objResult = data.Result,
|
||||
config = botName === 'ASF' ? objResult.GlobalConfig : objResult[0].BotConfig;
|
||||
|
||||
globalConfig = config;
|
||||
|
||||
for (var key in config) {
|
||||
if (config.hasOwnProperty(key)) {
|
||||
var value = config[key],
|
||||
$key = $('#' + key),
|
||||
keyObj = $key[0];
|
||||
|
||||
if (typeof keyObj === 'undefined') continue;
|
||||
|
||||
var inputType = keyObj.dataset.type;
|
||||
|
||||
switch (inputType) {
|
||||
case 'System.Boolean':
|
||||
if (value) {
|
||||
$key.removeClass('text-grey');
|
||||
$key.addClass('text-olive');
|
||||
$('#ico' + key).removeClass('fa-rotate-180');
|
||||
} else {
|
||||
$key.removeClass('text-olive');
|
||||
$key.addClass('text-grey');
|
||||
$('#ico' + key).addClass('fa-rotate-180');
|
||||
}
|
||||
break;
|
||||
case 'System.UInt64':
|
||||
$key.val(config['s_' + key]);
|
||||
break;
|
||||
|
||||
case 'System.Collections.Generic.HashSet`1[System.String]':
|
||||
case 'System.Collections.Immutable.ImmutableHashSet`1[System.String]':
|
||||
$key.text(''); // Reset textarea before filling
|
||||
|
||||
for (var ipcPrefix in value) {
|
||||
if (value.hasOwnProperty(ipcPrefix)) $key.append(value[ipcPrefix] + '\n');
|
||||
}
|
||||
break;
|
||||
|
||||
case 'System.Collections.Generic.Dictionary`2[System.UInt64][ArchiSteamFarm.BotConfig+EPermission]':
|
||||
case 'System.Collections.Immutable.ImmutableDictionary`2[System.UInt64][ArchiSteamFarm.BotConfig+EPermission]':
|
||||
$key.text(''); // Reset textarea before filling
|
||||
|
||||
for (var steamID64 in value) {
|
||||
if (value.hasOwnProperty(steamID64)) $key.append(steamID64 + ':' + value[steamID64] + '\n');
|
||||
}
|
||||
break;
|
||||
default:
|
||||
$key.val(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
loadValuesForBotsDropDown(botName);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function loadValuesForBotsDropDown(botName) {
|
||||
var botsDropDownHTML = '';
|
||||
|
||||
$.ajax({
|
||||
url: '/Api/Bot/ASF',
|
||||
type: 'GET',
|
||||
success: function (data) {
|
||||
var obj = data.Result;
|
||||
|
||||
if (botName !== 'ASF') {
|
||||
botsDropDownHTML += '<li><a href="javascript:void(0)" onclick="loadPageContentEditor(\'ASF\')">ASF</a></li>';
|
||||
}
|
||||
|
||||
for (var i = 0; i < obj.length; i++) {
|
||||
var currentBot = obj[i],
|
||||
currentBotName = currentBot.BotName;
|
||||
|
||||
if (botName === currentBotName) continue;
|
||||
|
||||
botsDropDownHTML += '<li><a href="javascript:void(0)" onclick="loadPageContentEditor(\'' + currentBotName + '\')">' + currentBotName + '</a></li>';
|
||||
}
|
||||
|
||||
$('.box-title').html($.i18n('editor-current-bot', botName));
|
||||
$('#saveButton').data('BotName', botName);
|
||||
$('#botsDropDown').html(botsDropDownHTML);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function prepareConfigForSaving() {
|
||||
var botName = $('#saveButton').data('BotName'),
|
||||
config = globalConfig;
|
||||
|
||||
for (var key in config) {
|
||||
if (config.hasOwnProperty(key)) {
|
||||
var value = config[key],
|
||||
$key = $('#' + key),
|
||||
keyObj = $key[0];
|
||||
|
||||
if (typeof keyObj === 'undefined') continue;
|
||||
|
||||
var inputType = keyObj.dataset.type,
|
||||
$keyValue = $key.val();
|
||||
|
||||
switch (inputType) {
|
||||
case 'System.Boolean':
|
||||
var $keyState = $('#ico' + key).hasClass('fa-rotate-180') ? false : true;
|
||||
if ($keyState !== value) config[key] = $keyState;
|
||||
break;
|
||||
|
||||
case 'System.String':
|
||||
if ($keyValue === '') {
|
||||
$keyValue = null;
|
||||
break;
|
||||
}
|
||||
|
||||
if ($keyValue !== value) config[key] = $keyValue;
|
||||
break;
|
||||
|
||||
case 'System.UInt64':
|
||||
if ($keyValue !== config['s_' + key]) {
|
||||
delete config[key];
|
||||
config['s_' + key] = $keyValue;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'System.Collections.Generic.HashSet`1[System.UInt32]':
|
||||
case 'System.Collections.Immutable.ImmutableHashSet`1[System.UInt32]':
|
||||
if ($keyValue === '') {
|
||||
config[key] = [];
|
||||
break;
|
||||
}
|
||||
var items = $keyValue.split(',');
|
||||
if (items.map(Number) !== value) config[key] = items.map(Number);
|
||||
break;
|
||||
|
||||
case 'System.Collections.Generic.HashSet`1[System.String]':
|
||||
case 'System.Collections.Immutable.ImmutableHashSet`1[System.String]':
|
||||
var ipcprefix = [],
|
||||
lines = $key.val().split('\n');
|
||||
|
||||
for (var i = 0; i < lines.length; i++) {
|
||||
if (lines[i] !== '') ipcprefix.push(lines[i]);
|
||||
}
|
||||
|
||||
if (ipcprefix !== value) config[key] = ipcprefix;
|
||||
break;
|
||||
|
||||
case 'System.Collections.Generic.Dictionary`2[System.UInt64][ArchiSteamFarm.BotConfig+EPermission]':
|
||||
case 'System.Collections.Immutable.ImmutableDictionary`2[System.UInt64][ArchiSteamFarm.BotConfig+EPermission]':
|
||||
var steamUserPermissions = {},
|
||||
permissions = [],
|
||||
lines = $key.val().split('\n');
|
||||
|
||||
for (var i = 0; i < lines.length; i++) {
|
||||
if (lines[i] !== '') permissions.push(lines[i].split(':'));
|
||||
}
|
||||
|
||||
for (var j = 0; j < permissions.length; j++) {
|
||||
var obj = permissions[j];
|
||||
steamUserPermissions[obj[0]] = parseInt(obj[1]);
|
||||
}
|
||||
|
||||
if (steamUserPermissions !== value) config[key] = steamUserPermissions;
|
||||
break;
|
||||
|
||||
default:
|
||||
if (typeof value === 'object') {
|
||||
var objItems = $keyValue.split(',');
|
||||
if (objItems.map(Number) !== value) config[key] = objItems.map(Number);
|
||||
} else if (typeof value === 'number') {
|
||||
var number = Number($keyValue);
|
||||
if (number !== value) config[key] = number;
|
||||
} else {
|
||||
if ($keyValue !== value) config[key] = $keyValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
config = botName === 'ASF' ? { GlobalConfig: config } : { BotConfig: config };
|
||||
|
||||
saveConfig(botName, config);
|
||||
}
|
||||
|
||||
function saveConfig(botName, config) {
|
||||
var requestURL = botName === 'ASF' ? '/Api/ASF' : '/Api/Bot/' + encodeURIComponent(botName);
|
||||
|
||||
$.ajax({
|
||||
url: requestURL,
|
||||
type: 'POST',
|
||||
data: JSON.stringify(config, null, "\t"),
|
||||
contentType: 'application/json',
|
||||
success: function (data) {
|
||||
swal({
|
||||
title: $.i18n('global-success-title'),
|
||||
text: $.i18n('editor-save-confirm', botName),
|
||||
type: 'success'
|
||||
}, function () { location.reload(); });
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
swal({
|
||||
title: $.i18n('global-error-title'),
|
||||
text: jqXHR.status + ' ' + errorThrown + ' - ' + jqXHR.responseJSON.Message,
|
||||
type: 'error'
|
||||
}, function () { location.reload(); });
|
||||
}
|
||||
});
|
||||
}
|
||||
//}#endregion Editor
|
||||
|
||||
//{#region Generator
|
||||
var globalDefaultConfig = {};
|
||||
|
||||
function loadPageContentGenerator(mode) {
|
||||
if (mode === 'ASF') {
|
||||
generateConfigHTML('ASF');
|
||||
$('#GeneratorName').hide();
|
||||
} else {
|
||||
generateConfigHTML();
|
||||
$('#GeneratorName').show();
|
||||
}
|
||||
|
||||
$("#downloadButton").unbind();
|
||||
$("#downloadButton").click(function (e) {
|
||||
prepareConfigForDownload(mode);
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
$('.box-content-config').ready(function () {
|
||||
loadDefaultConfigValues(mode);
|
||||
});
|
||||
}
|
||||
|
||||
function loadDefaultConfigValues(mode) {
|
||||
var namespace = mode === 'ASF' ? 'ArchiSteamFarm.GlobalConfig' : 'ArchiSteamFarm.BotConfig';
|
||||
|
||||
$.ajax({
|
||||
url: '/Api/Structure/' + namespace,
|
||||
type: 'GET',
|
||||
success: function (data) {
|
||||
var config = data.Result;
|
||||
|
||||
globalDefaultConfig = config;
|
||||
|
||||
for (var key in config) {
|
||||
if (config.hasOwnProperty(key)) {
|
||||
var value = config[key],
|
||||
$key = $('#' + key),
|
||||
keyObj = $key[0];
|
||||
|
||||
if (typeof keyObj === 'undefined') continue;
|
||||
|
||||
var inputType = keyObj.dataset.type;
|
||||
|
||||
switch (inputType) {
|
||||
case 'System.Boolean':
|
||||
if (value) {
|
||||
$key.removeClass('text-grey');
|
||||
$key.addClass('text-olive');
|
||||
$('#ico' + key).removeClass('fa-rotate-180');
|
||||
} else {
|
||||
$key.removeClass('text-olive');
|
||||
$key.addClass('text-grey');
|
||||
$('#ico' + key).addClass('fa-rotate-180');
|
||||
}
|
||||
break;
|
||||
case 'System.UInt64':
|
||||
$key.val(config['s_' + key]);
|
||||
break;
|
||||
case 'System.Collections.Generic.Dictionary`2[System.UInt64][ArchiSteamFarm.BotConfig+EPermission]':
|
||||
case 'System.Collections.Immutable.ImmutableDictionary`2[System.UInt64][ArchiSteamFarm.BotConfig+EPermission]':
|
||||
$key.text(''); // Reset textarea before filling
|
||||
|
||||
for (var steamID64 in value) {
|
||||
if (value.hasOwnProperty(steamID64)) $key.append(steamID64 + ':' + value[steamID64] + '\n');
|
||||
}
|
||||
break;
|
||||
default:
|
||||
$key.val(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
loadValuesForModeDropDown(mode);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function loadValuesForModeDropDown(mode) {
|
||||
var botsDropDownHTML = '';
|
||||
|
||||
mode = mode !== 'ASF' ? 'Bot' : 'ASF';
|
||||
|
||||
if (mode === 'ASF') {
|
||||
botsDropDownHTML = '<li><a href="javascript:void(0)" onclick="loadPageContentGenerator();">Bot</a></li>';
|
||||
} else {
|
||||
botsDropDownHTML = '<li><a href="javascript:void(0)" onclick="loadPageContentGenerator(\'ASF\');">ASF</a></li>';
|
||||
}
|
||||
|
||||
$('.box-title').html($.i18n('generator-current-bot', mode));
|
||||
$('#modeDropDown').html(botsDropDownHTML);
|
||||
}
|
||||
|
||||
function prepareConfigForDownload(mode) {
|
||||
var config = globalDefaultConfig;
|
||||
|
||||
if (mode !== 'ASF') {
|
||||
var botName = $('#GeneratorName').val();
|
||||
|
||||
if (botName === '') {
|
||||
swal({
|
||||
title: $.i18n('global-error-title'),
|
||||
text: $.i18n('generator-name'),
|
||||
type: 'error'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
if (botName.substr(botName.length - 5) === '.json') {
|
||||
botName = botName.substr(0, botName.length - 5);
|
||||
}
|
||||
}
|
||||
|
||||
for (var key in config) {
|
||||
if (config.hasOwnProperty(key)) {
|
||||
var value = config[key],
|
||||
$key = $('#' + key),
|
||||
keyObj = $key[0];
|
||||
|
||||
if (typeof keyObj === 'undefined') continue;
|
||||
|
||||
var inputType = keyObj.dataset.type,
|
||||
$keyValue = $key.val();
|
||||
|
||||
switch (inputType) {
|
||||
case 'System.Boolean':
|
||||
var $keyState = $('#ico' + key).hasClass('fa-rotate-180') ? false : true;
|
||||
if ($keyState !== value) config[key] = $keyState;
|
||||
break;
|
||||
|
||||
case 'System.String':
|
||||
if ($keyValue === '') $keyValue = null;
|
||||
if ($keyValue !== value) config[key] = $keyValue;
|
||||
break;
|
||||
|
||||
case 'System.UInt64':
|
||||
if ($keyValue !== config['s_' + key]) {
|
||||
delete config[key];
|
||||
config['s_' + key] = $keyValue;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'System.Collections.Generic.HashSet`1[System.UInt32]':
|
||||
case 'System.Collections.Immutable.ImmutableHashSet`1[System.UInt32]':
|
||||
if ($keyValue === '') continue;
|
||||
var items = $keyValue.split(',');
|
||||
if (items.map(Number) !== value) config[key] = items.map(Number);
|
||||
break;
|
||||
|
||||
case 'System.Collections.Generic.HashSet`1[System.String]':
|
||||
case 'System.Collections.Immutable.ImmutableHashSet`1[System.String]':
|
||||
var ipcprefix = [],
|
||||
lines = $key.val().split('\n');
|
||||
|
||||
for (var i = 0; i < lines.length; i++) {
|
||||
if (lines[i] !== '') ipcprefix.push(lines[i]);
|
||||
}
|
||||
|
||||
if (ipcprefix !== value) config[key] = ipcprefix;
|
||||
break;
|
||||
|
||||
case 'System.Collections.Generic.Dictionary`2[System.UInt64][ArchiSteamFarm.BotConfig+EPermission]':
|
||||
case 'System.Collections.Immutable.ImmutableDictionary`2[System.UInt64][ArchiSteamFarm.BotConfig+EPermission]':
|
||||
var steamUserPermissions = {},
|
||||
permissions = [],
|
||||
lines = $key.val().split('\n');
|
||||
|
||||
for (var i = 0; i < lines.length; i++) {
|
||||
if (lines[i] !== '') permissions.push(lines[i].split(':'));
|
||||
}
|
||||
|
||||
for (var j = 0; j < permissions.length; j++) {
|
||||
var obj = permissions[j];
|
||||
steamUserPermissions[obj[0]] = parseInt(obj[1]);
|
||||
}
|
||||
|
||||
if (steamUserPermissions !== value) config[key] = steamUserPermissions;
|
||||
break;
|
||||
|
||||
default:
|
||||
if (typeof value === 'object') {
|
||||
var objItems = $keyValue.split(',');
|
||||
if (objItems.map(Number) !== value) config[key] = objItems.map(Number);
|
||||
} else if (typeof value === 'number') {
|
||||
var number = Number($keyValue);
|
||||
if (number !== value) config[key] = number;
|
||||
} else {
|
||||
if ($keyValue !== value) config[key] = $keyValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mode !== 'ASF') {
|
||||
downloadObjectAsJson(botName, config);
|
||||
$('#GeneratorName').val('');
|
||||
} else {
|
||||
downloadObjectAsJson('ASF', config);
|
||||
}
|
||||
}
|
||||
|
||||
function downloadObjectAsJson(filename, json) {
|
||||
var dataStr = "data:text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(json, null, "\t"));
|
||||
var downloadAnchorNode = document.createElement('a');
|
||||
downloadAnchorNode.setAttribute("href", dataStr);
|
||||
downloadAnchorNode.setAttribute("download", filename + ".json");
|
||||
downloadAnchorNode.click();
|
||||
downloadAnchorNode.remove();
|
||||
}
|
||||
//}#endregion Generator
|
||||
|
||||
//{#region Right Sidebar
|
||||
$(function () {
|
||||
'use strict';
|
||||
|
||||
var mySkins = [
|
||||
'skin-blue',
|
||||
'skin-teal',
|
||||
'skin-black',
|
||||
'skin-red',
|
||||
'skin-yellow',
|
||||
'skin-purple',
|
||||
'skin-green'
|
||||
];
|
||||
|
||||
function changeSkin(cls) {
|
||||
$.each(mySkins, function (i) {
|
||||
$('body').removeClass(mySkins[i]);
|
||||
$('[data-skin="' + mySkins[i] + '"]').removeClass('btn-badge-active');
|
||||
});
|
||||
|
||||
$('body').addClass(cls);
|
||||
$('[data-skin="' + cls + '"]').addClass('btn-badge-active');
|
||||
store('skin', cls);
|
||||
return false;
|
||||
}
|
||||
|
||||
function changeBoxed(savedLayout) {
|
||||
if (savedLayout === 'layout-boxed') {
|
||||
if ($('body').hasClass('fixed')) {
|
||||
$('body').removeClass('fixed');
|
||||
$('body').addClass('layout-boxed');
|
||||
$('#chkBoxed').bootstrapToggle('on');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function changeNightmode(savedNightmodeState) {
|
||||
if (savedNightmodeState === 'nightmode') {
|
||||
$('body').addClass('nightmode');
|
||||
$('#chkNightmode').bootstrapToggle('on');
|
||||
}
|
||||
}
|
||||
|
||||
function loadLanguageHTML() {
|
||||
var tmpLangCode = get('langCode');
|
||||
|
||||
$('#currentLanguage').attr('class', 'flag-icon');
|
||||
$('#currentLanguage').addClass('flag-icon-' + tmpLangCode);
|
||||
}
|
||||
|
||||
function loadLayout() {
|
||||
var tmpSkin = get('skin'),
|
||||
tmpLayoutState = get('layoutState'),
|
||||
tmpNightmodeState = get('nightmodeState'),
|
||||
tmpLeftSidebarState = get('leftSidebarState');
|
||||
|
||||
if (tmpSkin && $.inArray(tmpSkin, mySkins)) changeSkin(tmpSkin);
|
||||
if (tmpLeftSidebarState === 'sidebar-collapse') $('body').addClass('sidebar-collapse');
|
||||
if (tmpLayoutState) changeBoxed(tmpLayoutState);
|
||||
if (tmpNightmodeState) changeNightmode(tmpNightmodeState);
|
||||
|
||||
loadLanguageHTML();
|
||||
|
||||
$('[data-skin]').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
changeSkin($(this).data('skin'));
|
||||
});
|
||||
|
||||
$('#chkBoxed').change(function() {
|
||||
if ($('body').hasClass('fixed')) {
|
||||
$('body').removeClass('fixed');
|
||||
$('body').addClass('layout-boxed');
|
||||
store('layoutState', 'layout-boxed');
|
||||
} else {
|
||||
$('body').removeClass('layout-boxed');
|
||||
$('body').addClass('fixed');
|
||||
store('layoutState', 'fixed');
|
||||
}
|
||||
});
|
||||
|
||||
$('#chkNightmode').change(function() {
|
||||
if ($('body').hasClass('nightmode')) {
|
||||
$('body').removeClass('nightmode');
|
||||
store('nightmodeState', null);
|
||||
} else {
|
||||
$('body').addClass('nightmode');
|
||||
store('nightmodeState', 'nightmode');
|
||||
}
|
||||
});
|
||||
|
||||
$('#leftSidebar').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
var state = $('body').hasClass('sidebar-collapse') ? 'normal' : 'sidebar-collapse';
|
||||
store('leftSidebarState', state);
|
||||
});
|
||||
|
||||
$('.language-item').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
loadLocales($(this).data('locale'));
|
||||
loadLanguageHTML();
|
||||
});
|
||||
|
||||
$('#chkBoxed').bootstrapToggle();
|
||||
$('#chkNightmode').bootstrapToggle();
|
||||
}
|
||||
|
||||
// Create the menu
|
||||
var $layoutSettings = $('<div />');
|
||||
|
||||
// Layout options
|
||||
$layoutSettings.append(
|
||||
'<h4 class="control-sidebar-heading" data-i18n="global-layout">Layout</h4>'
|
||||
// Boxed Layout
|
||||
+ '<div class="form-group hidden-xs hidden-sm">'
|
||||
+ '<label class="control-sidebar-subheading">'
|
||||
+ '<input id="chkBoxed" type="checkbox" data-style="ios pull-right" data-onstyle="default" data-toggle="toggle" data-size="mini" data-on="<i class=\'far fa-square\'></i>" data-off="<i class=\'far fa-square\'></i>">'
|
||||
+ '<i class="far fa-square fa-fw"></i> <span data-i18n="global-boxed">Boxed Layout</span>'
|
||||
+ '</label>'
|
||||
+ '<p data-i18n="global-boxed-description">Toggle boxed layout</p>'
|
||||
+ '</div>'
|
||||
// Nightmode
|
||||
+ '<div class="form-group">'
|
||||
+ '<label class="control-sidebar-subheading">'
|
||||
+ '<input id="chkNightmode" type="checkbox" data-style="ios pull-right" data-onstyle="default" data-toggle="toggle" data-size="mini" data-on="<i class=\'fas fa-moon\'></i>" data-off="<i class=\'fas fa-moon\'></i>">'
|
||||
+ '<i class="fas fa-moon fa-fw"></i> <span data-i18n="global-nightmode">Nightmode</span>'
|
||||
+ '</label>'
|
||||
+ '<p data-i18n="global-nightmode-description">Toggle nightmode</p>'
|
||||
+ '</div>'
|
||||
);
|
||||
|
||||
var $skinsList = $('<ul />', { 'class': 'list-unstyled clearfix text-center' });
|
||||
|
||||
var $skinBlue = $('<li />', { style: 'float:left; width: 14%;' })
|
||||
.append('<button data-skin="skin-blue" class="clearfix full-opacity-hover btn btn-badge bg-blue"></button>');
|
||||
$skinsList.append($skinBlue);
|
||||
var $skinBlack = $('<li />', { style: 'float:left; width: 14%;' })
|
||||
.append('<button data-skin="skin-black" class="clearfix full-opacity-hover btn btn-badge bg-black"></button>');
|
||||
$skinsList.append($skinBlack);
|
||||
var $skinPurple = $('<li />', { style: 'float:left; width: 14%;' })
|
||||
.append('<button data-skin="skin-purple" class="clearfix full-opacity-hover btn btn-badge bg-purple"></button>');
|
||||
$skinsList.append($skinPurple);
|
||||
var $skinGreen = $('<li />', { style: 'float:left; width: 14%;' })
|
||||
.append('<button data-skin="skin-green" class="clearfix full-opacity-hover btn btn-badge bg-green"></button>');
|
||||
$skinsList.append($skinGreen);
|
||||
var $skinRed = $('<li />', { style: 'float:left; width: 14%;' })
|
||||
.append('<button data-skin="skin-red" class="clearfix full-opacity-hover btn btn-badge bg-red"></button>');
|
||||
$skinsList.append($skinRed);
|
||||
var $skinYellow = $('<li />', { style: 'float:left; width: 14%;' })
|
||||
.append('<button data-skin="skin-yellow" class="clearfix full-opacity-hover btn btn-badge bg-yellow"></button>');
|
||||
$skinsList.append($skinYellow);
|
||||
var $skinTeal = $('<li />', { style: 'float:left; width: 14%;' })
|
||||
.append('<button data-skin="skin-teal" class="clearfix full-opacity-hover btn btn-badge bg-teal"></button>');
|
||||
$skinsList.append($skinTeal);
|
||||
|
||||
$layoutSettings.append('<h4 class="control-sidebar-heading" data-i18n="global-skins">Skins</h4>');
|
||||
$layoutSettings.append($skinsList);
|
||||
|
||||
loadAllLanguages();
|
||||
|
||||
for (var i in availableLanguages) {
|
||||
var language = availableLanguages[i],
|
||||
langCode = (language === 'strings') ? 'us' : language.substr(language.length - 2).toLowerCase();
|
||||
|
||||
if (language === 'strings.sr-CS') langCode = 'rs'; // fix for flag-icon-css
|
||||
|
||||
$('.dropdown-language').append('<a class="language-item" href="javascript:void(0)" data-locale="' + language + '"><i class="flag-icon flag-icon-' + langCode + '"></i></a>');
|
||||
}
|
||||
|
||||
$('#control-right-sidebar').after($layoutSettings);
|
||||
|
||||
loadLayout();
|
||||
});
|
||||
//}#endregion Right Sidebar
|
|
@ -1,79 +0,0 @@
|
|||
const defaultLocale = 'strings';
|
||||
var availableLanguages = [],
|
||||
tmpLanguage = get('language'),
|
||||
myLocal = (tmpLanguage) ? tmpLanguage : getLocale(availableLanguages);
|
||||
|
||||
function getLocale(validLocales) {
|
||||
const language = navigator.language || navigator.userLanguage; // If the browser doesn't support this, it will not support other page elements as well
|
||||
if (!language) return defaultLocale; // If the browser doesn't provide the language - return default locale
|
||||
if (language.length !== 2) return validLocales.includes(language) ? language : defaultLocale; // If the language is in `xx-XX` format, check if it's valid
|
||||
if (validLocales.includes(`${language}-${language.toUpperCase()}`)) return `${language}-${language.toUpperCase()}`; // If the language is two letter code, check if corresponding 5 letter code is a valid locale
|
||||
|
||||
const languageRegex = new RegExp(`${language}\-\\\S\\\S`); // Create a regex to match `xx-**` where `*` is a wildcard
|
||||
|
||||
for (const validLocale of validLocales) {
|
||||
if (languageRegex.test(validLocale)) return validLocale; // Check if the locale matches the regex, if so, return it
|
||||
}
|
||||
|
||||
return defaultLocale; // If no match found, return default locale
|
||||
}
|
||||
|
||||
function loadLocales(language) {
|
||||
var i18n = $.i18n(),
|
||||
langCode = (language === 'strings') ? 'us' : language.substr(language.length - 2).toLowerCase(),
|
||||
translationFile;
|
||||
|
||||
i18n.locale = language;
|
||||
translationFile = '../locale/' + i18n.locale + '.json';
|
||||
i18n.load(translationFile, i18n.locale).done(
|
||||
function () {
|
||||
$.getJSON(translationFile, function (obj) {
|
||||
for (var prop in obj) {
|
||||
if (obj.hasOwnProperty(prop)) {
|
||||
if (obj[prop]) {
|
||||
if (prop.substring(0, 12) === 'placeholder-') {
|
||||
$('[data-i18n="' + prop + '"]').attr("placeholder", $.i18n(prop));
|
||||
} else if (prop.substring(0, 6) === 'title-') {
|
||||
$('[data-i18n="' + prop + '"]').attr("title", $.i18n(prop));
|
||||
} else {
|
||||
$('[data-i18n="' + prop + '"]').i18n();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// fix for bootstrap-select elements
|
||||
$('[data-id="commandsDropDown"] > .filter-option').text($.i18n('title-commands'));
|
||||
$('[data-id="botsDropDown"] > .filter-option').text($.i18n('title-bots'));
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
store('language', language);
|
||||
store('langCode', langCode);
|
||||
}
|
||||
|
||||
function loadAllLanguages() {
|
||||
$.ajax({
|
||||
url: '/Api/WWW/Directory/locale',
|
||||
type: 'GET',
|
||||
async: false,
|
||||
success: function (data) {
|
||||
var obj = data.Result;
|
||||
const languageRegex = new RegExp("strings(.[a-z]{2}-[A-Z]{2})?.json");
|
||||
|
||||
availableLanguages = [];
|
||||
|
||||
for (var prop in obj) {
|
||||
if (obj.hasOwnProperty(prop)) {
|
||||
var language = obj[prop];
|
||||
if (languageRegex.test(language))
|
||||
availableLanguages.push(language.substr(0, language.length - 5));
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
loadLocales(myLocal);
|
|
@ -1,10 +0,0 @@
|
|||
if (typeof Storage === 'undefined')
|
||||
window.alert('Please use a modern browser to properly view ASF GUI!');
|
||||
|
||||
function get(name) {
|
||||
return localStorage.getItem(name);
|
||||
}
|
||||
|
||||
function store(name, val) {
|
||||
localStorage.setItem(name, val);
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
This directory contains ASF strings for display and localization purposes.
|
||||
|
||||
All strings used by ASF can be found in main `strings.json` file, and that's also the only file that should be modified - all other files are managed automatically and should not be touched. Please visit **[localization](https://github.com/JustArchi/ArchiSteamFarm/wiki/Localization)** section on the wiki if you want to improve translation of other files.
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "",
|
||||
"auth-ipc-header": "",
|
||||
"auth-ipc-pw-saved": "",
|
||||
"auth-ipc-pw-wrong": "",
|
||||
"auth-ipc-text": "",
|
||||
"auth-title": "",
|
||||
"bots-confirm-delete": "",
|
||||
"bots-delete-success": "",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "",
|
||||
"bots-hide": "Скрий ботовете",
|
||||
"bots-hide-offline": "Офлайн ботове",
|
||||
"bots-hide-inactive": "",
|
||||
"bots-hide-online": "Онлайн ботове",
|
||||
"bots-infobox-cards": "",
|
||||
"bots-infobox-games": "",
|
||||
"bots-infobox-time": "",
|
||||
"bots-in-use": "В момента се ползва бот.",
|
||||
"bots-paused": "",
|
||||
"bots-pause-success": "",
|
||||
"bots-recover-files": "",
|
||||
"bots-redeem-add-button": "",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "",
|
||||
"bots-redeem-add-title": "",
|
||||
"bots-redeem-unused-title": "",
|
||||
"bots-redeem-used-title": "",
|
||||
"bots-resume-success": "",
|
||||
"bots-start-success": "",
|
||||
"bots-stop-success": "",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "ASF | Ботове",
|
||||
"commands-response": "",
|
||||
"commands-sent": "",
|
||||
"commands-title": "ASF | Команди",
|
||||
"commands-waiting": "",
|
||||
"editor-change": "Промяна на бот",
|
||||
"editor-current": "В момента се редактира:",
|
||||
"editor-current-bot": "",
|
||||
"editor-save": "Запази",
|
||||
"editor-save-confirm": "",
|
||||
"editor-title": "ASF | Редактор на настройките",
|
||||
"editor-update": "",
|
||||
"editor-update-confirm": "",
|
||||
"generator-change": "Промяна на режима",
|
||||
"generator-current": "Текущ режим:",
|
||||
"generator-current-bot": "",
|
||||
"generator-download": "Изтегляне",
|
||||
"generator-name": "",
|
||||
"generator-title": "ASF | Генератор на настройките",
|
||||
"global-bots": "Ботове",
|
||||
"global-boxed": "Затворено оформление",
|
||||
"global-boxed-description": "",
|
||||
"global-change-language": "",
|
||||
"global-changelog": "Списък на промените",
|
||||
"global-commands": "Команди",
|
||||
"global-config": "Конфигурация",
|
||||
"global-control-panel": "Контролен панел",
|
||||
"global-editor": "Редактор",
|
||||
"global-error-invalid-pw": "",
|
||||
"global-error-title": "",
|
||||
"global-generator": "Генератор",
|
||||
"global-home": "Начало",
|
||||
"global-information": "Информация",
|
||||
"global-layout": "Оформление",
|
||||
"global-log": "Регистър",
|
||||
"global-navigation": "Превключване на навигация",
|
||||
"global-nightmode": "Нощен режим",
|
||||
"global-nightmode-description": "",
|
||||
"global-question-title": "",
|
||||
"global-ram-usage": "Употреба на RAM",
|
||||
"global-skins": "Скинове",
|
||||
"global-success-title": "Успешно!",
|
||||
"global-uptime": "Продължителност на работа",
|
||||
"global-version": "Версия",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "",
|
||||
"log-title": "ASF | Регистър",
|
||||
"placeholder-auth": "",
|
||||
"placeholder-commands": "",
|
||||
"placeholder-generator": "Име",
|
||||
"title-commands": "Команди",
|
||||
"title-bots": "Ботове"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "Nepodařilo se vám mnohokrát ověřit, prosím vyzkoušejte to později.",
|
||||
"auth-ipc-header": "IPC Heslo vyžadováno",
|
||||
"auth-ipc-pw-saved": "Vaše IPC heslo bylo uloženo.",
|
||||
"auth-ipc-pw-wrong": "Vaše IPC heslo je špatné, vyzkoušejte to znova!",
|
||||
"auth-ipc-text": "Prosím zadejte správné IPC heslo",
|
||||
"auth-title": "ASF | Autentizace",
|
||||
"bots-confirm-delete": "Ano, vymaž bota!",
|
||||
"bots-delete-success": "<$1> a všechny souvisící soubory byly smazány.",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "Není nic ke stažení!",
|
||||
"bots-hide": "Skrýt boty",
|
||||
"bots-hide-offline": "Offline boti",
|
||||
"bots-hide-inactive": "Neaktivní boti",
|
||||
"bots-hide-online": "Online boti",
|
||||
"bots-infobox-cards": "Zbývající karty",
|
||||
"bots-infobox-games": "Zbývající hry",
|
||||
"bots-infobox-time": "Zbývající čas",
|
||||
"bots-in-use": "Bot je právě použiván.",
|
||||
"bots-paused": "Bot je pauznutý.",
|
||||
"bots-pause-success": "<$1> byl pauznut.",
|
||||
"bots-recover-files": "Nebudeš schopný zobrazit žádné soubory bota!",
|
||||
"bots-redeem-add-button": "Přidej klíče",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "",
|
||||
"bots-redeem-add-title": "Přidej klíče",
|
||||
"bots-redeem-unused-title": "Zobrazit použité klíče",
|
||||
"bots-redeem-used-title": "Zobrazit použité klíče",
|
||||
"bots-resume-success": "<$1> byl obnoven.",
|
||||
"bots-start-success": "<$1> byl aktivován.",
|
||||
"bots-stop-success": "<$1> byl zastaven.",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "ASF | Boti",
|
||||
"commands-response": "$1 Odpověd obdržená: $2",
|
||||
"commands-sent": "$1 Příkaz odeslán: $2",
|
||||
"commands-title": "ASF | Příkazy",
|
||||
"commands-waiting": "$1 Čekání na odpověď...",
|
||||
"editor-change": "Změnit bota",
|
||||
"editor-current": "Aktuálně se mění:",
|
||||
"editor-current-bot": "Aktuálně se mění: <b>$1</b>",
|
||||
"editor-save": "Uložit",
|
||||
"editor-save-confirm": "<$1> a jeho nastavení byly aktualizovány.",
|
||||
"editor-title": "ASF | Editor konfigurace",
|
||||
"editor-update": "Konfigurace bude aktualizována a <$1> bude restartován!",
|
||||
"editor-update-confirm": "Ano, aktualizuj konfiguraci!",
|
||||
"generator-change": "Změnit mód",
|
||||
"generator-current": "Aktuální mód:",
|
||||
"generator-current-bot": "Aktuální mód: <b>$1</b>",
|
||||
"generator-download": "Stáhnout",
|
||||
"generator-name": "Musíte zadat jméno!",
|
||||
"generator-title": "ASF | Generátor Konfigurace",
|
||||
"global-bots": "Boti",
|
||||
"global-boxed": "Čtvercové rozložení",
|
||||
"global-boxed-description": "Zapnout čtvercové rozložení",
|
||||
"global-change-language": "Změnit jazyk",
|
||||
"global-changelog": "Seznam změn",
|
||||
"global-commands": "Příkazy",
|
||||
"global-config": "Konfigurace",
|
||||
"global-control-panel": "Ovládací panel",
|
||||
"global-editor": "Editor",
|
||||
"global-error-invalid-pw": "Musíte zadat platné heslo!",
|
||||
"global-error-title": "Chyba!",
|
||||
"global-generator": "Generátor",
|
||||
"global-home": "Domovská stránka",
|
||||
"global-information": "Informace",
|
||||
"global-layout": "Rozložení",
|
||||
"global-log": "Záznamy",
|
||||
"global-navigation": "Přepnout navigaci",
|
||||
"global-nightmode": "Noční režim",
|
||||
"global-nightmode-description": "Zapnout noční režim",
|
||||
"global-question-title": "Jste si jisti?",
|
||||
"global-ram-usage": "Využití paměti RAM",
|
||||
"global-skins": "Skiny",
|
||||
"global-success-title": "Hotovo.",
|
||||
"global-uptime": "Doba provozu",
|
||||
"global-version": "Verze",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "Kód události: $1",
|
||||
"log-title": "ASF | Log",
|
||||
"placeholder-auth": "Zadejte heslo...",
|
||||
"placeholder-commands": "Zadejte příkaz...",
|
||||
"placeholder-generator": "Jméno",
|
||||
"title-commands": "Příkazy",
|
||||
"title-bots": "Boti"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "",
|
||||
"auth-ipc-header": "Kræver IPC adgangskode",
|
||||
"auth-ipc-pw-saved": "Din IPC adgangskode er blevet gemt.",
|
||||
"auth-ipc-pw-wrong": "Din IPC adgangskode synes at være forkert, prøv igen!",
|
||||
"auth-ipc-text": "Angiv venligst den korrekte IPC adgangskode",
|
||||
"auth-title": "ASF | Verificering",
|
||||
"bots-confirm-delete": "Ja, slet den bot!",
|
||||
"bots-delete-success": "<$1> og alle relaterede filer er blevet slettet.",
|
||||
"bots-delimiter": "Afgrænser",
|
||||
"bots-download": "Der er intet at downloade!",
|
||||
"bots-hide": "Skjul bots",
|
||||
"bots-hide-offline": "Offline bots",
|
||||
"bots-hide-inactive": "Inaktive bots",
|
||||
"bots-hide-online": "Online bots",
|
||||
"bots-infobox-cards": "Kort tilbage",
|
||||
"bots-infobox-games": "Spil tilbage",
|
||||
"bots-infobox-time": "Tid tilbage",
|
||||
"bots-in-use": "Botten bruges i øjeblikket.",
|
||||
"bots-paused": "Bot er sat på pause.",
|
||||
"bots-pause-success": "<$1> er sat på pause.",
|
||||
"bots-recover-files": "Du vil ikke kunne genoprette nogen bot filer!",
|
||||
"bots-redeem-add-button": "Tilføje nøgler",
|
||||
"bots-redeem-unused-button": "Download $1.keys.unused",
|
||||
"bots-redeem-used-button": "Download $1.keys.used",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "Produktaktivering i baggrunden",
|
||||
"bots-redeem-add-title": "Tilføje nøgler",
|
||||
"bots-redeem-unused-title": "Vis ubrugte nøgler",
|
||||
"bots-redeem-used-title": "Vis brugte nøgler",
|
||||
"bots-resume-success": "<$1> er genoptaget.",
|
||||
"bots-start-success": "<$1> er blevet startet.",
|
||||
"bots-stop-success": "<$1> er blevet stoppet.",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "ASF | Bots",
|
||||
"commands-response": "$1 Svar modtaget: $2",
|
||||
"commands-sent": "$1 Kommando sendt: $2",
|
||||
"commands-title": "ASF | Kommandoer",
|
||||
"commands-waiting": "$1 Venter på svar...",
|
||||
"editor-change": "Skift bot",
|
||||
"editor-current": "I øjeblikket redigeres:",
|
||||
"editor-current-bot": "I øjeblikket redigering: <b>$1</b>",
|
||||
"editor-save": "Gem",
|
||||
"editor-save-confirm": "<$1> og dens konfig fil blev opdateret.",
|
||||
"editor-title": "ASF | Konfigurations Editor",
|
||||
"editor-update": "Kofigurationen vil blive opdateret og <$1> vil blive genstartet!",
|
||||
"editor-update-confirm": "Ja, opdatere konfig!",
|
||||
"generator-change": "Ændr modus",
|
||||
"generator-current": "Nuværende modus:",
|
||||
"generator-current-bot": "Nuværende tilstand: <b>$1</b>",
|
||||
"generator-download": "Download",
|
||||
"generator-name": "Du skal angive et navn!",
|
||||
"generator-title": "ASF | Konfigurationsgenerator",
|
||||
"global-bots": "Bots",
|
||||
"global-boxed": "Boxed Layout",
|
||||
"global-boxed-description": "Skift boxed layout",
|
||||
"global-change-language": "Skift sprog",
|
||||
"global-changelog": "Ændringslog",
|
||||
"global-commands": "Kommandoer",
|
||||
"global-config": "Konfiguration",
|
||||
"global-control-panel": "Kontrolpanel",
|
||||
"global-editor": "Redigeringsværktøj",
|
||||
"global-error-invalid-pw": "Du skal angive en gyldig adgangskode!",
|
||||
"global-error-title": "Fejl!",
|
||||
"global-generator": "Generator",
|
||||
"global-home": "Hjem",
|
||||
"global-information": "Information",
|
||||
"global-layout": "Layout",
|
||||
"global-log": "Log",
|
||||
"global-navigation": "Skift navigation",
|
||||
"global-nightmode": "Nattilstand",
|
||||
"global-nightmode-description": "Skift nattilstand",
|
||||
"global-question-title": "Er du sikker?",
|
||||
"global-ram-usage": "RAM-forbrug",
|
||||
"global-skins": "Udseende",
|
||||
"global-success-title": "Lykkedes!",
|
||||
"global-uptime": "Oppetid",
|
||||
"global-version": "Version",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "Begivenhed kode: $1",
|
||||
"log-title": "ASF | Log",
|
||||
"placeholder-auth": "Skriv din adgangskode...",
|
||||
"placeholder-commands": "Skriv kommandoen...",
|
||||
"placeholder-generator": "Navn",
|
||||
"title-commands": "Kommandoer",
|
||||
"title-bots": "Bots"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "Du hast dich zu oft fehlerhaft authentifiziert. Bitte versuche es in einer Stunde erneut.",
|
||||
"auth-ipc-header": "IPC-Passwort erforderlich",
|
||||
"auth-ipc-pw-saved": "Dein IPC-Passwort wurde gespeichert.",
|
||||
"auth-ipc-pw-wrong": "Dein IPC-Passwort scheint falsch zu sein, versuche es erneut!",
|
||||
"auth-ipc-text": "Bitte gib das richtige IPC-Passwort ein",
|
||||
"auth-title": "ASF | Authentifizierung",
|
||||
"bots-confirm-delete": "Ja, den Bot wirklich löschen!",
|
||||
"bots-delete-success": "<$1> und alle damit zusammenhängenden Dateien wurden gelöscht.",
|
||||
"bots-delimiter": "Trennzeichen",
|
||||
"bots-download": "Es gibt nichts zum herunterladen!",
|
||||
"bots-hide": "Bots ausblenden",
|
||||
"bots-hide-offline": "Offline Bots",
|
||||
"bots-hide-inactive": "Inaktive Bots",
|
||||
"bots-hide-online": "Online Bots",
|
||||
"bots-infobox-cards": "Verbleibenden Karten",
|
||||
"bots-infobox-games": "Verbleibenden Spiele",
|
||||
"bots-infobox-time": "Verbleibende Zeit",
|
||||
"bots-in-use": "Bot wird zurzeit benutzt.",
|
||||
"bots-paused": "Bot ist pausiert.",
|
||||
"bots-pause-success": "<$1> wurde pausiert.",
|
||||
"bots-recover-files": "Es wird dir nicht möglich sein, irgendwelche Bot-Dateien wiederherzustellen!",
|
||||
"bots-redeem-add-button": "Schlüssel hinzufügen",
|
||||
"bots-redeem-unused-button": "$1.keys.unused herunterladen",
|
||||
"bots-redeem-used-button": "$1.keys.used herunterladen",
|
||||
"bots-redeem-confirm": "$1 {{PLURAL:$1|Schlüssel wurde|Schlüssel wurden}} zu <$2> zum Einlösen im Hintergrund hinzugefügt.",
|
||||
"bots-redeem-title": "Hintergrund-Key-Einlöser",
|
||||
"bots-redeem-add-title": "Schlüssel hinzufügen",
|
||||
"bots-redeem-unused-title": "Unbenutzte Schlüssel anzeigen",
|
||||
"bots-redeem-used-title": "Benutzte Schlüssel anzeigen",
|
||||
"bots-resume-success": "<$1> wurde fortgesetzt.",
|
||||
"bots-start-success": "<$1> wurde gestartet.",
|
||||
"bots-stop-success": "<$1> wurde gestoppt.",
|
||||
"bots-syntax": "Syntax: Spielname{Trennzeichen}Schlüssel",
|
||||
"bots-title": "ASF | Bots",
|
||||
"commands-response": "$1 Antwort erhalten: $2",
|
||||
"commands-sent": "$1 Kommando gesendet: $2",
|
||||
"commands-title": "ASF | Kommandos",
|
||||
"commands-waiting": "$1 Warte auf Antwort...",
|
||||
"editor-change": "Bot wechseln",
|
||||
"editor-current": "Derzeit in Bearbeitung:",
|
||||
"editor-current-bot": "Derzeit in Bearbeitung: <b>$1</b>",
|
||||
"editor-save": "Speichern",
|
||||
"editor-save-confirm": "<$1> und die dazugehörige Konfigdatei wurde aktualisiert.",
|
||||
"editor-title": "ASF | Konfig Editor",
|
||||
"editor-update": "Die Konfigdatei wird aktualisiert und <$1> wird neugestartet!",
|
||||
"editor-update-confirm": "Ja, Konfigdatei aktualisieren!",
|
||||
"generator-change": "Modus wechseln",
|
||||
"generator-current": "Aktueller Modus:",
|
||||
"generator-current-bot": "Aktueller Modus: <b>$1</b>",
|
||||
"generator-download": "Herunterladen",
|
||||
"generator-name": "Du musst einen Namen eingeben!",
|
||||
"generator-title": "ASF | Konfig Generator",
|
||||
"global-bots": "Bots",
|
||||
"global-boxed": "Kompakte Ansicht",
|
||||
"global-boxed-description": "Kompakte Ansicht umschalten",
|
||||
"global-change-language": "Sprache ändern",
|
||||
"global-changelog": "Änderungsprotokoll",
|
||||
"global-commands": "Kommandos",
|
||||
"global-config": "Konfig",
|
||||
"global-control-panel": "Schalttafel",
|
||||
"global-editor": "Editor",
|
||||
"global-error-invalid-pw": "Du musst ein gültiges Passwort eingeben!",
|
||||
"global-error-title": "Fehler!",
|
||||
"global-generator": "Generator",
|
||||
"global-home": "Startseite",
|
||||
"global-information": "Informationen",
|
||||
"global-layout": "Layout",
|
||||
"global-log": "Protokoll",
|
||||
"global-navigation": "Navigation umschalten",
|
||||
"global-nightmode": "Nachtmodus",
|
||||
"global-nightmode-description": "Nachtmodus umschalten",
|
||||
"global-question-title": "Bist du sicher?",
|
||||
"global-ram-usage": "RAM-Auslastung",
|
||||
"global-skins": "Designs",
|
||||
"global-success-title": "Erfolg!",
|
||||
"global-uptime": "Betriebszeit",
|
||||
"global-version": "Version",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "Ereigniscode: $1",
|
||||
"log-title": "ASF | Protokoll",
|
||||
"placeholder-auth": "Gib dein Passwort ein...",
|
||||
"placeholder-commands": "Kommando eingeben...",
|
||||
"placeholder-generator": "Name",
|
||||
"title-commands": "Kommandos",
|
||||
"title-bots": "Bots"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "",
|
||||
"auth-ipc-header": "",
|
||||
"auth-ipc-pw-saved": "",
|
||||
"auth-ipc-pw-wrong": "",
|
||||
"auth-ipc-text": "",
|
||||
"auth-title": "",
|
||||
"bots-confirm-delete": "",
|
||||
"bots-delete-success": "",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "",
|
||||
"bots-hide": "Απόκρυψη bot",
|
||||
"bots-hide-offline": "Αποσυνδεδεμένα bot",
|
||||
"bots-hide-inactive": "",
|
||||
"bots-hide-online": "Συνδεδεμένα bot",
|
||||
"bots-infobox-cards": "",
|
||||
"bots-infobox-games": "",
|
||||
"bots-infobox-time": "",
|
||||
"bots-in-use": "Το bot χρησιμοποιείται αυτή τη στιγμή.",
|
||||
"bots-paused": "",
|
||||
"bots-pause-success": "",
|
||||
"bots-recover-files": "",
|
||||
"bots-redeem-add-button": "",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "",
|
||||
"bots-redeem-add-title": "",
|
||||
"bots-redeem-unused-title": "",
|
||||
"bots-redeem-used-title": "",
|
||||
"bots-resume-success": "",
|
||||
"bots-start-success": "",
|
||||
"bots-stop-success": "",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "ASF | Bot",
|
||||
"commands-response": "",
|
||||
"commands-sent": "",
|
||||
"commands-title": "ASF | Εντολές",
|
||||
"commands-waiting": "",
|
||||
"editor-change": "Αλλαγή bot",
|
||||
"editor-current": "Επεξεργάζεστε το:",
|
||||
"editor-current-bot": "",
|
||||
"editor-save": "Αποθήκευση",
|
||||
"editor-save-confirm": "",
|
||||
"editor-title": "ASF | Επεξεργαστής ρυθμίσεων",
|
||||
"editor-update": "",
|
||||
"editor-update-confirm": "",
|
||||
"generator-change": "Αλλαγή λειτουργίας",
|
||||
"generator-current": "Τρέχουσα λειτουργία:",
|
||||
"generator-current-bot": "",
|
||||
"generator-download": "Λήψη",
|
||||
"generator-name": "",
|
||||
"generator-title": "ASF | Δημιουργός ρυθμίσεων",
|
||||
"global-bots": "Bot",
|
||||
"global-boxed": "Διάταξη πλαισίου",
|
||||
"global-boxed-description": "",
|
||||
"global-change-language": "",
|
||||
"global-changelog": "Αρχείο αλλαγών",
|
||||
"global-commands": "Εντολές",
|
||||
"global-config": "Ρυθμίσεις",
|
||||
"global-control-panel": "Πίνακας ελέγχου",
|
||||
"global-editor": "Επεξεργαστής",
|
||||
"global-error-invalid-pw": "",
|
||||
"global-error-title": "",
|
||||
"global-generator": "Δημιουργός",
|
||||
"global-home": "Αρχική",
|
||||
"global-information": "Πληροφορίες",
|
||||
"global-layout": "Διάταξη",
|
||||
"global-log": "Αρχείο καταγραφής",
|
||||
"global-navigation": "Εναλλαγή πλοήγησης",
|
||||
"global-nightmode": "Νυχτερινή λειτουργία",
|
||||
"global-nightmode-description": "",
|
||||
"global-question-title": "",
|
||||
"global-ram-usage": "Χρήση RAM",
|
||||
"global-skins": "Θέματα",
|
||||
"global-success-title": "Επιτυχία!",
|
||||
"global-uptime": "Χρόνος σε λειτουργία",
|
||||
"global-version": "Έκδοση",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "",
|
||||
"log-title": "ASF | Αρχείο καταγραφής",
|
||||
"placeholder-auth": "",
|
||||
"placeholder-commands": "",
|
||||
"placeholder-generator": "Όνομα",
|
||||
"title-commands": "Εντολές",
|
||||
"title-bots": "Bot"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "No se ha podido identificar correctamente demasiadas veces, intentelo de nuevo en una hora.",
|
||||
"auth-ipc-header": "Contraseña de IPC requerida",
|
||||
"auth-ipc-pw-saved": "Su contraseña IPC ha sido guardada.",
|
||||
"auth-ipc-pw-wrong": "Su contraseña IPC parece ser incorrecta, inténtelo de nuevo!",
|
||||
"auth-ipc-text": "Por favor introduzca la contraseña IPC correcta",
|
||||
"auth-title": "ASF | Autentificación",
|
||||
"bots-confirm-delete": "¡Sí, eliminar bot!",
|
||||
"bots-delete-success": "<$1> y todos los ficheros relacionados han sido eliminados.",
|
||||
"bots-delimiter": "Separador",
|
||||
"bots-download": "¡No hay nada para descargar!",
|
||||
"bots-hide": "Ocultar bots",
|
||||
"bots-hide-offline": "Bots sin conexión",
|
||||
"bots-hide-inactive": "Bots inactivos",
|
||||
"bots-hide-online": "Bots en línea",
|
||||
"bots-infobox-cards": "Cromos restantes",
|
||||
"bots-infobox-games": "Juegos restantes",
|
||||
"bots-infobox-time": "Tiempo restante",
|
||||
"bots-in-use": "El bot se está utilizando actualmente.",
|
||||
"bots-paused": "El bot está pausado.",
|
||||
"bots-pause-success": "<$1> ha sido pausado.",
|
||||
"bots-recover-files": "¡No podrás recuperar los archivos del bot!",
|
||||
"bots-redeem-add-button": "Agregar claves",
|
||||
"bots-redeem-unused-button": "Descargar $1.keys.unused",
|
||||
"bots-redeem-used-button": "Descargar $1.keys.used",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "",
|
||||
"bots-redeem-add-title": "Agregar claves",
|
||||
"bots-redeem-unused-title": "Ver claves sin uso",
|
||||
"bots-redeem-used-title": "Ver claves usadas",
|
||||
"bots-resume-success": "<$1> ha sido pausado.",
|
||||
"bots-start-success": "<$1> se ha iniciado.",
|
||||
"bots-stop-success": "<$1> ha sido pausado.",
|
||||
"bots-syntax": "Sintaxis: nombreJuego{delimiter}clave",
|
||||
"bots-title": "ASF | Bots",
|
||||
"commands-response": "$1 Respuesta recibida: $2",
|
||||
"commands-sent": "Envía comando de $1: $2",
|
||||
"commands-title": "ASF | Comandos",
|
||||
"commands-waiting": "$1 Esperando una respuesta...",
|
||||
"editor-change": "Cambiar bot",
|
||||
"editor-current": "Actualmente editando:",
|
||||
"editor-current-bot": "Editando: <b>$1</b>",
|
||||
"editor-save": "Guardar",
|
||||
"editor-save-confirm": "Se ha actualizado <$1> y su fichero de configuración.",
|
||||
"editor-title": "ASF | Editor de configuración",
|
||||
"editor-update": "La configuración se actualizará y <$1> se reiniciará!",
|
||||
"editor-update-confirm": "¡Sí, actualizar configuración!",
|
||||
"generator-change": "Cambiar modo",
|
||||
"generator-current": "Modo actual:",
|
||||
"generator-current-bot": "Modo actual: <b>$1</b>",
|
||||
"generator-download": "Descarga",
|
||||
"generator-name": "¡Debes ingresar un nombre!",
|
||||
"generator-title": "ASF | Generador de configuración",
|
||||
"global-bots": "Bots",
|
||||
"global-boxed": "Diseño encajonado",
|
||||
"global-boxed-description": "",
|
||||
"global-change-language": "Cambiar lenguaje",
|
||||
"global-changelog": "Registro de cambios",
|
||||
"global-commands": "Comandos",
|
||||
"global-config": "Ajustes",
|
||||
"global-control-panel": "Panel de control",
|
||||
"global-editor": "Editor",
|
||||
"global-error-invalid-pw": "¡Debes ingresar una contraseña válida!",
|
||||
"global-error-title": "¡Error!",
|
||||
"global-generator": "Generador",
|
||||
"global-home": "Inicio",
|
||||
"global-information": "Información",
|
||||
"global-layout": "Diseño",
|
||||
"global-log": "Registro",
|
||||
"global-navigation": "Cambiar modo de navegación",
|
||||
"global-nightmode": "Modo nocturno",
|
||||
"global-nightmode-description": "Alternar modo nocturno",
|
||||
"global-question-title": "¿Estás seguro?",
|
||||
"global-ram-usage": "Consumo de RAM",
|
||||
"global-skins": "Temas",
|
||||
"global-success-title": "¡Éxito!",
|
||||
"global-uptime": "Tiempo en funcionamiento",
|
||||
"global-version": "Versión",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "Código de evento: $1",
|
||||
"log-title": "ASF | Registro",
|
||||
"placeholder-auth": "Escribe tu contraseña...",
|
||||
"placeholder-commands": "Escriba el comando...",
|
||||
"placeholder-generator": "Nombre",
|
||||
"title-commands": "Comandos",
|
||||
"title-bots": "Bots"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "",
|
||||
"auth-ipc-header": "",
|
||||
"auth-ipc-pw-saved": "",
|
||||
"auth-ipc-pw-wrong": "",
|
||||
"auth-ipc-text": "",
|
||||
"auth-title": "",
|
||||
"bots-confirm-delete": "",
|
||||
"bots-delete-success": "",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "",
|
||||
"bots-hide": "Piilota botit",
|
||||
"bots-hide-offline": "Offline botit",
|
||||
"bots-hide-inactive": "",
|
||||
"bots-hide-online": "Online botit",
|
||||
"bots-infobox-cards": "",
|
||||
"bots-infobox-games": "",
|
||||
"bots-infobox-time": "",
|
||||
"bots-in-use": "Botti ei ole tällä hetkellä käytössä.",
|
||||
"bots-paused": "",
|
||||
"bots-pause-success": "",
|
||||
"bots-recover-files": "",
|
||||
"bots-redeem-add-button": "",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "",
|
||||
"bots-redeem-add-title": "",
|
||||
"bots-redeem-unused-title": "",
|
||||
"bots-redeem-used-title": "",
|
||||
"bots-resume-success": "",
|
||||
"bots-start-success": "",
|
||||
"bots-stop-success": "",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "ASF |Botit",
|
||||
"commands-response": "",
|
||||
"commands-sent": "",
|
||||
"commands-title": "ASF | Komennot",
|
||||
"commands-waiting": "",
|
||||
"editor-change": "Vaihda bottia",
|
||||
"editor-current": "Tällä hetkellä muokataan:",
|
||||
"editor-current-bot": "",
|
||||
"editor-save": "Tallenna",
|
||||
"editor-save-confirm": "",
|
||||
"editor-title": "ASF |Asetus editori",
|
||||
"editor-update": "",
|
||||
"editor-update-confirm": "",
|
||||
"generator-change": "Vaihda tilaa",
|
||||
"generator-current": "Tämänhetkinen tila:",
|
||||
"generator-current-bot": "",
|
||||
"generator-download": "Lataa",
|
||||
"generator-name": "",
|
||||
"generator-title": "ASF |Asetus generaattori",
|
||||
"global-bots": "Botit",
|
||||
"global-boxed": "",
|
||||
"global-boxed-description": "",
|
||||
"global-change-language": "",
|
||||
"global-changelog": "Päivityshistoria",
|
||||
"global-commands": "Komennot",
|
||||
"global-config": "Asetukset",
|
||||
"global-control-panel": "Ohjauspaneli",
|
||||
"global-editor": "Editori",
|
||||
"global-error-invalid-pw": "",
|
||||
"global-error-title": "",
|
||||
"global-generator": "Generaattori",
|
||||
"global-home": "Aloitus",
|
||||
"global-information": "Tiedot",
|
||||
"global-layout": "Asettelu",
|
||||
"global-log": "Loki",
|
||||
"global-navigation": "Näytä/piilota navigointi",
|
||||
"global-nightmode": "Yötila",
|
||||
"global-nightmode-description": "",
|
||||
"global-question-title": "",
|
||||
"global-ram-usage": "RAM:in käyttö",
|
||||
"global-skins": "Skinit",
|
||||
"global-success-title": "Valmis!",
|
||||
"global-uptime": "Käynnissäoloaika",
|
||||
"global-version": "Versio",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "",
|
||||
"log-title": "ASF | Loki",
|
||||
"placeholder-auth": "",
|
||||
"placeholder-commands": "",
|
||||
"placeholder-generator": "Nimi",
|
||||
"title-commands": "Komennot",
|
||||
"title-bots": "Botit"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "L'authentification a échoué trop de fois, réessayez dans une heure.",
|
||||
"auth-ipc-header": "Mot de passe IPC requis",
|
||||
"auth-ipc-pw-saved": "Votre mot de passe IPC a été enregistré.",
|
||||
"auth-ipc-pw-wrong": "Votre mot de passe IPC semble incorrect, essayez encore !",
|
||||
"auth-ipc-text": "Veuillez entrer le mot de passe IPC correct",
|
||||
"auth-title": "ASF | Authentification",
|
||||
"bots-confirm-delete": "Oui, supprimer le bot !",
|
||||
"bots-delete-success": "<$1> et ses fichiers relatifs ont été supprimés.",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "Il n'y a rien à télécharger!",
|
||||
"bots-hide": "Masquer les bots",
|
||||
"bots-hide-offline": "Bots hors-ligne",
|
||||
"bots-hide-inactive": "Bots inactifs",
|
||||
"bots-hide-online": "Bots en ligne",
|
||||
"bots-infobox-cards": "Cartes restantes",
|
||||
"bots-infobox-games": "Jeux restants",
|
||||
"bots-infobox-time": "Temps restant",
|
||||
"bots-in-use": "Le bot est actuellement utilisé.",
|
||||
"bots-paused": "Bot en pause.",
|
||||
"bots-pause-success": "<$1> a été mis en pause.",
|
||||
"bots-recover-files": "Vous ne pourrez récupérer aucun fichier de bot !",
|
||||
"bots-redeem-add-button": "",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "Activateur de Jeux de Fond",
|
||||
"bots-redeem-add-title": "",
|
||||
"bots-redeem-unused-title": "",
|
||||
"bots-redeem-used-title": "",
|
||||
"bots-resume-success": "<$1> a été réactivé.",
|
||||
"bots-start-success": "<$1> a été démarré.",
|
||||
"bots-stop-success": "<$1> a été arrêté.",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "ASF | Bots",
|
||||
"commands-response": "$1 Réponse reçue : $2",
|
||||
"commands-sent": "$1 Commande envoyée : $2",
|
||||
"commands-title": "ASF | Commandes",
|
||||
"commands-waiting": "$1 En attente de réponse...",
|
||||
"editor-change": "Changer de bot",
|
||||
"editor-current": "En train d'éditer :",
|
||||
"editor-current-bot": "Édition en cours : <b>$1</b>",
|
||||
"editor-save": "Sauvegarder",
|
||||
"editor-save-confirm": "<$1> et son fichier de configuration mis à jour.",
|
||||
"editor-title": "ASF | Éditeur de configuration",
|
||||
"editor-update": "La configuration sera mise à jour et <$1> redémarrera !",
|
||||
"editor-update-confirm": "Oui, mettre à jour la configuration !",
|
||||
"generator-change": "Changer de mode",
|
||||
"generator-current": "Mode actuel :",
|
||||
"generator-current-bot": "Mode actuel : <b>$1</b>",
|
||||
"generator-download": "Téléchargement",
|
||||
"generator-name": "",
|
||||
"generator-title": "ASF | Générateur de config",
|
||||
"global-bots": "Bots",
|
||||
"global-boxed": "Mise en page en boîtes",
|
||||
"global-boxed-description": "Basculer l'interface en boîtes",
|
||||
"global-change-language": "Changer la langue",
|
||||
"global-changelog": "Liste des changements",
|
||||
"global-commands": "Commandes",
|
||||
"global-config": "Configuration",
|
||||
"global-control-panel": "Panneau de Configuration",
|
||||
"global-editor": "Editeur",
|
||||
"global-error-invalid-pw": "",
|
||||
"global-error-title": "Erreur !",
|
||||
"global-generator": "Générateur",
|
||||
"global-home": "Accueil",
|
||||
"global-information": "Information",
|
||||
"global-layout": "Mise en page",
|
||||
"global-log": "Log",
|
||||
"global-navigation": "Activer navigation",
|
||||
"global-nightmode": "Mode nuit",
|
||||
"global-nightmode-description": "Basculer le mode nuit",
|
||||
"global-question-title": "Êtes-vous sûr ?",
|
||||
"global-ram-usage": "Utilisation de la RAM",
|
||||
"global-skins": "Thèmes",
|
||||
"global-success-title": "Succès !",
|
||||
"global-uptime": "Temps d'activité",
|
||||
"global-version": "Version",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "Code d’événement : $1",
|
||||
"log-title": "ASF | Log",
|
||||
"placeholder-auth": "Tapez votre mot de passe...",
|
||||
"placeholder-commands": "Tapez une commande...",
|
||||
"placeholder-generator": "Nom",
|
||||
"title-commands": "Commandes",
|
||||
"title-bots": "Bots"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "",
|
||||
"auth-ipc-header": "",
|
||||
"auth-ipc-pw-saved": "",
|
||||
"auth-ipc-pw-wrong": "",
|
||||
"auth-ipc-text": "",
|
||||
"auth-title": "",
|
||||
"bots-confirm-delete": "",
|
||||
"bots-delete-success": "",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "",
|
||||
"bots-hide": "להחביא בוטים",
|
||||
"bots-hide-offline": "בוטים לא מקוונים",
|
||||
"bots-hide-inactive": "",
|
||||
"bots-hide-online": "בוטים מופעלים",
|
||||
"bots-infobox-cards": "",
|
||||
"bots-infobox-games": "",
|
||||
"bots-infobox-time": "",
|
||||
"bots-in-use": "הבוט נמצא בשימוש.",
|
||||
"bots-paused": "",
|
||||
"bots-pause-success": "",
|
||||
"bots-recover-files": "",
|
||||
"bots-redeem-add-button": "",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "רקע משחק",
|
||||
"bots-redeem-add-title": "",
|
||||
"bots-redeem-unused-title": "",
|
||||
"bots-redeem-used-title": "",
|
||||
"bots-resume-success": "",
|
||||
"bots-start-success": "",
|
||||
"bots-stop-success": "",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "ASF | בוטים",
|
||||
"commands-response": "",
|
||||
"commands-sent": "",
|
||||
"commands-title": "ASF | פקודות",
|
||||
"commands-waiting": "",
|
||||
"editor-change": "שינוי בוט",
|
||||
"editor-current": "כעת עריכה:",
|
||||
"editor-current-bot": "",
|
||||
"editor-save": "שמירה",
|
||||
"editor-save-confirm": "",
|
||||
"editor-title": "ASF | שינוי הגדרות",
|
||||
"editor-update": "",
|
||||
"editor-update-confirm": "",
|
||||
"generator-change": "שינוי מצב",
|
||||
"generator-current": "מצב נוכחי:",
|
||||
"generator-current-bot": "",
|
||||
"generator-download": "הורדה",
|
||||
"generator-name": "",
|
||||
"generator-title": "ASF | יוצר הגדרות",
|
||||
"global-bots": "בוטים",
|
||||
"global-boxed": "פריסת מסגרת",
|
||||
"global-boxed-description": "",
|
||||
"global-change-language": "",
|
||||
"global-changelog": "יומן שינוים",
|
||||
"global-commands": "פקודות",
|
||||
"global-config": "הגדרות",
|
||||
"global-control-panel": "לוח הבקרה",
|
||||
"global-editor": "עורך",
|
||||
"global-error-invalid-pw": "",
|
||||
"global-error-title": "",
|
||||
"global-generator": "יוצר",
|
||||
"global-home": "דף בית",
|
||||
"global-information": "מידע",
|
||||
"global-layout": "פריסה",
|
||||
"global-log": "יומן",
|
||||
"global-navigation": "הפעלה/כיבוי ניווט",
|
||||
"global-nightmode": "מצב לילה",
|
||||
"global-nightmode-description": "",
|
||||
"global-question-title": "",
|
||||
"global-ram-usage": "שימוש בזיכרון",
|
||||
"global-skins": "סקינים (מעטפות)",
|
||||
"global-success-title": "הצלחה!",
|
||||
"global-uptime": "זמן פעולה תקינה",
|
||||
"global-version": "גירסה",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "",
|
||||
"log-title": "ASF | יומן",
|
||||
"placeholder-auth": "",
|
||||
"placeholder-commands": "",
|
||||
"placeholder-generator": "שם",
|
||||
"title-commands": "פקודות",
|
||||
"title-bots": "בוטים"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "Túl sokszor nem sikerült a hitelesítés, próbáld újra egy óra múlva.",
|
||||
"auth-ipc-header": "IPC jelszó kötelező",
|
||||
"auth-ipc-pw-saved": "Az IPC jelszavad elmentve.",
|
||||
"auth-ipc-pw-wrong": "Az IPC jelszavad rossznak tűnik,próbáld újra!",
|
||||
"auth-ipc-text": "Kérlek a helyes jelszót írd be!",
|
||||
"auth-title": "ASF | Hitelesítés",
|
||||
"bots-confirm-delete": "Igen, töröld a botot!",
|
||||
"bots-delete-success": "<$1> és az összes kapcsolódó fájl törölve.",
|
||||
"bots-delimiter": "Elválasztó",
|
||||
"bots-download": "Nincs letöltendő adat!",
|
||||
"bots-hide": "Botok elrejtése",
|
||||
"bots-hide-offline": "Offline botok",
|
||||
"bots-hide-inactive": "Inaktív botok",
|
||||
"bots-hide-online": "Online botok",
|
||||
"bots-infobox-cards": "Fennmaradó kártyák",
|
||||
"bots-infobox-games": "Fennmaradó játékok",
|
||||
"bots-infobox-time": "Hátralévő Idő",
|
||||
"bots-in-use": "A bot jelenleg használatban van.",
|
||||
"bots-paused": "BOT szüneteltetve.",
|
||||
"bots-pause-success": "<$1> sikeresen szüneteltetve.",
|
||||
"bots-recover-files": "Nem vagy képes visszaállítani a BOT fájljait!",
|
||||
"bots-redeem-add-button": "Adj hozzá kulcsokat",
|
||||
"bots-redeem-unused-button": "Letöltés $1.keys.unused",
|
||||
"bots-redeem-used-button": "Letöltés $1.keys.used",
|
||||
"bots-redeem-confirm": "$1 {{PLURAL:$1|Key has|Keys have}} hozzáadva <$2> beváltóhoz .",
|
||||
"bots-redeem-title": "Beváltó",
|
||||
"bots-redeem-add-title": "Adj hozzá kulcsokat",
|
||||
"bots-redeem-unused-title": "Nézd meg a felhasználatlan kulcsokat",
|
||||
"bots-redeem-used-title": "Nézd meg a használt kulcsokat",
|
||||
"bots-resume-success": "<$1> szüneteltetve.",
|
||||
"bots-start-success": "<$1> elindítva.",
|
||||
"bots-stop-success": "<$1> leállítva.",
|
||||
"bots-syntax": "Módszer: játékNeve{delimiter}kulcs",
|
||||
"bots-title": "ASF | Botok",
|
||||
"commands-response": "$1 Válasz érkezett: $2",
|
||||
"commands-sent": "$1 Parancs elküldve: $2",
|
||||
"commands-title": "ASF | Parancsok",
|
||||
"commands-waiting": "$1 Várakozás a válaszra...",
|
||||
"editor-change": "Bot váltása",
|
||||
"editor-current": "Jelenleg szerkesztett:",
|
||||
"editor-current-bot": "Jelenleg szerkesztés alatt: <b>$1</b>",
|
||||
"editor-save": "Mentés",
|
||||
"editor-save-confirm": "<$1> és beállításai frissítve.",
|
||||
"editor-title": "ASF | Konfigurációszerkesztő",
|
||||
"editor-update": "A beállítások frissültek és <$1> újraindítva!",
|
||||
"editor-update-confirm": "Igen, frissítsd a beállításokat!",
|
||||
"generator-change": "Mód váltása",
|
||||
"generator-current": "Jelenlegi mód:",
|
||||
"generator-current-bot": "Jelenlegi mód: <b>$1</b>",
|
||||
"generator-download": "Letöltés",
|
||||
"generator-name": "Adj meg egy nevet!",
|
||||
"generator-title": "ASF | Konfiguráció generátor",
|
||||
"global-bots": "Botok",
|
||||
"global-boxed": "Tömör megjelenés",
|
||||
"global-boxed-description": "Váltás dobozos elrendezésre",
|
||||
"global-change-language": "Nyelv változtatása",
|
||||
"global-changelog": "Változási napló",
|
||||
"global-commands": "Parancsok",
|
||||
"global-config": "Konfiguráció",
|
||||
"global-control-panel": "Vezérlőpult",
|
||||
"global-editor": "Szerkesztő",
|
||||
"global-error-invalid-pw": "Add meg a helyes jelszót!",
|
||||
"global-error-title": "Hiba!",
|
||||
"global-generator": "Generátor",
|
||||
"global-home": "Főoldal",
|
||||
"global-information": "Információ",
|
||||
"global-layout": "Elrendezés",
|
||||
"global-log": "Napló",
|
||||
"global-navigation": "Navigáció váltása",
|
||||
"global-nightmode": "Éjszakai mód",
|
||||
"global-nightmode-description": "Éjszakai mód ki- / bekapcsolása",
|
||||
"global-question-title": "Biztos vagy benne?",
|
||||
"global-ram-usage": "Memóriahasználat",
|
||||
"global-skins": "Kinézetek",
|
||||
"global-success-title": "Kész!",
|
||||
"global-uptime": "Üzemidő",
|
||||
"global-version": "Verzió",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "Esemény kódja: $1",
|
||||
"log-title": "ASF | Napló",
|
||||
"placeholder-auth": "Írd be a jelszavad...",
|
||||
"placeholder-commands": "Írj be egy parancsot...",
|
||||
"placeholder-generator": "Név",
|
||||
"title-commands": "Parancsok",
|
||||
"title-bots": "Botok"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "",
|
||||
"auth-ipc-header": "",
|
||||
"auth-ipc-pw-saved": "",
|
||||
"auth-ipc-pw-wrong": "",
|
||||
"auth-ipc-text": "",
|
||||
"auth-title": "",
|
||||
"bots-confirm-delete": "",
|
||||
"bots-delete-success": "",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "",
|
||||
"bots-hide": "",
|
||||
"bots-hide-offline": "",
|
||||
"bots-hide-inactive": "",
|
||||
"bots-hide-online": "",
|
||||
"bots-infobox-cards": "",
|
||||
"bots-infobox-games": "",
|
||||
"bots-infobox-time": "",
|
||||
"bots-in-use": "Bot saat ini sedang digunakan.",
|
||||
"bots-paused": "",
|
||||
"bots-pause-success": "",
|
||||
"bots-recover-files": "",
|
||||
"bots-redeem-add-button": "",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "",
|
||||
"bots-redeem-add-title": "",
|
||||
"bots-redeem-unused-title": "",
|
||||
"bots-redeem-used-title": "",
|
||||
"bots-resume-success": "",
|
||||
"bots-start-success": "",
|
||||
"bots-stop-success": "",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "",
|
||||
"commands-response": "",
|
||||
"commands-sent": "",
|
||||
"commands-title": "",
|
||||
"commands-waiting": "",
|
||||
"editor-change": "",
|
||||
"editor-current": "",
|
||||
"editor-current-bot": "",
|
||||
"editor-save": "",
|
||||
"editor-save-confirm": "",
|
||||
"editor-title": "",
|
||||
"editor-update": "",
|
||||
"editor-update-confirm": "",
|
||||
"generator-change": "",
|
||||
"generator-current": "",
|
||||
"generator-current-bot": "",
|
||||
"generator-download": "Unduhan",
|
||||
"generator-name": "",
|
||||
"generator-title": "",
|
||||
"global-bots": "",
|
||||
"global-boxed": "",
|
||||
"global-boxed-description": "",
|
||||
"global-change-language": "",
|
||||
"global-changelog": "",
|
||||
"global-commands": "",
|
||||
"global-config": "",
|
||||
"global-control-panel": "",
|
||||
"global-editor": "",
|
||||
"global-error-invalid-pw": "",
|
||||
"global-error-title": "",
|
||||
"global-generator": "",
|
||||
"global-home": "Rumah",
|
||||
"global-information": "",
|
||||
"global-layout": "",
|
||||
"global-log": "",
|
||||
"global-navigation": "",
|
||||
"global-nightmode": "",
|
||||
"global-nightmode-description": "",
|
||||
"global-question-title": "",
|
||||
"global-ram-usage": "",
|
||||
"global-skins": "",
|
||||
"global-success-title": "Sukses!",
|
||||
"global-uptime": "",
|
||||
"global-version": "",
|
||||
"global-wiki": "",
|
||||
"log-event-code": "",
|
||||
"log-title": "",
|
||||
"placeholder-auth": "",
|
||||
"placeholder-commands": "",
|
||||
"placeholder-generator": "Nama",
|
||||
"title-commands": "",
|
||||
"title-bots": ""
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "Autenticazione fallita troppe volte, provare di nuovo tra un'ora.",
|
||||
"auth-ipc-header": "Password IPC necessaria",
|
||||
"auth-ipc-pw-saved": "La password IPC è stata salvata.",
|
||||
"auth-ipc-pw-wrong": "La password IPC sembra essere sbagliata, riprova!",
|
||||
"auth-ipc-text": "Si prega di inserire la password corretta di IPC",
|
||||
"auth-title": "ASF | Autenticazione",
|
||||
"bots-confirm-delete": "Sì, elimina il bot!",
|
||||
"bots-delete-success": "<$1> e tutti i relativi file sono stati eliminati.",
|
||||
"bots-delimiter": "Delimitatore",
|
||||
"bots-download": "Non c'è niente da scaricare!",
|
||||
"bots-hide": "Nascondi bot",
|
||||
"bots-hide-offline": "Bot offline",
|
||||
"bots-hide-inactive": "Bot inattivi",
|
||||
"bots-hide-online": "Bot online",
|
||||
"bots-infobox-cards": "Carte rimanenti",
|
||||
"bots-infobox-games": "Giochi rimanenti",
|
||||
"bots-infobox-time": "Tempo rimanente",
|
||||
"bots-in-use": "Il bot è attualmente in uso.",
|
||||
"bots-paused": "Il Bot è in pausa.",
|
||||
"bots-pause-success": "<$1> è ora in pausa.",
|
||||
"bots-recover-files": "Non sarai in grado di recuperare alcun file bot!",
|
||||
"bots-redeem-add-button": "Aggiungi chiave",
|
||||
"bots-redeem-unused-button": "Scarica $1.keys.unused",
|
||||
"bots-redeem-used-button": "Scarica $1.keys.used",
|
||||
"bots-redeem-confirm": "$1 {{PLURAL:$1|La chiave è stata aggiunta|Le chiavi sono state aggiunte}} al <$2> riscattatore in background.",
|
||||
"bots-redeem-title": "Riscatto giochi in background",
|
||||
"bots-redeem-add-title": "Aggiungi chiavi",
|
||||
"bots-redeem-unused-title": "Visualizza chiavi non usate",
|
||||
"bots-redeem-used-title": "Visualizza chiavi usate",
|
||||
"bots-resume-success": "<$1> è stato ripreso.",
|
||||
"bots-start-success": "<$1> è stato avviato.",
|
||||
"bots-stop-success": "<$1> è stato arrestato.",
|
||||
"bots-syntax": "Sintassi: nomeGioco{delimiter}chiave",
|
||||
"bots-title": "ASF | Bot",
|
||||
"commands-response": "$1 risposta ricevuta: $2",
|
||||
"commands-sent": "Inviato di comando $1: $2",
|
||||
"commands-title": "ASF | Comandi",
|
||||
"commands-waiting": "In attesa di risposta da $1...",
|
||||
"editor-change": "Cambia bot",
|
||||
"editor-current": "Attualmente in modifica:",
|
||||
"editor-current-bot": "Attualmente modificando: <b>$1</b>",
|
||||
"editor-save": "Salva",
|
||||
"editor-save-confirm": "<$1> e il relativo file delle configurazioni sono stati aggiornati.",
|
||||
"editor-title": "ASF | Editor di configurazione",
|
||||
"editor-update": "La configurazione verrà aggiornata e <$1> verrà riavviato!",
|
||||
"editor-update-confirm": "Sì, aggiorna la configurazione!",
|
||||
"generator-change": "Cambia modalità",
|
||||
"generator-current": "Modalità attuale:",
|
||||
"generator-current-bot": "Modalità corrente: <b>$1</b>",
|
||||
"generator-download": "Scarica",
|
||||
"generator-name": "Devi inserire un nome!",
|
||||
"generator-title": "ASF | Generatore di configurazione",
|
||||
"global-bots": "Bot",
|
||||
"global-boxed": "Layout quadrato",
|
||||
"global-boxed-description": "Attiva/Disattiva layout quadrato",
|
||||
"global-change-language": "Cambia lingua",
|
||||
"global-changelog": "Registro delle modifiche",
|
||||
"global-commands": "Comandi",
|
||||
"global-config": "Configurazione",
|
||||
"global-control-panel": "Pannello di controllo",
|
||||
"global-editor": "Editor",
|
||||
"global-error-invalid-pw": "Devi inserire una password valida!",
|
||||
"global-error-title": "Errore!",
|
||||
"global-generator": "Generatore",
|
||||
"global-home": "Homepage",
|
||||
"global-information": "Informazioni",
|
||||
"global-layout": "Layout",
|
||||
"global-log": "Log",
|
||||
"global-navigation": "Attiva/disattiva navigazione",
|
||||
"global-nightmode": "Modalità notturna",
|
||||
"global-nightmode-description": "Attiva/Disattiva modalità notturna",
|
||||
"global-question-title": "Ne sei sicuro?",
|
||||
"global-ram-usage": "RAM utilizzata",
|
||||
"global-skins": "Temi",
|
||||
"global-success-title": "Operazione riuscita!",
|
||||
"global-uptime": "Tempo di attività",
|
||||
"global-version": "Versione",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "Codice evento: $1",
|
||||
"log-title": "ASF | Log",
|
||||
"placeholder-auth": "Digitare la password...",
|
||||
"placeholder-commands": "Digitare il comando...",
|
||||
"placeholder-generator": "Nome",
|
||||
"title-commands": "Comandi",
|
||||
"title-bots": "Bot"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "",
|
||||
"auth-ipc-header": "",
|
||||
"auth-ipc-pw-saved": "",
|
||||
"auth-ipc-pw-wrong": "",
|
||||
"auth-ipc-text": "",
|
||||
"auth-title": "",
|
||||
"bots-confirm-delete": "",
|
||||
"bots-delete-success": "",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "",
|
||||
"bots-hide": "Botを非表示",
|
||||
"bots-hide-offline": "オフラインのBot",
|
||||
"bots-hide-inactive": "",
|
||||
"bots-hide-online": "オンラインのBot",
|
||||
"bots-infobox-cards": "",
|
||||
"bots-infobox-games": "",
|
||||
"bots-infobox-time": "",
|
||||
"bots-in-use": "Botは現在使用されています。",
|
||||
"bots-paused": "",
|
||||
"bots-pause-success": "",
|
||||
"bots-recover-files": "",
|
||||
"bots-redeem-add-button": "",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "",
|
||||
"bots-redeem-add-title": "",
|
||||
"bots-redeem-unused-title": "",
|
||||
"bots-redeem-used-title": "",
|
||||
"bots-resume-success": "",
|
||||
"bots-start-success": "",
|
||||
"bots-stop-success": "",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "ASF | Bots",
|
||||
"commands-response": "",
|
||||
"commands-sent": "",
|
||||
"commands-title": "",
|
||||
"commands-waiting": "",
|
||||
"editor-change": "Botの変更",
|
||||
"editor-current": "編集中:",
|
||||
"editor-current-bot": "",
|
||||
"editor-save": "保存",
|
||||
"editor-save-confirm": "",
|
||||
"editor-title": "",
|
||||
"editor-update": "",
|
||||
"editor-update-confirm": "",
|
||||
"generator-change": "モード変更",
|
||||
"generator-current": "現在のモード:",
|
||||
"generator-current-bot": "",
|
||||
"generator-download": "ダウンロード",
|
||||
"generator-name": "",
|
||||
"generator-title": "",
|
||||
"global-bots": "",
|
||||
"global-boxed": "ボックスレイアウト",
|
||||
"global-boxed-description": "",
|
||||
"global-change-language": "",
|
||||
"global-changelog": "チェンジログ",
|
||||
"global-commands": "コマンド",
|
||||
"global-config": "設定",
|
||||
"global-control-panel": "コントロールパネル",
|
||||
"global-editor": "",
|
||||
"global-error-invalid-pw": "",
|
||||
"global-error-title": "",
|
||||
"global-generator": "ジェネレーター",
|
||||
"global-home": "ホーム",
|
||||
"global-information": "インフォメーション",
|
||||
"global-layout": "レイアウト",
|
||||
"global-log": "ログ",
|
||||
"global-navigation": "ナビゲーションの切り替え",
|
||||
"global-nightmode": "ナイトモード",
|
||||
"global-nightmode-description": "",
|
||||
"global-question-title": "",
|
||||
"global-ram-usage": "RAMの使用量",
|
||||
"global-skins": "スキン",
|
||||
"global-success-title": "成功!",
|
||||
"global-uptime": "稼働時間",
|
||||
"global-version": "バージョン",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "",
|
||||
"log-title": "",
|
||||
"placeholder-auth": "",
|
||||
"placeholder-commands": "",
|
||||
"placeholder-generator": "名前",
|
||||
"title-commands": "コマンド",
|
||||
"title-bots": ""
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "You failed to authenticate properly too many times, try again in an hour.",
|
||||
"auth-ipc-header": "IPC password required",
|
||||
"auth-ipc-pw-saved": "Your IPC password has been saved.",
|
||||
"auth-ipc-pw-wrong": "Your IPC password seems to be wrong, try again!",
|
||||
"auth-ipc-text": "Please enter the correct IPC password",
|
||||
"auth-title": "ASF | Authentication",
|
||||
"bots-confirm-delete": "Yes, delete bot!",
|
||||
"bots-delete-success": "<$1> and all related files have been deleted.",
|
||||
"bots-delimiter": "Delimiter",
|
||||
"bots-download": "There is nothing to download!",
|
||||
"bots-hide": "Hide bots",
|
||||
"bots-hide-offline": "Offline bots",
|
||||
"bots-hide-inactive": "Inactive bots",
|
||||
"bots-hide-online": "Online bots",
|
||||
"bots-infobox-cards": "Cards Remaining",
|
||||
"bots-infobox-games": "Games Remaining",
|
||||
"bots-infobox-time": "Time Remaining",
|
||||
"bots-in-use": "Bot is currently being used.",
|
||||
"bots-paused": "Bot is paused.",
|
||||
"bots-pause-success": "<$1> has been paused.",
|
||||
"bots-recover-files": "You will not be able to recover any bot files!",
|
||||
"bots-redeem-add-button": "Add keys",
|
||||
"bots-redeem-unused-button": "Download $1.keys.unused",
|
||||
"bots-redeem-used-button": "Download $1.keys.used",
|
||||
"bots-redeem-confirm": "$1 {{PLURAL:$1|Key has|Keys have}} been added to <$2> background redeemer.",
|
||||
"bots-redeem-title": "Background games redeemer",
|
||||
"bots-redeem-add-title": "Add keys",
|
||||
"bots-redeem-unused-title": "View unused keys",
|
||||
"bots-redeem-used-title": "View used keys",
|
||||
"bots-resume-success": "<$1> has been resumed.",
|
||||
"bots-start-success": "<$1> has been started.",
|
||||
"bots-stop-success": "<$1> has been stopped.",
|
||||
"bots-syntax": "Syntax: gameName{delimiter}key",
|
||||
"bots-title": "ASF | Bots",
|
||||
"commands-response": "$1 Response received: $2",
|
||||
"commands-sent": "$1 Command sent: $2",
|
||||
"commands-title": "ASF | Commands",
|
||||
"commands-waiting": "$1 Waiting for response...",
|
||||
"editor-change": "Change bot",
|
||||
"editor-current": "Currently editing:",
|
||||
"editor-current-bot": "Currently editing: <b>$1</b>",
|
||||
"editor-save": "Save",
|
||||
"editor-save-confirm": "<$1> and its config file got updated.",
|
||||
"editor-title": "ASF | Config Editor",
|
||||
"editor-update": "The config will be updated and <$1> will be restarted!",
|
||||
"editor-update-confirm": "Yes, update config!",
|
||||
"generator-change": "Change mode",
|
||||
"generator-current": "Current mode:",
|
||||
"generator-current-bot": "Current mode: <b>$1</b>",
|
||||
"generator-download": "Download",
|
||||
"generator-name": "You must enter a name!",
|
||||
"generator-title": "ASF | Config Generator",
|
||||
"global-bots": "Bots",
|
||||
"global-boxed": "Boxed Layout",
|
||||
"global-boxed-description": "Toggle boxed layout",
|
||||
"global-change-language": "Change language",
|
||||
"global-changelog": "Changelog",
|
||||
"global-commands": "Commands",
|
||||
"global-config": "Config",
|
||||
"global-control-panel": "Control Panel",
|
||||
"global-editor": "Editor",
|
||||
"global-error-invalid-pw": "You must enter a valid password!",
|
||||
"global-error-title": "Error!",
|
||||
"global-generator": "Generator",
|
||||
"global-home": "Home",
|
||||
"global-information": "Information",
|
||||
"global-layout": "Layout",
|
||||
"global-log": "Log",
|
||||
"global-navigation": "Toggle navigation",
|
||||
"global-nightmode": "Nightmode",
|
||||
"global-nightmode-description": "Toggle nightmode",
|
||||
"global-question-title": "Are you sure?",
|
||||
"global-ram-usage": "RAM Usage",
|
||||
"global-skins": "Skins",
|
||||
"global-success-title": "Success!",
|
||||
"global-uptime": "Uptime",
|
||||
"global-version": "Version",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "Event code: $1",
|
||||
"log-title": "ASF | Log",
|
||||
"placeholder-auth": "Type your password...",
|
||||
"placeholder-commands": "Type command...",
|
||||
"placeholder-generator": "Name",
|
||||
"title-commands": "Commands",
|
||||
"title-bots": "Bots"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "너무 많이 인증에 실패했습니다. 한시간 후에 다시 시도하세요.",
|
||||
"auth-ipc-header": "IPC 비밀번호 필요",
|
||||
"auth-ipc-pw-saved": "IPC 비밀번호가 저장되었습니다.",
|
||||
"auth-ipc-pw-wrong": "IPC 비밀번호가 틀렸습니다. 다시 시도하세요.",
|
||||
"auth-ipc-text": "올바른 IPC 비밀번호를 입력하세요.",
|
||||
"auth-title": "ASF | 인증",
|
||||
"bots-confirm-delete": "예. 봇을 삭제합니다.",
|
||||
"bots-delete-success": "<$1>과 모든 관련 파일이 삭제되었습니다.",
|
||||
"bots-delimiter": "구분 기호",
|
||||
"bots-download": "다운로드할 것이 없습니다.",
|
||||
"bots-hide": "봇 숨기기",
|
||||
"bots-hide-offline": "오프라인 봇",
|
||||
"bots-hide-inactive": "비활성 봇",
|
||||
"bots-hide-online": "온라인 봇",
|
||||
"bots-infobox-cards": "남은 카드",
|
||||
"bots-infobox-games": "남은 게임",
|
||||
"bots-infobox-time": "남은 시간",
|
||||
"bots-in-use": "봇 - 현재 사용 중.",
|
||||
"bots-paused": "봇이 일시정지되었습니다.",
|
||||
"bots-pause-success": "<$1> 이 일시정지되었습니다.",
|
||||
"bots-recover-files": "어떠한 봇 파일도 복구할 수 없습니다.",
|
||||
"bots-redeem-add-button": "키 추가",
|
||||
"bots-redeem-unused-button": "$1.keys.unused 다운로드",
|
||||
"bots-redeem-used-button": "$1.keys.used 다운로드",
|
||||
"bots-redeem-confirm": "$1 {{PLURAL:$1|개의 키|개의 키}}가 <$2> 봇의 백그라운드 게임 등록기에 추가되었습니다.",
|
||||
"bots-redeem-title": "백그라운드 게임 등록기",
|
||||
"bots-redeem-add-title": "키 추가",
|
||||
"bots-redeem-unused-title": "사용되지 않은 키 확인",
|
||||
"bots-redeem-used-title": "사용된 키 확인",
|
||||
"bots-resume-success": "<$1>이 다시 시작되었습니다.",
|
||||
"bots-start-success": "<$1>이 시작되었습니다.",
|
||||
"bots-stop-success": "<$1>이 중지되었습니다.",
|
||||
"bots-syntax": "입력형식: 게임이름{구분자}키",
|
||||
"bots-title": "ASF | 봇",
|
||||
"commands-response": "$1 응답 수신: $2",
|
||||
"commands-sent": "$1 명령 전송: $2",
|
||||
"commands-title": "ASF | 명령어",
|
||||
"commands-waiting": "$1 응답을 기다리는 중...",
|
||||
"editor-change": "봇 변경",
|
||||
"editor-current": "현재 설정 편집중인 봇:",
|
||||
"editor-current-bot": "현재 설정 편집중인 봇: <b>$1</b>",
|
||||
"editor-save": "저장",
|
||||
"editor-save-confirm": "<$1> 봇의 환경설정이 저장되었습니다.",
|
||||
"editor-title": "ASF | 환경설정 편집기",
|
||||
"editor-update": "환경설정 내용을 저장하고 <$1> 봇을 다시 시작합니다.",
|
||||
"editor-update-confirm": "예. 설정을 저장합니다.",
|
||||
"generator-change": "모드 변경",
|
||||
"generator-current": "현재 모드:",
|
||||
"generator-current-bot": "현재 모드: <b>$1</b>",
|
||||
"generator-download": "다운로드",
|
||||
"generator-name": "이름을 기입하십시오.",
|
||||
"generator-title": "ASF | 환경설정 생성기",
|
||||
"global-bots": "봇",
|
||||
"global-boxed": "박스 레이아웃",
|
||||
"global-boxed-description": "박스 레이아웃 켬/끔",
|
||||
"global-change-language": "언어 바꾸기",
|
||||
"global-changelog": "변경사항",
|
||||
"global-commands": "명령어",
|
||||
"global-config": "환경설정",
|
||||
"global-control-panel": "제어판",
|
||||
"global-editor": "편집기",
|
||||
"global-error-invalid-pw": "정확한 비밀번호를 입력하십시오.",
|
||||
"global-error-title": "오류!",
|
||||
"global-generator": "생성기",
|
||||
"global-home": "홈",
|
||||
"global-information": "정보",
|
||||
"global-layout": "레이아웃",
|
||||
"global-log": "로그",
|
||||
"global-navigation": "네비게이션 전환",
|
||||
"global-nightmode": "야간모드",
|
||||
"global-nightmode-description": "야간모드 켬/끔",
|
||||
"global-question-title": "확실합니까?",
|
||||
"global-ram-usage": "RAM 사용량",
|
||||
"global-skins": "스킨",
|
||||
"global-success-title": "성공!",
|
||||
"global-uptime": "가동시간",
|
||||
"global-version": "버전",
|
||||
"global-wiki": "위키",
|
||||
"log-event-code": "이벤트 코드: $1",
|
||||
"log-title": "ASF | 로그",
|
||||
"placeholder-auth": "비밀번호를 입력하십시오.",
|
||||
"placeholder-commands": "여기에 명령을 입력하세요...",
|
||||
"placeholder-generator": "이름",
|
||||
"title-commands": "명령어",
|
||||
"title-bots": "봇"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "Jūs nesugebėjote tinkamai autentifikuotis per daug kartų, prašome bandyti po valandos.",
|
||||
"auth-ipc-header": "IPC slaptažodis būtinas",
|
||||
"auth-ipc-pw-saved": "Jūsų IPC slaptažodis buvo išsaugotas.",
|
||||
"auth-ipc-pw-wrong": "Atrodo, Jūsų IPC slaptažodis yra blogas, bandykite dar kartą!",
|
||||
"auth-ipc-text": "",
|
||||
"auth-title": "ASF | Autentifikacija",
|
||||
"bots-confirm-delete": "Taip, ištrinti botą!",
|
||||
"bots-delete-success": "<$1> ir kiti susiją failai buvo ištrinti.",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "",
|
||||
"bots-hide": "Slėpti botus",
|
||||
"bots-hide-offline": "Atsijungę botai",
|
||||
"bots-hide-inactive": "",
|
||||
"bots-hide-online": "Prisijungę botai",
|
||||
"bots-infobox-cards": "Likę kortelių",
|
||||
"bots-infobox-games": "Likę žaidimų",
|
||||
"bots-infobox-time": "Likęs laikas",
|
||||
"bots-in-use": "Botas šiuo metu yra naudojamas.",
|
||||
"bots-paused": "Botas yra sustabdytas.",
|
||||
"bots-pause-success": "<$1> buvo sustabdytas.",
|
||||
"bots-recover-files": "Jūs nebegalėsite atkurti jokių boto failų!",
|
||||
"bots-redeem-add-button": "Pridėti cd-raktus",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "Pasyvusis žaidimų aktyvatorius",
|
||||
"bots-redeem-add-title": "Pridėti cd-raktus",
|
||||
"bots-redeem-unused-title": "",
|
||||
"bots-redeem-used-title": "",
|
||||
"bots-resume-success": "<$1> buvo pratęstas.",
|
||||
"bots-start-success": "<$1> buvo pradėtas.",
|
||||
"bots-stop-success": "<$1> buvo sustabdytas.",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "ASF | Botai",
|
||||
"commands-response": "$1 Atsakymas gauta: $2",
|
||||
"commands-sent": "$1 Komanda išsiųsta: $2",
|
||||
"commands-title": "ASF | Komandos",
|
||||
"commands-waiting": "$1 Laukiama atsakymo...",
|
||||
"editor-change": "Keisti botą",
|
||||
"editor-current": "Šiuo metu redaguojama:",
|
||||
"editor-current-bot": "Šiuo metu redaguojama: <b>$1</b>",
|
||||
"editor-save": "Išsaugoti",
|
||||
"editor-save-confirm": "",
|
||||
"editor-title": "ASF | Nustatymų redaktorius",
|
||||
"editor-update": "Konfigūracija bus atnaujinta ir <$1> perkrautas!",
|
||||
"editor-update-confirm": "Taip, atnaujinti konfigūraciją!",
|
||||
"generator-change": "Pakeisti režimą",
|
||||
"generator-current": "Dabartinis režimas:",
|
||||
"generator-current-bot": "Dabartinis režimas: <b>$1</b>",
|
||||
"generator-download": "Parsisiųsti",
|
||||
"generator-name": "",
|
||||
"generator-title": "ASF | Nustatymų generatorius",
|
||||
"global-bots": "Botai",
|
||||
"global-boxed": "Dėžutės išdėstymas",
|
||||
"global-boxed-description": "Įjungti dėžutės išdėstymą",
|
||||
"global-change-language": "Pakeisti kalbą",
|
||||
"global-changelog": "Pakeitimai",
|
||||
"global-commands": "Komandos",
|
||||
"global-config": "Nustatymai",
|
||||
"global-control-panel": "Valdymo panelė",
|
||||
"global-editor": "Redaktorius",
|
||||
"global-error-invalid-pw": "",
|
||||
"global-error-title": "Klaida!",
|
||||
"global-generator": "Generatorius",
|
||||
"global-home": "Pradžia",
|
||||
"global-information": "Informacija",
|
||||
"global-layout": "Išdėstymas",
|
||||
"global-log": "Žurnalas",
|
||||
"global-navigation": "Įjungti naršymo režimą",
|
||||
"global-nightmode": "Naktinis režimas",
|
||||
"global-nightmode-description": "Įjungti naktinį režimą",
|
||||
"global-question-title": "Ar esate įsitikinę?",
|
||||
"global-ram-usage": "RAM naudojimas",
|
||||
"global-skins": "Išvaizda",
|
||||
"global-success-title": "Sėkmingai!",
|
||||
"global-uptime": "Veikimo laikas",
|
||||
"global-version": "Versija",
|
||||
"global-wiki": "Vikipedija",
|
||||
"log-event-code": "Įvykio kodas: $1",
|
||||
"log-title": "ASF | Žurnalas",
|
||||
"placeholder-auth": "Įveskite jūsų slaptažodį...",
|
||||
"placeholder-commands": "Įveskite komandą...",
|
||||
"placeholder-generator": "Pavadinimas",
|
||||
"title-commands": "Komandos",
|
||||
"title-bots": "Botai"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "Authenticatie is te vaak mislukt, probeer het over een uur opnieuw.",
|
||||
"auth-ipc-header": "IPC-wachtwoord vereist",
|
||||
"auth-ipc-pw-saved": "Je IPC-wachtwoord is opgeslagen.",
|
||||
"auth-ipc-pw-wrong": "Je IPC-wachtwoord is onjuist, probeer het opnieuw!",
|
||||
"auth-ipc-text": "Voer het correcte IPC-wachtwoord in",
|
||||
"auth-title": "ASF | Authenticatie",
|
||||
"bots-confirm-delete": "Ja, verwijder bot!",
|
||||
"bots-delete-success": "<$1> en alle bijbehorende bestanden zijn verwijderd.",
|
||||
"bots-delimiter": "Scheidingsteken",
|
||||
"bots-download": "Er is niets te downloaden!",
|
||||
"bots-hide": "Verberg bots",
|
||||
"bots-hide-offline": "Offline bots",
|
||||
"bots-hide-inactive": "Inactieve bots",
|
||||
"bots-hide-online": "Online bots",
|
||||
"bots-infobox-cards": "Resterende kaarten",
|
||||
"bots-infobox-games": "Resterende spellen",
|
||||
"bots-infobox-time": "Resterende tijd",
|
||||
"bots-in-use": "Bot is momenteel in gebruik.",
|
||||
"bots-paused": "Bot is gepauzeerd.",
|
||||
"bots-pause-success": "<$1> is gepauzeerd.",
|
||||
"bots-recover-files": "Je kunt geen bot-bestanden herstellen!",
|
||||
"bots-redeem-add-button": "Productcodes toevoegen",
|
||||
"bots-redeem-unused-button": "Download $1.keys.unused",
|
||||
"bots-redeem-used-button": "Download $1.keys.used",
|
||||
"bots-redeem-confirm": "$1 {{PLURAL:$1|productsleutel is|productsleutels zijn}} toegevoegd aan <$2> om op de achtergrond geactiveerd te worden.",
|
||||
"bots-redeem-title": "Productactivering op de achtergrond",
|
||||
"bots-redeem-add-title": "Productcodes toevoegen",
|
||||
"bots-redeem-unused-title": "Bekijk ongebruikte productcodes",
|
||||
"bots-redeem-used-title": "Bekijk gebruikte productcodes",
|
||||
"bots-resume-success": "<$1> is hervat.",
|
||||
"bots-start-success": "<$1> is gestart.",
|
||||
"bots-stop-success": "<$1> is gestopt.",
|
||||
"bots-syntax": "Syntaxis: spelnaam{delimiter}productcode",
|
||||
"bots-title": "ASF | Bots",
|
||||
"commands-response": "$1 Reactie ontvangen: $2",
|
||||
"commands-sent": "$1 Commando verzonden: $2",
|
||||
"commands-title": "ASF | Commando's",
|
||||
"commands-waiting": "$1 Wachten op reactie...",
|
||||
"editor-change": "Switch bot",
|
||||
"editor-current": "Nu aan het bewerken:",
|
||||
"editor-current-bot": "Momenteel aan het bewerken: <b>$1</b>",
|
||||
"editor-save": "Opslaan",
|
||||
"editor-save-confirm": "<$1>en het bijbehorende configuratiebestand is bijgewerkt.",
|
||||
"editor-title": "ASF | Config Editor",
|
||||
"editor-update": "De configuratie wordt bijgewerkt en <$1> wordt opnieuw gestart!",
|
||||
"editor-update-confirm": "Ja, update de configuratie!",
|
||||
"generator-change": "Modus wijzigen",
|
||||
"generator-current": "Huidige modus:",
|
||||
"generator-current-bot": "Huidige modus: <b>$1</b>",
|
||||
"generator-download": "Download",
|
||||
"generator-name": "Je moet een naam invoeren!",
|
||||
"generator-title": "ASF | Config Generator",
|
||||
"global-bots": "Bots",
|
||||
"global-boxed": "Boxed lay-out",
|
||||
"global-boxed-description": "Boxed lay-out in-/uitschakelen",
|
||||
"global-change-language": "Taal wijzigen",
|
||||
"global-changelog": "Versiegeschiedenis",
|
||||
"global-commands": "Commando's",
|
||||
"global-config": "Configuratie",
|
||||
"global-control-panel": "Configuratiescherm",
|
||||
"global-editor": "Editor",
|
||||
"global-error-invalid-pw": "Je moet een geldig wachtwoord invoeren!",
|
||||
"global-error-title": "Fout!",
|
||||
"global-generator": "Generator",
|
||||
"global-home": "Homepagina",
|
||||
"global-information": "Informatie",
|
||||
"global-layout": "Lay-out",
|
||||
"global-log": "Log",
|
||||
"global-navigation": "Switch navigatie",
|
||||
"global-nightmode": "Nachtmodus",
|
||||
"global-nightmode-description": "Nachtmodus in-/uitschakelen",
|
||||
"global-question-title": "Weet je het zeker?",
|
||||
"global-ram-usage": "RAM-gebruik",
|
||||
"global-skins": "Uiterlijk",
|
||||
"global-success-title": "Succesvol!",
|
||||
"global-uptime": "Actief",
|
||||
"global-version": "Versie",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "Gebeurteniscode: $1",
|
||||
"log-title": "ASF | Log",
|
||||
"placeholder-auth": "Voer je wachtwoord in...",
|
||||
"placeholder-commands": "Commando invoeren...",
|
||||
"placeholder-generator": "Naam",
|
||||
"title-commands": "Commando's",
|
||||
"title-bots": "Bots"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "Nie udało się zalogować zbyt wiele razy, spróbuj ponownie za godzinę.",
|
||||
"auth-ipc-header": "Wymagane hasło IPC",
|
||||
"auth-ipc-pw-saved": "Twoje hasło IPC zostało zapisane.",
|
||||
"auth-ipc-pw-wrong": "Hasło IPC wydaje się być niepoprawne, spróbuj ponownie!",
|
||||
"auth-ipc-text": "Wprowadź poprawne hasło IPC",
|
||||
"auth-title": "ASF | Logowanie",
|
||||
"bots-confirm-delete": "Tak, usuń bota!",
|
||||
"bots-delete-success": "<$1> i wszystkie powiązane pliki zostały usunięte.",
|
||||
"bots-delimiter": "Ogranicznik",
|
||||
"bots-download": "Nie ma nic do ściągnięcia!",
|
||||
"bots-hide": "Ukryj boty",
|
||||
"bots-hide-offline": "Boty w trybie offline",
|
||||
"bots-hide-inactive": "Nieaktywne boty",
|
||||
"bots-hide-online": "Boty w trybie online",
|
||||
"bots-infobox-cards": "Pozostałe karty",
|
||||
"bots-infobox-games": "Pozostałe gry",
|
||||
"bots-infobox-time": "Pozostały czas",
|
||||
"bots-in-use": "Bot jest aktualnie używany.",
|
||||
"bots-paused": "Bot jest wstrzymany.",
|
||||
"bots-pause-success": "<$1> został wstrzymany.",
|
||||
"bots-recover-files": "Nie będziesz w stanie odzyskać żadnych plików bota!",
|
||||
"bots-redeem-add-button": "Dodaj klucze",
|
||||
"bots-redeem-unused-button": "Ściągnij $1.keys.unused",
|
||||
"bots-redeem-used-button": "Ściągnij $1.keys.used",
|
||||
"bots-redeem-confirm": "$1 {{PLURAL:$1|Klucz został dodany|Klucze zostały dodane}} do <$2> aktywacji w tle.",
|
||||
"bots-redeem-title": "Aktywacja gier w tle",
|
||||
"bots-redeem-add-title": "Dodaj klucze",
|
||||
"bots-redeem-unused-title": "Pokaż nieużyte klucze",
|
||||
"bots-redeem-used-title": "Pokaż użyte klucze",
|
||||
"bots-resume-success": "<$1> został wznowiony.",
|
||||
"bots-start-success": "<$1> został uruchomiony.",
|
||||
"bots-stop-success": "<$1> został zatrzymany.",
|
||||
"bots-syntax": "Składnia: nazwaGry{ogranicznik}klucz",
|
||||
"bots-title": "ASF | Boty",
|
||||
"commands-response": "$1 Uzyskana odpowiedź: $2",
|
||||
"commands-sent": "$1 Wysłano polecenie: $2",
|
||||
"commands-title": "ASF | Komendy",
|
||||
"commands-waiting": "$1 Oczekiwanie na odpowiedź...",
|
||||
"editor-change": "Zmień bota",
|
||||
"editor-current": "Aktualnie edytujesz:",
|
||||
"editor-current-bot": "Obecnie edytowane: <b>$1</b>",
|
||||
"editor-save": "Zapisz",
|
||||
"editor-save-confirm": "<$1> i jego plik konfiguracyjny został zaktualizowany.",
|
||||
"editor-title": "ASF | Edytor ustawień",
|
||||
"editor-update": "Plik konfiguracyjny zostanie zaktualizowany i <$1> zostanie zrestartowany!",
|
||||
"editor-update-confirm": "Tak, aktualizuj plik konfiguracyjny!",
|
||||
"generator-change": "Zmień tryb",
|
||||
"generator-current": "Bieżący tryb:",
|
||||
"generator-current-bot": "Bieżący tryb: <b>$1</b>",
|
||||
"generator-download": "Pobierz",
|
||||
"generator-name": "Musisz wprowadzić nazwę!",
|
||||
"generator-title": "ASF | Generator ustawień",
|
||||
"global-bots": "Boty",
|
||||
"global-boxed": "Układ boxed",
|
||||
"global-boxed-description": "Przełącz tryb okienkowy",
|
||||
"global-change-language": "Zmień język",
|
||||
"global-changelog": "Lista zmian",
|
||||
"global-commands": "Komendy",
|
||||
"global-config": "Konfiguracja",
|
||||
"global-control-panel": "Panel sterowania",
|
||||
"global-editor": "Edytor",
|
||||
"global-error-invalid-pw": "Musisz wprowadzić poprawne hasło!",
|
||||
"global-error-title": "Błąd!",
|
||||
"global-generator": "Generator",
|
||||
"global-home": "Strona główna",
|
||||
"global-information": "Informacje",
|
||||
"global-layout": "Układ",
|
||||
"global-log": "Dziennik",
|
||||
"global-navigation": "Przełącz nawigację",
|
||||
"global-nightmode": "Tryb nocny",
|
||||
"global-nightmode-description": "Przełącz tryb nocny",
|
||||
"global-question-title": "Jesteś pewien?",
|
||||
"global-ram-usage": "Użycie pamięci RAM",
|
||||
"global-skins": "Skórki",
|
||||
"global-success-title": "Sukces!",
|
||||
"global-uptime": "Czas działania",
|
||||
"global-version": "Wersja",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "Kod zdarzenia: $1",
|
||||
"log-title": "ASF | Dziennik",
|
||||
"placeholder-auth": "Wprowadź hasło...",
|
||||
"placeholder-commands": "Wpisz polecenie...",
|
||||
"placeholder-generator": "Nazwa",
|
||||
"title-commands": "Komendy",
|
||||
"title-bots": "Boty"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "A autenticação falhou várias vezes. Tente novamente em uma hora.",
|
||||
"auth-ipc-header": "Senha IPC necessária",
|
||||
"auth-ipc-pw-saved": "A sua senha IPC foi salva.",
|
||||
"auth-ipc-pw-wrong": "Senha IPC incorreta, tente novamente.",
|
||||
"auth-ipc-text": "Por favor, insira a senha IPC correta",
|
||||
"auth-title": "ASF | Autenticação",
|
||||
"bots-confirm-delete": "Sim, excluir bot!",
|
||||
"bots-delete-success": "<$1> e todos os arquivos relacionados foram excluídos.",
|
||||
"bots-delimiter": "Delimitador",
|
||||
"bots-download": "Não há nada para baixar!",
|
||||
"bots-hide": "Ocultar bots",
|
||||
"bots-hide-offline": "Bots offline",
|
||||
"bots-hide-inactive": "Bots inativos",
|
||||
"bots-hide-online": "Bots online",
|
||||
"bots-infobox-cards": "Cartas restantes",
|
||||
"bots-infobox-games": "Jogos restantes",
|
||||
"bots-infobox-time": "Tempo restante",
|
||||
"bots-in-use": "O bot está sendo usado.",
|
||||
"bots-paused": "Bot pausado.",
|
||||
"bots-pause-success": "<$1> foi pausado.",
|
||||
"bots-recover-files": "Não será possível recuperar os arquivos do bot!",
|
||||
"bots-redeem-add-button": "Adicionar keys",
|
||||
"bots-redeem-unused-button": "Baixar $1.keys.unused",
|
||||
"bots-redeem-used-button": "Baixar $1.keys.used",
|
||||
"bots-redeem-confirm": "$1 {{PLURAL:$1|Código foi adicionado|Códigos foram adicionados}} ao ativador em segundo plano de <$2>.",
|
||||
"bots-redeem-title": "Ativador de códigos em segundo plano",
|
||||
"bots-redeem-add-title": "Adicionar códigos",
|
||||
"bots-redeem-unused-title": "Ver códigos não utilizados",
|
||||
"bots-redeem-used-title": "Ver códigos utilizados",
|
||||
"bots-resume-success": "<$1> foi retomado.",
|
||||
"bots-start-success": "<$1> foi iniciado.",
|
||||
"bots-stop-success": "<$1> foi interrompido.",
|
||||
"bots-syntax": "Sintaxe: gameName{delimiter}key",
|
||||
"bots-title": "ASF | Bots",
|
||||
"commands-response": "$1 Resposta recebida: $2",
|
||||
"commands-sent": "$1 Comando enviado: $2",
|
||||
"commands-title": "ASF | Comandos",
|
||||
"commands-waiting": "$1 Aguardando resposta...",
|
||||
"editor-change": "Alterar bot",
|
||||
"editor-current": "Editando:",
|
||||
"editor-current-bot": "Editando: <b>$1</b>",
|
||||
"editor-save": "Salvar",
|
||||
"editor-save-confirm": "<$1> e seu arquivo de configuração foram atualizados.",
|
||||
"editor-title": "ASF | Editor de configuração",
|
||||
"editor-update": "A configuração será atualizada e <$1> será reiniciado!",
|
||||
"editor-update-confirm": "Sim, atualizar configuração!",
|
||||
"generator-change": "Alterar modo",
|
||||
"generator-current": "Modo:",
|
||||
"generator-current-bot": "Modo: <b>$1</b>",
|
||||
"generator-download": "Baixar",
|
||||
"generator-name": "Você deve digitar um nome!",
|
||||
"generator-title": "ASF | Gerador de configuração",
|
||||
"global-bots": "Bots",
|
||||
"global-boxed": "Interface de caixa",
|
||||
"global-boxed-description": "Alternar interface em caixa",
|
||||
"global-change-language": "Alterar idioma",
|
||||
"global-changelog": "Atualizações",
|
||||
"global-commands": "Comandos",
|
||||
"global-config": "Configurações",
|
||||
"global-control-panel": "Painel de controle",
|
||||
"global-editor": "Editor",
|
||||
"global-error-invalid-pw": "Você deve inserir uma senha válida!",
|
||||
"global-error-title": "Erro!",
|
||||
"global-generator": "Gerador",
|
||||
"global-home": "Início",
|
||||
"global-information": "Informações",
|
||||
"global-layout": "Interface",
|
||||
"global-log": "Registro",
|
||||
"global-navigation": "Alternar navegação",
|
||||
"global-nightmode": "Modo noturno",
|
||||
"global-nightmode-description": "Alternar modo noturno",
|
||||
"global-question-title": "Tem certeza?",
|
||||
"global-ram-usage": "Uso de RAM",
|
||||
"global-skins": "Visuais",
|
||||
"global-success-title": "Sucesso!",
|
||||
"global-uptime": "Tempo de atividade",
|
||||
"global-version": "Versão",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "Código do evento: $1",
|
||||
"log-title": "ASF | Registro",
|
||||
"placeholder-auth": "Insira a sua senha...",
|
||||
"placeholder-commands": "Insira um comando...",
|
||||
"placeholder-generator": "Nome",
|
||||
"title-commands": "Comandos",
|
||||
"title-bots": "Bots"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "",
|
||||
"auth-ipc-header": "",
|
||||
"auth-ipc-pw-saved": "",
|
||||
"auth-ipc-pw-wrong": "",
|
||||
"auth-ipc-text": "",
|
||||
"auth-title": "",
|
||||
"bots-confirm-delete": "",
|
||||
"bots-delete-success": "",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "",
|
||||
"bots-hide": "",
|
||||
"bots-hide-offline": "",
|
||||
"bots-hide-inactive": "",
|
||||
"bots-hide-online": "",
|
||||
"bots-infobox-cards": "",
|
||||
"bots-infobox-games": "",
|
||||
"bots-infobox-time": "",
|
||||
"bots-in-use": "O Bot está a ser usado atualmente.",
|
||||
"bots-paused": "",
|
||||
"bots-pause-success": "",
|
||||
"bots-recover-files": "",
|
||||
"bots-redeem-add-button": "",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "",
|
||||
"bots-redeem-add-title": "",
|
||||
"bots-redeem-unused-title": "",
|
||||
"bots-redeem-used-title": "",
|
||||
"bots-resume-success": "",
|
||||
"bots-start-success": "",
|
||||
"bots-stop-success": "",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "",
|
||||
"commands-response": "",
|
||||
"commands-sent": "",
|
||||
"commands-title": "",
|
||||
"commands-waiting": "",
|
||||
"editor-change": "",
|
||||
"editor-current": "",
|
||||
"editor-current-bot": "",
|
||||
"editor-save": "",
|
||||
"editor-save-confirm": "",
|
||||
"editor-title": "",
|
||||
"editor-update": "",
|
||||
"editor-update-confirm": "",
|
||||
"generator-change": "",
|
||||
"generator-current": "",
|
||||
"generator-current-bot": "",
|
||||
"generator-download": "",
|
||||
"generator-name": "",
|
||||
"generator-title": "",
|
||||
"global-bots": "",
|
||||
"global-boxed": "",
|
||||
"global-boxed-description": "",
|
||||
"global-change-language": "",
|
||||
"global-changelog": "",
|
||||
"global-commands": "",
|
||||
"global-config": "",
|
||||
"global-control-panel": "",
|
||||
"global-editor": "",
|
||||
"global-error-invalid-pw": "",
|
||||
"global-error-title": "",
|
||||
"global-generator": "",
|
||||
"global-home": "",
|
||||
"global-information": "",
|
||||
"global-layout": "",
|
||||
"global-log": "",
|
||||
"global-navigation": "",
|
||||
"global-nightmode": "",
|
||||
"global-nightmode-description": "",
|
||||
"global-question-title": "",
|
||||
"global-ram-usage": "",
|
||||
"global-skins": "",
|
||||
"global-success-title": "Sucesso!",
|
||||
"global-uptime": "",
|
||||
"global-version": "",
|
||||
"global-wiki": "",
|
||||
"log-event-code": "",
|
||||
"log-title": "",
|
||||
"placeholder-auth": "",
|
||||
"placeholder-commands": "",
|
||||
"placeholder-generator": "",
|
||||
"title-commands": "",
|
||||
"title-bots": ""
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "Autentificarea ta a eșuat de prea multe ori, reîncearcă într-o oră.",
|
||||
"auth-ipc-header": "Parolă IPC necesară",
|
||||
"auth-ipc-pw-saved": "Parola ta IPC a fost salvată.",
|
||||
"auth-ipc-pw-wrong": "Parola ta IPC pare să fie greșită, încearcă din nou!",
|
||||
"auth-ipc-text": "Te rugăm să introduci parola corectă IPC",
|
||||
"auth-title": "ASF | Autentificare",
|
||||
"bots-confirm-delete": "Da, șterge robotul!",
|
||||
"bots-delete-success": "<$1> și toate fișierele asociate au fost șterse.",
|
||||
"bots-delimiter": "Delimitator",
|
||||
"bots-download": "Nimic de descărcat!",
|
||||
"bots-hide": "Ascunde boții",
|
||||
"bots-hide-offline": "Boți offline",
|
||||
"bots-hide-inactive": "Boți inactivi",
|
||||
"bots-hide-online": "Boți online",
|
||||
"bots-infobox-cards": "Cartonașe rămase",
|
||||
"bots-infobox-games": "Jocuri rămase",
|
||||
"bots-infobox-time": "Timp rămas",
|
||||
"bots-in-use": "Botul este folosit momentan.",
|
||||
"bots-paused": "Robotul este oprit.",
|
||||
"bots-pause-success": "<$1> a fost oprit.",
|
||||
"bots-recover-files": "Nu vei mai putea recupera fișierele boților!",
|
||||
"bots-redeem-add-button": "Adaugă coduri",
|
||||
"bots-redeem-unused-button": "Descărcă $1.keys.unused",
|
||||
"bots-redeem-used-button": "Descărcă $1.keys.used",
|
||||
"bots-redeem-confirm": "$1 {{PLURAL:$1|Codul a|Codurile au}} fost adăugat{{PLURAL:$1||e}} la activatorul de coduri în plan secundar <$2>.",
|
||||
"bots-redeem-title": "Activator de coduri în plan secundar",
|
||||
"bots-redeem-add-title": "Adaugă coduri",
|
||||
"bots-redeem-unused-title": "Vezi codurile nefolosite",
|
||||
"bots-redeem-used-title": "Vezi codurile folosite",
|
||||
"bots-resume-success": "<$1> a fost reluat.",
|
||||
"bots-start-success": "<$1> a fost pornit.",
|
||||
"bots-stop-success": "<$1> a fost oprit.",
|
||||
"bots-syntax": "Sintaxă: gameName{delimiter}key",
|
||||
"bots-title": "ASF | Boți",
|
||||
"commands-response": "$1 Răspuns primit: $2",
|
||||
"commands-sent": "$1 Comandă trimisă: $2",
|
||||
"commands-title": "ASF | Comenzi",
|
||||
"commands-waiting": "$1 Așteaptă un răspuns...",
|
||||
"editor-change": "Schimbă botul",
|
||||
"editor-current": "Se editează în prezent:",
|
||||
"editor-current-bot": "Momentan editând: <b>$1</b>",
|
||||
"editor-save": "Salvează",
|
||||
"editor-save-confirm": "<$1> și fișierele sale de configure au fost actualizate.",
|
||||
"editor-title": "ASF | Editor de configurații",
|
||||
"editor-update": "Configurația va fi actualizată și <$1> va fi repornit!",
|
||||
"editor-update-confirm": "Da, actualizează configurația!",
|
||||
"generator-change": "Modifică modul",
|
||||
"generator-current": "Modul actual:",
|
||||
"generator-current-bot": "Modul curent: <b>$1</b>",
|
||||
"generator-download": "Descarcă",
|
||||
"generator-name": "Trebuie să introduci un nume!",
|
||||
"generator-title": "ASF | Generator de configurații",
|
||||
"global-bots": "Boți",
|
||||
"global-boxed": "Aspect restrâns",
|
||||
"global-boxed-description": "Comutare aspect restrâns",
|
||||
"global-change-language": "Schimbă limba",
|
||||
"global-changelog": "Jurnalul modificărilor",
|
||||
"global-commands": "Comenzi",
|
||||
"global-config": "Configurație",
|
||||
"global-control-panel": "Panoul de control",
|
||||
"global-editor": "Editor",
|
||||
"global-error-invalid-pw": "Trebuie să introduci o parolă validă!",
|
||||
"global-error-title": "Eroare!",
|
||||
"global-generator": "Generator",
|
||||
"global-home": "Pagina principală",
|
||||
"global-information": "Informații",
|
||||
"global-layout": "Aspect",
|
||||
"global-log": "Log",
|
||||
"global-navigation": "Comută navigarea",
|
||||
"global-nightmode": "Mod nocturn",
|
||||
"global-nightmode-description": "Comută modul nocturn",
|
||||
"global-question-title": "Ești sigur?",
|
||||
"global-ram-usage": "Utilizare RAM",
|
||||
"global-skins": "Skinuri",
|
||||
"global-success-title": "Succes!",
|
||||
"global-uptime": "Timp de funcționare",
|
||||
"global-version": "Versiune",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "Cod eveniment: $1",
|
||||
"log-title": "ASF | Log",
|
||||
"placeholder-auth": "Introdu parola...",
|
||||
"placeholder-commands": "Introdu comanda...",
|
||||
"placeholder-generator": "Nume",
|
||||
"title-commands": "Comenzi",
|
||||
"title-bots": "Boți"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "Слишком много неудачных попыток авторизации, попробуйте через час.",
|
||||
"auth-ipc-header": "Необходим пароль IPC",
|
||||
"auth-ipc-pw-saved": "Ваш пароль IPC был сохранен.",
|
||||
"auth-ipc-pw-wrong": "Ваш пароль IPC неправильный, попробуйте ещё раз!",
|
||||
"auth-ipc-text": "Пожалуйста, введите верный пароль IPC",
|
||||
"auth-title": "ASF | Аутентификация",
|
||||
"bots-confirm-delete": "Да, удалить бота!",
|
||||
"bots-delete-success": "<$1> и все связанные файлы были удалены.",
|
||||
"bots-delimiter": "Разделитель",
|
||||
"bots-download": "Нечего скачивать!",
|
||||
"bots-hide": "Скрыть ботов",
|
||||
"bots-hide-offline": "Оффлайн боты",
|
||||
"bots-hide-inactive": "Неактивные боты",
|
||||
"bots-hide-online": "Онлайн боты",
|
||||
"bots-infobox-cards": "Осталось карт",
|
||||
"bots-infobox-games": "Осталось игр",
|
||||
"bots-infobox-time": "Осталось времени",
|
||||
"bots-in-use": "Бот сейчас используется.",
|
||||
"bots-paused": "Бот приостановлен.",
|
||||
"bots-pause-success": "<$1> приостановлен.",
|
||||
"bots-recover-files": "Вы не сможете восстановить файлы бота!",
|
||||
"bots-redeem-add-button": "Добавьте ключи",
|
||||
"bots-redeem-unused-button": "Скачать $1.keys.unused",
|
||||
"bots-redeem-used-button": "Скачать $1.keys.used",
|
||||
"bots-redeem-confirm": "$1 {{PLURAL:$1|Ключ был добавлен|Ключа были добавлены|Ключей были добавлены}} в очередь фоновой активации <$2>.",
|
||||
"bots-redeem-title": "Фоновая активация ключей",
|
||||
"bots-redeem-add-title": "Добавьте ключи",
|
||||
"bots-redeem-unused-title": "Показать неиспользованные ключи",
|
||||
"bots-redeem-used-title": "Показать использованные ключи",
|
||||
"bots-resume-success": "<$1> возобновлён.",
|
||||
"bots-start-success": "<$1> начал работу.",
|
||||
"bots-stop-success": "<$1> прекратил работу.",
|
||||
"bots-syntax": "Синтаксис: названиеИгры{delimiter}ключ",
|
||||
"bots-title": "ASF | Боты",
|
||||
"commands-response": "$1 Получен ответ: $2",
|
||||
"commands-sent": "$1 Отправлена команда: $2",
|
||||
"commands-title": "ASF | Команды",
|
||||
"commands-waiting": "$1 Ожидание ответа...",
|
||||
"editor-change": "Сменить бота",
|
||||
"editor-current": "Сейчас редактируется:",
|
||||
"editor-current-bot": "Редактирование: <b>$1</b>",
|
||||
"editor-save": "Сохранить",
|
||||
"editor-save-confirm": "<$1> и его файл конфигурации были обновлены.",
|
||||
"editor-title": "ASF | Редактор конфигураций",
|
||||
"editor-update": "Конфигурация будет изменена, <$1> будет перезапущен!",
|
||||
"editor-update-confirm": "Да, обновить конфигурацию!",
|
||||
"generator-change": "Изменить режим",
|
||||
"generator-current": "Текущий режим:",
|
||||
"generator-current-bot": "Текущий режим: <b>$1</b>",
|
||||
"generator-download": "Скачать",
|
||||
"generator-name": "Вы должны ввести имя!",
|
||||
"generator-title": "ASF | Генератор конфигураций",
|
||||
"global-bots": "Боты",
|
||||
"global-boxed": "Фиксированная разметка",
|
||||
"global-boxed-description": "Включить/выключить фиксированную разметку",
|
||||
"global-change-language": "Сменить язык",
|
||||
"global-changelog": "История изменений",
|
||||
"global-commands": "Команды",
|
||||
"global-config": "Конфигурация",
|
||||
"global-control-panel": "Панель управления",
|
||||
"global-editor": "Редактор",
|
||||
"global-error-invalid-pw": "Вы должны ввести верный пароль!",
|
||||
"global-error-title": "Ошибка!",
|
||||
"global-generator": "Генератор",
|
||||
"global-home": "Главная",
|
||||
"global-information": "Информация",
|
||||
"global-layout": "Разметка",
|
||||
"global-log": "Журнал",
|
||||
"global-navigation": "Включить/выключить панели навигации",
|
||||
"global-nightmode": "Ночной режим",
|
||||
"global-nightmode-description": "Включить/выключить ночной режим",
|
||||
"global-question-title": "Вы уверены?",
|
||||
"global-ram-usage": "Занято ОЗУ",
|
||||
"global-skins": "Оформление",
|
||||
"global-success-title": "Успешно!",
|
||||
"global-uptime": "Время работы",
|
||||
"global-version": "Версия",
|
||||
"global-wiki": "Вики",
|
||||
"log-event-code": "Код события: $1",
|
||||
"log-title": "ASF | Журнал",
|
||||
"placeholder-auth": "Введите пароль...",
|
||||
"placeholder-commands": "Введите команду...",
|
||||
"placeholder-generator": "Имя",
|
||||
"title-commands": "Команды",
|
||||
"title-bots": "Боты"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "",
|
||||
"auth-ipc-header": "",
|
||||
"auth-ipc-pw-saved": "",
|
||||
"auth-ipc-pw-wrong": "",
|
||||
"auth-ipc-text": "",
|
||||
"auth-title": "",
|
||||
"bots-confirm-delete": "",
|
||||
"bots-delete-success": "",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "",
|
||||
"bots-hide": "Skryť botov",
|
||||
"bots-hide-offline": "Offline boti",
|
||||
"bots-hide-inactive": "",
|
||||
"bots-hide-online": "Online boti",
|
||||
"bots-infobox-cards": "",
|
||||
"bots-infobox-games": "",
|
||||
"bots-infobox-time": "",
|
||||
"bots-in-use": "Bot je práve používaný.",
|
||||
"bots-paused": "",
|
||||
"bots-pause-success": "",
|
||||
"bots-recover-files": "",
|
||||
"bots-redeem-add-button": "",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "",
|
||||
"bots-redeem-add-title": "",
|
||||
"bots-redeem-unused-title": "",
|
||||
"bots-redeem-used-title": "",
|
||||
"bots-resume-success": "",
|
||||
"bots-start-success": "",
|
||||
"bots-stop-success": "",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "ASF | Boti",
|
||||
"commands-response": "",
|
||||
"commands-sent": "",
|
||||
"commands-title": "ASF | Príkazy",
|
||||
"commands-waiting": "",
|
||||
"editor-change": "Zmeniť bota",
|
||||
"editor-current": "Aktuálne sa mení:",
|
||||
"editor-current-bot": "",
|
||||
"editor-save": "Uložiť",
|
||||
"editor-save-confirm": "",
|
||||
"editor-title": "ASF | Editor konfigurácie",
|
||||
"editor-update": "",
|
||||
"editor-update-confirm": "",
|
||||
"generator-change": "Zmeniť mód",
|
||||
"generator-current": "Aktuálny mód:",
|
||||
"generator-current-bot": "",
|
||||
"generator-download": "Stiahnuť",
|
||||
"generator-name": "",
|
||||
"generator-title": "ASF | Generátor konfigurácie",
|
||||
"global-bots": "Boti",
|
||||
"global-boxed": "Štvorcové rozloženie",
|
||||
"global-boxed-description": "",
|
||||
"global-change-language": "",
|
||||
"global-changelog": "Zoznam zmien",
|
||||
"global-commands": "Príkazy",
|
||||
"global-config": "Konfigurácia",
|
||||
"global-control-panel": "Ovládací panel",
|
||||
"global-editor": "Editor",
|
||||
"global-error-invalid-pw": "",
|
||||
"global-error-title": "",
|
||||
"global-generator": "Generátor",
|
||||
"global-home": "Domovská stránka",
|
||||
"global-information": "Informácie",
|
||||
"global-layout": "Rozloženie",
|
||||
"global-log": "Log",
|
||||
"global-navigation": "Zmena navigácie",
|
||||
"global-nightmode": "Nočný mód",
|
||||
"global-nightmode-description": "",
|
||||
"global-question-title": "",
|
||||
"global-ram-usage": "Využitie RAM pamäte",
|
||||
"global-skins": "Skiny",
|
||||
"global-success-title": "Úspech!",
|
||||
"global-uptime": "Čas behu",
|
||||
"global-version": "Verzia",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "",
|
||||
"log-title": "ASF | Log",
|
||||
"placeholder-auth": "",
|
||||
"placeholder-commands": "",
|
||||
"placeholder-generator": "Meno",
|
||||
"title-commands": "Príkazy",
|
||||
"title-bots": "Boti"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "",
|
||||
"auth-ipc-header": "Neophodna IPC lozinka",
|
||||
"auth-ipc-pw-saved": "Vaša IPC lozinka je sačuvana.",
|
||||
"auth-ipc-pw-wrong": "Vaša IPC lozinka je netačna, probajte ponovo!",
|
||||
"auth-ipc-text": "Molimo vas da unesete ispravnu IPC lozinku",
|
||||
"auth-title": "ASF | Autentifikacija",
|
||||
"bots-confirm-delete": "Da, izbriši bota!",
|
||||
"bots-delete-success": "",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "",
|
||||
"bots-hide": "Sakrij botove",
|
||||
"bots-hide-offline": "Offline botovi",
|
||||
"bots-hide-inactive": "Neaktivni botovi",
|
||||
"bots-hide-online": "Online botovi",
|
||||
"bots-infobox-cards": "Preostale kartice",
|
||||
"bots-infobox-games": "Preostale Igre",
|
||||
"bots-infobox-time": "Preostalo vreme",
|
||||
"bots-in-use": "Bot je trenutno u upotrebi.",
|
||||
"bots-paused": "Bot je pauziran.",
|
||||
"bots-pause-success": "",
|
||||
"bots-recover-files": "",
|
||||
"bots-redeem-add-button": "Dodaj ključeve",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "",
|
||||
"bots-redeem-add-title": "Dodaj ključeve",
|
||||
"bots-redeem-unused-title": "",
|
||||
"bots-redeem-used-title": "",
|
||||
"bots-resume-success": "",
|
||||
"bots-start-success": "",
|
||||
"bots-stop-success": "",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "",
|
||||
"commands-response": "",
|
||||
"commands-sent": "",
|
||||
"commands-title": "",
|
||||
"commands-waiting": "",
|
||||
"editor-change": "",
|
||||
"editor-current": "",
|
||||
"editor-current-bot": "",
|
||||
"editor-save": "",
|
||||
"editor-save-confirm": "",
|
||||
"editor-title": "",
|
||||
"editor-update": "",
|
||||
"editor-update-confirm": "",
|
||||
"generator-change": "",
|
||||
"generator-current": "",
|
||||
"generator-current-bot": "",
|
||||
"generator-download": "",
|
||||
"generator-name": "",
|
||||
"generator-title": "",
|
||||
"global-bots": "",
|
||||
"global-boxed": "",
|
||||
"global-boxed-description": "",
|
||||
"global-change-language": "",
|
||||
"global-changelog": "",
|
||||
"global-commands": "",
|
||||
"global-config": "",
|
||||
"global-control-panel": "",
|
||||
"global-editor": "",
|
||||
"global-error-invalid-pw": "",
|
||||
"global-error-title": "",
|
||||
"global-generator": "",
|
||||
"global-home": "",
|
||||
"global-information": "",
|
||||
"global-layout": "",
|
||||
"global-log": "",
|
||||
"global-navigation": "",
|
||||
"global-nightmode": "",
|
||||
"global-nightmode-description": "",
|
||||
"global-question-title": "",
|
||||
"global-ram-usage": "",
|
||||
"global-skins": "",
|
||||
"global-success-title": "Uspeh!",
|
||||
"global-uptime": "",
|
||||
"global-version": "",
|
||||
"global-wiki": "",
|
||||
"log-event-code": "",
|
||||
"log-title": "",
|
||||
"placeholder-auth": "",
|
||||
"placeholder-commands": "",
|
||||
"placeholder-generator": "",
|
||||
"title-commands": "",
|
||||
"title-bots": ""
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "Du kunde inte autentisera korrekt för många gånger, försök igen om en timme.",
|
||||
"auth-ipc-header": "Krävs IPC lösenord",
|
||||
"auth-ipc-pw-saved": "",
|
||||
"auth-ipc-pw-wrong": "",
|
||||
"auth-ipc-text": "Vänligen ange det korrekt IPC lösenordet",
|
||||
"auth-title": "ASF | Autentisering",
|
||||
"bots-confirm-delete": "Ja, radera bot!",
|
||||
"bots-delete-success": "",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "",
|
||||
"bots-hide": "Göm bots",
|
||||
"bots-hide-offline": "Offline bots",
|
||||
"bots-hide-inactive": "Inaktiva bots",
|
||||
"bots-hide-online": "Online bots",
|
||||
"bots-infobox-cards": "Kort återstår",
|
||||
"bots-infobox-games": "Spel återstår",
|
||||
"bots-infobox-time": "Tid återstår",
|
||||
"bots-in-use": "Bot används för närvarande.",
|
||||
"bots-paused": "Bot är pausad.",
|
||||
"bots-pause-success": "",
|
||||
"bots-recover-files": "",
|
||||
"bots-redeem-add-button": "",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "",
|
||||
"bots-redeem-add-title": "",
|
||||
"bots-redeem-unused-title": "",
|
||||
"bots-redeem-used-title": "",
|
||||
"bots-resume-success": "",
|
||||
"bots-start-success": "<$1> har startats.",
|
||||
"bots-stop-success": "<$1> har stoppats.",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "ASF | Bots",
|
||||
"commands-response": "$1 Svar mottaget: $2",
|
||||
"commands-sent": "$1 Kommando skickas: $2",
|
||||
"commands-title": "ASF | Kommandon",
|
||||
"commands-waiting": "$1 Väntar på svar...",
|
||||
"editor-change": "Ändra bot",
|
||||
"editor-current": "",
|
||||
"editor-current-bot": "",
|
||||
"editor-save": "Spara",
|
||||
"editor-save-confirm": "",
|
||||
"editor-title": "ASF | Konfig Redaktör",
|
||||
"editor-update": "",
|
||||
"editor-update-confirm": "Ja, uppdatera konfig!",
|
||||
"generator-change": "",
|
||||
"generator-current": "",
|
||||
"generator-current-bot": "",
|
||||
"generator-download": "Ladda ner",
|
||||
"generator-name": "",
|
||||
"generator-title": "ASF | Konfig Generator",
|
||||
"global-bots": "Bots",
|
||||
"global-boxed": "",
|
||||
"global-boxed-description": "",
|
||||
"global-change-language": "Ändra språk",
|
||||
"global-changelog": "Ändringslogg",
|
||||
"global-commands": "Kommandon",
|
||||
"global-config": "Konfig",
|
||||
"global-control-panel": "Kontrollpanelen",
|
||||
"global-editor": "Redaktör",
|
||||
"global-error-invalid-pw": "",
|
||||
"global-error-title": "Fel!",
|
||||
"global-generator": "",
|
||||
"global-home": "",
|
||||
"global-information": "Information",
|
||||
"global-layout": "",
|
||||
"global-log": "",
|
||||
"global-navigation": "",
|
||||
"global-nightmode": "",
|
||||
"global-nightmode-description": "",
|
||||
"global-question-title": "Är du säker?",
|
||||
"global-ram-usage": "",
|
||||
"global-skins": "",
|
||||
"global-success-title": "Framgång!",
|
||||
"global-uptime": "",
|
||||
"global-version": "Version",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "",
|
||||
"log-title": "",
|
||||
"placeholder-auth": "Skriv ditt lösenord...",
|
||||
"placeholder-commands": "Skriv kommando...",
|
||||
"placeholder-generator": "Namn",
|
||||
"title-commands": "Kommandon",
|
||||
"title-bots": "Bots"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "Kimlik doğrulamanız çok kez başarısız oldu, bir saat içinde tekrar deneyin.",
|
||||
"auth-ipc-header": "IPC parolası gerekli",
|
||||
"auth-ipc-pw-saved": "IPC parolanız kaydedildi.",
|
||||
"auth-ipc-pw-wrong": "ICP parolanız hatalı gibi görünüyor, tekrar deneyin!",
|
||||
"auth-ipc-text": "Lütfen geçerli IPC parolanızı girin",
|
||||
"auth-title": "ASF | Kimlik Doğrulama",
|
||||
"bots-confirm-delete": "Evet, botu sil!",
|
||||
"bots-delete-success": "<$1> ve tüm ilişkili dosyaları silindi.",
|
||||
"bots-delimiter": "Ayraç",
|
||||
"bots-download": "İndirilecek bir şey yok!",
|
||||
"bots-hide": "Botları gizle",
|
||||
"bots-hide-offline": "Çevrimdışı botlar",
|
||||
"bots-hide-inactive": "Devre dışı botlar",
|
||||
"bots-hide-online": "Çevrimiçi botlar",
|
||||
"bots-infobox-cards": "Kalan Kart",
|
||||
"bots-infobox-games": "Kalan Oyun",
|
||||
"bots-infobox-time": "Kalan Süre",
|
||||
"bots-in-use": "Bot şu anda kullanılıyor.",
|
||||
"bots-paused": "Bot duraklatıldı.",
|
||||
"bots-pause-success": "<$1> duraklatıldı.",
|
||||
"bots-recover-files": "Herhangi bir bot dosyasını kurtaramayacaksınız!",
|
||||
"bots-redeem-add-button": "Anahtarları ekleyin",
|
||||
"bots-redeem-unused-button": "$1.keys.unused indir",
|
||||
"bots-redeem-used-button": "$1.keys.used indir",
|
||||
"bots-redeem-confirm": "$1 {{PLURAL:$1|Anahtar|Anahtarlar}} <$2> arkaplan etkinleştiriciye eklendi.",
|
||||
"bots-redeem-title": "Arkaplan oyun etkinleştirici",
|
||||
"bots-redeem-add-title": "Anahtarları ekleyin",
|
||||
"bots-redeem-unused-title": "Kullanılmayan anahtarları göster",
|
||||
"bots-redeem-used-title": "Kullanılan anahtarları göster",
|
||||
"bots-resume-success": "<$1> devam ediyor.",
|
||||
"bots-start-success": "<$1> başlatıldı.",
|
||||
"bots-stop-success": "<$1> durduruldu.",
|
||||
"bots-syntax": "Sözdizimi: oyunAdı{delimiter}anahtar",
|
||||
"bots-title": "ASF | Botlar",
|
||||
"commands-response": "$1 Yanıt alındı: $2",
|
||||
"commands-sent": "$1 Komut gönderildi: $2",
|
||||
"commands-title": "ASF | Komutlar",
|
||||
"commands-waiting": "$1 Yanıt bekleniyor...",
|
||||
"editor-change": "Botu değiştir",
|
||||
"editor-current": "Şu anda düzenlenen:",
|
||||
"editor-current-bot": "Şu anda düzenlenen: <b>$1</b>",
|
||||
"editor-save": "Kaydet",
|
||||
"editor-save-confirm": "<$1> ve yapılandırma dosyası güncellendi.",
|
||||
"editor-title": "ASF | Yapılandırma Düzenleyici",
|
||||
"editor-update": "Yapılandırma güncellenecek ve <$1> yeniden başlatılacak!",
|
||||
"editor-update-confirm": "Evet, yapılandırmayı güncelle!",
|
||||
"generator-change": "Modu değiştir",
|
||||
"generator-current": "Geçerli mod:",
|
||||
"generator-current-bot": "Geçerli mod: <b>$1</b>",
|
||||
"generator-download": "İndir",
|
||||
"generator-name": "Bir isim girmelisiniz!",
|
||||
"generator-title": "ASF | Yapılandırma Oluşturucu",
|
||||
"global-bots": "Botlar",
|
||||
"global-boxed": "Kutu Düzeni",
|
||||
"global-boxed-description": "Kutulu düzeni aç/kapat",
|
||||
"global-change-language": "Dili değiştir",
|
||||
"global-changelog": "Değişim günlüğü",
|
||||
"global-commands": "Komutlar",
|
||||
"global-config": "Yapılandırma",
|
||||
"global-control-panel": "Denetim Masası",
|
||||
"global-editor": "Düzenleyici",
|
||||
"global-error-invalid-pw": "Geçerli bir parola girmelisiniz!",
|
||||
"global-error-title": "Hata!",
|
||||
"global-generator": "Oluşturucu",
|
||||
"global-home": "Ana sayfa",
|
||||
"global-information": "Bilgi",
|
||||
"global-layout": "Düzen",
|
||||
"global-log": "Günlük",
|
||||
"global-navigation": "Gezintiyi aç/kapat",
|
||||
"global-nightmode": "Gece modu",
|
||||
"global-nightmode-description": "Gece modunu aç/kapat",
|
||||
"global-question-title": "Emin misiniz?",
|
||||
"global-ram-usage": "RAM Kullanımı",
|
||||
"global-skins": "Temalar",
|
||||
"global-success-title": "Başarılı!",
|
||||
"global-uptime": "Çalışma süresi",
|
||||
"global-version": "Sürüm",
|
||||
"global-wiki": "Viki",
|
||||
"log-event-code": "Olay kodu: $1",
|
||||
"log-title": "ASF | Günlük",
|
||||
"placeholder-auth": "Parolanızı yazın...",
|
||||
"placeholder-commands": "Komutu yazın...",
|
||||
"placeholder-generator": "İsim",
|
||||
"title-commands": "Komutlar",
|
||||
"title-bots": "Botlar"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "Ви не змогли увійти забагото разів, спробуйте через одну годину.",
|
||||
"auth-ipc-header": "Необхідний пароль IPC",
|
||||
"auth-ipc-pw-saved": "Ваш IPC пароль збережено.",
|
||||
"auth-ipc-pw-wrong": "Ваш пароль IPC здається невірний, спробуйте ще раз!",
|
||||
"auth-ipc-text": "Будь ласка, введіть вірний IPC пароль",
|
||||
"auth-title": "ASF | Автентифікація",
|
||||
"bots-confirm-delete": "Так, видалити бота!",
|
||||
"bots-delete-success": "<$1> та усі пов'язані файли було видалено.",
|
||||
"bots-delimiter": "Роздільник",
|
||||
"bots-download": "Немає нічого для скачування!",
|
||||
"bots-hide": "Приховати ботів",
|
||||
"bots-hide-offline": "Боти що офлайн",
|
||||
"bots-hide-inactive": "Неактивні боти",
|
||||
"bots-hide-online": "Боти що онлайн",
|
||||
"bots-infobox-cards": "Залишилося карток",
|
||||
"bots-infobox-games": "Ігор залишилося",
|
||||
"bots-infobox-time": "Залишилося часу",
|
||||
"bots-in-use": "Бот зараз використовується.",
|
||||
"bots-paused": "Бот призупинено.",
|
||||
"bots-pause-success": "<$1> призупинено.",
|
||||
"bots-recover-files": "Ви не зможете відновити файли бота!",
|
||||
"bots-redeem-add-button": "Додати ключі",
|
||||
"bots-redeem-unused-button": "Скачати $1.keys.unused",
|
||||
"bots-redeem-used-button": "Скачати $1.keys.used",
|
||||
"bots-redeem-confirm": "$1 {{PLURAL:$1|Ключ|Ключа|Ключів}} було додано до черги фонової активації <$2>.",
|
||||
"bots-redeem-title": "Активація ігор у фоновому режимі",
|
||||
"bots-redeem-add-title": "Додати ключі",
|
||||
"bots-redeem-unused-title": "Показати невикористані ключі",
|
||||
"bots-redeem-used-title": "Показати використані ключі",
|
||||
"bots-resume-success": "<$1> відновлено.",
|
||||
"bots-start-success": "<$1> запущено.",
|
||||
"bots-stop-success": "<$1> зупинено.",
|
||||
"bots-syntax": "Синтаксис: назваГри{delimiter}ключ",
|
||||
"bots-title": "ASF | Боти",
|
||||
"commands-response": "Від $1 отримано відповідь: $2",
|
||||
"commands-sent": "$1 Надіслано команду: $2",
|
||||
"commands-title": "ASF | Команди",
|
||||
"commands-waiting": "$1 Зачекайте на відповідь...",
|
||||
"editor-change": "Змінити бота",
|
||||
"editor-current": "Зараз редагується:",
|
||||
"editor-current-bot": "Зараз редагується: <b>$1</b>",
|
||||
"editor-save": "Зберегти",
|
||||
"editor-save-confirm": "<$1> та його файл конфігурації було оновлено.",
|
||||
"editor-title": "ASF | Редактор конфігурацій",
|
||||
"editor-update": "Файл конфігурації оновлено і <$1> буде перезапущений!",
|
||||
"editor-update-confirm": "Так, оновіть конфігурацію!",
|
||||
"generator-change": "Змінити режим",
|
||||
"generator-current": "Поточний режим:",
|
||||
"generator-current-bot": "Поточний режим: <b>$1</b>",
|
||||
"generator-download": "Скачати",
|
||||
"generator-name": "Ви повинні ввести ім'я!",
|
||||
"generator-title": "ASF | Генератор конфігурацій",
|
||||
"global-bots": "Боти",
|
||||
"global-boxed": "Фіксована розмітка",
|
||||
"global-boxed-description": "Перемикач фіксованої розмітки",
|
||||
"global-change-language": "Змінити мову",
|
||||
"global-changelog": "Журнал змін",
|
||||
"global-commands": "Команди",
|
||||
"global-config": "Конфігурація",
|
||||
"global-control-panel": "Панель управління",
|
||||
"global-editor": "Редактор",
|
||||
"global-error-invalid-pw": "Ви повинні ввести правильний пароль!",
|
||||
"global-error-title": "Помилка!",
|
||||
"global-generator": "Генератор",
|
||||
"global-home": "Головна",
|
||||
"global-information": "Інформація",
|
||||
"global-layout": "Розмітка",
|
||||
"global-log": "Журнал",
|
||||
"global-navigation": "Перемикач панелі навігації",
|
||||
"global-nightmode": "Нічний режим",
|
||||
"global-nightmode-description": "Переключити нічний режим",
|
||||
"global-question-title": "Ви впевнені?",
|
||||
"global-ram-usage": "Зайнято пам'яті",
|
||||
"global-skins": "Теми оформлення",
|
||||
"global-success-title": "Успіх!",
|
||||
"global-uptime": "Час роботи",
|
||||
"global-version": "Версія",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "Код події: $1",
|
||||
"log-title": "ASF | Журнал",
|
||||
"placeholder-auth": "Введіть пароль...",
|
||||
"placeholder-commands": "Введіть команду...",
|
||||
"placeholder-generator": "Ім'я",
|
||||
"title-commands": "Команди",
|
||||
"title-bots": "Боти"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "",
|
||||
"auth-ipc-header": "",
|
||||
"auth-ipc-pw-saved": "",
|
||||
"auth-ipc-pw-wrong": "",
|
||||
"auth-ipc-text": "",
|
||||
"auth-title": "",
|
||||
"bots-confirm-delete": "",
|
||||
"bots-delete-success": "",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "",
|
||||
"bots-hide": "Ẩn bot",
|
||||
"bots-hide-offline": "",
|
||||
"bots-hide-inactive": "",
|
||||
"bots-hide-online": "",
|
||||
"bots-infobox-cards": "",
|
||||
"bots-infobox-games": "",
|
||||
"bots-infobox-time": "",
|
||||
"bots-in-use": "Bot hiện đang được sử dụng.",
|
||||
"bots-paused": "",
|
||||
"bots-pause-success": "",
|
||||
"bots-recover-files": "",
|
||||
"bots-redeem-add-button": "",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "",
|
||||
"bots-redeem-add-title": "",
|
||||
"bots-redeem-unused-title": "",
|
||||
"bots-redeem-used-title": "",
|
||||
"bots-resume-success": "",
|
||||
"bots-start-success": "",
|
||||
"bots-stop-success": "",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "ASF | Bot",
|
||||
"commands-response": "",
|
||||
"commands-sent": "",
|
||||
"commands-title": "ASF | Lệnh",
|
||||
"commands-waiting": "",
|
||||
"editor-change": "Thay đổi bot",
|
||||
"editor-current": "Hiện đang chỉnh sửa:",
|
||||
"editor-current-bot": "",
|
||||
"editor-save": "Lưu",
|
||||
"editor-save-confirm": "",
|
||||
"editor-title": "",
|
||||
"editor-update": "",
|
||||
"editor-update-confirm": "",
|
||||
"generator-change": "Chuyển chế độ",
|
||||
"generator-current": "Chế độ hiện tại:",
|
||||
"generator-current-bot": "",
|
||||
"generator-download": "Tải về",
|
||||
"generator-name": "",
|
||||
"generator-title": "",
|
||||
"global-bots": "Bot",
|
||||
"global-boxed": "",
|
||||
"global-boxed-description": "",
|
||||
"global-change-language": "",
|
||||
"global-changelog": "Các thay đổi",
|
||||
"global-commands": "Lệnh",
|
||||
"global-config": "Cấu hình",
|
||||
"global-control-panel": "Bảng điều khiển trung tâm",
|
||||
"global-editor": "Trình biên tập",
|
||||
"global-error-invalid-pw": "",
|
||||
"global-error-title": "",
|
||||
"global-generator": "Tạo",
|
||||
"global-home": "Trang chủ",
|
||||
"global-information": "Thông tin",
|
||||
"global-layout": "Bố cục",
|
||||
"global-log": "Nhật ký",
|
||||
"global-navigation": "Chuyển đổi điều hướng",
|
||||
"global-nightmode": "Chế độ ban đêm",
|
||||
"global-nightmode-description": "",
|
||||
"global-question-title": "",
|
||||
"global-ram-usage": "Bộ nhớ RAM dùng",
|
||||
"global-skins": "Giao diện",
|
||||
"global-success-title": "Hoàn tất!",
|
||||
"global-uptime": "Thời gian hoạt động",
|
||||
"global-version": "Phiên bản",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "",
|
||||
"log-title": "ASF | Nhật ký",
|
||||
"placeholder-auth": "",
|
||||
"placeholder-commands": "",
|
||||
"placeholder-generator": "Tên",
|
||||
"title-commands": "Lệnh",
|
||||
"title-bots": "Bot"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "失败验证次数过多,请在一小时后重试",
|
||||
"auth-ipc-header": "密码为必填项。",
|
||||
"auth-ipc-pw-saved": "您的密码已经被重置。",
|
||||
"auth-ipc-pw-wrong": "您的 IPC 密码似乎是错误的, 请重试!",
|
||||
"auth-ipc-text": "请输入正确的密码。",
|
||||
"auth-title": "认证",
|
||||
"bots-confirm-delete": "是的,删除这个bot!",
|
||||
"bots-delete-success": "<$1> 和所有相关文件已被删除。",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "",
|
||||
"bots-hide": "隐藏机器人",
|
||||
"bots-hide-offline": "离线机器人",
|
||||
"bots-hide-inactive": "",
|
||||
"bots-hide-online": "在线机器人",
|
||||
"bots-infobox-cards": "剩余卡牌数量",
|
||||
"bots-infobox-games": "剩余游戏数量",
|
||||
"bots-infobox-time": "剩余时间",
|
||||
"bots-in-use": "当前帐号正在使用。",
|
||||
"bots-paused": "Bot已暂停",
|
||||
"bots-pause-success": "<$1> 已暂停。",
|
||||
"bots-recover-files": "您将无法恢复任何 bot 文件!",
|
||||
"bots-redeem-add-button": "",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "批量激活游戏",
|
||||
"bots-redeem-add-title": "",
|
||||
"bots-redeem-unused-title": "",
|
||||
"bots-redeem-used-title": "",
|
||||
"bots-resume-success": "<$1> 已恢复。",
|
||||
"bots-start-success": "<$1> 已启动。",
|
||||
"bots-stop-success": "<$1> 已停止。",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "ASF | 机器人",
|
||||
"commands-response": "$1 收到回复: $2",
|
||||
"commands-sent": "$1 命令发送至: $2",
|
||||
"commands-title": "ASF | 命令",
|
||||
"commands-waiting": "$1 等待响应",
|
||||
"editor-change": "更改机器人",
|
||||
"editor-current": "正在编辑:",
|
||||
"editor-current-bot": "当前编辑: <b>$1</b>",
|
||||
"editor-save": "保存",
|
||||
"editor-save-confirm": "",
|
||||
"editor-title": "ASF | 配置编辑器",
|
||||
"editor-update": "配置将被更新, <$1> 将重新启动!",
|
||||
"editor-update-confirm": "是, 更新配置!",
|
||||
"generator-change": "更改模式",
|
||||
"generator-current": "当前模式:",
|
||||
"generator-current-bot": "当前模式: <b>$ 1</b>",
|
||||
"generator-download": "下载",
|
||||
"generator-name": "",
|
||||
"generator-title": "ASF | 配置文件生成器",
|
||||
"global-bots": "机器人",
|
||||
"global-boxed": "框式布局",
|
||||
"global-boxed-description": "切换框式布局",
|
||||
"global-change-language": "更改语言",
|
||||
"global-changelog": "更新日志",
|
||||
"global-commands": "命令",
|
||||
"global-config": "配置",
|
||||
"global-control-panel": "控制面板",
|
||||
"global-editor": "编辑器",
|
||||
"global-error-invalid-pw": "",
|
||||
"global-error-title": "错误!",
|
||||
"global-generator": "生成器",
|
||||
"global-home": "首页",
|
||||
"global-information": "信息",
|
||||
"global-layout": "布局",
|
||||
"global-log": "日志",
|
||||
"global-navigation": "切换导航",
|
||||
"global-nightmode": "夜晚模式",
|
||||
"global-nightmode-description": "切换夜间模式",
|
||||
"global-question-title": "是否确定?",
|
||||
"global-ram-usage": "内存用量",
|
||||
"global-skins": "皮肤",
|
||||
"global-success-title": "成功!",
|
||||
"global-uptime": "在线时长",
|
||||
"global-version": "版本",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "事件代码: $ 1",
|
||||
"log-title": "ASF | 日志",
|
||||
"placeholder-auth": "请输入密码...",
|
||||
"placeholder-commands": "在此处键入命令...",
|
||||
"placeholder-generator": "名称",
|
||||
"title-commands": "命令",
|
||||
"title-bots": "机器人"
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"auth-ipc-403": "您未通過驗證次數過多,請一小時後再試。",
|
||||
"auth-ipc-header": "需要 IPC 密碼",
|
||||
"auth-ipc-pw-saved": "您的 IPC 密碼已儲存。",
|
||||
"auth-ipc-pw-wrong": "您的 IPC 密碼似乎是錯誤的,請再試一次!",
|
||||
"auth-ipc-text": "請輸入正確的 IPC 密碼",
|
||||
"auth-title": "ASF | 驗證",
|
||||
"bots-confirm-delete": "是的,刪除BOT!",
|
||||
"bots-delete-success": "<$1> 與所有相關檔案已被刪除。",
|
||||
"bots-delimiter": "",
|
||||
"bots-download": "",
|
||||
"bots-hide": "隱藏 bots",
|
||||
"bots-hide-offline": "Bots 離線",
|
||||
"bots-hide-inactive": "",
|
||||
"bots-hide-online": "Bots 在線上",
|
||||
"bots-infobox-cards": "剩餘卡片",
|
||||
"bots-infobox-games": "剩餘遊戲",
|
||||
"bots-infobox-time": "剩餘時間",
|
||||
"bots-in-use": "BOT 目前正被使用。",
|
||||
"bots-paused": "BOT 已暫停。",
|
||||
"bots-pause-success": "<$1> 已暫停。",
|
||||
"bots-recover-files": "您將無法恢復任何 BOT 檔案!",
|
||||
"bots-redeem-add-button": "",
|
||||
"bots-redeem-unused-button": "",
|
||||
"bots-redeem-used-button": "",
|
||||
"bots-redeem-confirm": "",
|
||||
"bots-redeem-title": "背景啟動序號",
|
||||
"bots-redeem-add-title": "",
|
||||
"bots-redeem-unused-title": "",
|
||||
"bots-redeem-used-title": "",
|
||||
"bots-resume-success": "<$1> 已暫停。",
|
||||
"bots-start-success": "<$1> 已啟動。",
|
||||
"bots-stop-success": "<$1> 已停止。",
|
||||
"bots-syntax": "",
|
||||
"bots-title": "ASF | Bots",
|
||||
"commands-response": "$1 收到回應:$2",
|
||||
"commands-sent": "$1 指令已傳送:$2",
|
||||
"commands-title": "ASF | 指令",
|
||||
"commands-waiting": "$1 正在等待回應...",
|
||||
"editor-change": "更改 Bot",
|
||||
"editor-current": "正在編輯:",
|
||||
"editor-current-bot": "目前正在編輯:<b>$1</b>",
|
||||
"editor-save": "儲存",
|
||||
"editor-save-confirm": "",
|
||||
"editor-title": "ASF | 設定檔編輯",
|
||||
"editor-update": "設定檔將會更新以及 <$1> 將會重新啟動!",
|
||||
"editor-update-confirm": "是的,更新設定檔!",
|
||||
"generator-change": "更改模式",
|
||||
"generator-current": "目前模式:",
|
||||
"generator-current-bot": "目前模式:<b>$1</b>",
|
||||
"generator-download": "下載",
|
||||
"generator-name": "",
|
||||
"generator-title": "ASF | 設定檔產生器",
|
||||
"global-bots": "Bots",
|
||||
"global-boxed": "窄版布局",
|
||||
"global-boxed-description": "切換窄版佈局",
|
||||
"global-change-language": "變更語言",
|
||||
"global-changelog": "更新紀錄",
|
||||
"global-commands": "指令",
|
||||
"global-config": "設定",
|
||||
"global-control-panel": "控制台",
|
||||
"global-editor": "編輯器",
|
||||
"global-error-invalid-pw": "",
|
||||
"global-error-title": "錯誤!",
|
||||
"global-generator": "產生器",
|
||||
"global-home": "首頁",
|
||||
"global-information": "資訊",
|
||||
"global-layout": "佈局",
|
||||
"global-log": "紀錄",
|
||||
"global-navigation": "切換導航欄",
|
||||
"global-nightmode": "夜間模式",
|
||||
"global-nightmode-description": "切換夜間模式",
|
||||
"global-question-title": "您確定嗎?",
|
||||
"global-ram-usage": "RAM 使用率",
|
||||
"global-skins": "外觀",
|
||||
"global-success-title": "成功!",
|
||||
"global-uptime": "執行時間",
|
||||
"global-version": "版本",
|
||||
"global-wiki": "Wiki",
|
||||
"log-event-code": "事件代碼:$1",
|
||||
"log-title": "ASF | 紀錄",
|
||||
"placeholder-auth": "輸入您的密碼...",
|
||||
"placeholder-commands": "輸入指令...",
|
||||
"placeholder-generator": "名稱",
|
||||
"title-commands": "指令",
|
||||
"title-bots": "Bots"
|
||||
}
|
|
@ -1,754 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title data-i18n="bots-title">ASF | Bots</title>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<script defer src="https://use.fontawesome.com/releases/v5.1.0/js/all.js"></script> <!--Change to cdnjs once available-->
|
||||
<link rel="icon" href="../img/favicon.png" type="image/png">
|
||||
<link rel="shortcut icon" href="../img/favicon.ico" type="img/x-icon">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/admin-lte/2.4.2/css/AdminLTE.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.1.0/css/flag-icon.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css">
|
||||
<link rel="stylesheet" href="../css/_all-skins.min.css">
|
||||
<link rel="stylesheet" href="../css/app.css">
|
||||
<link rel="stylesheet" href="../css/_nightmode.min.css">
|
||||
</head>
|
||||
<body class="hold-transition skin-blue sidebar-mini fixed">
|
||||
<div class="wrapper">
|
||||
<!-- Header -->
|
||||
<header class="main-header">
|
||||
<!-- Logo -->
|
||||
<a href="javascript:void(0)" class="logo">
|
||||
<span class="logo-mini"><b>A</b>SF</span>
|
||||
<span class="logo-lg"><b>Archi</b>SteamFarm</span>
|
||||
</a>
|
||||
|
||||
<nav class="navbar navbar-static-top" role="navigation">
|
||||
<!-- Left Sidebar Toggle Button-->
|
||||
<a href="javascript:void(0)" class="sidebar-toggle" id="leftSidebar" data-toggle="push-menu" role="button">
|
||||
<i class="fas fa-bars"></i>
|
||||
<span class="sr-only" data-i18n="global-navigation">Toggle navigation</span>
|
||||
</a>
|
||||
<div class="navbar-custom-menu">
|
||||
<ul class="nav navbar-nav">
|
||||
<!-- Language Button -->
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown"><i id="currentLanguage" class="flag-icon flag-icon-us"></i></a>
|
||||
<div class="dropdown-menu dropdown-language"></div>
|
||||
</li>
|
||||
<!-- Right Sidebar Toggle Button -->
|
||||
<li><a href="javascript:void(0)" data-toggle="control-sidebar"><i class="fas fa-cogs"></i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<!-- Left Sidebar -->
|
||||
<aside class="main-sidebar">
|
||||
<section class="sidebar">
|
||||
<ul class="sidebar-menu" data-widget="tree">
|
||||
<li class="header" data-i18n="global-home">Home</li>
|
||||
<li><a href="commands.html"><i class="fas fa-laptop fa-fw"></i> <span data-i18n="global-commands">Commands</span></a></li>
|
||||
<li class="active">
|
||||
<a href="bots.html">
|
||||
<i class="fas fa-users fa-fw"></i> <span data-i18n="global-bots">Bots</span>
|
||||
<span class="pull-right-container bot-status">
|
||||
<small class="label pull-right bg-gray" id="offlineBots">0</small>
|
||||
<small class="label pull-right bg-red" id="disconnectedBots" style="display:none;">0</small>
|
||||
<small class="label pull-right bg-yellow" id="onlineBots">0</small>
|
||||
<small class="label pull-right bg-olive" id="farmingBots">0</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="log.html"><i class="far fa-file-alt fa-fw"></i> <span data-i18n="global-log">Log</span></a></li>
|
||||
|
||||
<li class="header" data-i18n="global-config">Config</li>
|
||||
<li><a href="editor.html"><i class="far fa-edit fa-fw"></i> <span data-i18n="global-editor">Editor</span></a></li>
|
||||
<li><a href="generator.html"><i class="far fa-copy fa-fw"></i> <span data-i18n="global-generator">Generator</span></a></li>
|
||||
|
||||
<li class="header" data-i18n="global-information">Information</li>
|
||||
<li>
|
||||
<a class="info-overview" href="javascript:void(0)">
|
||||
<i class="fas fa-tachometer-alt fa-fw"></i> <span data-i18n="global-ram-usage">RAM Usage</span>
|
||||
<span class="pull-right-container">
|
||||
<small class="label pull-right bg-blue" id="ramUsage">0.00 MB</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="info-overview" href="javascript:void(0)">
|
||||
<i class="far fa-clock fa-fw"></i> <span data-i18n="global-uptime">Uptime</span>
|
||||
<span class="pull-right-container">
|
||||
<small class="label pull-right bg-blue" id="uptime">0d 0h 0m</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</aside>
|
||||
|
||||
<!-- Content -->
|
||||
<div class="content-wrapper">
|
||||
<section class="content-header">
|
||||
<h1>
|
||||
<span data-i18n="global-bots">Bots</span>
|
||||
<small data-i18n="global-control-panel">Control Panel</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><i class="fas fa-home"></i> <span data-i18n="global-home">Home</span></li>
|
||||
<li class="active"><i class="fas fa-users"></i> <span data-i18n="global-bots">Bots</span></li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<!-- Content Body -->
|
||||
<section class="content container-fluid">
|
||||
<div class="box collapsed-box" id="headerBox">
|
||||
<div class="box-header with-border">
|
||||
<i class="fas fa-users"></i>
|
||||
<h3 class="box-title" data-i18n="global-bots">Bots</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown">
|
||||
<span data-i18n="bots-hide">Hide bots</span> <span class="fas fa-caret-down"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-toggle" role="menu">
|
||||
<li class="li-toggle"><input id="chkOn" type="checkbox" data-style="ios li-btn" data-onstyle="default" data-toggle="toggle" data-size="small" data-on="<i class='fas fa-users'></i> <span data-i18n='bots-hide-online'>Online bots</span>" data-off="<i class='fas fa-users'></i> <span data-i18n='bots-hide-online'>Online bots</span>"></li>
|
||||
<li class="li-toggle"><input id="chkInactive" type="checkbox" data-style="ios li-btn" data-onstyle="default" data-toggle="toggle" data-size="small" data-on="<i class='fas fa-users'></i> <span data-i18n='bots-hide-inactive'>Inactive bots</span>" data-off="<i class='fas fa-users'></i> <span data-i18n='bots-hide-inactive'>Inactive bots</span>"></li>
|
||||
<li class="li-toggle"><input id="chkOff" type="checkbox" data-style="ios li-btn" data-onstyle="default" data-toggle="toggle" data-size="small" data-on="<i class='fas fa-users'></i> <span data-i18n='bots-hide-offline'>Offline bots</span>" data-off="<i class='fas fa-users'></i> <span data-i18n='bots-hide-offline'>Offline bots</span>"></li>
|
||||
</ul>
|
||||
</div>
|
||||
<input id="chkKey" type="checkbox" data-style="ios" data-onstyle="default" data-toggle="toggle" data-size="mini" data-on="<i class='fas fa-key'></i>" data-off="<i class='fas fa-key'></i>">
|
||||
<input id="chkDelete" type="checkbox" data-style="ios" data-onstyle="default" data-toggle="toggle" data-size="mini" data-on="<i class='far fa-trash-alt'></i>" data-off="<i class='far fa-trash-alt'></i>">
|
||||
<input id="chkSimple" type="checkbox" data-style="ios" data-onstyle="default" data-toggle="toggle" data-size="mini" data-on="<i class='fas fa-info'></i>" data-off="<i class='fas fa-info'></i>">
|
||||
<button type="button" class="btn btn-box-tool" id="btnRefresh"><i class="fas fa-sync"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="totalBotOverview"></div>
|
||||
<div class="row" id="botRow"></div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="main-footer">
|
||||
<div class="pull-right"><strong data-i18n="global-version">Version</strong> <span id="version">0.0.0.0</span></div>
|
||||
<strong>
|
||||
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm">GitHub</a> -
|
||||
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm/wiki"><span data-i18n="global-wiki">Wiki</span></a> -
|
||||
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm/commits/master" id="changelog"><span data-i18n="global-changelog">Changelog</span></a>
|
||||
</strong>
|
||||
</footer>
|
||||
|
||||
<!-- Right Sidebar -->
|
||||
<aside class="control-sidebar control-sidebar-dark">
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane" id="control-right-sidebar"></div>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<div class="control-sidebar-bg"></div>
|
||||
</div>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.js"></script>
|
||||
<script src="../js/adminlte.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/humanize-duration/3.12.1/humanize-duration.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.20.1/moment.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.messagestore.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.fallbacks.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.language.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.parser.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.emitter.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.emitter.bidi.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>
|
||||
<script src="../js/utils.js"></script>
|
||||
<script src="../js/i18n.js"></script>
|
||||
<script src="../js/app.js"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
'use strict';
|
||||
|
||||
store('CurrentPage', 'pages/bots.html');
|
||||
|
||||
var tmpHideOnlineBots = get('chkOn'),
|
||||
tmpHideInactiveBots = get('chkInactive'),
|
||||
tmpHideOfflineBots = get('chkOff'),
|
||||
tmpShowKeyButton = get('chkKey'),
|
||||
tmpShowDeleteButton = get('chkDelete'),
|
||||
tmpSimpleFarmingInfo = get('chkSimple');
|
||||
|
||||
$(document).delegate('#txtAddKeys, #delimiter', 'keydown', function (e) {
|
||||
var keyCode = e.keyCode || e.which;
|
||||
|
||||
if (keyCode == 9) {
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
var start = this.selectionStart;
|
||||
var end = this.selectionEnd;
|
||||
|
||||
$(this).val($(this).val().substring(0, start) + "\t" + $(this).val().substring(end)); // set textarea value to: text before caret + tab + text after caret
|
||||
|
||||
this.selectionStart = this.selectionEnd = start + 1; // put caret at right position again
|
||||
}
|
||||
});
|
||||
|
||||
$('.box-tools').ready(function () {
|
||||
if (tmpHideOnlineBots === 'true') $('#chkOn').bootstrapToggle('on');
|
||||
if (tmpHideInactiveBots === 'true') $('#chkInactive').bootstrapToggle('on');
|
||||
if (tmpHideOfflineBots === 'true') $('#chkOff').bootstrapToggle('on');
|
||||
|
||||
if (tmpHideOnlineBots !== 'true' || tmpHideInactiveBots !== 'true' || tmpHideOfflineBots !== 'true') loadPageContent();
|
||||
|
||||
if (tmpShowKeyButton === 'true') $('#chkKey').bootstrapToggle('on');
|
||||
if (tmpShowDeleteButton === 'true') $('#chkDelete').bootstrapToggle('on');
|
||||
if (tmpSimpleFarmingInfo === 'true') $('#chkSimple').bootstrapToggle('on');
|
||||
|
||||
$('#chkOn, #chkInactive, #chkOff, #chkKey, #chkDelete, #chkSimple').change(function() {
|
||||
store($(this).attr('id'), $(this).prop('checked'));
|
||||
loadPageContent();
|
||||
});
|
||||
|
||||
$('#btnRefresh').click(function () {
|
||||
$('#btnRefresh').blur();
|
||||
loadPageContent();
|
||||
});
|
||||
});
|
||||
|
||||
function loadPageContent() {
|
||||
var tmpHideOnlineBots = get('chkOn'),
|
||||
tmpHideInactiveBots = get('chkInactive'),
|
||||
tmpHideOfflineBots = get('chkOff'),
|
||||
tmpShowKeyButton = get('chkKey'),
|
||||
tmpShowDeleteButton = get('chkDelete'),
|
||||
tmpSimpleFarmingInfo = get('chkSimple'),
|
||||
tmpDelimiter = get('delimiter');
|
||||
|
||||
$('#totalBotOverview').empty();
|
||||
$('#botRow').empty();
|
||||
|
||||
if (!tmpDelimiter) {
|
||||
tmpDelimiter = '\t';
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: '/Api/Bot/ASF',
|
||||
type: 'GET',
|
||||
success: function (data) {
|
||||
var json = data.Result,
|
||||
steamAvatarBaseURL = 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/',
|
||||
steamAvatarDefault = 'fe/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg',
|
||||
steamGameBaseURL = 'https://steamcdn-a.akamaihd.net/steam/apps/',
|
||||
totalGamesRemaining = 0,
|
||||
totalTimeRemaining = 0,
|
||||
totalCardsRemaining = 0,
|
||||
farmingIsActive = false;
|
||||
|
||||
var deleteBotHTML = tmpShowDeleteButton === 'true' ? '<button type="button" class="btn btn-box-tool" data-command="deleteBot"><i class="far fa-trash-alt"></i></button>' : '';
|
||||
var bgrHTML = tmpShowKeyButton === 'true' ? '<button type="button" class="btn btn-box-tool" data-command="BGR"><i class="fas fa-key"></i></button>' : '';
|
||||
|
||||
for (var i = 0; i < json.length; i++) {
|
||||
var obj = json[i],
|
||||
BotName = obj.BotName,
|
||||
AvatarHash = obj.AvatarHash,
|
||||
IsPlayingPossible = obj.IsPlayingPossible,
|
||||
KeepRunning = obj.KeepRunning,
|
||||
SteamID = obj.SteamID,
|
||||
Paused = obj.CardsFarmer.Paused,
|
||||
boxColorHTML = '',
|
||||
avatarHTML = '',
|
||||
profileHTML = '',
|
||||
startOrStopHTML = '',
|
||||
pauseOrResumeHTML = '',
|
||||
expandBoxHTML = '',
|
||||
allGamesHTML = '',
|
||||
boxBodyHTML = '';
|
||||
|
||||
if (AvatarHash) {
|
||||
var folder = AvatarHash.substring(0, 2);
|
||||
avatarHTML = steamAvatarBaseURL + folder + '/' + AvatarHash + '.jpg';
|
||||
} else {
|
||||
avatarHTML = steamAvatarBaseURL + steamAvatarDefault;
|
||||
}
|
||||
|
||||
profileHTML = '<img src="' + avatarHTML + '">';
|
||||
|
||||
if (KeepRunning === false) { // Bot is offline
|
||||
if (tmpHideOfflineBots === 'true') continue;
|
||||
boxColorHTML = 'box-gray';
|
||||
startOrStopHTML = '<button type="button" class="btn btn-box-tool bot-stopped" data-command="startBot"><i class="fas fa-power-off"></i></button>';
|
||||
} else { // Bot is online
|
||||
if (tmpHideOnlineBots === 'true') continue;
|
||||
boxColorHTML = 'box-warning';
|
||||
startOrStopHTML = '<button type="button" class="btn btn-box-tool bot-started" data-command="stopBot"><i class="fas fa-power-off"></i></button>';
|
||||
|
||||
var TimeRemaining = moment.duration(obj.CardsFarmer.TimeRemaining).asMilliseconds();
|
||||
|
||||
if (SteamID === 0) { // Bot is not connected to steam
|
||||
boxColorHTML = 'box-danger';
|
||||
} else { // Bot is connected to steam
|
||||
profileHTML = '<a href="https://steamcommunity.com/profiles/' + obj.s_SteamID + '" target="_blank">'
|
||||
+ '<img src="' + avatarHTML + '">'
|
||||
+ '</a>';
|
||||
|
||||
if (TimeRemaining !== 0) { // Bot is farming
|
||||
var GamesToFarm = obj.CardsFarmer.GamesToFarm,
|
||||
CurrentGamesFarming = obj.CardsFarmer.CurrentGamesFarming,
|
||||
allGamesFarmingAppID = [],
|
||||
allGamesFarmingName = [],
|
||||
allCardsRemaining = 0;
|
||||
|
||||
farmingIsActive = true; // At least one bot is farming
|
||||
boxColorHTML = 'box-success';
|
||||
|
||||
for (var j = 0; j < GamesToFarm.length; j++) {
|
||||
totalCardsRemaining = totalCardsRemaining + GamesToFarm[j].CardsRemaining;
|
||||
allCardsRemaining = allCardsRemaining + GamesToFarm[j].CardsRemaining;
|
||||
}
|
||||
|
||||
for (var k = 0; k < CurrentGamesFarming.length; k++) {
|
||||
allGamesFarmingAppID.push(CurrentGamesFarming[k].AppID);
|
||||
allGamesFarmingName.push(CurrentGamesFarming[k].GameName);
|
||||
}
|
||||
|
||||
if (totalTimeRemaining < TimeRemaining) totalTimeRemaining = TimeRemaining;
|
||||
|
||||
totalGamesRemaining += GamesToFarm.length;
|
||||
|
||||
expandBoxHTML = '<button type="button" class="btn btn-box-tool" data-widget="collapse" id="collapse-trigger"><i class="fas fa-plus"></i></button>';
|
||||
|
||||
if (IsPlayingPossible) {
|
||||
if (Paused) {
|
||||
allGamesHTML = '<p class="text-center no-margin">' + $.i18n('bots-paused') + '</p>';
|
||||
} else {
|
||||
if (tmpSimpleFarmingInfo === 'true') {
|
||||
allGamesHTML = '<p class="text-center no-margin">' + allGamesFarmingName.join(", ") + '</p>';
|
||||
} else {
|
||||
if (allGamesFarmingAppID.length === 1) {
|
||||
var value = allGamesFarmingAppID;
|
||||
allGamesHTML = '<img src="' + steamGameBaseURL + value[0] + '/header.jpg" alt="" class="img-responsive">'; // ToDo: Fill alt="" with gameName
|
||||
} else { // Multiple game farming is active
|
||||
allGamesHTML = '<div class="games-carousel-' + BotName + '">';
|
||||
|
||||
for (var appID in allGamesFarmingAppID) {
|
||||
var value = allGamesFarmingAppID[appID];
|
||||
allGamesHTML += '<div class="game-box" style="max-height: 215px;"><img src="' + steamGameBaseURL + value + '/header.jpg" alt="" class="img-responsive"></div>'; // ToDo: Fill alt="" with gameName
|
||||
}
|
||||
|
||||
allGamesHTML += '</div>';
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
allGamesHTML = '<p class="text-center no-margin">' + $.i18n('bots-in-use') + '</p>';
|
||||
}
|
||||
|
||||
boxBodyHTML = '<div class="box-body" id="' + BotName + '" style="display:none;">'
|
||||
+ '<div class="row">'
|
||||
+ '<div class="col-lg-8 col-md-8 col-sm-8 col-xs-8">'
|
||||
+ '<span class="pull-left"><i class="far fa-clock"></i> ' + humanizeDuration(TimeRemaining) + '</span>'
|
||||
+ '</div>'
|
||||
+ '<div class="col-lg-4 col-md-4 col-sm-4 col-xs-4">'
|
||||
+ '<span class="pull-right"><i class="far fa-clone"></i> ' + allCardsRemaining + '</span>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ allGamesHTML
|
||||
+ '</div>';
|
||||
} else { // Bot is inactive
|
||||
if (tmpHideInactiveBots === 'true') continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (Paused) {
|
||||
pauseOrResumeHTML = '<button type="button" class="btn btn-box-tool bot-paused" data-command="resumeBot"><i class="fas fa-pause"></i></button>';
|
||||
} else {
|
||||
pauseOrResumeHTML = '<button type="button" class="btn btn-box-tool bot-resumed" data-command="pauseBot"><i class="fas fa-pause"></i></button>';
|
||||
}
|
||||
}
|
||||
|
||||
$('#botRow').append('<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">'
|
||||
+ '<div class="box ' + boxColorHTML + ' collapsed-box" id="bot-box-' + BotName + '">'
|
||||
+ '<div class="box-header with-border botHeader">'
|
||||
+ profileHTML
|
||||
+ '<h3 class="box-title botTitle">' + BotName + '</h3>'
|
||||
+ '<div class="box-tools pull-right botTools" id="' + BotName + '">'
|
||||
+ startOrStopHTML
|
||||
+ pauseOrResumeHTML
|
||||
+ bgrHTML
|
||||
+ deleteBotHTML
|
||||
+ expandBoxHTML
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ boxBodyHTML
|
||||
+ '</div>'
|
||||
+ '</div>');
|
||||
|
||||
$('#bot-box-' + BotName).boxWidget({
|
||||
animationSpeed: 500,
|
||||
collapseTrigger: '#collapse-trigger',
|
||||
collapseIcon: 'fa-minus',
|
||||
expandIcon: 'fa-plus',
|
||||
})
|
||||
.on('expanded.boxwidget', function (BotName) {
|
||||
var botCarousel = $('.games-carousel-' + BotName);
|
||||
|
||||
if ($(botCarousel).hasClass('slick-initialized')) { // Check if Slick was already initialized
|
||||
$(botCarousel).slick('slickPlay'); // Slick is set up, so just resume the animation
|
||||
} else {
|
||||
$(botCarousel).slick({ // Set up Slick for the first time.
|
||||
slidesToShow: 1,
|
||||
draggable: true,
|
||||
autoplay: true,
|
||||
autoplaySpeed: 2000,
|
||||
arrows: false,
|
||||
infinite: true
|
||||
});
|
||||
}
|
||||
}.bind(null, BotName))
|
||||
.on('collapsed.boxwidget', function (BotName) {
|
||||
$('.games-carousel-' + BotName).slick('slickPause'); // Pause Slick's animation and collapse the menu
|
||||
}.bind(null, BotName)
|
||||
);
|
||||
|
||||
$('#bot-box-' + BotName + ' .btn').click(function () {
|
||||
var BotName = $(this).parent().attr('id'),
|
||||
cmd = $(this).data('command'),
|
||||
$botBox = $('#bot-box-' + BotName);
|
||||
|
||||
if (typeof cmd === 'undefined') {
|
||||
return;
|
||||
}
|
||||
|
||||
$botBox.append('<div class="overlay bot-box-loading"><i class="fas fa-sync fa-spin"></i></div>');
|
||||
|
||||
switch (cmd) {
|
||||
case 'startBot':
|
||||
$.ajax({
|
||||
url: '/Api/Command/start ' + encodeURIComponent(BotName),
|
||||
type: 'POST',
|
||||
success: function (data) {
|
||||
$('.overlay').remove();
|
||||
swal({
|
||||
title: $.i18n('global-success-title'),
|
||||
text: $.i18n('bots-start-success', BotName),
|
||||
type: 'success'
|
||||
}, function () { location.reload(); });
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
case 'stopBot':
|
||||
$.ajax({
|
||||
url: '/Api/Command/stop ' + encodeURIComponent(BotName),
|
||||
type: 'POST',
|
||||
success: function (data) {
|
||||
$('.overlay').remove();
|
||||
swal({
|
||||
title: $.i18n('global-success-title'),
|
||||
text: $.i18n('bots-stop-success', BotName),
|
||||
type: 'success'
|
||||
}, function () { location.reload(); });
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
case 'pauseBot':
|
||||
$.ajax({
|
||||
url: '/Api/Command/pause ' + encodeURIComponent(BotName),
|
||||
type: 'POST',
|
||||
success: function (data) {
|
||||
$('.overlay').remove();
|
||||
swal({
|
||||
title: $.i18n('global-success-title'),
|
||||
text: $.i18n('bots-pause-success', BotName),
|
||||
type: 'success'
|
||||
}, function () { location.reload(); });
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
case 'resumeBot':
|
||||
$.ajax({
|
||||
url: '/Api/Command/resume ' + encodeURIComponent(BotName),
|
||||
type: 'POST',
|
||||
success: function (data) {
|
||||
$('.overlay').remove();
|
||||
swal({
|
||||
title: $.i18n('global-success-title'),
|
||||
text: $.i18n('bots-resume-success', BotName),
|
||||
type: 'success'
|
||||
}, function () { location.reload(); });
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
case 'deleteBot':
|
||||
swal({
|
||||
title: $.i18n('global-question-title'),
|
||||
text: $.i18n('bots-recover-files'),
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonClass: 'btn-danger',
|
||||
confirmButtonText: $.i18n('bots-confirm-delete'),
|
||||
closeOnConfirm: false,
|
||||
showLoaderOnConfirm: true
|
||||
}, function (isConfirm) {
|
||||
if (isConfirm) {
|
||||
$.ajax({
|
||||
url: '/Api/Bot/' + encodeURIComponent(BotName),
|
||||
type: 'DELETE',
|
||||
success: function (data) {
|
||||
$('.overlay').remove();
|
||||
swal({
|
||||
title: $.i18n('global-success-title'),
|
||||
text: $.i18n('bots-delete-success', BotName),
|
||||
type: 'success'
|
||||
}, function () { location.reload(); });
|
||||
}
|
||||
});
|
||||
} else {
|
||||
$('.overlay').remove();
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
case 'BGR':
|
||||
var bgrHTML = '<div class="nav-tabs-custom">'
|
||||
+ '<ul class="nav nav-tabs nav-justified">'
|
||||
+ '<li class="active"><a href="#addKeys" data-toggle="tab" aria-expanded="true">' + $.i18n('bots-redeem-add-title') + '</a></li>'
|
||||
+ '<li class=""><a href="#unusedKeys" data-toggle="tab" aria-expanded="false">' + $.i18n('bots-redeem-unused-title') + '</a></li>'
|
||||
+ '<li class=""><a href="#usedKeys" data-toggle="tab" aria-expanded="false">' + $.i18n('bots-redeem-used-title') + '</a></li>'
|
||||
+ '</ul>'
|
||||
+ '<div class="tab-content">'
|
||||
+ '<div class="tab-pane active" id="addKeys">'
|
||||
+ '<p class="lead text-muted" style="display: block;">' + $.i18n('bots-syntax') + '</p>'
|
||||
+ '<textarea id="txtAddKeys"></textarea>'
|
||||
+ '<div class="input-group">'
|
||||
+ '<span class="input-group-addon" id="delimiter-text">' + $.i18n('bots-delimiter') + '</span>'
|
||||
+ '<input type="text" class="form-control" id="delimiter" value="' + tmpDelimiter + '" aria-describedby="delimiter-text">'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="tab-pane" id="unusedKeys">'
|
||||
+ '<textarea id="txtUnusedKeys"></textarea>'
|
||||
+ '</div>'
|
||||
+ '<div class="tab-pane" id="usedKeys">'
|
||||
+ '<textarea id="txtUsedKeys"></textarea>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>';
|
||||
|
||||
swal({
|
||||
title: $.i18n('bots-redeem-title'),
|
||||
text: bgrHTML,
|
||||
html: true,
|
||||
customClass: 'swal-wide',
|
||||
showCancelButton: true,
|
||||
confirmButtonClass: 'btn-success',
|
||||
confirmButtonText: $.i18n('bots-redeem-add-button'),
|
||||
closeOnConfirm: false,
|
||||
showLoaderOnConfirm: true
|
||||
}, function (isConfirm) {
|
||||
if (isConfirm === false) {
|
||||
$("#downloadUnusedKeysBtn").remove();
|
||||
$("#downloadUsedKeysBtn").remove();
|
||||
$('.overlay').remove();
|
||||
return false;
|
||||
}
|
||||
var val = $('#txtAddKeys').val();
|
||||
|
||||
var _gamesToRedeemInBackground = {},
|
||||
gamesAndKeys = [],
|
||||
lines = val.split('\n'),
|
||||
currentDelimiter = $('#delimiter').val();
|
||||
|
||||
store('delimiter', currentDelimiter);
|
||||
|
||||
for (var i = 0; i < lines.length; i++) {
|
||||
if (lines[i] !== '') gamesAndKeys.push(lines[i].split(currentDelimiter));
|
||||
}
|
||||
|
||||
for (var j = 0; j < gamesAndKeys.length; j++) {
|
||||
var obj = gamesAndKeys[j];
|
||||
_gamesToRedeemInBackground[obj[1]] = obj[0];
|
||||
}
|
||||
|
||||
var ajaxData = { GamesToRedeemInBackground: _gamesToRedeemInBackground };
|
||||
|
||||
$.ajax({
|
||||
url: '/Api/GamesToRedeemInBackground/' + encodeURIComponent(BotName),
|
||||
type: 'POST',
|
||||
data: JSON.stringify(ajaxData, null, "\t"),
|
||||
contentType: 'application/json',
|
||||
success: function (data) {
|
||||
var obj = data.Result,
|
||||
gamesAdded = Object.keys(obj).length;
|
||||
|
||||
swal({
|
||||
title: $.i18n('global-success-title'),
|
||||
text: $.i18n('bots-redeem-confirm', gamesAdded, BotName),
|
||||
type: 'success'
|
||||
}, function () { location.reload(); });
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
swal({
|
||||
title: $.i18n('global-error-title'),
|
||||
text: jqXHR.status + ' ' + errorThrown + ' - ' + jqXHR.responseJSON.Message,
|
||||
type: 'error'
|
||||
}, function () { location.reload(); });
|
||||
}
|
||||
});
|
||||
|
||||
$('.overlay').remove();
|
||||
});
|
||||
|
||||
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
|
||||
var target = $(e.target).attr("href");
|
||||
|
||||
if (target === '#unusedKeys') {
|
||||
$("#downloadUnusedKeysBtn").remove();
|
||||
$("#downloadUsedKeysBtn").remove();
|
||||
$(".confirm").hide();
|
||||
$(".sa-button-container").append('<div id="downloadUnusedKeysBtn" class="sa-confirm-button-container">'
|
||||
+ '<button class="confirm btn btn-lg btn-success" id="downloadUnusedKeys" tabindex="1" style="display: inline-block;">'
|
||||
+ $.i18n('bots-redeem-unused-button', BotName) + '</button>'
|
||||
+ '</div>');
|
||||
$('#downloadUnusedKeys').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
var unusedText = $('#txtUnusedKeys').val();
|
||||
if (unusedText === '') {
|
||||
$("#downloadUnusedKeysBtn").remove();
|
||||
swal({
|
||||
title: $.i18n('global-error-title'),
|
||||
text: $.i18n('bots-download'),
|
||||
type: 'error'
|
||||
});
|
||||
$('.overlay').remove();
|
||||
return false;
|
||||
}
|
||||
download(BotName + '.keys.unused', unusedText);
|
||||
});
|
||||
$.ajax({
|
||||
url: '/Api/GamesToRedeemInBackground/' + encodeURIComponent(BotName),
|
||||
type: 'GET',
|
||||
success: function (data) {
|
||||
var obj = data.Result,
|
||||
unusedKeys = obj[BotName].UnusedKeys;
|
||||
|
||||
for (var key in unusedKeys) {
|
||||
if (unusedKeys.hasOwnProperty(key)) {
|
||||
$('#txtUnusedKeys').append(unusedKeys[key] + tmpDelimiter + key + '\n');
|
||||
}
|
||||
}
|
||||
|
||||
var allKeys = $('#txtUnusedKeys').val();
|
||||
$('#txtUnusedKeys').val(allKeys.substring(0,allKeys.length-1));
|
||||
}
|
||||
});
|
||||
} else if (target === '#usedKeys') {
|
||||
$("#downloadUnusedKeysBtn").remove();
|
||||
$("#downloadUsedKeysBtn").remove();
|
||||
$(".confirm").hide();
|
||||
$(".sa-button-container").append('<div id="downloadUsedKeysBtn" class="sa-confirm-button-container">'
|
||||
+ '<button class="confirm btn btn-lg btn-success" id="downloadUsedKeys" tabindex="1" style="display: inline-block;">'
|
||||
+ $.i18n('bots-redeem-used-button', BotName) + '</button>'
|
||||
+ '</div>');
|
||||
$('#downloadUsedKeys').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
var usedText = $('#txtUsedKeys').val();
|
||||
if (usedText === '') {
|
||||
$("#downloadUsedKeysBtn").remove();
|
||||
swal({
|
||||
title: $.i18n('global-error-title'),
|
||||
text: $.i18n('bots-download'),
|
||||
type: 'error'
|
||||
});
|
||||
$('.overlay').remove();
|
||||
return false;
|
||||
}
|
||||
download(BotName + '.keys.used', usedText);
|
||||
});
|
||||
$.ajax({
|
||||
url: '/Api/GamesToRedeemInBackground/' + encodeURIComponent(BotName),
|
||||
type: 'GET',
|
||||
success: function (data) {
|
||||
var obj = data.Result,
|
||||
usedKeys = obj[BotName].UsedKeys;
|
||||
|
||||
for (var key in usedKeys) {
|
||||
if (usedKeys.hasOwnProperty(key)) {
|
||||
$('#txtUsedKeys').append(usedKeys[key] + tmpDelimiter + key + '\n');
|
||||
}
|
||||
}
|
||||
|
||||
var allKeys = $('#txtUsedKeys').val();
|
||||
$('#txtUsedKeys').val(allKeys.substring(0,allKeys.length-1));
|
||||
}
|
||||
});
|
||||
} else if (target === '#addKeys') {
|
||||
$("#downloadUnusedKeysBtn").remove();
|
||||
$("#downloadUsedKeysBtn").remove();
|
||||
$(".confirm").show();
|
||||
}
|
||||
});
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (farmingIsActive) { // Add info boxes if at least one bot is farming
|
||||
$('#totalBotOverview').html('<div class="col-md-4 col-sm-4 col-xs-12">'
|
||||
+ '<div class="info-box bot-info-box">'
|
||||
+ '<span class="info-box-icon bg-purple bots-info-box-icon"><i class="fas fa-gamepad"></i></span>'
|
||||
+ '<div class="info-box-content bot-info-box-content">'
|
||||
+ '<span class="info-box-text">' + $.i18n('bots-infobox-games') + '</span>'
|
||||
+ '<span class="info-box-number" id="totalGamesRemaining"></span>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="col-md-4 col-sm-4 col-xs-12">'
|
||||
+ '<div class="info-box bot-info-box">'
|
||||
+ '<span class="info-box-icon bg-green bots-info-box-icon"><i class="far fa-clock"></i></span>'
|
||||
+ '<div class="info-box-content bot-info-box-content">'
|
||||
+ '<span class="info-box-text">' + $.i18n('bots-infobox-time') + '</span>'
|
||||
+ '<span class="info-box-number" id="totalTimeRemaining"></span>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="col-md-4 col-sm-4 col-xs-12">'
|
||||
+ '<div class="info-box bot-info-box">'
|
||||
+ '<span class="info-box-icon bg-aqua bots-info-box-icon"><i class="far fa-clone"></i></span>'
|
||||
+ '<div class="info-box-content bot-info-box-content">'
|
||||
+ '<span class="info-box-text">' + $.i18n('bots-infobox-cards') + '</span>'
|
||||
+ '<span class="info-box-number" id="totalCardsRemaining"></span>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>');
|
||||
|
||||
$('#totalGamesRemaining').text(totalGamesRemaining);
|
||||
$('#totalTimeRemaining').text(humanizeDuration(totalTimeRemaining));
|
||||
$('#totalCardsRemaining').text(totalCardsRemaining);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function download(filename, text) {
|
||||
var element = document.createElement('a');
|
||||
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
|
||||
element.setAttribute('download', filename);
|
||||
element.style.display = 'none';
|
||||
document.body.appendChild(element);
|
||||
element.click();
|
||||
document.body.removeChild(element);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,422 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title data-i18n="commands-title">ASF | Commands</title>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<script defer src="https://use.fontawesome.com/releases/v5.1.0/js/all.js"></script> <!--Change to cdnjs once available-->
|
||||
<link rel="icon" href="../img/favicon.png" type="image/png">
|
||||
<link rel="shortcut icon" href="../img/favicon.ico" type="img/x-icon">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/admin-lte/2.4.2/css/AdminLTE.min.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/css/bootstrap-select.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.1.0/css/flag-icon.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css">
|
||||
<link rel="stylesheet" href="../css/_all-skins.min.css">
|
||||
<link rel="stylesheet" href="../css/app.css">
|
||||
<link rel="stylesheet" href="../css/_nightmode.min.css">
|
||||
</head>
|
||||
<body class="hold-transition skin-blue sidebar-mini fixed">
|
||||
<div class="wrapper">
|
||||
<!-- Header -->
|
||||
<header class="main-header">
|
||||
<!-- Logo -->
|
||||
<a href="javascript:void(0)" class="logo">
|
||||
<span class="logo-mini"><b>A</b>SF</span>
|
||||
<span class="logo-lg"><b>Archi</b>SteamFarm</span>
|
||||
</a>
|
||||
|
||||
<nav class="navbar navbar-static-top" role="navigation">
|
||||
<!-- Left Sidebar Toggle Button-->
|
||||
<a href="javascript:void(0)" class="sidebar-toggle" id="leftSidebar" data-toggle="push-menu" role="button">
|
||||
<i class="fas fa-bars"></i>
|
||||
<span class="sr-only" data-i18n="global-navigation">Toggle navigation</span>
|
||||
</a>
|
||||
<div class="navbar-custom-menu">
|
||||
<ul class="nav navbar-nav">
|
||||
<!-- Language Button -->
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown"><i id="currentLanguage" class="flag-icon flag-icon-us"></i></a>
|
||||
<div class="dropdown-menu dropdown-language"></div>
|
||||
</li>
|
||||
<!-- Right Sidebar Toggle Button -->
|
||||
<li><a href="javascript:void(0)" data-toggle="control-sidebar"><i class="fas fa-cogs"></i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<!-- Left Sidebar -->
|
||||
<aside class="main-sidebar">
|
||||
<section class="sidebar">
|
||||
<ul class="sidebar-menu" data-widget="tree">
|
||||
<li class="header" data-i18n="global-home">Home</li>
|
||||
<li class="active"><a href="commands.html"><i class="fas fa-laptop fa-fw"></i> <span data-i18n="global-commands">Commands</span></a></li>
|
||||
<li>
|
||||
<a href="bots.html">
|
||||
<i class="fas fa-users fa-fw"></i> <span data-i18n="global-bots">Bots</span>
|
||||
<span class="pull-right-container bot-status">
|
||||
<small class="label pull-right bg-gray" id="offlineBots">0</small>
|
||||
<small class="label pull-right bg-red" id="disconnectedBots" style="display:none;">0</small>
|
||||
<small class="label pull-right bg-yellow" id="onlineBots">0</small>
|
||||
<small class="label pull-right bg-olive" id="farmingBots">0</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="log.html"><i class="far fa-file-alt fa-fw"></i> <span data-i18n="global-log">Log</span></a></li>
|
||||
|
||||
<li class="header" data-i18n="global-config">Config</li>
|
||||
<li><a href="editor.html"><i class="far fa-edit fa-fw"></i> <span data-i18n="global-editor">Editor</span></a></li>
|
||||
<li><a href="generator.html"><i class="far fa-copy fa-fw"></i> <span data-i18n="global-generator">Generator</span></a></li>
|
||||
|
||||
<li class="header" data-i18n="global-information">Information</li>
|
||||
<li>
|
||||
<a class="info-overview" href="javascript:void(0)">
|
||||
<i class="fas fa-tachometer-alt fa-fw"></i> <span data-i18n="global-ram-usage">RAM Usage</span>
|
||||
<span class="pull-right-container">
|
||||
<small class="label pull-right bg-blue" id="ramUsage">0.00 MB</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="info-overview" href="javascript:void(0)">
|
||||
<i class="far fa-clock fa-fw"></i> <span data-i18n="global-uptime">Uptime</span>
|
||||
<span class="pull-right-container">
|
||||
<small class="label pull-right bg-blue" id="uptime">0d 0h 0m</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</aside>
|
||||
|
||||
<!-- Content -->
|
||||
<div class="content-wrapper">
|
||||
<section class="content-header">
|
||||
<h1>
|
||||
<span data-i18n="global-commands">Commands</span>
|
||||
<small data-i18n="global-control-panel">Control Panel</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><i class="fas fa-home"></i> <span data-i18n="global-home">Home</span></li>
|
||||
<li class="active"><i class="fas fa-laptop"></i> <span data-i18n="global-commands">Commands</span></li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<!-- Content Body -->
|
||||
<section class="content container-fluid">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<i class="fas fa-laptop"></i>
|
||||
<h3 class="box-title" data-i18n="global-commands">Commands</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<input id="chkClear" type="checkbox" data-style="ios single-btn" data-onstyle="default" data-toggle="toggle" data-size="mini" data-on="<i class='fas fa-eraser'></i>" data-off="<i class='fas fa-eraser'></i>">
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="box-content-commands"></div>
|
||||
<input id="commandSent" type="text" class="form-control" disabled>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<div class="input-group">
|
||||
<div id="commandsDropDownBox" class="input-group-btn hidden-xs">
|
||||
<select id="commandsDropDown" class="form-control selectpicker" data-dropup-auto="false" data-size="7" data-live-search="true" data-i18n="title-commands" title="Commands"></select>
|
||||
</div>
|
||||
<div class="input-group-btn hidden-xs">
|
||||
<select id="botsDropDown" class="form-control selectpicker" data-dropup-auto="false" data-size="7" data-live-search="true" data-i18n="title-bots" title="Bots"></select>
|
||||
</div>
|
||||
<input id="commandInput" type="text" class="form-control" data-i18n="placeholder-commands" placeholder="Type command...">
|
||||
<div class="input-group-btn">
|
||||
<button type="button" class="btn btn-default" id="sendCommand"><i class="far fa-paper-plane"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="main-footer">
|
||||
<div class="pull-right"><strong data-i18n="global-version">Version</strong> <span id="version">0.0.0.0</span></div>
|
||||
<strong>
|
||||
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm">GitHub</a> -
|
||||
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm/wiki"><span data-i18n="global-wiki">Wiki</span></a> -
|
||||
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm/commits/master" id="changelog"><span data-i18n="global-changelog">Changelog</span></a>
|
||||
</strong>
|
||||
</footer>
|
||||
|
||||
<!-- Right Sidebar -->
|
||||
<aside class="control-sidebar control-sidebar-dark">
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane" id="control-right-sidebar"></div>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<div class="control-sidebar-bg"></div>
|
||||
</div>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/interact.js/1.2.9/interact.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.js"></script>
|
||||
<script src="../js/adminlte.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.messagestore.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.fallbacks.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.language.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.parser.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.emitter.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.emitter.bidi.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/js/bootstrap-select.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>
|
||||
<script src="../js/utils.js"></script>
|
||||
<script src="../js/i18n.js"></script>
|
||||
<script src="../js/app.js"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
'use strict';
|
||||
|
||||
store('CurrentPage', 'pages/commands.html');
|
||||
|
||||
var $commandInput = $('#commandInput'),
|
||||
$botsDropDown = $("#botsDropDown"),
|
||||
$commandsDropDown = $("#commandsDropDown");
|
||||
|
||||
var keyCount = 0,
|
||||
prevCommand = (JSON.parse(get('prevCommand')) === null) ? [] : JSON.parse(get('prevCommand'));
|
||||
|
||||
$commandInput.focus();
|
||||
|
||||
$('#sendCommand').click(function (e) {
|
||||
var cmd = $commandInput.val();
|
||||
keyCount = 0;
|
||||
|
||||
if (typeof prevCommand[prevCommand.length - 1] === 'undefined') {
|
||||
prevCommand.push(cmd);
|
||||
} else if (prevCommand[prevCommand.length - 1] !== cmd) {
|
||||
prevCommand.push(cmd);
|
||||
}
|
||||
|
||||
store('prevCommand', JSON.stringify(prevCommand.slice(-20)));
|
||||
prevCommand = (JSON.parse(get('prevCommand')) === null) ? [] : JSON.parse(get('prevCommand'));
|
||||
|
||||
sendCommand();
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
$commandsDropDown.on('changed.bs.select', function (e) {
|
||||
$cmdInput.val($commandsDropDown.val() + ' ');
|
||||
|
||||
// dirty... find a better solution
|
||||
var elements = document.getElementById("commandsDropDown").options;
|
||||
for(var i = 0; i < elements.length; i++){
|
||||
elements[i].selected = false;
|
||||
}
|
||||
|
||||
$commandsDropDown.selectpicker('render');
|
||||
});
|
||||
|
||||
$botsDropDown.on('changed.bs.select', function (e) {
|
||||
var bot = $botsDropDown.val(),
|
||||
oldText = $cmdInput.val();
|
||||
|
||||
$cmdInput.val(oldText + bot);
|
||||
|
||||
// dirty... find a better solution
|
||||
var elements = document.getElementById("botsDropDown").options;
|
||||
for(var i = 0; i < elements.length; i++){
|
||||
elements[i].selected = false;
|
||||
}
|
||||
|
||||
$botsDropDown.selectpicker('render');
|
||||
});
|
||||
|
||||
//#region Merge to one function
|
||||
$(document).keydown(function (e) {
|
||||
if (e.which == 38 && $commandInput.is(':focus')) {
|
||||
if (prevCommand.length > keyCount) keyCount++;
|
||||
var index = prevCommand.length - keyCount;
|
||||
$commandInput.val(prevCommand[index]);
|
||||
} else if (e.which == 40 && $commandInput.is(':focus')) {
|
||||
if (keyCount > 0) keyCount--;
|
||||
var index = prevCommand.length - keyCount;
|
||||
$commandInput.val(prevCommand[index]);
|
||||
}
|
||||
});
|
||||
|
||||
$(document).keypress(function (e) {
|
||||
var keyCode = e.keyCode || e.which;
|
||||
|
||||
if (keyCode == 13 && $cmdInput.val() !== "") {
|
||||
e.preventDefault();
|
||||
$('#sendCommand').click();
|
||||
}
|
||||
});
|
||||
//#endregion Merge to one function
|
||||
|
||||
$('.box-tools').ready(function () {
|
||||
var tmpAutoClear = get('chkClear');
|
||||
|
||||
if (tmpAutoClear == null) $('#chkClear').bootstrapToggle('on');
|
||||
|
||||
$('#chkClear').change(function() {
|
||||
store($(this).attr('id'), $(this).prop('checked'));
|
||||
});
|
||||
});
|
||||
|
||||
$('.box-content-commands').ready(function () {
|
||||
var tmpCommandHeight = get('commandHeight');
|
||||
|
||||
if (tmpCommandHeight) {
|
||||
$('.box-content-commands').css('height', tmpCommandHeight + 'px');
|
||||
|
||||
if (shouldDropUp()) {
|
||||
$commandsDropDown.addClass('dropup');
|
||||
$botsDropDown.addClass('dropup');
|
||||
$commandsDropDown.selectpicker('refresh');
|
||||
$botsDropDown.selectpicker('refresh');
|
||||
} else {
|
||||
$commandsDropDown.removeClass('dropup');
|
||||
$botsDropDown.removeClass('dropup');
|
||||
$('.bootstrap-select').removeClass('dropup');
|
||||
$commandsDropDown.selectpicker('refresh');
|
||||
$botsDropDown.selectpicker('refresh');
|
||||
}
|
||||
} else {
|
||||
$('.box-content-commands').css('height', 400 + 'px');
|
||||
}
|
||||
});
|
||||
|
||||
interact('.box-content-commands')
|
||||
.resizable({
|
||||
edges: { left: false, right: false, bottom: true, top: false },
|
||||
restrictEdges: {
|
||||
outer: 'parent',
|
||||
endOnly: true,
|
||||
},
|
||||
inertia: true,
|
||||
})
|
||||
.on('resizemove', function (event) {
|
||||
var target = event.target;
|
||||
target.style.height = event.rect.height + 'px';
|
||||
})
|
||||
.on('resizeend', function (event) {
|
||||
var currentHeight = parseInt(event.target.style.height, 10);
|
||||
store('commandHeight', currentHeight);
|
||||
|
||||
if (shouldDropUp()) {
|
||||
$commandsDropDown.addClass('dropup');
|
||||
$botsDropDown.addClass('dropup');
|
||||
$commandsDropDown.selectpicker('refresh');
|
||||
$botsDropDown.selectpicker('refresh');
|
||||
} else {
|
||||
$commandsDropDown.removeClass('dropup');
|
||||
$botsDropDown.removeClass('dropup');
|
||||
$('.bootstrap-select').removeClass('dropup');
|
||||
$commandsDropDown.selectpicker('refresh');
|
||||
$botsDropDown.selectpicker('refresh');
|
||||
}
|
||||
});
|
||||
|
||||
$('.box-footer').ready(function () {
|
||||
var cachedCommands = get('cachedCommands'),
|
||||
cachedDate = get('cachedCommandsDate'),
|
||||
today = new Date().toLocaleDateString();
|
||||
|
||||
if (cachedCommands && today == cachedDate) {
|
||||
var myCommands = cachedCommands.split(',');
|
||||
|
||||
for (var i = 0; i < myCommands.length; i++) {
|
||||
$commandsDropDown.append('<option title="Commands">' + myCommands[i] + '</option>');
|
||||
}
|
||||
|
||||
$('.overlay').remove();
|
||||
$commandsDropDown.selectpicker('refresh');
|
||||
|
||||
// fix for bootstrap-select elements
|
||||
$('button > [data-id="commandsDropDown"]').attr("title", $.i18n('title-commands'));
|
||||
$('[data-id="commandsDropDown"] > .filter-option').text($.i18n('title-commands'));
|
||||
} else {
|
||||
$('#commandsDropDownBox').append('<div class="overlay bot-box-loading"><i class="fas fa-sync fa-spin"></i></div>');
|
||||
|
||||
$.ajax({
|
||||
url: '/Api/WWW/Send',
|
||||
type: 'POST',
|
||||
data: JSON.stringify({ "URL": "https://github.com/JustArchi/ArchiSteamFarm/wiki/Commands" }),
|
||||
contentType: 'application/json',
|
||||
success: function (data) {
|
||||
var htmlString = data.Result,
|
||||
doc = new DOMParser().parseFromString(htmlString,'text/html'),
|
||||
result = doc.evaluate('//table[1]/tbody//td[1]', doc, null, XPathResult.ANY_TYPE, null),
|
||||
myCommands = [],
|
||||
xres;
|
||||
|
||||
while (xres = result.iterateNext()) {
|
||||
var str = xres.innerText;
|
||||
|
||||
if (/\s/.test(str)) {
|
||||
myCommands.push(str.substr(0,str.indexOf(' ')));
|
||||
} else {
|
||||
myCommands.push(str);
|
||||
}
|
||||
}
|
||||
|
||||
store('cachedCommands', myCommands);
|
||||
store('cachedCommandsDate', new Date().toLocaleDateString());
|
||||
|
||||
for (var i = 0; i < myCommands.length; i++) {
|
||||
$commandsDropDown.append('<option data-i18n="title-commands" title="Commands">' + myCommands[i] + '</option>');
|
||||
}
|
||||
|
||||
$('.overlay').remove();
|
||||
$commandsDropDown.selectpicker('refresh');
|
||||
|
||||
// fix for bootstrap-select elements
|
||||
$('button > [data-id="commandsDropDown"]').attr("title", $.i18n('title-commands'));
|
||||
$('[data-id="commandsDropDown"] > .filter-option').text($.i18n('title-commands'));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$botsDropDown.append('<option title="Bots">ASF</option>');
|
||||
|
||||
$.ajax({
|
||||
url: '/Api/Bot/ASF',
|
||||
type: 'GET',
|
||||
success: function (data) {
|
||||
var json = data.Result;
|
||||
|
||||
$botsDropDown.append('<option data-divider="true"></option>');
|
||||
|
||||
for (var i = 0; i < json.length; i++) {
|
||||
var obj = json[i],
|
||||
botName = obj.BotName;
|
||||
|
||||
$botsDropDown.append('<option data-i18n="title-bots" title="Bots">' + botName + '</option>');
|
||||
}
|
||||
|
||||
$botsDropDown.selectpicker('refresh');
|
||||
|
||||
// fix for bootstrap-select elements
|
||||
$('button > [data-id="botsDropDown"]').attr("title", $.i18n('title-bots'));
|
||||
$('[data-id="botsDropDown"] > .filter-option').text($.i18n('title-bots'));
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function shouldDropUp() {
|
||||
var wrapper = $('.content-wrapper').height(),
|
||||
header = $('.content-header').height(),
|
||||
mainHeader = $('.main-header').height(),
|
||||
box = $('.box').height(),
|
||||
total = wrapper - (header + box + mainHeader),
|
||||
dropdown = 236;
|
||||
|
||||
return dropdown > total;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,192 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title data-i18n="editor-title">ASF | Config Editor</title>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<script defer src="https://use.fontawesome.com/releases/v5.1.0/js/all.js"></script> <!--Change to cdnjs once available-->
|
||||
<link rel="icon" href="../img/favicon.png" type="image/png">
|
||||
<link rel="shortcut icon" href="../img/favicon.ico" type="img/x-icon">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/admin-lte/2.4.2/css/AdminLTE.min.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.1.0/css/flag-icon.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css">
|
||||
<link rel="stylesheet" href="../css/_all-skins.min.css">
|
||||
<link rel="stylesheet" href="../css/app.css">
|
||||
<link rel="stylesheet" href="../css/_nightmode.min.css">
|
||||
</head>
|
||||
<body class="hold-transition skin-blue sidebar-mini fixed">
|
||||
<div class="wrapper">
|
||||
<!-- Header -->
|
||||
<header class="main-header">
|
||||
<!-- Logo -->
|
||||
<a href="javascript:void(0)" class="logo">
|
||||
<span class="logo-mini"><b>A</b>SF</span>
|
||||
<span class="logo-lg"><b>Archi</b>SteamFarm</span>
|
||||
</a>
|
||||
|
||||
<nav class="navbar navbar-static-top" role="navigation">
|
||||
<!-- Left Sidebar Toggle Button-->
|
||||
<a href="javascript:void(0)" class="sidebar-toggle" id="leftSidebar" data-toggle="push-menu" role="button">
|
||||
<i class="fas fa-bars"></i>
|
||||
<span class="sr-only" data-i18n="global-navigation">Toggle navigation</span>
|
||||
</a>
|
||||
<div class="navbar-custom-menu">
|
||||
<ul class="nav navbar-nav">
|
||||
<!-- Language Button -->
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown"><i id="currentLanguage" class="flag-icon flag-icon-us"></i></a>
|
||||
<div class="dropdown-menu dropdown-language"></div>
|
||||
</li>
|
||||
<!-- Right Sidebar Toggle Button -->
|
||||
<li><a href="javascript:void(0)" data-toggle="control-sidebar"><i class="fas fa-cogs"></i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<!-- Left Sidebar -->
|
||||
<aside class="main-sidebar">
|
||||
<section class="sidebar">
|
||||
<ul class="sidebar-menu" data-widget="tree">
|
||||
<li class="header" data-i18n="global-home">Home</li>
|
||||
<li><a href="commands.html"><i class="fas fa-laptop fa-fw"></i> <span data-i18n="global-commands">Commands</span></a></li>
|
||||
<li>
|
||||
<a href="bots.html">
|
||||
<i class="fas fa-users fa-fw"></i> <span data-i18n="global-bots">Bots</span>
|
||||
<span class="pull-right-container bot-status">
|
||||
<small class="label pull-right bg-gray" id="offlineBots">0</small>
|
||||
<small class="label pull-right bg-red" id="disconnectedBots" style="display:none;">0</small>
|
||||
<small class="label pull-right bg-yellow" id="onlineBots">0</small>
|
||||
<small class="label pull-right bg-olive" id="farmingBots">0</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="log.html"><i class="far fa-file-alt fa-fw"></i> <span data-i18n="global-log">Log</span></a></li>
|
||||
|
||||
<li class="header" data-i18n="global-config">Config</li>
|
||||
<li class="active"><a href="editor.html"><i class="far fa-edit fa-fw"></i> <span data-i18n="global-editor">Editor</span></a></li>
|
||||
<li><a href="generator.html"><i class="far fa-copy fa-fw"></i> <span data-i18n="global-generator">Generator</span></a></li>
|
||||
|
||||
<li class="header" data-i18n="global-information">Information</li>
|
||||
<li>
|
||||
<a class="info-overview" href="javascript:void(0)">
|
||||
<i class="fas fa-tachometer-alt fa-fw"></i> <span data-i18n="global-ram-usage">RAM Usage</span>
|
||||
<span class="pull-right-container">
|
||||
<small class="label pull-right bg-blue" id="ramUsage">0.00 MB</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="info-overview" href="javascript:void(0)">
|
||||
<i class="far fa-clock fa-fw"></i> <span data-i18n="global-uptime">Uptime</span>
|
||||
<span class="pull-right-container">
|
||||
<small class="label pull-right bg-blue" id="uptime">0d 0h 0m</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</aside>
|
||||
|
||||
<!-- Content -->
|
||||
<div class="content-wrapper">
|
||||
<section class="content-header">
|
||||
<h1>
|
||||
<span data-i18n="global-editor">Editor</span>
|
||||
<small data-i18n="global-control-panel">Control Panel</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><i class="fas fa-cogs"></i> <span data-i18n="global-config">Config</span></li>
|
||||
<li class="active"><i class="far fa-edit"></i> <span data-i18n="global-editor">Editor</span></li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<!-- Content Body -->
|
||||
<section class="content container-fluid">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<i class="far fa-edit"></i>
|
||||
<h3 class="box-title" data-i18n="editor-current">Currently editing:</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown">
|
||||
<span data-i18n="editor-change">Change bot</span>
|
||||
<span class="fas fa-caret-down"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu scrollable-menu" role="menu" id="botsDropDown"></ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="box-content-config"></div>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<div class="input-group pull-right">
|
||||
<button class="btn btn-default" id="saveButton">
|
||||
<i class="fas fa-save"></i> <span data-i18n="editor-save">Save</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="main-footer">
|
||||
<div class="pull-right"><strong data-i18n="global-version">Version</strong> <span id="version">0.0.0.0</span></div>
|
||||
<strong>
|
||||
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm">GitHub</a> -
|
||||
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm/wiki"><span data-i18n="global-wiki">Wiki</span></a> -
|
||||
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm/commits/master" id="changelog"><span data-i18n="global-changelog">Changelog</span></a>
|
||||
</strong>
|
||||
</footer>
|
||||
|
||||
<!-- Right Sidebar -->
|
||||
<aside class="control-sidebar control-sidebar-dark">
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane" id="control-right-sidebar"></div>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<div class="control-sidebar-bg"></div>
|
||||
</div>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.js"></script>
|
||||
<script src="../js/adminlte.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.messagestore.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.fallbacks.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.language.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.parser.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.emitter.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.emitter.bidi.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>
|
||||
<script src="../js/utils.js"></script>
|
||||
<script src="../js/i18n.js"></script>
|
||||
<script src="../js/app.js"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
'use strict';
|
||||
|
||||
store('CurrentPage', 'pages/editor.html');
|
||||
|
||||
$('.box-content-config').ready(function () {
|
||||
$.ajax({
|
||||
url: '/Api/Bot/ASF',
|
||||
type: 'GET',
|
||||
async: false,
|
||||
success: function (data) {
|
||||
var json = data.Result;
|
||||
loadPageContentEditor(json[0].BotName);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,189 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title data-i18n="generator-title">ASF | Config Generator</title>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<script defer src="https://use.fontawesome.com/releases/v5.1.0/js/all.js"></script> <!--Change to cdnjs once available-->
|
||||
<link rel="icon" href="../img/favicon.png" type="image/png">
|
||||
<link rel="shortcut icon" href="../img/favicon.ico" type="img/x-icon">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/admin-lte/2.4.2/css/AdminLTE.min.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.1.0/css/flag-icon.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css">
|
||||
<link rel="stylesheet" href="../css/_all-skins.min.css">
|
||||
<link rel="stylesheet" href="../css/app.css">
|
||||
<link rel="stylesheet" href="../css/_nightmode.min.css">
|
||||
</head>
|
||||
<body class="hold-transition skin-blue sidebar-mini fixed">
|
||||
<div class="wrapper">
|
||||
<!-- Header -->
|
||||
<header class="main-header">
|
||||
<!-- Logo -->
|
||||
<a href="javascript:void(0)" class="logo">
|
||||
<span class="logo-mini"><b>A</b>SF</span>
|
||||
<span class="logo-lg"><b>Archi</b>SteamFarm</span>
|
||||
</a>
|
||||
|
||||
<nav class="navbar navbar-static-top" role="navigation">
|
||||
<!-- Left Sidebar Toggle Button-->
|
||||
<a href="javascript:void(0)" class="sidebar-toggle" id="leftSidebar" data-toggle="push-menu" role="button">
|
||||
<i class="fas fa-bars"></i>
|
||||
<span class="sr-only" data-i18n="global-navigation">Toggle navigation</span>
|
||||
</a>
|
||||
<div class="navbar-custom-menu">
|
||||
<ul class="nav navbar-nav">
|
||||
<!-- Language Button -->
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown"><i id="currentLanguage" class="flag-icon flag-icon-us"></i></a>
|
||||
<div class="dropdown-menu dropdown-language"></div>
|
||||
</li>
|
||||
<!-- Right Sidebar Toggle Button -->
|
||||
<li><a href="javascript:void(0)" data-toggle="control-sidebar"><i class="fas fa-cogs"></i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<!-- Left Sidebar -->
|
||||
<aside class="main-sidebar">
|
||||
<section class="sidebar">
|
||||
<ul class="sidebar-menu" data-widget="tree">
|
||||
<li class="header" data-i18n="global-home">Home</li>
|
||||
<li><a href="commands.html"><i class="fas fa-laptop fa-fw"></i> <span data-i18n="global-commands">Commands</span></a></li>
|
||||
<li>
|
||||
<a href="bots.html">
|
||||
<i class="fas fa-users fa-fw"></i> <span data-i18n="global-bots">Bots</span>
|
||||
<span class="pull-right-container bot-status">
|
||||
<small class="label pull-right bg-gray" id="offlineBots">0</small>
|
||||
<small class="label pull-right bg-red" id="disconnectedBots" style="display:none;">0</small>
|
||||
<small class="label pull-right bg-yellow" id="onlineBots">0</small>
|
||||
<small class="label pull-right bg-olive" id="farmingBots">0</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="log.html"><i class="far fa-file-alt fa-fw"></i> <span data-i18n="global-log">Log</span></a></li>
|
||||
|
||||
<li class="header" data-i18n="global-config">Config</li>
|
||||
<li><a href="editor.html"><i class="far fa-edit fa-fw"></i> <span data-i18n="global-editor">Editor</span></a></li>
|
||||
<li class="active"><a href="generator.html"><i class="far fa-copy fa-fw"></i> <span data-i18n="global-generator">Generator</span></a></li>
|
||||
|
||||
<li class="header" data-i18n="global-information">Information</li>
|
||||
<li>
|
||||
<a class="info-overview" href="javascript:void(0)">
|
||||
<i class="fas fa-tachometer-alt fa-fw"></i> <span data-i18n="global-ram-usage">RAM Usage</span>
|
||||
<span class="pull-right-container">
|
||||
<small class="label pull-right bg-blue" id="ramUsage">0.00 MB</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="info-overview" href="javascript:void(0)">
|
||||
<i class="far fa-clock fa-fw"></i> <span data-i18n="global-uptime">Uptime</span>
|
||||
<span class="pull-right-container">
|
||||
<small class="label pull-right bg-blue" id="uptime">0d 0h 0m</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</aside>
|
||||
|
||||
<!-- Content -->
|
||||
<div class="content-wrapper">
|
||||
<section class="content-header">
|
||||
<h1>
|
||||
<span data-i18n="global-generator">Generator</span>
|
||||
<small data-i18n="global-control-panel">Control Panel</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><i class="fas fa-cogs"></i> <span data-i18n="global-config">Config</span></li>
|
||||
<li class="active"><i class="far fa-copy"></i> <span data-i18n="global-generator">Generator</span></li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<!-- Content Body -->
|
||||
<section class="content container-fluid">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<i class="far fa-copy"></i>
|
||||
<h3 class="box-title" data-i18n="generator-current">Current mode:</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown">
|
||||
<span data-i18n="generator-change">Change mode</span>
|
||||
<span class="fas fa-caret-down"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu scrollable-menu" role="menu" id="modeDropDown"></ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="box-content-config"></div>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<div class="input-group pull-right">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" data-i18n="placeholder-generator" placeholder="Name" id="GeneratorName">
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default" type="button" id="downloadButton">
|
||||
<i class="fas fa-cloud-download-alt"></i> <span data-i18n="generator-download">Download</span>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="main-footer">
|
||||
<div class="pull-right"><strong data-i18n="global-version">Version</strong> <span id="version">0.0.0.0</span></div>
|
||||
<strong>
|
||||
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm">GitHub</a> -
|
||||
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm/wiki"><span data-i18n="global-wiki">Wiki</span></a> -
|
||||
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm/commits/master" id="changelog"><span data-i18n="global-changelog">Changelog</span></a>
|
||||
</strong>
|
||||
</footer>
|
||||
|
||||
<!-- Right Sidebar -->
|
||||
<aside class="control-sidebar control-sidebar-dark">
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane" id="control-right-sidebar"></div>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<div class="control-sidebar-bg"></div>
|
||||
</div>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.js"></script>
|
||||
<script src="../js/adminlte.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.messagestore.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.fallbacks.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.language.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.parser.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.emitter.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.emitter.bidi.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>
|
||||
<script src="../js/utils.js"></script>
|
||||
<script src="../js/i18n.js"></script>
|
||||
<script src="../js/app.js"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
'use strict';
|
||||
|
||||
store('CurrentPage', 'pages/generator.html');
|
||||
|
||||
$('.box-content-config').ready(function () {
|
||||
loadPageContentGenerator();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,243 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title data-i18n="log-title">ASF | Log</title>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<script defer src="https://use.fontawesome.com/releases/v5.1.0/js/all.js"></script> <!--Change to cdnjs once available-->
|
||||
<link rel="icon" href="../img/favicon.png" type="image/png">
|
||||
<link rel="shortcut icon" href="../img/favicon.ico" type="img/x-icon">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/admin-lte/2.4.2/css/AdminLTE.min.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.1.0/css/flag-icon.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css">
|
||||
<link rel="stylesheet" href="../css/_all-skins.min.css">
|
||||
<link rel="stylesheet" href="../css/app.css">
|
||||
<link rel="stylesheet" href="../css/_nightmode.min.css">
|
||||
</head>
|
||||
<body class="hold-transition skin-blue sidebar-mini fixed">
|
||||
<div class="wrapper">
|
||||
<!-- Header -->
|
||||
<header class="main-header">
|
||||
<!-- Logo -->
|
||||
<a href="javascript:void(0)" class="logo">
|
||||
<span class="logo-mini"><b>A</b>SF</span>
|
||||
<span class="logo-lg"><b>Archi</b>SteamFarm</span>
|
||||
</a>
|
||||
|
||||
<nav class="navbar navbar-static-top" role="navigation">
|
||||
<!-- Left Sidebar Toggle Button-->
|
||||
<a href="javascript:void(0)" class="sidebar-toggle" id="leftSidebar" data-toggle="push-menu" role="button">
|
||||
<i class="fas fa-bars"></i>
|
||||
<span class="sr-only" data-i18n="global-navigation">Toggle navigation</span>
|
||||
</a>
|
||||
<div class="navbar-custom-menu">
|
||||
<ul class="nav navbar-nav">
|
||||
<!-- Language Button -->
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown"><i id="currentLanguage" class="flag-icon flag-icon-us"></i></a>
|
||||
<div class="dropdown-menu dropdown-language"></div>
|
||||
</li>
|
||||
<!-- Right Sidebar Toggle Button -->
|
||||
<li><a href="javascript:void(0)" data-toggle="control-sidebar"><i class="fas fa-cogs"></i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<!-- Left Sidebar -->
|
||||
<aside class="main-sidebar">
|
||||
<section class="sidebar">
|
||||
<ul class="sidebar-menu" data-widget="tree">
|
||||
<li class="header" data-i18n="global-home">Home</li>
|
||||
<li><a href="commands.html"><i class="fas fa-laptop fa-fw"></i> <span data-i18n="global-commands">Commands</span></a></li>
|
||||
<li>
|
||||
<a href="bots.html">
|
||||
<i class="fas fa-users fa-fw"></i> <span data-i18n="global-bots">Bots</span>
|
||||
<span class="pull-right-container bot-status">
|
||||
<small class="label pull-right bg-gray" id="offlineBots">0</small>
|
||||
<small class="label pull-right bg-red" id="disconnectedBots" style="display:none;">0</small>
|
||||
<small class="label pull-right bg-yellow" id="onlineBots">0</small>
|
||||
<small class="label pull-right bg-olive" id="farmingBots">0</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="active"><a href="log.html"><i class="far fa-file-alt fa-fw"></i> <span data-i18n="global-log">Log</span></a></li>
|
||||
|
||||
<li class="header" data-i18n="global-config">Config</li>
|
||||
<li><a href="editor.html"><i class="far fa-edit fa-fw"></i> <span data-i18n="global-editor">Editor</span></a></li>
|
||||
<li><a href="generator.html"><i class="far fa-copy fa-fw"></i> <span data-i18n="global-generator">Generator</span></a></li>
|
||||
|
||||
<li class="header" data-i18n="global-information">Information</li>
|
||||
<li>
|
||||
<a class="info-overview" href="javascript:void(0)">
|
||||
<i class="fas fa-tachometer-alt fa-fw"></i> <span data-i18n="global-ram-usage">RAM Usage</span>
|
||||
<span class="pull-right-container">
|
||||
<small class="label pull-right bg-blue" id="ramUsage">0.00 MB</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="info-overview" href="javascript:void(0)">
|
||||
<i class="far fa-clock fa-fw"></i> <span data-i18n="global-uptime">Uptime</span>
|
||||
<span class="pull-right-container">
|
||||
<small class="label pull-right bg-blue" id="uptime">0d 0h 0m</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</aside>
|
||||
|
||||
<!-- Content -->
|
||||
<div class="content-wrapper">
|
||||
<section class="content-header">
|
||||
<h1>
|
||||
<span data-i18n="global-log">Log</span>
|
||||
<small data-i18n="global-control-panel">Control Panel</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><i class="fas fa-home"></i> <span data-i18n="global-home">Home</span></li>
|
||||
<li class="active"><i class="far fa-file-alt"></i> <span data-i18n="global-log">Log</span></li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<!-- Content Body -->
|
||||
<section class="content container-fluid">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<i class="far fa-file-alt"></i>
|
||||
<h3 class="box-title" data-i18n="global-log">Log</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<input id="chkScroll" checked type="checkbox" data-style="ios single-btn" data-onstyle="default" data-toggle="toggle" data-size="mini" data-on="<i class='fas fa-sync'></i>" data-off="<i class='fas fa-sync'></i>">
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="box-content-log">
|
||||
<div class="overlay"><i class="fas fa-sync fa-spin" style="color:white"></i></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="main-footer">
|
||||
<div class="pull-right"><strong data-i18n="global-version">Version</strong> <span id="version">0.0.0.0</span></div>
|
||||
<strong>
|
||||
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm">GitHub</a> -
|
||||
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm/wiki"><span data-i18n="global-wiki">Wiki</span></a> -
|
||||
<a target="_blank" href="https://github.com/JustArchi/ArchiSteamFarm/commits/master" id="changelog"><span data-i18n="global-changelog">Changelog</span></a>
|
||||
</strong>
|
||||
</footer>
|
||||
|
||||
<!-- Right Sidebar -->
|
||||
<aside class="control-sidebar control-sidebar-dark">
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane" id="control-right-sidebar"></div>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<div class="control-sidebar-bg"></div>
|
||||
</div>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/interact.js/1.2.9/interact.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.js"></script>
|
||||
<script src="../js/adminlte.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.messagestore.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.fallbacks.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.language.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.parser.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.emitter.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.i18n/1.0.4/jquery.i18n.emitter.bidi.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>
|
||||
<script src="../js/utils.js"></script>
|
||||
<script src="../js/i18n.js"></script>
|
||||
<script src="../js/app.js"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
'use strict';
|
||||
|
||||
store('CurrentPage', 'pages/log.html');
|
||||
|
||||
var ws;
|
||||
|
||||
startWebSocket();
|
||||
|
||||
function startWebSocket() {
|
||||
if (!'WebSocket' in window) window.alert('Please use a modern browser to properly view ASF GUI!');
|
||||
|
||||
var loc = window.location,
|
||||
new_uri = (loc.protocol === 'https:') ? 'wss:' : 'ws:';
|
||||
|
||||
new_uri += '//' + loc.host + '/Api/Log?password=' + encodeURIComponent(tmpIPCPassword);
|
||||
ws = new WebSocket(new_uri);
|
||||
|
||||
ws.onopen = function (event) {
|
||||
$('.overlay').remove();
|
||||
$('.box-content-log').text('');
|
||||
};
|
||||
|
||||
ws.onmessage = function (event) {
|
||||
var msg = JSON.parse(event.data).Result + '\n';
|
||||
$('.box-content-log').append(msg);
|
||||
$('.box-content-log').stop().animate({ scrollTop: $('.box-content-log')[0].scrollHeight }, 1000);
|
||||
};
|
||||
|
||||
ws.onclose = function (event) {
|
||||
if (event.code !== 1000) { // 1000 = connection was closed normally
|
||||
swal({
|
||||
title: $.i18n('global-error-title'),
|
||||
text: $.i18n('log-event-code', event.code),
|
||||
type: 'error'
|
||||
}, function () { swal.close(); });
|
||||
}
|
||||
};
|
||||
|
||||
window.onbeforeunload = function () { ws.close(); };
|
||||
}
|
||||
|
||||
$('#chkScroll').change(function() {
|
||||
if ($(this).prop('checked')) {
|
||||
startWebSocket();
|
||||
} else {
|
||||
ws.close();
|
||||
}
|
||||
});
|
||||
|
||||
$('.box-content-log').ready(function () {
|
||||
var tmpLogHeight = get('logHeight');
|
||||
|
||||
if (tmpLogHeight) {
|
||||
$('.box-content-log').css('height', tmpLogHeight + 'px');
|
||||
} else {
|
||||
$('.box-content-log').css('height', 400 + 'px');
|
||||
}
|
||||
});
|
||||
|
||||
interact('.box-content-log')
|
||||
.resizable({
|
||||
edges: { left: false, right: false, bottom: true, top: false },
|
||||
restrictEdges: {
|
||||
outer: 'parent',
|
||||
endOnly: true,
|
||||
},
|
||||
inertia: true,
|
||||
})
|
||||
.on('resizemove', function (event) {
|
||||
var target = event.target;
|
||||
target.style.height = event.rect.height + 'px';
|
||||
})
|
||||
.on('resizeend', function (event) {
|
||||
var currentHeight = parseInt(event.target.style.height, 10);
|
||||
store('logHeight', currentHeight);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
37
appveyor.yml
37
appveyor.yml
|
@ -18,6 +18,21 @@ matrix:
|
|||
allow_failures:
|
||||
- image: Visual Studio 2017 Preview
|
||||
fast_finish: true
|
||||
install:
|
||||
- pwsh: >-
|
||||
Set-StrictMode -Version Latest
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
$ProgressPreference = 'SilentlyContinue'
|
||||
|
||||
|
||||
git submodule update --init --recursive
|
||||
|
||||
|
||||
if ($LastExitCode -ne 0) {
|
||||
throw "Last command failed."
|
||||
}
|
||||
before_build:
|
||||
- pwsh: >-
|
||||
Set-StrictMode -Version Latest
|
||||
|
@ -42,6 +57,28 @@ build_script:
|
|||
$ProgressPreference = 'SilentlyContinue'
|
||||
|
||||
|
||||
Push-Location -Path ASF-ui
|
||||
|
||||
|
||||
npm ci --no-progress
|
||||
|
||||
|
||||
if ($LastExitCode -ne 0) {
|
||||
throw "Last command failed."
|
||||
}
|
||||
|
||||
|
||||
npm run-script deploy --no-progress
|
||||
|
||||
|
||||
if ($LastExitCode -ne 0) {
|
||||
throw "Last command failed."
|
||||
}
|
||||
|
||||
|
||||
Pop-Location
|
||||
|
||||
|
||||
dotnet build ArchiSteamFarm -c "$env:CONFIGURATION" -f "$env:NET_CORE_VERSION" -o 'out\source' /nologo
|
||||
|
||||
|
||||
|
|
11
cc.sh
11
cc.sh
|
@ -53,6 +53,17 @@ if [[ ! -f "$SOLUTION" ]]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -f "ASF-ui/package.json" ]] && hash npm 2>/dev/null; then
|
||||
echo "Building ASF UI..."
|
||||
|
||||
cd ASF-ui
|
||||
npm i --no-progress
|
||||
npm run-script deploy --no-progress
|
||||
cd ..
|
||||
else
|
||||
echo "WARNING: ASF UI dependencies are missing, skipping build of ASF UI..."
|
||||
fi
|
||||
|
||||
DOTNET_FLAGS=(-c "$CONFIGURATION" -f "$TARGET_FRAMEWORK" -o "$OUT" '/nologo')
|
||||
|
||||
if [[ "$LINK_DURING_PUBLISH" -eq 0 ]]; then
|
||||
|
|
|
@ -4,10 +4,6 @@
|
|||
"source": "/ArchiSteamFarm/Localization/Strings.resx",
|
||||
"translation": "/ArchiSteamFarm/Localization/Strings.%locale%.resx"
|
||||
},
|
||||
{
|
||||
"source": "/ArchiSteamFarm/www/locale/strings.json",
|
||||
"translation": "/ArchiSteamFarm/www/locale/strings.%locale%.json"
|
||||
},
|
||||
{
|
||||
"source": "/ASF-WebConfigGenerator/src/locale/strings.json",
|
||||
"translation": "/ASF-WebConfigGenerator/src/locale/%locale%.json"
|
||||
|
|
Loading…
Reference in a new issue