update heart

This commit is contained in:
Andrei Yankovich 2022-02-22 17:02:45 +03:00
parent 7f21acb1f6
commit 6d925b8551
23 changed files with 80 additions and 2165 deletions

View File

@ -52,7 +52,7 @@ if (HANOI_ADMOD)
endif()
if (NOT DEFINED HANOI_SERVER)
set(HANOI_SERVER ON)
set(HANOI_SERVER OFF)
if (ANDROID OR WIN32)
set(HANOI_SERVER OFF)
@ -103,6 +103,7 @@ else()
set (PATRONUM_TESTS OFF)
endif()
set(HEART_SSL OFF)
add_subdirectory(submodules/Heart)
add_subdirectory(HanoiTowers/Protockol)

View File

@ -23,6 +23,9 @@ file(GLOB SOURCE_CPP
"src/*.qrc"
"src/private/*.cpp"
"src/private/*.qrc"
"src/*.h"
"src/private/*.h"
)
add_library(${CURRENT_PROJECT} ${SOURCE_CPP})

View File

@ -6,6 +6,7 @@
class HANOITOWERSPROTOCOL_EXPORT FixWorldRequest: public QH::PKG::AbstractData
{
QH_PACKAGE_AUTO(FixWorldRequest)
public:
FixWorldRequest();
bool isValid() const override;

View File

@ -19,6 +19,8 @@ class WorldUpdate;
class HANOITOWERSPROTOCOL_EXPORT World: public QH::PKG::DBObjectSet, public QH::IToken
{
QH_PACKAGE_AUTO(World)
public:
World(const QString& worldName = "World");

View File

@ -21,6 +21,8 @@
class HANOITOWERSPROTOCOL_EXPORT WorldUpdate: public QH::PKG::AbstractData, public QH::IToken,
public QH::PKG::ISubscribableData
{
QH_PACKAGE_AUTO(WorldUpdate)
public:
WorldUpdate(const QString& worldName = "World");

View File

@ -18,7 +18,7 @@ set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
file(GLOB SOURCE_CPP
"*.cpp" "*.qrc"
"*.cpp" "*.h" "*.qrc"
)
if (ANDROID)

View File

@ -25,15 +25,12 @@
#include <worldupdate.h>
#include <fixworldrequest.h>
#include <worldclient.h>
#include "hanoidb.h"
#include "hanoierrorcodes.h"
#include "localrecordstable.h"
HanoiClient::HanoiClient() {
initSqlDb("",
new QH::SqlDB(),
new QH::AsyncSqlDBWriter());
qRegisterMetaType<QSharedPointer<LocalUser>>();
qRegisterMetaType<QHash<QString,UserPreview>>();
qRegisterMetaType<QSharedPointer<UserPreview>>();
@ -68,7 +65,7 @@ QH::ParserResult HanoiClient::parsePackage(const QSharedPointer<QH::PKG::Abstrac
return parentResult;
}
if (H_16<UserData>() == pkg->cmd()) {
if (UserData::command() == pkg->cmd()) {
if (!workWithUserData(pkg.staticCast<UserData>())) {
return QH::ParserResult::Error;
@ -77,7 +74,7 @@ QH::ParserResult HanoiClient::parsePackage(const QSharedPointer<QH::PKG::Abstrac
}
if (H_16<World>() == pkg->cmd()) {
if (World::command() == pkg->cmd()) {
_world->copyFrom(pkg.data());
emit worldInited(_world->getData());
@ -85,7 +82,7 @@ QH::ParserResult HanoiClient::parsePackage(const QSharedPointer<QH::PKG::Abstrac
return QH::ParserResult::Processed;
}
if (H_16<WorldUpdate>() == pkg->cmd()) {
if (WorldUpdate::command() == pkg->cmd()) {
if (!_world) {
return QH::ParserResult::Error;
}
@ -111,12 +108,6 @@ QH::ParserResult HanoiClient::parsePackage(const QSharedPointer<QH::PKG::Abstrac
return QH::ParserResult::NotProcessed;
}
QStringList HanoiClient::SQLSources() const {
return {
":/sql/sql/database.sql"
};
}
QPair<QString, unsigned short> HanoiClient::serverAddress() const {
return {DEFAULT_HANOI_ADDRESS, DEFAULT_HANOI_PORT};
}
@ -189,6 +180,11 @@ void HanoiClient::updateLocalCache(const QSharedPointer<LocalUser>& localUser) {
}
bool HanoiClient::initDatabase() {
setDb(new HanoiDB());
return true;
}
bool HanoiClient::workWithUserData(const QSharedPointer<UserData>& obj) {
auto userId = getMember().getId();
@ -289,6 +285,10 @@ bool HanoiClient::getUserData(const QString& userId) {
return restUserData(userId);
}
QH::ISqlDBCache *HanoiClient::db() const {
return static_cast<HanoiDB*>(DataBaseNode::db())->rawDb();
}
bool HanoiClient::addProfile(const LocalUser& user) {
if (!db())

View File

@ -76,6 +76,9 @@ public:
*/
bool getUserData(const QString &userId);
QH::ISqlDBCache * db() const;
/**
* @brief getUsersCache return a pointer to the cache of users.
* @return
@ -84,8 +87,8 @@ public:
getUsersCache() const;
protected:
QStringList SQLSources() const override;
QPair<QString, unsigned short> serverAddress() const override;
bool initDatabase() override;
signals:
void userDataChanged(QSharedPointer<LocalUser>);
@ -115,6 +118,8 @@ private:
QSharedPointer<WorldClient> _world;
QString _bestUserId;
};
Q_DECLARE_METATYPE(QSharedPointer<LocalUser>)

View File

@ -0,0 +1,20 @@
#include "hanoidb.h"
HanoiDB::HanoiDB()
{
}
QH::ISqlDBCache *HanoiDB::rawDb() const{
return db();
}
QStringList HanoiDB::SQLSources() const {
return {
":/sql/sql/database.sql"
};
}
bool HanoiDB::upgradeDataBase() {
return true;
}

View File

@ -0,0 +1,23 @@
#ifndef HANOIDB_H
#define HANOIDB_H
#include <database.h>
namespace QH {
class ISqlDBCache;
}
class HanoiDB: public QH::DataBase
{
Q_OBJECT
public:
HanoiDB();
QH::ISqlDBCache * rawDb() const;
// DataBase interface
protected:
QStringList SQLSources() const override;
bool upgradeDataBase() override;
};
#endif // HANOIDB_H

View File

@ -22,6 +22,8 @@
#include "dataconverter.h"
#include "localuser.h"
#include "recordsproxymodel.h"
#include "qaglobalutils.h"
#include "hanoidb.h"
#define DEFAULT_USER_ID "DefaultUser"
#define DEFAULT_USER_NAME "User"
@ -39,9 +41,11 @@ HanoiTowers::HanoiTowers(QQmlApplicationEngine *engine):
QObject(),
_profile()
{
_settings = QuasarAppUtils::Settings::instance();
_settings = QuasarAppUtils::Settings::init();
_client = new HanoiClient();
_client->run("localhost", 0);
_loginModel = new LoginView::LVMainModel("userLogin", this);
_createNewOfflineUser = new LoginView::LVMainModel("createUser", this);

View File

@ -114,7 +114,6 @@ public:
Q_INVOKABLE bool isAdMod() const;
bool showCredits() const;
void setShowCredits(bool newShowCredits);
@ -227,7 +226,7 @@ private:
void init();
void loadOldSaves();
QuasarAppUtils::Settings *_settings = nullptr;
QuasarAppUtils::ISettings *_settings = nullptr;
LoginView::LVMainModel *_loginModel = nullptr;
LoginView::LVMainModel *_createNewOfflineUser = nullptr;

View File

@ -3,35 +3,6 @@
<TS version="2.1" language="de" sourcelanguage="en">
<context>
<name>About</name>
<message>
<source>about</source>
<translation type="vanished">Über</translation>
</message>
<message>
<source>About</source>
<translation type="vanished">Über</translation>
</message>
<message>
<source>Credits</source>
<translation type="vanished">Credits</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* Disigner: Chernenkov I. Oleg.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.
* Copyright (C) 2019-2021 QuasarApp group.</source>
<translation type="vanished">* Entwickler:
* Programmierer: Yankovich N. Andrei.
* Gestalter: Chernenkov I. Oleg.
* Dieses Spiel wird unter der LGPLv3-Lizenz vertrieben.
* Kontakt: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.
* Copyright (C) 2019-2021 QuasarApp-Gruppe.</translation>
</message>
<message>
<source>## QuasarApp Core team:</source>
<translation>## QuasarApp Core team:</translation>
@ -417,17 +388,5 @@
<source>Hanoi Towers</source>
<translation>Hanoi-Türme</translation>
</message>
<message>
<source>Thanks for your support!</source>
<translation type="obsolete">Danke für deine Unterstützung!</translation>
</message>
<message>
<source>You are now our premium user and we won&apos;t dare bother you with ads anymore.</source>
<translation type="obsolete">Sie sind jetzt unser Premium-Nutzer und wir werden es nicht mehr wagen, Sie mit Werbung zu belästigen.</translation>
</message>
<message>
<source>Do not show again </source>
<translation type="obsolete">Nicht mehr anzeigen</translation>
</message>
</context>
</TS>

View File

@ -3,36 +3,6 @@
<TS version="2.1" language="en_US">
<context>
<name>About</name>
<message>
<source>about</source>
<translation type="vanished">About</translation>
</message>
<message>
<source>About</source>
<translation type="vanished">About</translation>
</message>
<message>
<source>Credits</source>
<translation type="vanished">Credits</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* Disigner: Chernenkov I. Oleg.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.
* Copyright (C) 2019-2021 QuasarApp group.</source>
<translation type="vanished">Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* Disigner: Chernenkov I. Oleg.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.
* Copyright (C) 2019-2021 QuasarApp group.</translation>
</message>
<message>
<source>## QuasarApp Core team:</source>
<translation>## QuasarApp Core team:</translation>
@ -53,60 +23,6 @@
<translation>Loading ...</translation>
</message>
</context>
<context>
<name>BackEnd</name>
<message>
<source>Create new user</source>
<translation type="vanished">Create new user</translation>
</message>
<message>
<source>Connect error</source>
<translation type="vanished">Connection error</translation>
</message>
<message>
<source>Failed to connect to server please check network connection befor login</source>
<translation type="vanished">Failed to connect to server please check network connection befor login</translation>
</message>
<message>
<source>login error</source>
<translation type="vanished">Login error</translation>
</message>
<message>
<source>Failed to login into online account, please check your password and username</source>
<translation type="vanished">Failed to login into online account, please check your password and username</translation>
</message>
<message>
<source>Failed to register this account, if this account was created by you, try to restore it.</source>
<translation type="vanished">Failed to register this account, if this account was created by you, try to restore it.</translation>
</message>
<message>
<source>Server error</source>
<translation type="vanished">Server error</translation>
</message>
<message>
<source>Create user error</source>
<translation type="vanished">User create error</translation>
</message>
<message>
<source>Failed to create a new user, The name %0 alredy used.</source>
<translation type="vanished">Failed to create a new user, This name %0 alredy used.</translation>
</message>
<message>
<source>current profile not online!</source>
<translation type="vanished">Current profile is offline!</translation>
</message>
<message>
<source>Remove online error</source>
<translation type="vanished">Error remove online user data</translation>
</message>
</context>
<context>
<name>BaseButton</name>
<message>
<source>ok</source>
<translation type="vanished">Ok</translation>
</message>
</context>
<context>
<name>Config</name>
<message>
@ -132,32 +48,6 @@
</context>
<context>
<name>Game</name>
<message>
<source>You have passed the level in %0 steps and unlocked level %1</source>
<translation type="vanished">You have passed the level in %0 steps and unlocked level %1</translation>
</message>
<message>
<source>
Minimum steps for this lvl: %2</source>
<translation type="vanished">
Minimum steps for this lvl: %2</translation>
</message>
<message>
<source>
you reward = %3</source>
<translation type="vanished">
You reward = %3</translation>
</message>
<message>
<source>You have passed the level in %0 steps.
</source>
<translation type="vanished">You have passed the level in %0 steps.
</translation>
</message>
<message>
<source>Minimum steps for this lvl: %1</source>
<translation type="vanished">Minimum steps for this lvl: %1</translation>
</message>
<message>
<source>Congratulations! You have passed the level %0</source>
<translation>Congratulations! You have passed the level %0</translation>
@ -189,10 +79,6 @@
</context>
<context>
<name>GameStateWidget</name>
<message>
<source>Tower height: </source>
<translation type="vanished">Tower height: </translation>
</message>
<message>
<source>Tower height: </source>
<translation>Tower height: </translation>
@ -216,17 +102,9 @@
<source>Internal Error, server send invalid data, and this data can&apos;t be saved into local database.</source>
<translation>Internal Error, server send invalid data, and this data can&apos;t be saved into local database.</translation>
</message>
<message>
<source>Online error</source>
<translation type="vanished">Online error</translation>
</message>
</context>
<context>
<name>HanoiTowers</name>
<message>
<source>Create new user</source>
<translation type="obsolete">Create new user</translation>
</message>
<message>
<source>Create</source>
<translation>Create</translation>
@ -317,10 +195,6 @@
</context>
<context>
<name>Help</name>
<message>
<source>Your task is to transfer discs of different sizesfrom the left tower to third tower.You can only transfer the top drive of the tower.You can not transfer several disks at once and put larger disks on small disks.</source>
<translation type="vanished">Your task is to transfer discs of different sizes from the left tower to third tower.You can only transfer the top drive of the tower. You can not transfer several disks at once and put larger disks on small disks.</translation>
</message>
<message>
<source>Tap to select the upper part of tower.</source>
<translation>Tap to select the upper part of tower.</translation>
@ -358,120 +232,6 @@
<translation>Do not show again</translation>
</message>
</context>
<context>
<name>LoginView</name>
<message>
<source>Create a new account</source>
<translation type="vanished">Create a new account</translation>
</message>
<message>
<source>LogIn</source>
<translation type="vanished">Login</translation>
</message>
<message>
<source>Please fill this form to create an account</source>
<translation type="vanished">Please fill this form to create an account</translation>
</message>
<message>
<source>Please fill this form to login in your account</source>
<translation type="vanished">Please fill this form to login in your account</translation>
</message>
<message>
<source>First Name</source>
<translation type="vanished">First Name</translation>
</message>
<message>
<source>Empy or incorrect name. Please enter yuor name.</source>
<translation type="vanished">Empty or incorrect name. Please enter your name.</translation>
</message>
<message>
<source>Last Name</source>
<translation type="vanished">Last Name</translation>
</message>
<message>
<source>Select you country</source>
<translation type="vanished">Select you country</translation>
</message>
<message>
<source>EMail</source>
<translation type="vanished">EMail</translation>
</message>
<message>
<source>Empty or incorrect email address. Please enter yuor name.</source>
<translation type="vanished">Empty or incorrect email address. Please enter your email.</translation>
</message>
<message>
<source>Nickname</source>
<translation type="vanished">Nickname</translation>
</message>
<message>
<source>Empty or incorrect Nickname. Please enter yuor name.</source>
<translation type="vanished">Empty or incorrect Nickname. Please enter your Nickname.</translation>
</message>
<message>
<source>Pasword</source>
<translation type="vanished">Password</translation>
</message>
<message>
<source>Confirm pasword</source>
<translation type="vanished">Confirm password</translation>
</message>
<message>
<source>Forgot password</source>
<translation type="vanished">Forgot password</translation>
</message>
<message>
<source>I accept the Terms of use</source>
<translation type="vanished">I accept the Terms of use</translation>
</message>
<message>
<source>Show terms of use</source>
<translation type="vanished">Show terms of use</translation>
</message>
<message>
<source>SignUp</source>
<translation type="vanished">SignUp</translation>
</message>
<message>
<source>Login In</source>
<translation type="vanished">Login</translation>
</message>
<message>
<source>Sign Up</source>
<translation type="vanished">SignUp</translation>
</message>
<message>
<source>Password must match the 1st field and the password cannot be empty</source>
<translation type="vanished">Password must match the 1st field and the password cannot be empty</translation>
</message>
</context>
<context>
<name>LoginView::LVMainModel</name>
<message>
<source>must be longer than 8 characters</source>
<translation type="vanished">Must be longer than 8 characters</translation>
</message>
<message>
<source>must contain numbers</source>
<translation type="vanished">Must contain numbers</translation>
</message>
<message>
<source>must contain small chars</source>
<translation type="vanished">Must contain small chars</translation>
</message>
<message>
<source>must contain large chars</source>
<translation type="vanished">Must contain large chars</translation>
</message>
<message>
<source>must contain extra chars (!@#$%^&amp;*)</source>
<translation type="vanished">Must contain extra chars (!@#$%^&amp;*)</translation>
</message>
<message>
<source>Password requirements: </source>
<translation type="vanished">Password requirements: </translation>
</message>
</context>
<context>
<name>MainMenu</name>
<message>
@ -502,17 +262,6 @@
<source>Save and exit</source>
<translation>Save and exit</translation>
</message>
<message>
<source>exit</source>
<translation type="vanished">Exit</translation>
</message>
</context>
<context>
<name>NotificationForm</name>
<message>
<source>Message</source>
<translation type="vanished">Message</translation>
</message>
</context>
<context>
<name>Premium</name>
@ -608,10 +357,6 @@
<source>Remove</source>
<translation>Remove</translation>
</message>
<message>
<source>Remove This Profile</source>
<translation type="vanished">Remove This Profile</translation>
</message>
<message>
<source>Restore</source>
<translation>Restore</translation>
@ -620,14 +365,6 @@
<source>Accept</source>
<translation>Accept</translation>
</message>
<message>
<source>User is updated</source>
<translation type="vanished">User is updated</translation>
</message>
<message>
<source>User data will be changed.</source>
<translation type="vanished">User data will be changed.</translation>
</message>
<message>
<source>Remove %0 user</source>
<translation>Remove %0 user</translation>
@ -647,10 +384,6 @@
<source>Add user</source>
<translation>Add user</translation>
</message>
<message>
<source>Create the new user</source>
<translation type="vanished">Create the new user</translation>
</message>
<message>
<source>Best users in the world</source>
<translation>Best users in the world</translation>
@ -662,25 +395,5 @@
<source>Hanoi Towers</source>
<translation>Hanoi Towers</translation>
</message>
<message>
<source>Example of LoginView</source>
<translation type="vanished">Example of Login view</translation>
</message>
<message>
<source>Examples of View Solutions</source>
<translation type="vanished">Examples of View solutions</translation>
</message>
<message>
<source>Thanks for your support!</source>
<translation type="obsolete">Thanks for your support!</translation>
</message>
<message>
<source>You are now our premium user and we won&apos;t dare bother you with ads anymore.</source>
<translation type="obsolete">You are now our premium user and we won&apos;t dare bother you with ads anymore.</translation>
</message>
<message>
<source>Do not show again </source>
<translation type="obsolete">Do not show again </translation>
</message>
</context>
</TS>

View File

@ -3,36 +3,6 @@
<TS version="2.1" language="es" sourcelanguage="en">
<context>
<name>About</name>
<message>
<source>about</source>
<translation type="vanished">acerca de</translation>
</message>
<message>
<source>About</source>
<translation type="vanished">Acerca de</translation>
</message>
<message>
<source>Credits</source>
<translation type="vanished">Créditos</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* Disigner: Chernenkov I. Oleg.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.
* Copyright (C) 2019-2021 QuasarApp group.</source>
<translation type="vanished">Producto de QuasarApp
* Desarrolladores:
* Programador: Yankovich N. Andrei.
* Disigner: Chernenkov I. Oleg.
* Este juego se distribuye bajo la licencia LGPLv3.
* Contacto: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.
* Copyright (C) 2019-2021 Grupo QuasarApp.</translation>
</message>
<message>
<source>## QuasarApp Core team:</source>
<translation>## Equipo de QuasarApp Core:</translation>
@ -418,17 +388,5 @@
<source>Hanoi Towers</source>
<translation>Torres de Hanoi</translation>
</message>
<message>
<source>Thanks for your support!</source>
<translation type="obsolete">¡Gracias por su apoyo!</translation>
</message>
<message>
<source>You are now our premium user and we won&apos;t dare bother you with ads anymore.</source>
<translation type="obsolete">Ahora eres nuestro usuario premium y ya no nos atreveremos a molestarlo con anuncios.</translation>
</message>
<message>
<source>Do not show again </source>
<translation type="obsolete">No mostrar de nuevo</translation>
</message>
</context>
</TS>

View File

@ -3,36 +3,6 @@
<TS version="2.1" language="fr" sourcelanguage="en">
<context>
<name>About</name>
<message>
<source>about</source>
<translation type="vanished">à propos de</translation>
</message>
<message>
<source>About</source>
<translation type="vanished">À propos</translation>
</message>
<message>
<source>Credits</source>
<translation type="vanished">Crédits</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* Disigner: Chernenkov I. Oleg.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.
* Copyright (C) 2019-2021 QuasarApp group.</source>
<translation type="vanished">Produit de QuasarApp
* Développeurs&#xa0;:
* Programmeur : Yankovich N. Andrei.
* Disigner: Tchernenkov I. Oleg.
* Ce jeu est distribué sous licence LGPLv3.
* Contact : https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.
* Copyright (C) 2019-2021 Groupe QuasarApp.</translation>
</message>
<message>
<source>## QuasarApp Core team:</source>
<translation>## Équipe de QuasarApp Core:</translation>
@ -418,17 +388,5 @@
<source>Hanoi Towers</source>
<translation>Tours de Hanoi</translation>
</message>
<message>
<source>Thanks for your support!</source>
<translation type="obsolete">Merci pour votre aide!</translation>
</message>
<message>
<source>You are now our premium user and we won&apos;t dare bother you with ads anymore.</source>
<translation type="obsolete">Vous êtes maintenant notre utilisateur premium et nous n&apos;oserons plus vous déranger avec des publicités.</translation>
</message>
<message>
<source>Do not show again </source>
<translation type="obsolete">Ne pas montrer de nouveau </translation>
</message>
</context>
</TS>

View File

@ -3,50 +3,6 @@
<TS version="2.1" language="ja_JP" sourcelanguage="en_US">
<context>
<name>About</name>
<message>
<source>about</source>
<translation type="vanished"></translation>
</message>
<message>
<source>About</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Credits</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* Disigner: Chernenkov I. Oleg.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.
* Copyright (C) 2019-2021 QuasarApp group.</source>
<translation type="vanished">QuasarAppの製品
*
*Yankovich N. Andrei
*I.
*LGPLv3ライセンスの下で配布されています
*https//github.com/EndrII
* CopyrightC2018-2019 Yankovich N.Andrei
* CopyrightC2019-2021QuasarAppグループ</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.</source>
<translation type="vanished">QuasarAppの製品
*
*Yankovich N. Andrei
*LGPLv3ライセンスの下で配布されています
*https://github.com/EndrII
* CopyrightC2018-2019 Yankovich N. Andrei {3 ?} {2018-2019 ?}</translation>
</message>
<message>
<source>## QuasarApp Core team:</source>
<translation>## QuasarApp Core :</translation>
@ -67,67 +23,8 @@
<translation>...</translation>
</message>
</context>
<context>
<name>BackEnd</name>
<message>
<source>Create new user</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Connect error</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Failed to connect to server please check network connection befor login</source>
<translation type="vanished"></translation>
</message>
<message>
<source>login error</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Failed to login into online account, please check your password and username</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Register online error</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Failed to register this account, if this account was created by you, try to restore it.</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Server error</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Create user error</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Failed to create a new user, The name %0 alredy used.</source>
<translation type="vanished"> %0 使</translation>
</message>
<message>
<source>current profile not online!</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Remove online error</source>
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>Config</name>
<message>
<source>Settings</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Return to main menu</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Standart color</source>
<translation></translation>
@ -151,31 +48,6 @@
</context>
<context>
<name>Game</name>
<message>
<source>You have passed the level in %0 steps and unlocked level %1</source>
<translation type="vanished">%0 %1 </translation>
</message>
<message>
<source>
Minimum steps for this lvl: %2</source>
<translation type="vanished">
LVLの最小ステップ: %2</translation>
</message>
<message>
<source>
you reward = %3</source>
<translation type="vanished"> = %3</translation>
</message>
<message>
<source>You have passed the level in %0 steps.
</source>
<translation type="vanished">%0
</translation>
</message>
<message>
<source>Minimum steps for this lvl: %1</source>
<translation type="vanished">LVLの最小ステップ %1</translation>
</message>
<message>
<source>Congratulations! You have passed the level %0</source>
<translation> %0 </translation>
@ -207,10 +79,6 @@
</context>
<context>
<name>GameStateWidget</name>
<message>
<source>Tower height: </source>
<translation type="vanished">: </translation>
</message>
<message>
<source>Tower height: </source>
<translation> </translation>
@ -234,17 +102,9 @@
<source>Internal Error, server send invalid data, and this data can&apos;t be saved into local database.</source>
<translation></translation>
</message>
<message>
<source>Online error</source>
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>HanoiTowers</name>
<message>
<source>Create new user</source>
<translation type="obsolete"></translation>
</message>
<message>
<source>Create</source>
<translation></translation>
@ -332,29 +192,9 @@
<source></source>
<translation></translation>
</message>
<message>
<source>Main menu</source>
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>Help</name>
<message>
<source>Your task is to transfer discs of different sizesfrom the left tower to any other free space.You can only transfer the top drive of the tower.You can not transfer several disks at once and put larger disks on small disks.</source>
<translation type="vanished" variants="yes">
<lengthvariant></lengthvariant>
<lengthvariant></lengthvariant>
<lengthvariant></lengthvariant>
</translation>
</message>
<message>
<source>Your task is to transfer discs of different sizesfrom the left tower to third tower.You can only transfer the top drive of the tower.You can not transfer several disks at once and put larger disks on small disks.</source>
<translation type="vanished" variants="yes">
<lengthvariant>3</lengthvariant>
<lengthvariant>3</lengthvariant>
<lengthvariant>3</lengthvariant>
</translation>
</message>
<message>
<source>Tap to select the upper part of tower.</source>
<translation></translation>
@ -391,131 +231,9 @@
<source>Do not show again</source>
<translation></translation>
</message>
<message>
<source>Do not show again:</source>
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>LoginView</name>
<message>
<source>Create a new account</source>
<translation type="vanished"></translation>
</message>
<message>
<source>LogIn</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Please fill this form to create an account</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Please fill this form to login in your account</source>
<translation type="vanished"></translation>
</message>
<message>
<source>First Name</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Empy or incorrect name. Please enter yuor name.</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Last Name</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Select you country</source>
<translation type="vanished"></translation>
</message>
<message>
<source>EMail</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Empty or incorrect email address. Please enter yuor name.</source>
<translation type="vanished"> yuorメールを入力してください</translation>
</message>
<message>
<source>Nickname</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Empty or incorrect Nickname. Please enter yuor name.</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Pasword</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Confirm pasword</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Forgot password</source>
<translation type="vanished"></translation>
</message>
<message>
<source>I accept the Terms of use</source>
<translation type="vanished">使</translation>
</message>
<message>
<source>Show terms of use</source>
<translation type="vanished">使</translation>
</message>
<message>
<source>SignUp</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Login In</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Sign Up</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Password must match the 1st field and the password cannot be empty</source>
<translation type="vanished">1</translation>
</message>
</context>
<context>
<name>LoginView::LVMainModel</name>
<message>
<source>must be longer than 8 characters</source>
<translation type="vanished">8</translation>
</message>
<message>
<source>must contain numbers</source>
<translation type="vanished"></translation>
</message>
<message>
<source>must contain small chars</source>
<translation type="vanished"></translation>
</message>
<message>
<source>must contain large chars</source>
<translation type="vanished"></translation>
</message>
<message>
<source>must contain extra chars (!@#$%^&amp;*)</source>
<translation type="vanished"> @$^*</translation>
</message>
<message>
<source>Password requirements: </source>
<translation type="vanished">:</translation>
</message>
</context>
<context>
<name>MainMenu</name>
<message>
<source>Hanoi Towers</source>
<translation type="vanished"></translation>
</message>
<message>
<source>continue</source>
<translation></translation>
@ -544,17 +262,6 @@
<source>Save and exit</source>
<translation></translation>
</message>
<message>
<source>exit</source>
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>NotificationForm</name>
<message>
<source>Message</source>
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>Premium</name>
@ -597,13 +304,6 @@
<translation></translation>
</message>
</context>
<context>
<name>ToolBar</name>
<message>
<source>Return to main menu</source>
<translation type="obsolete"></translation>
</message>
</context>
<context>
<name>ToolBarPage</name>
<message>
@ -657,10 +357,6 @@
<source>Remove</source>
<translation></translation>
</message>
<message>
<source>Remove This Profile</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Restore</source>
<translation></translation>
@ -669,14 +365,6 @@
<source>Accept</source>
<translation></translation>
</message>
<message>
<source>User is updated</source>
<translation type="vanished"></translation>
</message>
<message>
<source>User data will be changed.</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Remove %0 user</source>
<translation>%0</translation>
@ -688,10 +376,6 @@
</context>
<context>
<name>UsersTable</name>
<message>
<source>Return to main menu</source>
<translation type="obsolete"></translation>
</message>
<message>
<source>Locale users list</source>
<translation></translation>
@ -700,110 +384,16 @@
<source>Add user</source>
<translation></translation>
</message>
<message>
<source>Create the new user</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Best users in the world</source>
<translation></translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source>about</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.</source>
<translation type="vanished">QuasarAppの製品
*
*Yankovich N. Andrei
*LGPLv3ライセンスの下で配布されています
*https://github.com/EndrII
* CopyrightC2018-2019 Yankovich N. Andrei {3 ?} {2018-2019 ?}</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018 Yankovich N. Andrei.</source>
<translation type="vanished">QuasarAppの製品
*
*Yankovich N. Andrei
*LGPLv3ライセンスの下で配布されています
*https://github.com/EndrII
* CopyrightC2018 Yankovich N. Andrei</translation>
</message>
</context>
<context>
<name>game</name>
<message>
<source>Start</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Exit</source>
<translation type="vanished"></translation>
</message>
<message>
<source>About</source>
<translation type="vanished"></translation>
</message>
<message>
<source>lvl </source>
<translation type="vanished"> </translation>
</message>
<message>
<source>step </source>
<translation type="vanished"> </translation>
</message>
<message>
<source>Tower height:</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Return to main menu</source>
<translation type="vanished"></translation>
</message>
<message>
<source>You have passed the level in %0 steps and unlocked level %1
Minimum steps for this lvl: %2</source>
<translation type="vanished"> %0 %1
lvlの最小手順%2</translation>
</message>
<message>
<source>You have passed the level in %0 steps.
Minimum steps for this lvl: %1</source>
<translation type="vanished">%0
lvlの最小手順%1</translation>
</message>
</context>
<context>
<name>main</name>
<message>
<source>Hanoi Towers</source>
<translation></translation>
</message>
<message>
<source>Thanks for your support!</source>
<translation type="obsolete"></translation>
</message>
<message>
<source>You are now our premium user and we won&apos;t dare bother you with ads anymore.</source>
<translation type="obsolete"></translation>
</message>
<message>
<source>Do not show again </source>
<translation type="obsolete"></translation>
</message>
</context>
</TS>

View File

@ -3,36 +3,6 @@
<TS version="2.1" language="pl" sourcelanguage="en">
<context>
<name>About</name>
<message>
<source>about</source>
<translation type="vanished">dookoła</translation>
</message>
<message>
<source>About</source>
<translation type="vanished">Dookoła</translation>
</message>
<message>
<source>Credits</source>
<translation type="vanished">Kredyty</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* Disigner: Chernenkov I. Oleg.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.
* Copyright (C) 2019-2021 QuasarApp group.</source>
<translation type="vanished">Produkt QuasarApp
* Deweloperzy:
* Programista: Yankovich N. Andrei.
* Dyspozytor: Czernienkow I. Oleg.
* Ta gra jest rozpowszechniana na licencji LGPLv3.
* Kontakt: https://github.com/EndrII
* Prawa autorskie (C) 2018-2019 Yankovich N. Andrei.
* Prawa autorskie (C) 2019-2021 grupa QuasarApp.</translation>
</message>
<message>
<source>## QuasarApp Core team:</source>
<translation>## Zespół QuasarApp Core:</translation>
@ -418,17 +388,5 @@
<source>Hanoi Towers</source>
<translation>Wieże Hanoi</translation>
</message>
<message>
<source>Thanks for your support!</source>
<translation type="obsolete">Dziękuję za wsparcie!</translation>
</message>
<message>
<source>You are now our premium user and we won&apos;t dare bother you with ads anymore.</source>
<translation type="obsolete">Jesteś teraz naszym użytkownikiem premium i nie odważymy się już więcej zawracać Ci głowy reklamami.</translation>
</message>
<message>
<source>Do not show again </source>
<translation type="obsolete">Nie pokazuj ponownie </translation>
</message>
</context>
</TS>

View File

@ -3,50 +3,6 @@
<TS version="2.1" language="ru" sourcelanguage="en">
<context>
<name>About</name>
<message>
<source>about</source>
<translation type="vanished">Об Авторе</translation>
</message>
<message>
<source>About</source>
<translation type="vanished">Об Авторах</translation>
</message>
<message>
<source>Credits</source>
<translation type="vanished">Спонсоры</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* Disigner: Chernenkov I. Oleg.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.
* Copyright (C) 2019-2021 QuasarApp group.</source>
<translation type="vanished">Продукт QuasarApp
* Разработчики:
* Программист: Янкович Н. Андрей.
* Дизайнер: Черненков И. Олег.
* Эта игра распространяется под лицензией LGPLv3.
* Контакт: https://github.com/EndrII
* Copyright (C) 2018-2019 Янкович Н. Андрей.
* Авторские права (C) 2019-2021 QuasarApp group.</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.</source>
<translation type="vanished">Продукт QuasarApp
* Разработчики:
* Программист: Янкович А. Н.
* Эта игра распостроняеться в соотвецтвии с лицензией LGPLv3.
* Сайт игры: https://quasarapp.github.io/Hanoi-Towers/
* Copyright (C) 2018-2019 Янкович А. Н.</translation>
</message>
<message>
<source>## QuasarApp Core team:</source>
<translation>## Команда QuasarApp Core:</translation>
@ -67,74 +23,8 @@
<translation>Загрузка ...</translation>
</message>
</context>
<context>
<name>BackEnd</name>
<message>
<source>Create new user</source>
<translation type="vanished">Создать нового пользователя</translation>
</message>
<message>
<source>Connect error</source>
<translation type="vanished">Ошибка подключения</translation>
</message>
<message>
<source>Failed to connect to server please check network connection befor login</source>
<translation type="vanished">Ошибка подключения к серверу, пожалуйста проверьте интернет соединение перед входом</translation>
</message>
<message>
<source>login error</source>
<translation type="vanished">Ошибк входа</translation>
</message>
<message>
<source>Failed to login into online account, please check your password and username</source>
<translation type="vanished">Ошибка входа в онлайн аккаунт, пожалуйста проверьте свой логин и пароль</translation>
</message>
<message>
<source>Register online error</source>
<translation type="vanished">Ошибка регистрации</translation>
</message>
<message>
<source>Failed to register this account, if this account was created by you, try to restore it.</source>
<translation type="vanished">Не удалось зарегистрировать аккаунт, если этот аккаунт был создан вами попробуйте восстановить его.</translation>
</message>
<message>
<source>Server error</source>
<translation type="vanished">Ошибка сервера</translation>
</message>
<message>
<source>Create user error</source>
<translation type="vanished">Ошибка создания пользователя</translation>
</message>
<message>
<source>Failed to create a new user, The name %0 alredy used.</source>
<translation type="vanished">Не удалось создать пользователя. Данное имя %0 уже используется</translation>
</message>
<message>
<source>current profile not online!</source>
<translation type="vanished">Текущий профиль не в сети!</translation>
</message>
<message>
<source>Remove online error</source>
<translation type="vanished">Ошибка удаления данных онлайн-пользователя</translation>
</message>
</context>
<context>
<name>BaseButton</name>
<message>
<source>ok</source>
<translation type="vanished">ok</translation>
</message>
</context>
<context>
<name>Config</name>
<message>
<source>Settings</source>
<translation type="vanished">Настройки</translation>
</message>
<message>
<source>Return to main menu</source>
<translation type="vanished">Вернутся в главное меню</translation>
</message>
<message>
<source>Standart color</source>
<translation>Классическая подсветка</translation>
@ -158,31 +48,6 @@
</context>
<context>
<name>Game</name>
<message>
<source>You have passed the level in %0 steps and unlocked level %1</source>
<translation type="vanished">Вы прошли уровень за%0 шагов и открыли уровень%1</translation>
</message>
<message>
<source>
Minimum steps for this lvl: %2</source>
<translation type="vanished">
Минимальные шаги для этого уровня:%2</translation>
</message>
<message>
<source>
you reward = %3</source>
<translation type="vanished">Ваша награда = %3</translation>
</message>
<message>
<source>You have passed the level in %0 steps.
</source>
<translation type="vanished">Вы прошли уровень за%0 шагов.
</translation>
</message>
<message>
<source>Minimum steps for this lvl: %1</source>
<translation type="vanished">Минимальные шаги для этого уровня:%1</translation>
</message>
<message>
<source>Congratulations! You have passed the level %0</source>
<translation>Поздравляем! Вы прошли уровень %0</translation>
@ -214,10 +79,6 @@
</context>
<context>
<name>GameStateWidget</name>
<message>
<source>Tower height: </source>
<translation type="vanished">Высота башни</translation>
</message>
<message>
<source>Tower height: </source>
<translation>Высота башни: </translation>
@ -241,17 +102,9 @@
<source>Internal Error, server send invalid data, and this data can&apos;t be saved into local database.</source>
<translation>Внутренняя ошибка, сервер отправил неверные данные, и эти данные не могут быть сохранены в локальной базе данных.</translation>
</message>
<message>
<source>Online error</source>
<translation type="vanished">Ошибка соединения</translation>
</message>
</context>
<context>
<name>HanoiTowers</name>
<message>
<source>Create new user</source>
<translation type="obsolete">Создать нового пользователя</translation>
</message>
<message>
<source>Create</source>
<translation>Создать</translation>
@ -339,21 +192,9 @@
<source></source>
<translation></translation>
</message>
<message>
<source>Main menu</source>
<translation type="vanished">Главное меню</translation>
</message>
</context>
<context>
<name>Help</name>
<message>
<source>Your task is to transfer discs of different sizesfrom the left tower to any other free space.You can only transfer the top drive of the tower.You can not transfer several disks at once and put larger disks on small disks.</source>
<translation type="vanished">Ваше задание состоит в том, чтобы, перенести диски разных размеров с левой башни в любу другую свободную. Вы можете переносить только верхней диск башни. Нельзя переносить сразу несколько дисков и ставить большее диски на маленькие.</translation>
</message>
<message>
<source>Your task is to transfer discs of different sizesfrom the left tower to third tower.You can only transfer the top drive of the tower.You can not transfer several disks at once and put larger disks on small disks.</source>
<translation type="vanished">Ваше задание состоит в том, чтобы, перенести диски разных размеров с левой башни в третью башню. Вы можете переносить только верхней диск башни. Нельзя переносить сразу несколько дисков и ставить большее диски на маленькие.</translation>
</message>
<message>
<source>Tap to select the upper part of tower.</source>
<translation>Нажмите, чтобы выбрать верхнюю часть башни.</translation>
@ -390,135 +231,9 @@
<source>Do not show again</source>
<translation>Не показывать снова</translation>
</message>
<message>
<source>Do not show again:</source>
<translation type="vanished">Больше не показвать:</translation>
</message>
<message>
<source>Ok</source>
<translation type="vanished">Ok</translation>
</message>
</context>
<context>
<name>LoginView</name>
<message>
<source>Create a new account</source>
<translation type="vanished">Создать новый аккаунт</translation>
</message>
<message>
<source>LogIn</source>
<translation type="vanished">Логин</translation>
</message>
<message>
<source>Please fill this form to create an account</source>
<translation type="vanished">Для создания аккаунта пожалуста заполните эту форму</translation>
</message>
<message>
<source>Please fill this form to login in your account</source>
<translation type="vanished">Пожалуйста заполните эту форму для входа в свой аккаунт</translation>
</message>
<message>
<source>First Name</source>
<translation type="vanished">Имя</translation>
</message>
<message>
<source>Empy or incorrect name. Please enter yuor name.</source>
<translation type="vanished">Вы не заполнили форму или ввели некорректное имя. Пожалуйста, введите корректное имя.</translation>
</message>
<message>
<source>Last Name</source>
<translation type="vanished">Фамилия</translation>
</message>
<message>
<source>Select you country</source>
<translation type="vanished">Выберите свою страну</translation>
</message>
<message>
<source>EMail</source>
<translation type="vanished">EMail</translation>
</message>
<message>
<source>Empty or incorrect email address. Please enter yuor name.</source>
<translation type="vanished">Вы не заполнили форму или ввели неверный адрес электронной почты. Пожалуйста, введите верный email адрес.</translation>
</message>
<message>
<source>Nickname</source>
<translation type="vanished">Никнейм</translation>
</message>
<message>
<source>Empty or incorrect Nickname. Please enter yuor name.</source>
<translation type="vanished">Вы не заполнили форму или ввели некорректный никнейм. Пожалуйста, введите корректный никнейм.</translation>
</message>
<message>
<source>Pasword</source>
<translation type="vanished">Пароль</translation>
</message>
<message>
<source>Confirm pasword</source>
<translation type="vanished">Подтвердить пароль</translation>
</message>
<message>
<source>Forgot password</source>
<translation type="vanished">Я не помню свой пароль</translation>
</message>
<message>
<source>I accept the Terms of use</source>
<translation type="vanished">Я принимаю Условия использования</translation>
</message>
<message>
<source>Show terms of use</source>
<translation type="vanished">Показать Условия использования</translation>
</message>
<message>
<source>SignUp</source>
<translation type="vanished">Зарегистрироваться</translation>
</message>
<message>
<source>Login In</source>
<translation type="vanished">Войти</translation>
</message>
<message>
<source>Sign Up</source>
<translation type="vanished">Зарегистрироваться</translation>
</message>
<message>
<source>Password must match the 1st field and the password cannot be empty</source>
<translation type="vanished">Пароль должен совпадать, и не может быть пустым.</translation>
</message>
</context>
<context>
<name>LoginView::LVMainModel</name>
<message>
<source>must be longer than 8 characters</source>
<translation type="vanished">Должен быть длиннее 8 символов</translation>
</message>
<message>
<source>must contain numbers</source>
<translation type="vanished">Должен содержать цифры</translation>
</message>
<message>
<source>must contain small chars</source>
<translation type="vanished">Должен содержать строчные буквы</translation>
</message>
<message>
<source>must contain large chars</source>
<translation type="vanished">Должен содержать заглавные буквы</translation>
</message>
<message>
<source>must contain extra chars (!@#$%^&amp;*)</source>
<translation type="vanished">Должен содержать символы (! @ # $% ^ &amp; *)</translation>
</message>
<message>
<source>Password requirements: </source>
<translation type="vanished">Требования к паролю:</translation>
</message>
</context>
<context>
<name>MainMenu</name>
<message>
<source>Hanoi Towers</source>
<translation type="vanished">Ханойские Башни</translation>
</message>
<message>
<source>continue</source>
<translation>Продолжить</translation>
@ -547,17 +262,6 @@
<source>Save and exit</source>
<translation>Сохранить и выйти</translation>
</message>
<message>
<source>exit</source>
<translation type="vanished">Выход</translation>
</message>
</context>
<context>
<name>NotificationForm</name>
<message>
<source>Message</source>
<translation type="vanished">Сообщение</translation>
</message>
</context>
<context>
<name>Premium</name>
@ -600,13 +304,6 @@
<translation>Начать</translation>
</message>
</context>
<context>
<name>ToolBar</name>
<message>
<source>Return to main menu</source>
<translation type="obsolete">Вернутся в главное меню</translation>
</message>
</context>
<context>
<name>ToolBarPage</name>
<message>
@ -660,10 +357,6 @@
<source>Remove</source>
<translation>Удалить</translation>
</message>
<message>
<source>Remove This Profile</source>
<translation type="vanished">Удалить это профиль</translation>
</message>
<message>
<source>Restore</source>
<translation>Восстановить</translation>
@ -672,14 +365,6 @@
<source>Accept</source>
<translation>Принять</translation>
</message>
<message>
<source>User is updated</source>
<translation type="vanished">Пользователь обновлен</translation>
</message>
<message>
<source>User data will be changed.</source>
<translation type="vanished">Данные пользователя изменены</translation>
</message>
<message>
<source>Remove %0 user</source>
<translation>Удалить %0 пользователя</translation>
@ -691,10 +376,6 @@
</context>
<context>
<name>UsersTable</name>
<message>
<source>Return to main menu</source>
<translation type="obsolete">Вернутся в главное меню</translation>
</message>
<message>
<source>Locale users list</source>
<translation>Список локальных пользователей</translation>
@ -703,114 +384,16 @@
<source>Add user</source>
<translation>Добавить пользователя</translation>
</message>
<message>
<source>Create the new user</source>
<translation type="vanished">Создать нового пользователя</translation>
</message>
<message>
<source>Best users in the world</source>
<translation>Лучшие в мире игроки</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source>about</source>
<translation type="vanished">Об Авторе</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.</source>
<translation type="vanished">Продукт QuasarApp
* Разработчики:
* Программист: Янкович А. Н.
* Эта игра распостроняеться в соотвецтвии с лицензией LGPLv3.
* Сайт игры: https://quasarapp.github.io/Hanoi-Towers/
* Copyright (C) 2018-2019 Янкович А. Н.</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018 Yankovich N. Andrei.</source>
<translation type="vanished">Продукт QuasarApp
* Разработчики:
* Программист: Янкович А. Н.
* Эта игра распостроняеться в соотвецтвии с лицензией LGPLv3.
* Сайт игры: https://quasarapp.github.io/Hanoi-Towers/
* Copyright (C) 2018 Янкович А. Н.</translation>
</message>
</context>
<context>
<name>game</name>
<message>
<source>Start</source>
<translation type="vanished">Начать</translation>
</message>
<message>
<source>Exit</source>
<translation type="vanished">Выход</translation>
</message>
<message>
<source>About</source>
<translation type="vanished">об Авторах</translation>
</message>
<message>
<source>lvl </source>
<translation type="vanished">Уровень </translation>
</message>
<message>
<source>step </source>
<translation type="vanished">шаг </translation>
</message>
<message>
<source>Tower height:</source>
<translation type="vanished">Высота башни:</translation>
</message>
<message>
<source>Return to main menu</source>
<translation type="vanished">Вернутся в главное меню</translation>
</message>
<message>
<source>You have passed the level in %0 steps and unlocked level %1
Minimum steps for this lvl: %2</source>
<translation type="vanished">Вы прошли этот уровень за %0 шагов и разблокировали уровень %1
Минимум шагов на этом уровне: %2</translation>
</message>
<message>
<source>You have passed the level in %0 steps.
Minimum steps for this lvl: %1</source>
<translation type="vanished">Вы прошли этот уровень за %0 шагов
Минимум шагов на этом уровне: %1</translation>
</message>
<message>
<source>Ok</source>
<translation type="vanished">Ok</translation>
</message>
</context>
<context>
<name>main</name>
<message>
<source>Hanoi Towers</source>
<translation>Ханойские Башни</translation>
</message>
<message>
<source>Thanks for your support!</source>
<translation type="obsolete">Спасибо за вашу поддержку!</translation>
</message>
<message>
<source>You are now our premium user and we won&apos;t dare bother you with ads anymore.</source>
<translation type="obsolete">Теперь вы наш премиум-пользователь, и мы больше не смеем беспокоить вас рекламой.</translation>
</message>
<message>
<source>Do not show again </source>
<translation type="obsolete">Не показывать снова</translation>
</message>
</context>
</TS>

View File

@ -3,50 +3,6 @@
<TS version="2.1" language="tr_TR">
<context>
<name>About</name>
<message>
<source>about</source>
<translation type="vanished">hakkında</translation>
</message>
<message>
<source>About</source>
<translation type="vanished">hakkında</translation>
</message>
<message>
<source>Credits</source>
<translation type="vanished">Sponsorlar</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* Disigner: Chernenkov I. Oleg.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.
* Copyright (C) 2019-2021 QuasarApp group.</source>
<translation type="vanished">QuasarApp ürünü
* Geliştiriciler:
* Programcı: Yankovich N. Andrei.
* Disigner: Chernenkov I. Oleg.
* Bu oyun LGPLv3 lisansı altında dağıtılmaktadır.
* İletişim: https://github.com/EndrII
* Telif Hakkı (C) 2018-2019 Yankovich N. Andrei.
* Telif Hakkı (C) 2019-2021 QuasarApp grubu.</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.</source>
<translation type="vanished">QuasarApp ürünü
* Geliştiriciler:
* Programcı: Yankovich N. Andrei.
* Bu oyun LGPLv3 lisansı altında dağıtılmaktadır.
* İletişim: https://github.com/EndrII
* Telif Hakkı (C) 2018-2019 Yankovich N. Andrei.</translation>
</message>
<message>
<source>## QuasarApp Core team:</source>
<translation>## QuasarApp Core ekibi:</translation>
@ -67,74 +23,8 @@
<translation>Yükleniyor ...</translation>
</message>
</context>
<context>
<name>BackEnd</name>
<message>
<source>Create new user</source>
<translation type="vanished">Yeni kullanıcı oluştur</translation>
</message>
<message>
<source>Connect error</source>
<translation type="vanished">Bağlantı hatası</translation>
</message>
<message>
<source>Failed to connect to server please check network connection befor login</source>
<translation type="vanished">Sunucuya bağlanılamadı, lütfen oturum açmadan önce bağlantısını kontrol edin</translation>
</message>
<message>
<source>login error</source>
<translation type="vanished">sisteme giriş hatası</translation>
</message>
<message>
<source>Failed to login into online account, please check your password and username</source>
<translation type="vanished">Çevrimiçi hesaba giriş yapılamadı, lütfen şifrenizi ve kullanıcı adınızı kontrol edin</translation>
</message>
<message>
<source>Register online error</source>
<translation type="vanished">Çevrimiçi kayıt hatası</translation>
</message>
<message>
<source>Failed to register this account, if this account was created by you, try to restore it.</source>
<translation type="vanished">Bu hesap kaydedilemedi, bu hesap sizin tarafınızdan oluşturulduysa, geri yüklemeyi deneyin.</translation>
</message>
<message>
<source>Server error</source>
<translation type="vanished">Server hatası</translation>
</message>
<message>
<source>Create user error</source>
<translation type="vanished">Kullanıcı hatası oluştur</translation>
</message>
<message>
<source>Failed to create a new user, The name %0 alredy used.</source>
<translation type="vanished">Yeni bir kullanıcı oluşturulamadı, %0 adı kullanıldı.</translation>
</message>
<message>
<source>current profile not online!</source>
<translation type="vanished">Mevcut profil çevrimdışı!</translation>
</message>
<message>
<source>Remove online error</source>
<translation type="vanished">Çevrimiçi kullanıcı verilerini kaldırma hatası</translation>
</message>
</context>
<context>
<name>BaseButton</name>
<message>
<source>ok</source>
<translation type="vanished">ok</translation>
</message>
</context>
<context>
<name>Config</name>
<message>
<source>Settings</source>
<translation type="vanished">ayarlar</translation>
</message>
<message>
<source>Return to main menu</source>
<translation type="vanished">Ana menüye dön</translation>
</message>
<message>
<source>Standart color</source>
<translation>standart renk</translation>
@ -158,32 +48,6 @@
</context>
<context>
<name>Game</name>
<message>
<source>You have passed the level in %0 steps and unlocked level %1</source>
<translation type="vanished">Seviyeyi %0 adımda geçtiniz ve %1 seviyesinin kilidini açtınız</translation>
</message>
<message>
<source>
Minimum steps for this lvl: %2</source>
<translation type="vanished">
Bu seviye için minimum adımlar: %2</translation>
</message>
<message>
<source>
you reward = %3</source>
<translation type="vanished">
ödülünüz = %3</translation>
</message>
<message>
<source>You have passed the level in %0 steps.
</source>
<translation type="vanished">Seviyey i%0 adımda geçtiniz.
</translation>
</message>
<message>
<source>Minimum steps for this lvl: %1</source>
<translation type="vanished">Bu seviye için minimum adımlar: %1</translation>
</message>
<message>
<source>Congratulations! You have passed the level %0</source>
<translation>Tebrikler! %0 seviyesini geçtiniz</translation>
@ -215,10 +79,6 @@ Bu seviye için minimum adımlar: %2</translation>
</context>
<context>
<name>GameStateWidget</name>
<message>
<source>Tower height: </source>
<translation type="vanished">Kule yüksekliği: </translation>
</message>
<message>
<source>Tower height: </source>
<translation>Kule yüksekliği: </translation>
@ -242,17 +102,9 @@ Bu seviye için minimum adımlar: %2</translation>
<source>Internal Error, server send invalid data, and this data can&apos;t be saved into local database.</source>
<translation>Dahili Hata, sunucu geçersiz veri gönderdi ve bu veriler yerel veritabanına kaydedilemez.</translation>
</message>
<message>
<source>Online error</source>
<translation type="vanished">Çevrimiçi hata</translation>
</message>
</context>
<context>
<name>HanoiTowers</name>
<message>
<source>Create new user</source>
<translation type="obsolete">Yeni kullanıcı oluştur</translation>
</message>
<message>
<source>Create</source>
<translation>Oluşturmak</translation>
@ -340,21 +192,9 @@ Bu seviye için minimum adımlar: %2</translation>
<source></source>
<translation></translation>
</message>
<message>
<source>Main menu</source>
<translation type="vanished">Ana menü</translation>
</message>
</context>
<context>
<name>Help</name>
<message>
<source>Your task is to transfer discs of different sizesfrom the left tower to any other free space.You can only transfer the top drive of the tower.You can not transfer several disks at once and put larger disks on small disks.</source>
<translation type="vanished">Göreviniz, sol kuleden farklı boyuttaki diskleri başka bir boş alana aktarmaktır. Kulenin sadece üst sürücüsünü aktarabilirsiniz. Birkaç diski aynı anda transfer edemez ve daha küçük disklere daha büyük diskler yerleştiremezsiniz.</translation>
</message>
<message>
<source>Your task is to transfer discs of different sizesfrom the left tower to third tower.You can only transfer the top drive of the tower.You can not transfer several disks at once and put larger disks on small disks.</source>
<translation type="vanished">Göreviniz, farklı boyutlardaki diskleri sol kuleden üçüncü kuleye aktarmaktır. Kulenin yalnızca en üst sürücüsünü aktarabilirsiniz, aynı anda birkaç diski aktaramaz ve küçük disklere daha büyük diskler koyamazsınız.</translation>
</message>
<message>
<source>Tap to select the upper part of tower.</source>
<translation>Kulenin üst kısmını seçmek için dokunun.</translation>
@ -391,135 +231,9 @@ Bu seviye için minimum adımlar: %2</translation>
<source>Do not show again</source>
<translation>Tekrar gösterme</translation>
</message>
<message>
<source>Do not show again:</source>
<translation type="vanished">Tekrar gösterme:</translation>
</message>
<message>
<source>Ok</source>
<translation type="vanished">ok</translation>
</message>
</context>
<context>
<name>LoginView</name>
<message>
<source>Create a new account</source>
<translation type="vanished">Yeni bir hesap oluştur</translation>
</message>
<message>
<source>LogIn</source>
<translation type="vanished">Oturum </translation>
</message>
<message>
<source>Please fill this form to create an account</source>
<translation type="vanished">Lütfen bir hesap oluşturmak için bu formu doldurun</translation>
</message>
<message>
<source>Please fill this form to login in your account</source>
<translation type="vanished">Lütfen hesabınıza giriş yapmak için bu formu doldurun</translation>
</message>
<message>
<source>First Name</source>
<translation type="vanished">İsim</translation>
</message>
<message>
<source>Empy or incorrect name. Please enter yuor name.</source>
<translation type="vanished">Empy veya yanlış isim. Lütfen adınızı girin.</translation>
</message>
<message>
<source>Last Name</source>
<translation type="vanished">Soyad</translation>
</message>
<message>
<source>Select you country</source>
<translation type="vanished">Ülkenizi seçin</translation>
</message>
<message>
<source>EMail</source>
<translation type="vanished">EMail</translation>
</message>
<message>
<source>Empty or incorrect email address. Please enter yuor name.</source>
<translation type="vanished">E-posta adresi boş veya yanlış. Lütfen e-posta adresinizi girin.</translation>
</message>
<message>
<source>Nickname</source>
<translation type="vanished">Takma ad</translation>
</message>
<message>
<source>Empty or incorrect Nickname. Please enter yuor name.</source>
<translation type="vanished">Boş veya yanlış Takma ad. Lütfen takma adınızı girin.</translation>
</message>
<message>
<source>Pasword</source>
<translation type="vanished">Parola</translation>
</message>
<message>
<source>Confirm pasword</source>
<translation type="vanished">Şifreyi Onayla</translation>
</message>
<message>
<source>Forgot password</source>
<translation type="vanished">Parolanızı mı unuttunuz</translation>
</message>
<message>
<source>I accept the Terms of use</source>
<translation type="vanished">Kullanım şartlarını kabul ediyorum</translation>
</message>
<message>
<source>Show terms of use</source>
<translation type="vanished">Kullanım şartlarını göster</translation>
</message>
<message>
<source>SignUp</source>
<translation type="vanished">Kaydol</translation>
</message>
<message>
<source>Login In</source>
<translation type="vanished">Oturum </translation>
</message>
<message>
<source>Sign Up</source>
<translation type="vanished">Kaydol</translation>
</message>
<message>
<source>Password must match the 1st field and the password cannot be empty</source>
<translation type="vanished">Parola 1. alanla eşleşmelidir ve parola boş olamaz</translation>
</message>
</context>
<context>
<name>LoginView::LVMainModel</name>
<message>
<source>must be longer than 8 characters</source>
<translation type="vanished">8 karakterden uzun olmalıdır</translation>
</message>
<message>
<source>must contain numbers</source>
<translation type="vanished">sayıları içermelidir</translation>
</message>
<message>
<source>must contain small chars</source>
<translation type="vanished">küçük karakterler içermelidir</translation>
</message>
<message>
<source>must contain large chars</source>
<translation type="vanished">küçük karakterler içermelidir</translation>
</message>
<message>
<source>must contain extra chars (!@#$%^&amp;*)</source>
<translation type="vanished">ekstra karakterler içermelidir (!@#$%^&amp;*)</translation>
</message>
<message>
<source>Password requirements: </source>
<translation type="vanished">Parola gereksinimleri: </translation>
</message>
</context>
<context>
<name>MainMenu</name>
<message>
<source>Hanoi Towers</source>
<translation type="vanished">Hanoi Kuleleri</translation>
</message>
<message>
<source>continue</source>
<translation>devam et</translation>
@ -548,17 +262,6 @@ Bu seviye için minimum adımlar: %2</translation>
<source>Save and exit</source>
<translation>Kaydet ve çık</translation>
</message>
<message>
<source>exit</source>
<translation type="vanished">çıkış</translation>
</message>
</context>
<context>
<name>NotificationForm</name>
<message>
<source>Message</source>
<translation type="vanished">İleti</translation>
</message>
</context>
<context>
<name>Premium</name>
@ -601,13 +304,6 @@ Bu seviye için minimum adımlar: %2</translation>
<translation>başla</translation>
</message>
</context>
<context>
<name>ToolBar</name>
<message>
<source>Return to main menu</source>
<translation type="obsolete">Ana menüye dön</translation>
</message>
</context>
<context>
<name>ToolBarPage</name>
<message>
@ -661,10 +357,6 @@ Bu seviye için minimum adımlar: %2</translation>
<source>Remove</source>
<translation>Kaldırmak</translation>
</message>
<message>
<source>Remove This Profile</source>
<translation type="vanished">Bu Profili Kaldır</translation>
</message>
<message>
<source>Restore</source>
<translation>Onarmak</translation>
@ -673,14 +365,6 @@ Bu seviye için minimum adımlar: %2</translation>
<source>Accept</source>
<translation>Kabul etmek</translation>
</message>
<message>
<source>User is updated</source>
<translation type="vanished">Kullanıcı güncellendi</translation>
</message>
<message>
<source>User data will be changed.</source>
<translation type="vanished">Kullanıcı verileri değiştirilecek.</translation>
</message>
<message>
<source>Remove %0 user</source>
<translation>%0 kullanıcıyı kaldır</translation>
@ -692,10 +376,6 @@ Bu seviye için minimum adımlar: %2</translation>
</context>
<context>
<name>UsersTable</name>
<message>
<source>Return to main menu</source>
<translation type="obsolete">Ana menüye dön</translation>
</message>
<message>
<source>Locale users list</source>
<translation>Yerel kullanıcı listesi</translation>
@ -704,114 +384,16 @@ Bu seviye için minimum adımlar: %2</translation>
<source>Add user</source>
<translation>Kullanıcı Ekle</translation>
</message>
<message>
<source>Create the new user</source>
<translation type="vanished">Yeni kullanıcıyı oluşturun</translation>
</message>
<message>
<source>Best users in the world</source>
<translation>Dünyanın en iyi oyuncuları</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source>about</source>
<translation type="vanished">hakkında</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.</source>
<translation type="vanished">QuasarApp ürünü
* Geliştiriciler:
* Programcı: Yankovich N. Andrei.
* Bu oyun LGPLv3 lisansı altında dağıtılmaktadır.
* İletişim: https://github.com/EndrII
* Telif Hakkı (C) 2018-2019 Yankovich N. Andrei.</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018 Yankovich N. Andrei.</source>
<translation type="vanished">QuasarApp ürünü
* Geliştiriciler:
* Programcı: Yankovich N. Andrei.
* Bu oyun LGPLv3 lisansı altında dağıtılmaktadır.
* İletişim: https://github.com/EndrII
* Telif Hakkı (C) 2018 Yankovich N. Andrei.</translation>
</message>
</context>
<context>
<name>game</name>
<message>
<source>Start</source>
<translation type="vanished">başla</translation>
</message>
<message>
<source>Exit</source>
<translation type="vanished">çıkış</translation>
</message>
<message>
<source>About</source>
<translation type="vanished">hakkında</translation>
</message>
<message>
<source>lvl </source>
<translation type="vanished">seviye </translation>
</message>
<message>
<source>step </source>
<translation type="vanished">adım </translation>
</message>
<message>
<source>Tower height:</source>
<translation type="vanished">Kule yüksekliği:</translation>
</message>
<message>
<source>Return to main menu</source>
<translation type="vanished">Ana menüye dön</translation>
</message>
<message>
<source>You have passed the level in %0 steps and unlocked level %1
Minimum steps for this lvl: %2</source>
<translation type="vanished">Seviyeyi %0 adımından geçirdiniz ve %1 kilidini açtınız
Bu lvl için minimum adımlar: %2</translation>
</message>
<message>
<source>You have passed the level in %0 steps.
Minimum steps for this lvl: %1</source>
<translation type="vanished">Seviyeyi %0 adımından geçtiniz.
Bu lvl için minimum adımlar:%1</translation>
</message>
<message>
<source>Ok</source>
<translation type="vanished">ok</translation>
</message>
</context>
<context>
<name>main</name>
<message>
<source>Hanoi Towers</source>
<translation>Hanoi Kuleleri</translation>
</message>
<message>
<source>Thanks for your support!</source>
<translation type="obsolete">Desteğin için teşekkürler!</translation>
</message>
<message>
<source>You are now our premium user and we won&apos;t dare bother you with ads anymore.</source>
<translation type="obsolete">Artık bizim premium kullanıcımızsınız ve artık sizi reklamlarla rahatsız etmeye cesaret edemeyeceğiz.</translation>
</message>
<message>
<source>Do not show again </source>
<translation type="obsolete">Tekrar gösterme</translation>
</message>
</context>
</TS>

View File

@ -3,52 +3,6 @@
<TS version="2.1" language="ru_RU">
<context>
<name>About</name>
<message>
<source>about</source>
<translation type="vanished">Про автора</translation>
</message>
<message>
<source>About</source>
<translation type="vanished">Про автора</translation>
</message>
<message>
<source>Credits</source>
<translation type="vanished">Спонсори</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* Disigner: Chernenkov I. Oleg.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.
* Copyright (C) 2019-2021 QuasarApp group.</source>
<translation type="vanished">365 / 5000
Результаты перевода
Продукт QuasarApp
* Розробники:
* Програміст: Янкович Н. Андрій.
* Дизайнер: Черненков І. Олег.
* Ця гра поширюється за ліцензією LGPLv3.
* Контакт: https://github.com/EndrII
* Авторське право (C) 2018-2019 Янкович Н. Андрій.
* Авторське право (C) 2019-2021 група QuasarApp. </translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.</source>
<translation type="vanished">Продукт компанії QuasarApp
* Розробники:
* Програміст: Янкович Н. Андрій.
* Ця гра поширюється під ліцензією LGPLv3.
* Контакт: https://github.com/EndrII
* Авторське право (C) 2018-2019 Янкович Н. Андрій.</translation>
</message>
<message>
<source>## QuasarApp Core team:</source>
<translation>## Команда QuasarApp Core:</translation>
@ -69,74 +23,8 @@
<translation>Ладування ...</translation>
</message>
</context>
<context>
<name>BackEnd</name>
<message>
<source>Create new user</source>
<translation type="vanished">Створити нового користувача</translation>
</message>
<message>
<source>Connect error</source>
<translation type="vanished">Помилка підключення</translation>
</message>
<message>
<source>Failed to connect to server please check network connection befor login</source>
<translation type="vanished">Не вдалося підключитися до сервера, перевірте мережеве підключення для входу</translation>
</message>
<message>
<source>login error</source>
<translation type="vanished">помилка входу</translation>
</message>
<message>
<source>Failed to login into online account, please check your password and username</source>
<translation type="vanished">Не вдалося увійти в онлайн-акаунт, перевірте свій пароль та імя користувача</translation>
</message>
<message>
<source>Register online error</source>
<translation type="vanished">помилка реєстрації в Інтернеті</translation>
</message>
<message>
<source>Failed to register this account, if this account was created by you, try to restore it.</source>
<translation type="vanished">Не вдалося зареєструвати цей обліковий запис, якщо цей обліковий запис був створений вами, спробуйте відновити його.</translation>
</message>
<message>
<source>Server error</source>
<translation type="vanished">Помилка серверу</translation>
</message>
<message>
<source>Create user error</source>
<translation type="vanished">Помилка створення користувача</translation>
</message>
<message>
<source>Failed to create a new user, The name %0 alredy used.</source>
<translation type="vanished">Не вдалося створити нового користувача, імя %0 вже використовується.</translation>
</message>
<message>
<source>current profile not online!</source>
<translation type="vanished">Поточний профіль офлайн!</translation>
</message>
<message>
<source>Remove online error</source>
<translation type="vanished">Помилка видалення онлайн даних користувачів</translation>
</message>
</context>
<context>
<name>BaseButton</name>
<message>
<source>ok</source>
<translation type="vanished">Ок</translation>
</message>
</context>
<context>
<name>Config</name>
<message>
<source>Settings</source>
<translation type="vanished">Налаштування</translation>
</message>
<message>
<source>Return to main menu</source>
<translation type="vanished">Головне меню</translation>
</message>
<message>
<source>Standart color</source>
<translation>Стандартний колір</translation>
@ -160,32 +48,6 @@
</context>
<context>
<name>Game</name>
<message>
<source>You have passed the level in %0 steps and unlocked level %1</source>
<translation type="vanished">Ви пройшли рівень за %0 кроків і розблокували рівень %1</translation>
</message>
<message>
<source>
Minimum steps for this lvl: %2</source>
<translation type="vanished">
Мінімальні кроки для цього рівня: %2</translation>
</message>
<message>
<source>
you reward = %3</source>
<translation type="vanished">
ваша винагорода = %3</translation>
</message>
<message>
<source>You have passed the level in %0 steps.
</source>
<translation type="vanished">Ви пройшли рівень за кроки %0.
</translation>
</message>
<message>
<source>Minimum steps for this lvl: %1</source>
<translation type="vanished">Мінімальні кроки для цього рівня: %1</translation>
</message>
<message>
<source>Congratulations! You have passed the level %0</source>
<translation>Вітаємо! Ви пройшли рівень %0</translation>
@ -217,10 +79,6 @@
</context>
<context>
<name>GameStateWidget</name>
<message>
<source>Tower height: </source>
<translation type="vanished">Висота вежі: </translation>
</message>
<message>
<source>Tower height: </source>
<translation>Висота вежі: </translation>
@ -244,17 +102,9 @@
<source>Internal Error, server send invalid data, and this data can&apos;t be saved into local database.</source>
<translation>Внутрішня помилка, сервер надсилає недійсні дані, і ці дані не можна зберегти в локальній базі даних.</translation>
</message>
<message>
<source>Online error</source>
<translation type="vanished">Помилка в мережі</translation>
</message>
</context>
<context>
<name>HanoiTowers</name>
<message>
<source>Create new user</source>
<translation type="obsolete">Створити нового користувача</translation>
</message>
<message>
<source>Create</source>
<translation>Створити</translation>
@ -342,21 +192,9 @@
<source></source>
<translation></translation>
</message>
<message>
<source>Main menu</source>
<translation type="vanished">Головне меню</translation>
</message>
</context>
<context>
<name>Help</name>
<message>
<source>Your task is to transfer discs of different sizesfrom the left tower to any other free space.You can only transfer the top drive of the tower.You can not transfer several disks at once and put larger disks on small disks.</source>
<translation type="vanished">Ваше завдання полягає в тому, щоб перенести диски різних розмірів з лівої вежі на будь-яке інше вільне місце. Ви можете перенести тільки верхній привід башти. Ви не можете одночасно передати кілька дисків і розмістити на дисках великі диски.</translation>
</message>
<message>
<source>Your task is to transfer discs of different sizesfrom the left tower to third tower.You can only transfer the top drive of the tower.You can not transfer several disks at once and put larger disks on small disks.</source>
<translation type="vanished">Ваше завдання перенести диски різних розмірів з лівої вежі на третю вежу. Ви можете перенести лише верхній привід вежі. Ви не можете перенести кілька дисків одночасно і поставити більші диски на маленькі диски.</translation>
</message>
<message>
<source>Tap to select the upper part of tower.</source>
<translation>Натисніть, щоб вибрати верхню частину вежі.</translation>
@ -393,135 +231,9 @@
<source>Do not show again</source>
<translation>Не показувати знову</translation>
</message>
<message>
<source>Do not show again:</source>
<translation type="vanished">Не показувати знову:</translation>
</message>
<message>
<source>Ok</source>
<translation type="vanished">Ок</translation>
</message>
</context>
<context>
<name>LoginView</name>
<message>
<source>Create a new account</source>
<translation type="vanished">Створити новий акаунт</translation>
</message>
<message>
<source>LogIn</source>
<translation type="vanished">Увійти</translation>
</message>
<message>
<source>Please fill this form to create an account</source>
<translation type="vanished">Заповніть цю форму, щоб створити обліковий запис</translation>
</message>
<message>
<source>Please fill this form to login in your account</source>
<translation type="vanished">Заповніть цю форму, щоб увійти у свій обліковий запис</translation>
</message>
<message>
<source>First Name</source>
<translation type="vanished">Ім&apos;я</translation>
</message>
<message>
<source>Empy or incorrect name. Please enter yuor name.</source>
<translation type="vanished">Порожня форма або неправильне ім&apos;я. Введіть коректне ім&apos;я.</translation>
</message>
<message>
<source>Last Name</source>
<translation type="vanished">Прізвище</translation>
</message>
<message>
<source>Select you country</source>
<translation type="vanished">Виберіть країну</translation>
</message>
<message>
<source>EMail</source>
<translation type="vanished">EMail</translation>
</message>
<message>
<source>Empty or incorrect email address. Please enter yuor name.</source>
<translation type="vanished">Форма не заповнена або введений невірний email. Введіть вірний email.</translation>
</message>
<message>
<source>Nickname</source>
<translation type="vanished">Нікнейм</translation>
</message>
<message>
<source>Empty or incorrect Nickname. Please enter yuor name.</source>
<translation type="vanished">Порожня форма або неправильний нікнейм. Введіть коректний нікнейм.</translation>
</message>
<message>
<source>Pasword</source>
<translation type="vanished">Пароль</translation>
</message>
<message>
<source>Confirm pasword</source>
<translation type="vanished">Підтвердьте пароль</translation>
</message>
<message>
<source>Forgot password</source>
<translation type="vanished">Забули пароль</translation>
</message>
<message>
<source>I accept the Terms of use</source>
<translation type="vanished">Я приймаю Умови використання</translation>
</message>
<message>
<source>Show terms of use</source>
<translation type="vanished">Показати умови використання</translation>
</message>
<message>
<source>SignUp</source>
<translation type="vanished">Реєстрація</translation>
</message>
<message>
<source>Login In</source>
<translation type="vanished">Логін</translation>
</message>
<message>
<source>Sign Up</source>
<translation type="vanished">Реєстрація</translation>
</message>
<message>
<source>Password must match the 1st field and the password cannot be empty</source>
<translation type="vanished">Пароль повинен відповідати 1-му полю, і пароль не може бути порожнім</translation>
</message>
</context>
<context>
<name>LoginView::LVMainModel</name>
<message>
<source>must be longer than 8 characters</source>
<translation type="vanished">має містити більше 8 символів</translation>
</message>
<message>
<source>must contain numbers</source>
<translation type="vanished">повинні містити цифри</translation>
</message>
<message>
<source>must contain small chars</source>
<translation type="vanished">повинен містити невеликі символи</translation>
</message>
<message>
<source>must contain large chars</source>
<translation type="vanished">повинен містити великі символи</translation>
</message>
<message>
<source>must contain extra chars (!@#$%^&amp;*)</source>
<translation type="vanished">повинен містити додаткові символи (! @ # $% ^ &amp; *)</translation>
</message>
<message>
<source>Password requirements: </source>
<translation type="vanished">Вимоги до пароля:</translation>
</message>
</context>
<context>
<name>MainMenu</name>
<message>
<source>Hanoi Towers</source>
<translation type="vanished">Ханої вежі</translation>
</message>
<message>
<source>continue</source>
<translation>Продовжувати</translation>
@ -550,17 +262,6 @@
<source>Save and exit</source>
<translation>Зберегти та вийти</translation>
</message>
<message>
<source>exit</source>
<translation type="vanished">Вихід</translation>
</message>
</context>
<context>
<name>NotificationForm</name>
<message>
<source>Message</source>
<translation type="vanished">Повідомлення</translation>
</message>
</context>
<context>
<name>Premium</name>
@ -603,13 +304,6 @@
<translation>Почати</translation>
</message>
</context>
<context>
<name>ToolBar</name>
<message>
<source>Return to main menu</source>
<translation type="obsolete">Головне меню</translation>
</message>
</context>
<context>
<name>ToolBarPage</name>
<message>
@ -663,10 +357,6 @@
<source>Remove</source>
<translation>Видалити</translation>
</message>
<message>
<source>Remove This Profile</source>
<translation type="vanished">Видалити цей профіль</translation>
</message>
<message>
<source>Restore</source>
<translation>Відновлювати</translation>
@ -675,14 +365,6 @@
<source>Accept</source>
<translation>Прийміть</translation>
</message>
<message>
<source>User is updated</source>
<translation type="vanished">Користувач оновлений</translation>
</message>
<message>
<source>User data will be changed.</source>
<translation type="vanished">Дані користувача буде змінено.</translation>
</message>
<message>
<source>Remove %0 user</source>
<translation>Видалити користувача %0</translation>
@ -694,10 +376,6 @@
</context>
<context>
<name>UsersTable</name>
<message>
<source>Return to main menu</source>
<translation type="obsolete">Головне меню</translation>
</message>
<message>
<source>Locale users list</source>
<translation>Локальний список користувачів</translation>
@ -706,98 +384,16 @@
<source>Add user</source>
<translation>Додати користувача</translation>
</message>
<message>
<source>Create the new user</source>
<translation type="vanished">Створіть нового користувача</translation>
</message>
<message>
<source>Best users in the world</source>
<translation>Найкращі гравці світу</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source>about</source>
<translation type="vanished">Про автора</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.</source>
<translation type="vanished">Продукт компанії QuasarApp
* Розробники:
* Програміст: Янкович Н. Андрій.
* Ця гра поширюється під ліцензією LGPLv3.
* Контакт: https://github.com/EndrII
* Авторське право (C) 2018-2019 Янкович Н. Андрій.</translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018 Yankovich N. Andrei.</source>
<translation type="vanished">Продукт компанії QuasarApp
* Розробники:
* Програміст: Янкович Н. Андрій.
* Ця гра поширюється під ліцензією LGPLv3.
* Контакт: https://github.com/EndrII
* Авторське право (C) 2018 Янкович Н. Андрій.</translation>
</message>
</context>
<context>
<name>game</name>
<message>
<source>lvl </source>
<translation type="vanished">рівень </translation>
</message>
<message>
<source>step </source>
<translation type="vanished">крок </translation>
</message>
<message>
<source>Tower height:</source>
<translation type="vanished">Висота башти:</translation>
</message>
<message>
<source>Return to main menu</source>
<translation type="vanished">Головне меню</translation>
</message>
<message>
<source>You have passed the level in %0 steps and unlocked level %1
Minimum steps for this lvl: %2</source>
<translation type="vanished">Ви пройшли рівень в кроках %0 і розблокували рівень %1
Мінімальні кроки для цього рівня: %2</translation>
</message>
<message>
<source>You have passed the level in %0 steps.
Minimum steps for this lvl: %1</source>
<translation type="vanished">Ви пройшли рівень у %0 кроках.
Мінімальні кроки для цього рівня: %1</translation>
</message>
</context>
<context>
<name>main</name>
<message>
<source>Hanoi Towers</source>
<translation>Ханої вежі</translation>
</message>
<message>
<source>Thanks for your support!</source>
<translation type="obsolete">Дякую за твою підтримку!</translation>
</message>
<message>
<source>You are now our premium user and we won&apos;t dare bother you with ads anymore.</source>
<translation type="obsolete">Тепер ви наш преміум-користувач, і ми більше не будемо турбувати вас рекламою.</translation>
</message>
<message>
<source>Do not show again </source>
<translation type="obsolete">Не показувати знову</translation>
</message>
</context>
</TS>

View File

@ -3,36 +3,6 @@
<TS version="2.1" language="zh" sourcelanguage="en">
<context>
<name>About</name>
<message>
<source>about</source>
<translation type="vanished"></translation>
</message>
<message>
<source>About</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Credits</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Product of QuasarApp
* Developers:
* Programmer: Yankovich N. Andrei.
* Disigner: Chernenkov I. Oleg.
* This game is distributed under the LGPLv3 license.
* Contact: https://github.com/EndrII
* Copyright (C) 2018-2019 Yankovich N. Andrei.
* Copyright (C) 2019-2021 QuasarApp group.</source>
<translation type="vanished">QuasarApp
*
* Yankovich N. Andrei
* Chernenkov I. Oleg
* LGPLv3
* https://github.com/EndrII
* (C) 2018-2019 Yankovich N. Andrei
* (C) 2019-2021 QuasarApp group </translation>
</message>
<message>
<source>## QuasarApp Core team:</source>
<translation>## QuasarApp Core </translation>
@ -418,17 +388,5 @@
<source>Hanoi Towers</source>
<translation></translation>
</message>
<message>
<source>Thanks for your support!</source>
<translation type="obsolete"></translation>
</message>
<message>
<source>You are now our premium user and we won&apos;t dare bother you with ads anymore.</source>
<translation type="obsolete">广</translation>
</message>
<message>
<source>Do not show again </source>
<translation type="obsolete"> </translation>
</message>
</context>
</TS>

@ -1 +1 @@
Subproject commit 6b7fba3ba2ee01cf137392c54967defa5773135a
Subproject commit e412b58a28eae2278243f4cb9cdf9dd5d1697444