aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/sqlitestudiocli
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2015-11-25 16:48:41 -0500
committerLibravatarUnit 193 <unit193@ubuntu.com>2015-11-25 16:48:41 -0500
commit8e640722c62692818ab840d50b3758f89a41a54e (patch)
tree38197eb1688a5afc338081ea17e15f938976e422 /SQLiteStudio3/sqlitestudiocli
parent9618f0ebbf4b88045247c01ce8c8f58203508ebf (diff)
Imported Upstream version 3.0.7upstream/3.0.7
Diffstat (limited to 'SQLiteStudio3/sqlitestudiocli')
-rw-r--r--SQLiteStudio3/sqlitestudiocli/cli.cpp29
-rw-r--r--SQLiteStudio3/sqlitestudiocli/cli.h10
-rw-r--r--SQLiteStudio3/sqlitestudiocli/clicommandexecutor.cpp4
-rw-r--r--SQLiteStudio3/sqlitestudiocli/commands/clicommanddesc.cpp94
-rw-r--r--SQLiteStudio3/sqlitestudiocli/commands/clicommanddesc.h8
-rw-r--r--SQLiteStudio3/sqlitestudiocli/commands/clicommanduse.cpp2
-rw-r--r--SQLiteStudio3/sqlitestudiocli/main.cpp5
-rw-r--r--SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.pro4
-rw-r--r--SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_de.ts68
-rw-r--r--SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_es.ts68
-rw-r--r--SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_fr.ts70
-rw-r--r--SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_it.ts788
-rw-r--r--SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pl.ts44
-rw-r--r--SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pt_BR.ts68
-rw-r--r--SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_ru.ts72
-rw-r--r--SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_sk.ts68
-rw-r--r--SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_zh_CN.ts100
17 files changed, 1422 insertions, 80 deletions
diff --git a/SQLiteStudio3/sqlitestudiocli/cli.cpp b/SQLiteStudio3/sqlitestudiocli/cli.cpp
index 0f527ac..87c4f93 100644
--- a/SQLiteStudio3/sqlitestudiocli/cli.cpp
+++ b/SQLiteStudio3/sqlitestudiocli/cli.cpp
@@ -9,12 +9,14 @@
#include "common/utils_sql.h"
#include "climsghandler.h"
#include "clicompleter.h"
+#include "services/notifymanager.h"
#include <QCoreApplication>
#include <QThread>
#include <QFile>
#include <QSet>
#include <QStringList>
#include <QLibrary>
+#include <QString>
#if defined(Q_OS_WIN32)
#include "readline.h"
@@ -36,6 +38,9 @@ CLI::CLI(QObject* parent) :
history_base = 0; // for some reason this was set to 1 under Unix, making 1st history entry to be always ommited
#endif
+ connect(NOTIFY_MANAGER, SIGNAL(notifyInfo(QString)), this, SLOT(printInfo(QString)));
+ connect(NOTIFY_MANAGER, SIGNAL(notifyWarning(QString)), this, SLOT(printWarn(QString)));
+ connect(NOTIFY_MANAGER, SIGNAL(notifyError(QString)), this, SLOT(printError(QString)));
loadHistory();
CliCompleter::getInstance()->init(this);
@@ -43,6 +48,7 @@ CLI::CLI(QObject* parent) :
CLI::~CLI()
{
+ safe_delete(thread);
}
CLI* CLI::getInstance()
@@ -53,6 +59,11 @@ CLI* CLI::getInstance()
return instance;
}
+void CLI::dispose()
+{
+ safe_delete(instance);
+}
+
void CLI::start()
{
thread = new QThread(this);
@@ -153,6 +164,24 @@ int CLI::historyLength() const
#endif
}
+void CLI::printWarn(const QString &msg)
+{
+ static_qstring(tpl, "[WARNING] %1");
+ qOut << tpl.arg(msg) << "\n";
+}
+
+void CLI::printError(const QString &msg)
+{
+ static_qstring(tpl, "[ERROR] %1");
+ qOut << tpl.arg(msg) << "\n";
+}
+
+void CLI::printInfo(const QString &msg)
+{
+ static_qstring(tpl, "[INFO] %1");
+ qOut << tpl.arg(msg) << "\n";
+}
+
void CLI::waitForExecution()
{
executionFinished = false;
diff --git a/SQLiteStudio3/sqlitestudiocli/cli.h b/SQLiteStudio3/sqlitestudiocli/cli.h
index 6f7c927..12f391b 100644
--- a/SQLiteStudio3/sqlitestudiocli/cli.h
+++ b/SQLiteStudio3/sqlitestudiocli/cli.h
@@ -20,6 +20,7 @@ class CLI : public QObject
~CLI();
static CLI* getInstance();
+ static void dispose();
void start();
void setCurrentDb(Db* db);
@@ -48,8 +49,10 @@ class CLI : public QObject
bool doExit = false;
QString line;
- signals:
- void execCommand(CliCommand* cmd);
+ private slots:
+ void printInfo(const QString& msg);
+ void printWarn(const QString& msg);
+ void printError(const QString& msg);
public slots:
void doWork();
@@ -57,6 +60,9 @@ class CLI : public QObject
void executionComplete();
void clearHistory();
void openDbFile(const QString& path);
+
+ signals:
+ void execCommand(CliCommand* cmd);
};
#endif // CLI_H
diff --git a/SQLiteStudio3/sqlitestudiocli/clicommandexecutor.cpp b/SQLiteStudio3/sqlitestudiocli/clicommandexecutor.cpp
index 6a3072e..66707cc 100644
--- a/SQLiteStudio3/sqlitestudiocli/clicommandexecutor.cpp
+++ b/SQLiteStudio3/sqlitestudiocli/clicommandexecutor.cpp
@@ -8,7 +8,9 @@ CliCommandExecutor::CliCommandExecutor(QObject *parent) :
void CliCommandExecutor::execCommand(CliCommand* cmd)
{
- connect(cmd, SIGNAL(execComplete()), this, SLOT(asyncExecutionComplete()));
+ if (cmd->isAsyncExecution())
+ connect(cmd, SIGNAL(execComplete()), this, SLOT(asyncExecutionComplete()));
+
cmd->execute();
if (!cmd->isAsyncExecution())
{
diff --git a/SQLiteStudio3/sqlitestudiocli/commands/clicommanddesc.cpp b/SQLiteStudio3/sqlitestudiocli/commands/clicommanddesc.cpp
index 4865e23..f32b75e 100644
--- a/SQLiteStudio3/sqlitestudiocli/commands/clicommanddesc.cpp
+++ b/SQLiteStudio3/sqlitestudiocli/commands/clicommanddesc.cpp
@@ -1,4 +1,8 @@
#include "clicommanddesc.h"
+#include "cli.h"
+#include "schemaresolver.h"
+#include "parser/ast/sqlitecreatevirtualtable.h"
+#include "cliutils.h"
CliCommandDesc::CliCommandDesc()
{
@@ -6,7 +10,41 @@ CliCommandDesc::CliCommandDesc()
void CliCommandDesc::execute()
{
+ if (!cli->getCurrentDb())
+ {
+ println(tr("No working database is set.\n"
+ "Call %1 command to set working database.\n"
+ "Call %2 to see list of all databases.")
+ .arg(cmdName("use")).arg(cmdName("dblist")));
+ return;
+ }
+
+ Db* db = cli->getCurrentDb();
+ if (!db || !db->isOpen())
+ {
+ println(tr("Database is not open."));
+ return;
+ }
+
+ QString table = syntax.getArgument(TABLE);
+ SchemaResolver resolver(db);
+ SqliteQueryPtr query = resolver.getParsedObject(table, SchemaResolver::TABLE);
+ if (!query || (!query.dynamicCast<SqliteCreateTable>() && !query.dynamicCast<SqliteCreateVirtualTable>()))
+ {
+ println(tr("Cannot find table named: %1").arg(table));
+ return;
+ }
+
+ SqliteCreateTablePtr createTable = query.dynamicCast<SqliteCreateTable>();
+ if (createTable)
+ {
+ printTable(createTable.data());
+ return;
+ }
+
+ SqliteCreateVirtualTablePtr virtualTable = query.dynamicCast<SqliteCreateVirtualTable>();
+ printVirtualTable(virtualTable.data());
}
QString CliCommandDesc::shortHelp() const
@@ -24,3 +62,59 @@ void CliCommandDesc::defineSyntax()
syntax.setName("desc");
syntax.addArgument(TABLE, tr("table"));
}
+
+void CliCommandDesc::printTable(SqliteCreateTable *table)
+{
+ int termCols = getCliColumns();
+ println(pad("", termCols, '-'));
+ println(tr("Table: %1").arg(table->table));
+
+ // Header
+ QString msg;
+ msg = pad(tr("Column name"), 20, ' ');
+ msg += "|";
+ msg += pad(tr("Data type"), 10, ' ');
+ msg += "|";
+ int lgt3rd = termCols - msg.length();
+ printHorizontalLine(lgt3rd);
+ msg += pad(tr("Constraints"), lgt3rd, ' ');
+ println(msg);
+ printHorizontalLine(lgt3rd);
+
+ // Rows
+ QString constrJoinStr = "\n" + pad("", 20, ' ') + "|" + pad("", 10, ' ') + "|";
+ QStringList constrList;
+ for (SqliteCreateTable::Column* column : table->columns)
+ {
+ msg = pad(column->name.left(20), 20, ' ');
+ msg += "|";
+ msg += pad((column->type ? column->type->detokenize().left(10) : ""), 10, ' ');
+ msg += "|";
+
+ constrList.clear();
+ for (SqliteCreateTable::Column::Constraint* constr : column->constraints)
+ constrList << pad(constr->detokenize().left(lgt3rd), lgt3rd, ' ');
+
+ msg += constrList.join(constrJoinStr);
+ println(msg);
+ }
+}
+
+void CliCommandDesc::printVirtualTable(SqliteCreateVirtualTable *table)
+{
+ println(tr("Virtual table: %1").arg(table->table));
+ if (table->args.size() > 0)
+ {
+ int i = 1;
+ println(tr("Construction arguments:"));
+ for (const QString& arg : table->args)
+ println(pad(QString::number(i++), 2, ' ') + ". " + arg);
+ }
+ else
+ println(tr("No construction arguments were passed for this virtual table."));
+}
+
+void CliCommandDesc::printHorizontalLine(int lgt3rd)
+{
+ println(pad("", 20, '-') + "+" + pad("", 10, '-') + "+" + pad("", lgt3rd, '-'));
+}
diff --git a/SQLiteStudio3/sqlitestudiocli/commands/clicommanddesc.h b/SQLiteStudio3/sqlitestudiocli/commands/clicommanddesc.h
index 46876df..3c06c6a 100644
--- a/SQLiteStudio3/sqlitestudiocli/commands/clicommanddesc.h
+++ b/SQLiteStudio3/sqlitestudiocli/commands/clicommanddesc.h
@@ -3,6 +3,9 @@
#include "clicommand.h"
+class SqliteCreateTable;
+class SqliteCreateVirtualTable;
+
class CliCommandDesc : public CliCommand
{
Q_OBJECT
@@ -13,6 +16,11 @@ class CliCommandDesc : public CliCommand
QString shortHelp() const;
QString fullHelp() const;
void defineSyntax();
+
+ private:
+ void printTable(SqliteCreateTable* table);
+ void printVirtualTable(SqliteCreateVirtualTable* table);
+ void printHorizontalLine(int lgt3rd);
};
#endif // CLICOMMANDDESC_H
diff --git a/SQLiteStudio3/sqlitestudiocli/commands/clicommanduse.cpp b/SQLiteStudio3/sqlitestudiocli/commands/clicommanduse.cpp
index ef0f641..9706221 100644
--- a/SQLiteStudio3/sqlitestudiocli/commands/clicommanduse.cpp
+++ b/SQLiteStudio3/sqlitestudiocli/commands/clicommanduse.cpp
@@ -6,7 +6,7 @@
void CliCommandUse::execute()
{
- if (syntax.isArgumentSet(DB_NAME))
+ if (!syntax.isArgumentSet(DB_NAME))
{
if (!cli->getCurrentDb())
{
diff --git a/SQLiteStudio3/sqlitestudiocli/main.cpp b/SQLiteStudio3/sqlitestudiocli/main.cpp
index 4bec619..eb7a46e 100644
--- a/SQLiteStudio3/sqlitestudiocli/main.cpp
+++ b/SQLiteStudio3/sqlitestudiocli/main.cpp
@@ -90,6 +90,7 @@ int main(int argc, char *argv[])
CLI::getInstance()->openDbFile(dbToOpen);
CLI::getInstance()->start();
-
- return a.exec();
+ int res = a.exec();
+ CLI::dispose();
+ return res;
}
diff --git a/SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.pro b/SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.pro
index 4e3bae0..705a00c 100644
--- a/SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.pro
+++ b/SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.pro
@@ -27,7 +27,8 @@ linux {
}
}
-TRANSLATIONS += translations/sqlitestudiocli_zh_CN.ts \
+TRANSLATIONS += translations/sqlitestudiocli_it.ts \
+ translations/sqlitestudiocli_zh_CN.ts \
translations/sqlitestudiocli_sk.ts \
translations/sqlitestudiocli_de.ts \
translations/sqlitestudiocli_ru.ts \
@@ -124,3 +125,4 @@ RESOURCES += \
+
diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_de.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_de.ts
index 9dee56c..f544581 100644
--- a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_de.ts
+++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_de.ts
@@ -4,32 +4,32 @@
<context>
<name>CLI</name>
<message>
- <location filename="../cli.cpp" line="87"/>
+ <location filename="../cli.cpp" line="98"/>
<source>Current database: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="89"/>
+ <location filename="../cli.cpp" line="100"/>
<source>No current working database is set.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="91"/>
+ <location filename="../cli.cpp" line="102"/>
<source>Type %1 for help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="228"/>
+ <location filename="../cli.cpp" line="257"/>
<source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="235"/>
+ <location filename="../cli.cpp" line="264"/>
<source>Could not add database %1 to list.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="261"/>
+ <location filename="../cli.cpp" line="290"/>
<source>closed</source>
<translation type="unfinished"></translation>
</message>
@@ -201,15 +201,67 @@
<context>
<name>CliCommandDesc</name>
<message>
- <location filename="../commands/clicommanddesc.cpp" line="14"/>
+ <location filename="../commands/clicommanddesc.cpp" line="15"/>
+ <source>No working database is set.
+Call %1 command to set working database.
+Call %2 to see list of all databases.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="26"/>
+ <source>Database is not open.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="35"/>
+ <source>Cannot find table named: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="52"/>
<source>shows details about the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../commands/clicommanddesc.cpp" line="25"/>
+ <location filename="../commands/clicommanddesc.cpp" line="63"/>
<source>table</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="70"/>
+ <source>Table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="74"/>
+ <source>Column name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="76"/>
+ <source>Data type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="80"/>
+ <source>Constraints</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="105"/>
+ <source>Virtual table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="109"/>
+ <source>Construction arguments:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="114"/>
+ <source>No construction arguments were passed for this virtual table.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>CliCommandDir</name>
diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_es.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_es.ts
index d446494..7d3b5c5 100644
--- a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_es.ts
+++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_es.ts
@@ -4,32 +4,32 @@
<context>
<name>CLI</name>
<message>
- <location filename="../cli.cpp" line="87"/>
+ <location filename="../cli.cpp" line="98"/>
<source>Current database: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="89"/>
+ <location filename="../cli.cpp" line="100"/>
<source>No current working database is set.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="91"/>
+ <location filename="../cli.cpp" line="102"/>
<source>Type %1 for help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="228"/>
+ <location filename="../cli.cpp" line="257"/>
<source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="235"/>
+ <location filename="../cli.cpp" line="264"/>
<source>Could not add database %1 to list.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="261"/>
+ <location filename="../cli.cpp" line="290"/>
<source>closed</source>
<translation type="unfinished"></translation>
</message>
@@ -201,15 +201,67 @@
<context>
<name>CliCommandDesc</name>
<message>
- <location filename="../commands/clicommanddesc.cpp" line="14"/>
+ <location filename="../commands/clicommanddesc.cpp" line="15"/>
+ <source>No working database is set.
+Call %1 command to set working database.
+Call %2 to see list of all databases.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="26"/>
+ <source>Database is not open.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="35"/>
+ <source>Cannot find table named: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="52"/>
<source>shows details about the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../commands/clicommanddesc.cpp" line="25"/>
+ <location filename="../commands/clicommanddesc.cpp" line="63"/>
<source>table</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="70"/>
+ <source>Table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="74"/>
+ <source>Column name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="76"/>
+ <source>Data type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="80"/>
+ <source>Constraints</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="105"/>
+ <source>Virtual table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="109"/>
+ <source>Construction arguments:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="114"/>
+ <source>No construction arguments were passed for this virtual table.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>CliCommandDir</name>
diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_fr.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_fr.ts
index 5096d8c..cdcfb5b 100644
--- a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_fr.ts
+++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_fr.ts
@@ -4,32 +4,32 @@
<context>
<name>CLI</name>
<message>
- <location filename="../cli.cpp" line="87"/>
+ <location filename="../cli.cpp" line="98"/>
<source>Current database: %1</source>
<translation>Base de données actuelle: %1</translation>
</message>
<message>
- <location filename="../cli.cpp" line="89"/>
+ <location filename="../cli.cpp" line="100"/>
<source>No current working database is set.</source>
<translation>Aucune base de données en cours n&apos;est activée.</translation>
</message>
<message>
- <location filename="../cli.cpp" line="91"/>
+ <location filename="../cli.cpp" line="102"/>
<source>Type %1 for help</source>
<translation>Touche %1 pour l&apos;aide</translation>
</message>
<message>
- <location filename="../cli.cpp" line="228"/>
+ <location filename="../cli.cpp" line="257"/>
<source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="235"/>
+ <location filename="../cli.cpp" line="264"/>
<source>Could not add database %1 to list.</source>
<translation>Impossible d&apos;ajouter la base de données %1 à la liste.</translation>
</message>
<message>
- <location filename="../cli.cpp" line="261"/>
+ <location filename="../cli.cpp" line="290"/>
<source>closed</source>
<translation>Fermé</translation>
</message>
@@ -201,15 +201,69 @@
<context>
<name>CliCommandDesc</name>
<message>
- <location filename="../commands/clicommanddesc.cpp" line="14"/>
+ <location filename="../commands/clicommanddesc.cpp" line="15"/>
+ <source>No working database is set.
+Call %1 command to set working database.
+Call %2 to see list of all databases.</source>
+ <translation type="unfinished">Aucune base de données de travail n&apos;est activée.
+Appelez la commande %1 pour activer la base de données active.
+Appelez %2 pour voir la liste de toutes les bases de données.</translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="26"/>
+ <source>Database is not open.</source>
+ <translation type="unfinished">La base de données n&apos;est pas ouverte.</translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="35"/>
+ <source>Cannot find table named: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="52"/>
<source>shows details about the table</source>
<translation>Affichage des détails de la table</translation>
</message>
<message>
- <location filename="../commands/clicommanddesc.cpp" line="25"/>
+ <location filename="../commands/clicommanddesc.cpp" line="63"/>
<source>table</source>
<translation>Table</translation>
</message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="70"/>
+ <source>Table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="74"/>
+ <source>Column name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="76"/>
+ <source>Data type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="80"/>
+ <source>Constraints</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="105"/>
+ <source>Virtual table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="109"/>
+ <source>Construction arguments:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="114"/>
+ <source>No construction arguments were passed for this virtual table.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>CliCommandDir</name>
diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_it.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_it.ts
new file mode 100644
index 0000000..959e194
--- /dev/null
+++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_it.ts
@@ -0,0 +1,788 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="it_IT">
+<context>
+ <name>CLI</name>
+ <message>
+ <location filename="../cli.cpp" line="98"/>
+ <source>Current database: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../cli.cpp" line="100"/>
+ <source>No current working database is set.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../cli.cpp" line="102"/>
+ <source>Type %1 for help</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../cli.cpp" line="257"/>
+ <source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../cli.cpp" line="264"/>
+ <source>Could not add database %1 to list.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../cli.cpp" line="290"/>
+ <source>closed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommand</name>
+ <message>
+ <location filename="../commands/clicommand.cpp" line="107"/>
+ <source>Usage: %1%2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandAdd</name>
+ <message>
+ <location filename="../commands/clicommandadd.cpp" line="9"/>
+ <source>Could not add database %1 to list.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandadd.cpp" line="14"/>
+ <source>Database added: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandadd.cpp" line="19"/>
+ <source>adds new database to the list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandadd.cpp" line="24"/>
+ <source>Adds given database pointed by &lt;path&gt; with given &lt;name&gt; to list the databases list. The &lt;name&gt; is just a symbolic name that you can later refer to. Just pick any unique name. For list of databases already on the list use %1 command.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandadd.cpp" line="34"/>
+ <source>name</source>
+ <comment>CLI command syntax</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandadd.cpp" line="35"/>
+ <source>path</source>
+ <comment>CLI command syntax</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandCd</name>
+ <message>
+ <location filename="../commands/clicommandcd.cpp" line="10"/>
+ <source>Changed directory to: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandcd.cpp" line="12"/>
+ <source>Could not change directory to: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandcd.cpp" line="17"/>
+ <source>changes current working directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandcd.cpp" line="22"/>
+ <source>Very similar command to &apos;cd&apos; known from Unix systems and Windows. It requires a &lt;path&gt; argument to be passed, therefore calling %1 will always cause a change of the directory. To learn what&apos;s the current working directory use %2 command and to list contents of the current working directory use %3 command.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandcd.cpp" line="33"/>
+ <source>path</source>
+ <comment>CLI command syntax</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandClose</name>
+ <message>
+ <location filename="../commands/clicommandclose.cpp" line="10"/>
+ <source>Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandclose.cpp" line="21"/>
+ <location filename="../commands/clicommandclose.cpp" line="29"/>
+ <source>Connection to database %1 closed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandclose.cpp" line="24"/>
+ <source>No such database: %1. Use %2 to see list of known databases.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandclose.cpp" line="35"/>
+ <source>closes given (or current) database</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandclose.cpp" line="40"/>
+ <source>Closes database connection. If the database was already closed, nothing happens. If &lt;name&gt; is provided, it should be name of the database to close (as printed by %1 command). The the &lt;name&gt; is not provided, then current working database is closed (see help for %2 for details).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandclose.cpp" line="50"/>
+ <source>name</source>
+ <comment>CLI command syntax</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandDbList</name>
+ <message>
+ <location filename="../commands/clicommanddblist.cpp" line="12"/>
+ <source>No current working database defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddblist.cpp" line="18"/>
+ <source>Databases:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddblist.cpp" line="23"/>
+ <location filename="../commands/clicommanddblist.cpp" line="34"/>
+ <source>Name</source>
+ <comment>CLI db name column</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddblist.cpp" line="31"/>
+ <location filename="../commands/clicommanddblist.cpp" line="61"/>
+ <source>Open</source>
+ <comment>CLI connection state column</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddblist.cpp" line="31"/>
+ <location filename="../commands/clicommanddblist.cpp" line="61"/>
+ <source>Closed</source>
+ <comment>CLI connection state column</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddblist.cpp" line="32"/>
+ <location filename="../commands/clicommanddblist.cpp" line="36"/>
+ <source>Connection</source>
+ <comment>CLI connection state column</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddblist.cpp" line="38"/>
+ <location filename="../commands/clicommanddblist.cpp" line="45"/>
+ <source>Database file path</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddblist.cpp" line="70"/>
+ <source>prints list of registered databases</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddblist.cpp" line="75"/>
+ <source>Prints list of databases registered in the SQLiteStudio. Each database on the list can be in open or closed state and %1 tells you that. The current working database (aka default database) is also marked on the list with &apos;*&apos; at the start of its name. See help for %2 command to learn about the default database.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandDesc</name>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="15"/>
+ <source>No working database is set.
+Call %1 command to set working database.
+Call %2 to see list of all databases.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="26"/>
+ <source>Database is not open.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="35"/>
+ <source>Cannot find table named: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="52"/>
+ <source>shows details about the table</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="63"/>
+ <source>table</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="70"/>
+ <source>Table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="74"/>
+ <source>Column name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="76"/>
+ <source>Data type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="80"/>
+ <source>Constraints</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="105"/>
+ <source>Virtual table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="109"/>
+ <source>Construction arguments:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="114"/>
+ <source>No construction arguments were passed for this virtual table.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandDir</name>
+ <message>
+ <location filename="../commands/clicommanddir.cpp" line="33"/>
+ <source>lists directories and files in current working directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddir.cpp" line="38"/>
+ <source>This is very similar to &apos;dir&apos; command known from Windows and &apos;ls&apos; command from Unix systems.
+
+You can pass &lt;pattern&gt; with wildcard characters to filter output.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddir.cpp" line="49"/>
+ <source>pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandExit</name>
+ <message>
+ <location filename="../commands/clicommandexit.cpp" line="12"/>
+ <source>quits the application</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandexit.cpp" line="17"/>
+ <source>Quits the application. Settings are stored in configuration file and will be restored on next startup.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandHelp</name>
+ <message>
+ <location filename="../commands/clicommandhelp.cpp" line="16"/>
+ <source>shows this help message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandhelp.cpp" line="21"/>
+ <source>Use %1 to learn about certain commands supported by the command line interface (CLI) of the SQLiteStudio.
+To see list of supported commands, type %2 without any arguments.
+
+When passing &lt;command&gt; name, you can skip special prefix character (&apos;%3&apos;).
+
+You can always execute any command with exactly single &apos;--help&apos; option to see help for that command. It&apos;s an alternative for typing: %1 &lt;command&gt;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandhelp.cpp" line="33"/>
+ <source>command</source>
+ <comment>CLI command syntax</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandhelp.cpp" line="42"/>
+ <source>No such command: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandhelp.cpp" line="43"/>
+ <source>Type &apos;%1&apos; for list of available commands.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandhelp.cpp" line="52"/>
+ <source>Usage: %1%2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandhelp.cpp" line="62"/>
+ <source>Aliases: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandHistory</name>
+ <message>
+ <location filename="../commands/clicommandhistory.cpp" line="23"/>
+ <source>Current history limit is set to: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandhistory.cpp" line="39"/>
+ <source>prints history or erases it</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandhistory.cpp" line="44"/>
+ <source>When no argument was passed, this command prints command line history. Every history entry is separated with a horizontal line, so multiline entries are easier to read.
+
+When the -c or --clear option is passed, then the history gets erased.
+When the -l or --limit option is passed, it sets the new history entries limit. It requires an additional argument saying how many entries do you want the history to be limited to.
+Use -ql or --querylimit option to see the current limit value.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandhistory.cpp" line="59"/>
+ <source>number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandhistory.cpp" line="66"/>
+ <source>Console history erased.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandhistory.cpp" line="75"/>
+ <source>Invalid number: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandhistory.cpp" line="80"/>
+ <source>History limit set to %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandMode</name>
+ <message>
+ <location filename="../commands/clicommandmode.cpp" line="9"/>
+ <source>Current results printing mode: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandmode.cpp" line="16"/>
+ <source>Invalid results printing mode: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandmode.cpp" line="21"/>
+ <source>New results printing mode: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandmode.cpp" line="26"/>
+ <source>tells or changes the query results format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandmode.cpp" line="31"/>
+ <source>When called without argument, tells the current output format for a query results. When the &lt;mode&gt; is passed, the mode is changed to the given one. Supported modes are:
+- CLASSIC - columns are separated by a comma, not aligned,
+- FIXED - columns have equal and fixed width, they always fit into terminal window width, but the data in columns can be cut off,
+- COLUMNS - like FIXED, but smarter (do not use with huge result sets, see details below),
+- ROW - each column from the row is displayed in new line, so the full data is displayed.
+
+The CLASSIC mode is recommended if you want to see all the data, but you don&apos;t want to waste lines for each column. Each row will display full data for every column, but this also means, that columns will not be aligned to each other in next rows. The CLASSIC mode also doesn&apos;t respect the width of your terminal (console) window, so if values in columns are wider than the window, the row will be continued in next lines.
+
+The FIXED mode is recommended if you want a readable output and you don&apos;t care about long data values. Columns will be aligned, making the output a nice table. The width of columns is calculated from width of the console window and a number of columns.
+
+The COLUMNS mode is similar to FIXED mode, except it tries to be smart and make columns with shorter values more thin, while columns with longer values get more space. First to shrink are columns with longest headers (so the header names are to be cut off as first), then columns with the longest values are shrinked, up to the moment when all columns fit into terminal window.
+ATTENTION! The COLUMNS mode reads all the results from the query at once in order to evaluate column widhts, therefore it is dangerous to use this mode when working with huge result sets. Keep in mind that this mode will load entire result set into memory.
+
+The ROW mode is recommended if you need to see whole values and you don&apos;t expect many rows to be displayed, because this mode displays a line of output per each column, so you&apos;ll get 10 lines for single row with 10 columns, then if you have 10 of such rows, you will get 100 lines of output (+1 extra line per each row, to separate rows from each other).</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandNullValue</name>
+ <message>
+ <location filename="../commands/clicommandnullvalue.cpp" line="9"/>
+ <source>Current NULL representation string: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandnullvalue.cpp" line="15"/>
+ <source>tells or changes the NULL representation string</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandnullvalue.cpp" line="20"/>
+ <source>If no argument was passed, it tells what&apos;s the current NULL value representation (that is - what is printed in place of NULL values in query results). If the argument is given, then it&apos;s used as a new string to be used for NULL representation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandOpen</name>
+ <message>
+ <location filename="../commands/clicommandopen.cpp" line="12"/>
+ <source>Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandopen.cpp" line="29"/>
+ <source>Could not add database %1 to list.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandopen.cpp" line="37"/>
+ <source>File %1 doesn&apos;t exist in %2. Cannot open inexisting database with %3 command. To create a new database, use %4 command.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandopen.cpp" line="61"/>
+ <source>Database %1 has been open and set as the current working database.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandopen.cpp" line="66"/>
+ <source>opens database connection</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandopen.cpp" line="71"/>
+ <source>Opens connection to the database. If no additional argument was passed, then the connection is open to the current default database (see help for %1 for details). However if an argument was passed, it can be either &lt;name&gt; of the registered database to open, or it can be &lt;path&gt; to the database file to open. In the second case, the &lt;path&gt; gets registered on the list with a generated name, but only for the period of current application session. After restarting application such database is not restored on the list.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandopen.cpp" line="83"/>
+ <source>name</source>
+ <comment>CLI command syntax</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandopen.cpp" line="83"/>
+ <source>path</source>
+ <comment>CLI command syntax</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandPwd</name>
+ <message>
+ <location filename="../commands/clicommandpwd.cpp" line="13"/>
+ <source>prints the current working directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandpwd.cpp" line="18"/>
+ <source>This is the same as &apos;pwd&apos; command on Unix systems and &apos;cd&apos; command without arguments on Windows. It prints current working directory. You can change the current working directory with %1 command and you can also list contents of the current working directory with %2 command.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandRemove</name>
+ <message>
+ <location filename="../commands/clicommandremove.cpp" line="12"/>
+ <source>No such database: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandremove.cpp" line="20"/>
+ <source>Database removed: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandremove.cpp" line="26"/>
+ <source>New current database set:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandremove.cpp" line="35"/>
+ <source>removes database from the list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandremove.cpp" line="40"/>
+ <source>Removes &lt;name&gt; database from the list of registered databases. If the database was not on the list (see %1 command), then error message is printed and nothing more happens.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandremove.cpp" line="50"/>
+ <source>name</source>
+ <comment>CLI command syntax</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandSql</name>
+ <message>
+ <location filename="../commands/clicommandsql.cpp" line="18"/>
+ <source>No working database is set.
+Call %1 command to set working database.
+Call %2 to see list of all databases.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandsql.cpp" line="29"/>
+ <source>Database is not open.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandsql.cpp" line="64"/>
+ <source>executes SQL query</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandsql.cpp" line="69"/>
+ <source>This command is executed every time you enter SQL query in command prompt. It executes the query on the current working database (see help for %1 for details). There&apos;s no sense in executing this command explicitly. Instead just type the SQL query in the command prompt, without any command prefixed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandsql.cpp" line="85"/>
+ <source>sql</source>
+ <comment>CLI command syntax</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandsql.cpp" line="136"/>
+ <location filename="../commands/clicommandsql.cpp" line="178"/>
+ <source>Too many columns to display in %1 mode.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandsql.cpp" line="256"/>
+ <source>Row %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandsql.cpp" line="406"/>
+ <source>Query execution error: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandTables</name>
+ <message>
+ <location filename="../commands/clicommandtables.cpp" line="15"/>
+ <source>No such database: %1. Use %2 to see list of known databases.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandtables.cpp" line="25"/>
+ <source>Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandtables.cpp" line="32"/>
+ <source>Database %1 is closed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandtables.cpp" line="45"/>
+ <location filename="../commands/clicommandtables.cpp" line="47"/>
+ <source>Database</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandtables.cpp" line="47"/>
+ <source>Table</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandtables.cpp" line="61"/>
+ <source>prints list of tables in the database</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandtables.cpp" line="66"/>
+ <source>Prints list of tables in given &lt;database&gt; or in the current working database. Note, that the &lt;database&gt; should be the name of the registered database (see %1). The output list includes all tables from any other databases attached to the queried database.
+When the -s option is given, then system tables are also listed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandtables.cpp" line="77"/>
+ <source>database</source>
+ <comment>CLI command syntax</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandTree</name>
+ <message>
+ <location filename="../commands/clicommandtree.cpp" line="12"/>
+ <source>No current working database is selected. Use %1 to define one and then run %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandtree.cpp" line="54"/>
+ <source>Tables</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandtree.cpp" line="58"/>
+ <source>Views</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandtree.cpp" line="83"/>
+ <source>Columns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandtree.cpp" line="88"/>
+ <source>Indexes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandtree.cpp" line="92"/>
+ <location filename="../commands/clicommandtree.cpp" line="113"/>
+ <source>Triggers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandtree.cpp" line="132"/>
+ <source>prints all objects in the database as a tree</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandtree.cpp" line="137"/>
+ <source>Prints all objects (tables, indexes, triggers and views) that are in the database as a tree. The tree is very similar to the one that you can see in GUI client of the SQLiteStudio.
+When -c option is given, then also columns will be listed under each table.
+When -s option is given, then also system objects will be printed (sqlite_* tables, autoincrement indexes, etc).
+The database argument is optional and if provided, then only given database will be printed. This is not a registered database name, but instead it&apos;s an internal SQLite database name, like &apos;main&apos;, &apos;temp&apos;, or any attached database name. To print tree for other registered database, call %1 first to switch the working database, and then use %2 command.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CliCommandUse</name>
+ <message>
+ <location filename="../commands/clicommanduse.cpp" line="13"/>
+ <source>No current database selected.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanduse.cpp" line="16"/>
+ <location filename="../commands/clicommanduse.cpp" line="30"/>
+ <source>Current database: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanduse.cpp" line="23"/>
+ <source>No such database: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanduse.cpp" line="35"/>
+ <source>changes default working database</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanduse.cpp" line="40"/>
+ <source>Changes current working database to &lt;name&gt;. If the &lt;name&gt; database is not registered in the application, then the error message is printed and no change is made.
+
+What is current working database?
+When you type a SQL query to be executed, it is executed on the default database, which is also known as the current working database. Most of database-related commands can also work using default database, if no database was provided in their arguments. The current database is always identified by command line prompt. The default database is always defined (unless there is no database on the list at all).
+
+The default database can be selected in various ways:
+- using %1 command,
+- by passing database file name to the application startup parameters,
+- by passing registered database name to the application startup parameters,
+- by restoring previously selected default database from saved configuration,
+- or when default database was not selected by any of the above, then first database from the registered databases list becomes the default one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanduse.cpp" line="63"/>
+ <source>name</source>
+ <comment>CLI command syntax</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../clicommandsyntax.cpp" line="155"/>
+ <source>Insufficient number of arguments.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../clicommandsyntax.cpp" line="325"/>
+ <source>Too many arguments.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../clicommandsyntax.cpp" line="347"/>
+ <source>Invalid argument value: %1.
+Expected one of: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../clicommandsyntax.cpp" line="383"/>
+ <source>Unknown option: %1</source>
+ <comment>CLI command syntax</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../clicommandsyntax.cpp" line="394"/>
+ <source>Option %1 requires an argument.</source>
+ <comment>CLI command syntax</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommandnullvalue.cpp" line="31"/>
+ <source>string</source>
+ <comment>CLI command syntax</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="22"/>
+ <source>Command line interface to SQLiteStudio, a SQLite manager.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="26"/>
+ <source>Enables debug messages on standard error output.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="27"/>
+ <source>Enables Lemon parser debug messages for SQL code assistant.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="28"/>
+ <source>Lists plugins installed in the SQLiteStudio and quits.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="33"/>
+ <source>file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="33"/>
+ <source>Database file to open</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pl.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pl.ts
index c7bdf0f..9a0f67b 100644
--- a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pl.ts
+++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pl.ts
@@ -169,6 +169,50 @@
<source>table</source>
<translation>tabela</translation>
</message>
+ <message>
+ <source>No working database is set.
+Call %1 command to set working database.
+Call %2 to see list of all databases.</source>
+ <translation type="unfinished">Nie wybrano domyślnej bazy danych.
+Użyj polecenia %1, aby ustawić domyślną bazę danych.
+Użyj polecenie %2, aby wypisać listę wszystkich baz.</translation>
+ </message>
+ <message>
+ <source>Database is not open.</source>
+ <translation type="unfinished">Baz danych nie jest otwarta.</translation>
+ </message>
+ <message>
+ <source>Cannot find table named: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Column name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Data type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Constraints</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Virtual table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Construction arguments:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No construction arguments were passed for this virtual table.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>CliCommandDir</name>
diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pt_BR.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pt_BR.ts
index 5b92d37..0d46151 100644
--- a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pt_BR.ts
+++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pt_BR.ts
@@ -4,32 +4,32 @@
<context>
<name>CLI</name>
<message>
- <location filename="../cli.cpp" line="87"/>
+ <location filename="../cli.cpp" line="98"/>
<source>Current database: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="89"/>
+ <location filename="../cli.cpp" line="100"/>
<source>No current working database is set.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="91"/>
+ <location filename="../cli.cpp" line="102"/>
<source>Type %1 for help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="228"/>
+ <location filename="../cli.cpp" line="257"/>
<source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="235"/>
+ <location filename="../cli.cpp" line="264"/>
<source>Could not add database %1 to list.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="261"/>
+ <location filename="../cli.cpp" line="290"/>
<source>closed</source>
<translation type="unfinished"></translation>
</message>
@@ -201,15 +201,67 @@
<context>
<name>CliCommandDesc</name>
<message>
- <location filename="../commands/clicommanddesc.cpp" line="14"/>
+ <location filename="../commands/clicommanddesc.cpp" line="15"/>
+ <source>No working database is set.
+Call %1 command to set working database.
+Call %2 to see list of all databases.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="26"/>
+ <source>Database is not open.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="35"/>
+ <source>Cannot find table named: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="52"/>
<source>shows details about the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../commands/clicommanddesc.cpp" line="25"/>
+ <location filename="../commands/clicommanddesc.cpp" line="63"/>
<source>table</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="70"/>
+ <source>Table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="74"/>
+ <source>Column name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="76"/>
+ <source>Data type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="80"/>
+ <source>Constraints</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="105"/>
+ <source>Virtual table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="109"/>
+ <source>Construction arguments:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="114"/>
+ <source>No construction arguments were passed for this virtual table.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>CliCommandDir</name>
diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_ru.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_ru.ts
index 0cbe067..ef35f51 100644
--- a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_ru.ts
+++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_ru.ts
@@ -1,35 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.1" language="ru_RU">
+<TS version="2.0" language="ru_RU">
<context>
<name>CLI</name>
<message>
- <location filename="../cli.cpp" line="87"/>
+ <location filename="../cli.cpp" line="98"/>
<source>Current database: %1</source>
<translation>Текущая база данных: %1</translation>
</message>
<message>
- <location filename="../cli.cpp" line="89"/>
+ <location filename="../cli.cpp" line="100"/>
<source>No current working database is set.</source>
<translation>Текущая рабочая база данных не определена.</translation>
</message>
<message>
- <location filename="../cli.cpp" line="91"/>
+ <location filename="../cli.cpp" line="102"/>
<source>Type %1 for help</source>
<translation>Введите %1 для вызова справки</translation>
</message>
<message>
- <location filename="../cli.cpp" line="228"/>
+ <location filename="../cli.cpp" line="257"/>
<source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
<translation>База данных, переданная через аргументы командной строки (%1), уже находится в списке под именем %2</translation>
</message>
<message>
- <location filename="../cli.cpp" line="235"/>
+ <location filename="../cli.cpp" line="264"/>
<source>Could not add database %1 to list.</source>
<translation>Невозможно добавить базу данных %1 в список.</translation>
</message>
<message>
- <location filename="../cli.cpp" line="261"/>
+ <location filename="../cli.cpp" line="290"/>
<source>closed</source>
<translation>закрыта</translation>
</message>
@@ -201,15 +201,69 @@
<context>
<name>CliCommandDesc</name>
<message>
- <location filename="../commands/clicommanddesc.cpp" line="14"/>
+ <location filename="../commands/clicommanddesc.cpp" line="15"/>
+ <source>No working database is set.
+Call %1 command to set working database.
+Call %2 to see list of all databases.</source>
+ <translation>Не указана рабочая база данных.
+Укажите рабочую базу данных командой %1.
+Для просмотра списка баз данных воспользуйтесь командой %2.</translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="26"/>
+ <source>Database is not open.</source>
+ <translation>База данных не открыта.</translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="35"/>
+ <source>Cannot find table named: %1</source>
+ <translation>Не удалось найти таблицу с именем %1</translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="52"/>
<source>shows details about the table</source>
<translation>отображает сведения о таблице</translation>
</message>
<message>
- <location filename="../commands/clicommanddesc.cpp" line="25"/>
+ <location filename="../commands/clicommanddesc.cpp" line="63"/>
<source>table</source>
<translation>таблица</translation>
</message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="70"/>
+ <source>Table: %1</source>
+ <translation>Таблица: %1</translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="74"/>
+ <source>Column name</source>
+ <translation>Имя столбца</translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="76"/>
+ <source>Data type</source>
+ <translation>Тип данных</translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="80"/>
+ <source>Constraints</source>
+ <translation>Ограничения</translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="105"/>
+ <source>Virtual table: %1</source>
+ <translation>Виртуальная таблица: %1</translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="109"/>
+ <source>Construction arguments:</source>
+ <translation>Параметры создания:</translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="114"/>
+ <source>No construction arguments were passed for this virtual table.</source>
+ <translation>Не указаны параметры создания для этой виртуальной таблицы.</translation>
+ </message>
</context>
<context>
<name>CliCommandDir</name>
diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_sk.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_sk.ts
index df9da22..e799908 100644
--- a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_sk.ts
+++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_sk.ts
@@ -4,32 +4,32 @@
<context>
<name>CLI</name>
<message>
- <location filename="../cli.cpp" line="87"/>
+ <location filename="../cli.cpp" line="98"/>
<source>Current database: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="89"/>
+ <location filename="../cli.cpp" line="100"/>
<source>No current working database is set.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="91"/>
+ <location filename="../cli.cpp" line="102"/>
<source>Type %1 for help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="228"/>
+ <location filename="../cli.cpp" line="257"/>
<source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="235"/>
+ <location filename="../cli.cpp" line="264"/>
<source>Could not add database %1 to list.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="261"/>
+ <location filename="../cli.cpp" line="290"/>
<source>closed</source>
<translation type="unfinished"></translation>
</message>
@@ -201,15 +201,67 @@
<context>
<name>CliCommandDesc</name>
<message>
- <location filename="../commands/clicommanddesc.cpp" line="14"/>
+ <location filename="../commands/clicommanddesc.cpp" line="15"/>
+ <source>No working database is set.
+Call %1 command to set working database.
+Call %2 to see list of all databases.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="26"/>
+ <source>Database is not open.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="35"/>
+ <source>Cannot find table named: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="52"/>
<source>shows details about the table</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../commands/clicommanddesc.cpp" line="25"/>
+ <location filename="../commands/clicommanddesc.cpp" line="63"/>
<source>table</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="70"/>
+ <source>Table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="74"/>
+ <source>Column name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="76"/>
+ <source>Data type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="80"/>
+ <source>Constraints</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="105"/>
+ <source>Virtual table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="109"/>
+ <source>Construction arguments:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="114"/>
+ <source>No construction arguments were passed for this virtual table.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>CliCommandDir</name>
diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_zh_CN.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_zh_CN.ts
index 4dd7f0a..71b2ea2 100644
--- a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_zh_CN.ts
+++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_zh_CN.ts
@@ -4,34 +4,34 @@
<context>
<name>CLI</name>
<message>
- <location filename="../cli.cpp" line="87"/>
+ <location filename="../cli.cpp" line="98"/>
<source>Current database: %1</source>
- <translation type="unfinished"></translation>
+ <translation>当前数据库:%1</translation>
</message>
<message>
- <location filename="../cli.cpp" line="89"/>
+ <location filename="../cli.cpp" line="100"/>
<source>No current working database is set.</source>
- <translation type="unfinished"></translation>
+ <translation>当前没有选定工作数据库。</translation>
</message>
<message>
- <location filename="../cli.cpp" line="91"/>
+ <location filename="../cli.cpp" line="102"/>
<source>Type %1 for help</source>
- <translation type="unfinished"></translation>
+ <translation>输入 %1 获取帮助</translation>
</message>
<message>
- <location filename="../cli.cpp" line="228"/>
+ <location filename="../cli.cpp" line="257"/>
<source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../cli.cpp" line="235"/>
+ <location filename="../cli.cpp" line="264"/>
<source>Could not add database %1 to list.</source>
- <translation type="unfinished"></translation>
+ <translation>未能将数据库“%1”添加到列表。</translation>
</message>
<message>
- <location filename="../cli.cpp" line="261"/>
+ <location filename="../cli.cpp" line="290"/>
<source>closed</source>
- <translation type="unfinished"></translation>
+ <translation>已关闭</translation>
</message>
</context>
<context>
@@ -39,7 +39,7 @@
<message>
<location filename="../commands/clicommand.cpp" line="107"/>
<source>Usage: %1%2</source>
- <translation type="unfinished"></translation>
+ <translation>用法: %1%2</translation>
</message>
</context>
<context>
@@ -47,12 +47,12 @@
<message>
<location filename="../commands/clicommandadd.cpp" line="9"/>
<source>Could not add database %1 to list.</source>
- <translation type="unfinished"></translation>
+ <translation>未能将数据库“%1”添加到列表。</translation>
</message>
<message>
<location filename="../commands/clicommandadd.cpp" line="14"/>
<source>Database added: %1</source>
- <translation type="unfinished"></translation>
+ <translation>已添加数据库:%1</translation>
</message>
<message>
<location filename="../commands/clicommandadd.cpp" line="19"/>
@@ -68,7 +68,7 @@
<location filename="../commands/clicommandadd.cpp" line="34"/>
<source>name</source>
<comment>CLI command syntax</comment>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location filename="../commands/clicommandadd.cpp" line="35"/>
@@ -82,12 +82,12 @@
<message>
<location filename="../commands/clicommandcd.cpp" line="10"/>
<source>Changed directory to: %1</source>
- <translation type="unfinished"></translation>
+ <translation>已切换到:%1</translation>
</message>
<message>
<location filename="../commands/clicommandcd.cpp" line="12"/>
<source>Could not change directory to: %1</source>
- <translation type="unfinished"></translation>
+ <translation>未能切换到:%1</translation>
</message>
<message>
<location filename="../commands/clicommandcd.cpp" line="17"/>
@@ -201,13 +201,65 @@
<context>
<name>CliCommandDesc</name>
<message>
- <location filename="../commands/clicommanddesc.cpp" line="14"/>
- <source>shows details about the table</source>
+ <location filename="../commands/clicommanddesc.cpp" line="15"/>
+ <source>No working database is set.
+Call %1 command to set working database.
+Call %2 to see list of all databases.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="26"/>
+ <source>Database is not open.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../commands/clicommanddesc.cpp" line="25"/>
+ <location filename="../commands/clicommanddesc.cpp" line="35"/>
+ <source>Cannot find table named: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="52"/>
+ <source>shows details about the table</source>
+ <translation>显示表的详情</translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="63"/>
<source>table</source>
+ <translation>表</translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="70"/>
+ <source>Table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="74"/>
+ <source>Column name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="76"/>
+ <source>Data type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="80"/>
+ <source>Constraints</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="105"/>
+ <source>Virtual table: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="109"/>
+ <source>Construction arguments:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../commands/clicommanddesc.cpp" line="114"/>
+ <source>No construction arguments were passed for this virtual table.</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -236,7 +288,7 @@ You can pass &lt;pattern&gt; with wildcard characters to filter output.</source>
<message>
<location filename="../commands/clicommandexit.cpp" line="12"/>
<source>quits the application</source>
- <translation type="unfinished"></translation>
+ <translation>退出本程序</translation>
</message>
<message>
<location filename="../commands/clicommandexit.cpp" line="17"/>
@@ -280,7 +332,7 @@ You can always execute any command with exactly single &apos;--help&apos; option
<message>
<location filename="../commands/clicommandhelp.cpp" line="52"/>
<source>Usage: %1%2</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">用法: %1%2</translation>
</message>
<message>
<location filename="../commands/clicommandhelp.cpp" line="62"/>
@@ -399,7 +451,7 @@ The ROW mode is recommended if you need to see whole values and you don&apos;t e
<message>
<location filename="../commands/clicommandopen.cpp" line="29"/>
<source>Could not add database %1 to list.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">未能将数据库“%1”添加到列表。</translation>
</message>
<message>
<location filename="../commands/clicommandopen.cpp" line="37"/>
@@ -632,7 +684,7 @@ The database argument is optional and if provided, then only given database will
<location filename="../commands/clicommanduse.cpp" line="16"/>
<location filename="../commands/clicommanduse.cpp" line="30"/>
<source>Current database: %1</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">当前数据库:%1</translation>
</message>
<message>
<location filename="../commands/clicommanduse.cpp" line="23"/>