From 306d6d3ca9c9ad774d19135681a7f9805f77035f Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sun, 22 Feb 2015 14:06:29 -0500 Subject: Imported Upstream version 3.0.3 --- Plugins/ConfigMigration/ConfigMigration.pro | 24 +- Plugins/ConfigMigration/ConfigMigration_de.qm | Bin 0 -> 23 bytes Plugins/ConfigMigration/ConfigMigration_de.ts | 150 + Plugins/ConfigMigration/ConfigMigration_es.qm | Bin 0 -> 23 bytes Plugins/ConfigMigration/ConfigMigration_es.ts | 150 + Plugins/ConfigMigration/ConfigMigration_fr.qm | Bin 0 -> 7762 bytes Plugins/ConfigMigration/ConfigMigration_fr.ts | 150 + Plugins/ConfigMigration/ConfigMigration_pt_BR.qm | Bin 0 -> 23 bytes Plugins/ConfigMigration/ConfigMigration_pt_BR.ts | 150 + Plugins/ConfigMigration/ConfigMigration_ru.qm | Bin 0 -> 7193 bytes Plugins/ConfigMigration/ConfigMigration_ru.ts | 150 + Plugins/ConfigMigration/ConfigMigration_sk.qm | Bin 0 -> 27 bytes Plugins/ConfigMigration/ConfigMigration_sk.ts | 150 + Plugins/ConfigMigration/ConfigMigration_zh_CN.qm | 1 + Plugins/ConfigMigration/ConfigMigration_zh_CN.ts | 150 + Plugins/ConfigMigration/configmigration.qrc | 2 + Plugins/CsvExport/CsvExport.pro | 24 +- Plugins/CsvExport/CsvExport_de.qm | Bin 0 -> 23 bytes Plugins/CsvExport/CsvExport_de.ts | 57 + Plugins/CsvExport/CsvExport_es.qm | Bin 0 -> 23 bytes Plugins/CsvExport/CsvExport_es.ts | 57 + Plugins/CsvExport/CsvExport_fr.qm | Bin 0 -> 1017 bytes Plugins/CsvExport/CsvExport_fr.ts | 57 + Plugins/CsvExport/CsvExport_pt_BR.qm | Bin 0 -> 23 bytes Plugins/CsvExport/CsvExport_pt_BR.ts | 57 + Plugins/CsvExport/CsvExport_ru.qm | Bin 0 -> 996 bytes Plugins/CsvExport/CsvExport_ru.ts | 57 + Plugins/CsvExport/CsvExport_sk.qm | Bin 0 -> 27 bytes Plugins/CsvExport/CsvExport_sk.ts | 57 + Plugins/CsvExport/CsvExport_zh_CN.qm | 1 + Plugins/CsvExport/CsvExport_zh_CN.ts | 57 + Plugins/CsvExport/csvexport.qrc | 2 + Plugins/CsvImport/CsvImport.pro | 24 +- Plugins/CsvImport/CsvImportOptions.ui | 2 +- Plugins/CsvImport/CsvImport_de.qm | Bin 0 -> 23 bytes Plugins/CsvImport/CsvImport_de.ts | 85 + Plugins/CsvImport/CsvImport_es.qm | Bin 0 -> 23 bytes Plugins/CsvImport/CsvImport_es.ts | 85 + Plugins/CsvImport/CsvImport_fr.qm | Bin 0 -> 2173 bytes Plugins/CsvImport/CsvImport_fr.ts | 89 + Plugins/CsvImport/CsvImport_pl.qm | Bin 2366 -> 2414 bytes Plugins/CsvImport/CsvImport_pl.ts | 6 +- Plugins/CsvImport/CsvImport_pt_BR.qm | Bin 0 -> 23 bytes Plugins/CsvImport/CsvImport_pt_BR.ts | 85 + Plugins/CsvImport/CsvImport_ru.qm | Bin 0 -> 2246 bytes Plugins/CsvImport/CsvImport_ru.ts | 89 + Plugins/CsvImport/CsvImport_sk.qm | Bin 0 -> 27 bytes Plugins/CsvImport/CsvImport_sk.ts | 85 + Plugins/CsvImport/CsvImport_zh_CN.qm | 1 + Plugins/CsvImport/CsvImport_zh_CN.ts | 85 + Plugins/CsvImport/csvimport.json | 2 +- Plugins/CsvImport/csvimport.qrc | 2 + Plugins/DbSqlite2/DbSqlite2.pro | 15 +- Plugins/HtmlExport/HtmlExport.pro | 24 +- Plugins/HtmlExport/HtmlExport_de.qm | Bin 0 -> 23 bytes Plugins/HtmlExport/HtmlExport_de.ts | 173 + Plugins/HtmlExport/HtmlExport_es.qm | Bin 0 -> 23 bytes Plugins/HtmlExport/HtmlExport_es.ts | 173 + Plugins/HtmlExport/HtmlExport_fr.qm | Bin 0 -> 3884 bytes Plugins/HtmlExport/HtmlExport_fr.ts | 173 + Plugins/HtmlExport/HtmlExport_pt_BR.qm | Bin 0 -> 23 bytes Plugins/HtmlExport/HtmlExport_pt_BR.ts | 173 + Plugins/HtmlExport/HtmlExport_ru.qm | Bin 0 -> 3899 bytes Plugins/HtmlExport/HtmlExport_ru.ts | 173 + Plugins/HtmlExport/HtmlExport_sk.qm | Bin 0 -> 27 bytes Plugins/HtmlExport/HtmlExport_sk.ts | 173 + Plugins/HtmlExport/HtmlExport_zh_CN.qm | 1 + Plugins/HtmlExport/HtmlExport_zh_CN.ts | 173 + Plugins/HtmlExport/htmlexport.qrc | 2 + Plugins/JsonExport/JsonExport.pro | 24 +- Plugins/JsonExport/JsonExport_de.qm | Bin 0 -> 23 bytes Plugins/JsonExport/JsonExport_de.ts | 22 + Plugins/JsonExport/JsonExport_es.qm | Bin 0 -> 23 bytes Plugins/JsonExport/JsonExport_es.ts | 22 + Plugins/JsonExport/JsonExport_fr.qm | Bin 0 -> 438 bytes Plugins/JsonExport/JsonExport_fr.ts | 22 + Plugins/JsonExport/JsonExport_pt_BR.qm | Bin 0 -> 23 bytes Plugins/JsonExport/JsonExport_pt_BR.ts | 22 + Plugins/JsonExport/JsonExport_ru.qm | Bin 0 -> 441 bytes Plugins/JsonExport/JsonExport_ru.ts | 22 + Plugins/JsonExport/JsonExport_sk.qm | Bin 0 -> 27 bytes Plugins/JsonExport/JsonExport_sk.ts | 22 + Plugins/JsonExport/JsonExport_zh_CN.qm | 1 + Plugins/JsonExport/JsonExport_zh_CN.ts | 22 + Plugins/JsonExport/jsonexport.qrc | 2 + Plugins/PdfExport/PdfExport.pro | 20 +- Plugins/PdfExport/PdfExport_de.qm | Bin 0 -> 23 bytes Plugins/PdfExport/PdfExport_de.ts | 256 + Plugins/PdfExport/PdfExport_es.qm | Bin 0 -> 23 bytes Plugins/PdfExport/PdfExport_es.ts | 256 + Plugins/PdfExport/PdfExport_fr.qm | Bin 0 -> 4045 bytes Plugins/PdfExport/PdfExport_fr.ts | 256 + Plugins/PdfExport/PdfExport_pt_BR.qm | Bin 0 -> 23 bytes Plugins/PdfExport/PdfExport_pt_BR.ts | 256 + Plugins/PdfExport/PdfExport_ru.qm | Bin 0 -> 4034 bytes Plugins/PdfExport/PdfExport_ru.ts | 256 + Plugins/PdfExport/PdfExport_sk.qm | Bin 0 -> 27 bytes Plugins/PdfExport/PdfExport_sk.ts | 256 + Plugins/PdfExport/PdfExport_zh_CN.qm | 1 + Plugins/PdfExport/PdfExport_zh_CN.ts | 256 + Plugins/PdfExport/pdfexport.qrc | 2 + Plugins/Printing/Printing.pro | 24 +- Plugins/Printing/Printing_de.qm | Bin 0 -> 23 bytes Plugins/Printing/Printing_de.ts | 40 + Plugins/Printing/Printing_es.qm | Bin 0 -> 23 bytes Plugins/Printing/Printing_es.ts | 40 + Plugins/Printing/Printing_fr.qm | Bin 0 -> 578 bytes Plugins/Printing/Printing_fr.ts | 40 + Plugins/Printing/Printing_pt_BR.qm | Bin 0 -> 23 bytes Plugins/Printing/Printing_pt_BR.ts | 40 + Plugins/Printing/Printing_ru.qm | Bin 0 -> 515 bytes Plugins/Printing/Printing_ru.ts | 40 + Plugins/Printing/Printing_sk.qm | Bin 0 -> 27 bytes Plugins/Printing/Printing_sk.ts | 40 + Plugins/Printing/Printing_zh_CN.qm | 1 + Plugins/Printing/Printing_zh_CN.ts | 40 + Plugins/Printing/printing.qrc | 2 + Plugins/RegExpImport/RegExpImport.pro | 24 +- Plugins/RegExpImport/RegExpImport_de.qm | Bin 0 -> 23 bytes Plugins/RegExpImport/RegExpImport_de.ts | 83 + Plugins/RegExpImport/RegExpImport_es.qm | Bin 0 -> 23 bytes Plugins/RegExpImport/RegExpImport_es.ts | 83 + Plugins/RegExpImport/RegExpImport_fr.qm | Bin 0 -> 3636 bytes Plugins/RegExpImport/RegExpImport_fr.ts | 86 + Plugins/RegExpImport/RegExpImport_pt_BR.qm | Bin 0 -> 23 bytes Plugins/RegExpImport/RegExpImport_pt_BR.ts | 83 + Plugins/RegExpImport/RegExpImport_ru.qm | Bin 0 -> 3785 bytes Plugins/RegExpImport/RegExpImport_ru.ts | 86 + Plugins/RegExpImport/RegExpImport_sk.qm | Bin 0 -> 27 bytes Plugins/RegExpImport/RegExpImport_sk.ts | 83 + Plugins/RegExpImport/RegExpImport_zh_CN.qm | 1 + Plugins/RegExpImport/RegExpImport_zh_CN.ts | 83 + Plugins/RegExpImport/regexpimport.qrc | 2 + Plugins/ScriptingTcl/ScriptingTcl.pro | 24 +- Plugins/ScriptingTcl/ScriptingTcl_de.qm | Bin 0 -> 23 bytes Plugins/ScriptingTcl/ScriptingTcl_de.ts | 22 + Plugins/ScriptingTcl/ScriptingTcl_es.qm | Bin 0 -> 23 bytes Plugins/ScriptingTcl/ScriptingTcl_es.ts | 22 + Plugins/ScriptingTcl/ScriptingTcl_fr.qm | Bin 0 -> 649 bytes Plugins/ScriptingTcl/ScriptingTcl_fr.ts | 22 + Plugins/ScriptingTcl/ScriptingTcl_pt_BR.qm | Bin 0 -> 23 bytes Plugins/ScriptingTcl/ScriptingTcl_pt_BR.ts | 22 + Plugins/ScriptingTcl/ScriptingTcl_ru.qm | Bin 0 -> 620 bytes Plugins/ScriptingTcl/ScriptingTcl_ru.ts | 22 + Plugins/ScriptingTcl/ScriptingTcl_sk.qm | Bin 0 -> 27 bytes Plugins/ScriptingTcl/ScriptingTcl_sk.ts | 22 + Plugins/ScriptingTcl/ScriptingTcl_zh_CN.qm | 1 + Plugins/ScriptingTcl/ScriptingTcl_zh_CN.ts | 22 + Plugins/ScriptingTcl/scriptingtcl.qrc | 2 + .../SqlEnterpriseFormatter.pro | 24 +- .../SqlEnterpriseFormatter_de.qm | Bin 0 -> 23 bytes .../SqlEnterpriseFormatter_de.ts | 208 + .../SqlEnterpriseFormatter_es.qm | Bin 0 -> 23 bytes .../SqlEnterpriseFormatter_es.ts | 208 + .../SqlEnterpriseFormatter_fr.qm | Bin 0 -> 5804 bytes .../SqlEnterpriseFormatter_fr.ts | 208 + .../SqlEnterpriseFormatter_pt_BR.qm | Bin 0 -> 23 bytes .../SqlEnterpriseFormatter_pt_BR.ts | 208 + .../SqlEnterpriseFormatter_ru.qm | Bin 0 -> 5623 bytes .../SqlEnterpriseFormatter_ru.ts | 208 + .../SqlEnterpriseFormatter_sk.qm | Bin 0 -> 27 bytes .../SqlEnterpriseFormatter_sk.ts | 208 + .../SqlEnterpriseFormatter_zh_CN.qm | 1 + .../SqlEnterpriseFormatter_zh_CN.ts | 208 + .../formatcreatevirtualtable.cpp | 2 +- Plugins/SqlEnterpriseFormatter/formatexpr.cpp | 8 +- Plugins/SqlEnterpriseFormatter/formatstatement.cpp | 4 +- .../sqlenterpriseformatter.json | 2 +- .../sqlenterpriseformatter.qrc | 2 + Plugins/SqlExport/SqlExport.pro | 24 +- Plugins/SqlExport/SqlExport_de.qm | Bin 0 -> 23 bytes Plugins/SqlExport/SqlExport_de.ts | 98 + Plugins/SqlExport/SqlExport_es.qm | Bin 0 -> 23 bytes Plugins/SqlExport/SqlExport_es.ts | 98 + Plugins/SqlExport/SqlExport_fr.qm | Bin 0 -> 2904 bytes Plugins/SqlExport/SqlExport_fr.ts | 98 + Plugins/SqlExport/SqlExport_pt_BR.qm | Bin 0 -> 23 bytes Plugins/SqlExport/SqlExport_pt_BR.ts | 98 + Plugins/SqlExport/SqlExport_ru.qm | Bin 0 -> 2991 bytes Plugins/SqlExport/SqlExport_ru.ts | 98 + Plugins/SqlExport/SqlExport_sk.qm | Bin 0 -> 27 bytes Plugins/SqlExport/SqlExport_sk.ts | 98 + Plugins/SqlExport/SqlExport_zh_CN.qm | 1 + Plugins/SqlExport/SqlExport_zh_CN.ts | 98 + Plugins/SqlExport/sqlexport.qrc | 2 + Plugins/SqlFormatterSimple/SqlFormatterSimple.pro | 24 +- .../SqlFormatterSimple/SqlFormatterSimple_de.qm | Bin 0 -> 23 bytes .../SqlFormatterSimple/SqlFormatterSimple_de.ts | 17 + .../SqlFormatterSimple/SqlFormatterSimple_es.qm | Bin 0 -> 23 bytes .../SqlFormatterSimple/SqlFormatterSimple_es.ts | 17 + .../SqlFormatterSimple/SqlFormatterSimple_fr.qm | Bin 0 -> 344 bytes .../SqlFormatterSimple/SqlFormatterSimple_fr.ts | 17 + .../SqlFormatterSimple/SqlFormatterSimple_pt_BR.qm | Bin 0 -> 23 bytes .../SqlFormatterSimple/SqlFormatterSimple_pt_BR.ts | 17 + .../SqlFormatterSimple/SqlFormatterSimple_ru.qm | Bin 0 -> 379 bytes .../SqlFormatterSimple/SqlFormatterSimple_ru.ts | 17 + .../SqlFormatterSimple/SqlFormatterSimple_sk.qm | Bin 0 -> 27 bytes .../SqlFormatterSimple/SqlFormatterSimple_sk.ts | 17 + .../SqlFormatterSimple/SqlFormatterSimple_zh_CN.qm | 1 + .../SqlFormatterSimple/SqlFormatterSimple_zh_CN.ts | 17 + Plugins/SqlFormatterSimple/sqlformattersimple.qrc | 2 + Plugins/XmlExport/XmlExport.pro | 24 +- Plugins/XmlExport/XmlExport_de.qm | Bin 0 -> 23 bytes Plugins/XmlExport/XmlExport_de.ts | 70 + Plugins/XmlExport/XmlExport_es.qm | Bin 0 -> 23 bytes Plugins/XmlExport/XmlExport_es.ts | 70 + Plugins/XmlExport/XmlExport_fr.qm | Bin 0 -> 2677 bytes Plugins/XmlExport/XmlExport_fr.ts | 70 + Plugins/XmlExport/XmlExport_pt_BR.qm | Bin 0 -> 23 bytes Plugins/XmlExport/XmlExport_pt_BR.ts | 70 + Plugins/XmlExport/XmlExport_ru.qm | Bin 0 -> 2658 bytes Plugins/XmlExport/XmlExport_ru.ts | 70 + Plugins/XmlExport/XmlExport_sk.qm | Bin 0 -> 27 bytes Plugins/XmlExport/XmlExport_sk.ts | 70 + Plugins/XmlExport/XmlExport_zh_CN.qm | 1 + Plugins/XmlExport/XmlExport_zh_CN.ts | 70 + Plugins/XmlExport/xmlexport.qrc | 2 + SQLiteStudio3/SQLiteStudio3.pro | 10 +- SQLiteStudio3/Tests/ParserTest/tst_parsertest.cpp | 8 + SQLiteStudio3/Tests/Tests.pro | 5 +- SQLiteStudio3/coreSQLiteStudio/ChangeLog.txt | 25 + SQLiteStudio3/coreSQLiteStudio/TODO.txt | 3 +- .../coreSQLiteStudio/completionhelper.cpp | 26 +- SQLiteStudio3/coreSQLiteStudio/completionhelper.h | 1 + .../config_builder/cfgcategory.cpp | 10 + .../coreSQLiteStudio/config_builder/cfgcategory.h | 1 + .../coreSQLiteStudio/config_builder/cfgentry.cpp | 6 + .../coreSQLiteStudio/config_builder/cfgentry.h | 1 + .../coreSQLiteStudio/config_builder/cfgmain.cpp | 7 + .../coreSQLiteStudio/config_builder/cfgmain.h | 1 + .../coreSQLiteStudio/coreSQLiteStudio.pro | 27 +- .../coreSQLiteStudio/coresqlitestudio.qrc | 2 + SQLiteStudio3/coreSQLiteStudio/db/abstractdb2.h | 2 +- SQLiteStudio3/coreSQLiteStudio/db/db.h | 6 +- .../coreSQLiteStudio/db/queryexecutor.cpp | 47 +- SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.h | 21 + .../queryexecutorsteps/queryexecutoraddrowids.cpp | 3 +- .../db/queryexecutorsteps/queryexecutorcolumns.cpp | 6 +- .../queryexecutordatasources.cpp | 2 +- SQLiteStudio3/coreSQLiteStudio/log.h | 2 +- .../coreSQLiteStudio/parser/sqlite2_parse.cpp | 536 +- .../coreSQLiteStudio/parser/sqlite2_parse.y | 7 +- .../coreSQLiteStudio/parser/sqlite3_parse.cpp | 718 ++- .../coreSQLiteStudio/parser/sqlite3_parse.y | 8 +- .../parser/statementtokenbuilder.cpp | 6 +- .../parser/statementtokenbuilder.h | 2 +- SQLiteStudio3/coreSQLiteStudio/rsa/BigInt.h | 3 +- SQLiteStudio3/coreSQLiteStudio/rsa/Key.h | 3 +- SQLiteStudio3/coreSQLiteStudio/rsa/KeyPair.h | 3 +- .../coreSQLiteStudio/rsa/PrimeGenerator.h | 3 +- SQLiteStudio3/coreSQLiteStudio/services/config.h | 2 + .../coreSQLiteStudio/services/impl/configimpl.cpp | 49 +- .../coreSQLiteStudio/services/impl/configimpl.h | 2 + .../services/impl/dbmanagerimpl.cpp | 36 +- .../services/impl/functionmanagerimpl.cpp | 8 +- SQLiteStudio3/coreSQLiteStudio/sqlitestudio.cpp | 2 +- SQLiteStudio3/coreSQLiteStudio/tablemodifier.cpp | 76 +- SQLiteStudio3/coreSQLiteStudio/tablemodifier.h | 2 + SQLiteStudio3/coreSQLiteStudio/translations.cpp | 12 +- SQLiteStudio3/coreSQLiteStudio/translations.h | 13 +- .../translations/coreSQLiteStudio_de.qm | Bin 0 -> 23 bytes .../translations/coreSQLiteStudio_de.ts | 1278 +++++ .../translations/coreSQLiteStudio_es.qm | Bin 0 -> 23 bytes .../translations/coreSQLiteStudio_es.ts | 1278 +++++ .../translations/coreSQLiteStudio_fr.qm | Bin 0 -> 41796 bytes .../translations/coreSQLiteStudio_fr.ts | 1283 +++++ .../translations/coreSQLiteStudio_pl.qm | Bin 41506 -> 41932 bytes .../translations/coreSQLiteStudio_pl.ts | 75 +- .../translations/coreSQLiteStudio_pt_BR.qm | Bin 0 -> 23 bytes .../translations/coreSQLiteStudio_pt_BR.ts | 1278 +++++ .../translations/coreSQLiteStudio_ru.qm | Bin 0 -> 40771 bytes .../translations/coreSQLiteStudio_ru.ts | 1284 +++++ .../translations/coreSQLiteStudio_sk.qm | Bin 0 -> 27 bytes .../translations/coreSQLiteStudio_sk.ts | 1278 +++++ .../translations/coreSQLiteStudio_zh_CN.qm | 1 + .../translations/coreSQLiteStudio_zh_CN.ts | 1278 +++++ SQLiteStudio3/create_linux_portable.sh | 52 +- SQLiteStudio3/create_macosx_bundle.sh | 47 +- SQLiteStudio3/create_win32_portable.bat | 1 + .../guiSQLiteStudio/common/extactioncontainer.cpp | 12 + .../guiSQLiteStudio/common/extactioncontainer.h | 2 + .../constraints/columnnotnullpanel.cpp | 2 +- .../guiSQLiteStudio/datagrid/sqlqueryitem.cpp | 8 - .../guiSQLiteStudio/datagrid/sqlquerymodel.cpp | 57 +- .../guiSQLiteStudio/datagrid/sqlquerymodel.h | 4 + .../guiSQLiteStudio/datagrid/sqltablemodel.cpp | 4 +- .../guiSQLiteStudio/dialogs/aboutdialog.cpp | 32 +- .../guiSQLiteStudio/dialogs/aboutdialog.h | 4 +- .../guiSQLiteStudio/dialogs/aboutdialog.ui | 68 +- SQLiteStudio3/guiSQLiteStudio/dialogs/dbdialog.cpp | 44 +- .../guiSQLiteStudio/dialogs/indexdialog.cpp | 1 + .../guiSQLiteStudio/dialogs/languagedialog.cpp | 11 + .../guiSQLiteStudio/dialogs/languagedialog.h | 6 +- SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.pro | 20 +- SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.qrc | 2 + SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp | 13 +- .../translations/guiSQLiteStudio_de.qm | Bin 0 -> 23 bytes .../translations/guiSQLiteStudio_de.ts | 5961 +++++++++++++++++++ .../translations/guiSQLiteStudio_es.qm | Bin 0 -> 23 bytes .../translations/guiSQLiteStudio_es.ts | 5961 +++++++++++++++++++ .../translations/guiSQLiteStudio_fr.qm | Bin 0 -> 144642 bytes .../translations/guiSQLiteStudio_fr.ts | 5977 +++++++++++++++++++ .../translations/guiSQLiteStudio_pl.qm | Bin 137929 -> 139079 bytes .../translations/guiSQLiteStudio_pl.ts | 181 +- .../translations/guiSQLiteStudio_pt_BR.qm | Bin 0 -> 23 bytes .../translations/guiSQLiteStudio_pt_BR.ts | 5961 +++++++++++++++++++ .../translations/guiSQLiteStudio_ru.qm | Bin 0 -> 140399 bytes .../translations/guiSQLiteStudio_ru.ts | 5980 ++++++++++++++++++++ .../translations/guiSQLiteStudio_sk.qm | Bin 0 -> 27 bytes .../translations/guiSQLiteStudio_sk.ts | 5961 +++++++++++++++++++ .../translations/guiSQLiteStudio_zh_CN.qm | 1 + .../translations/guiSQLiteStudio_zh_CN.ts | 5961 +++++++++++++++++++ .../guiSQLiteStudio/windows/tablewindow.cpp | 12 +- .../guiSQLiteStudio/windows/tablewindow.h | 1 + SQLiteStudio3/lang.tcl | 4 +- SQLiteStudio3/plugins.pri | 7 +- SQLiteStudio3/sqlitestudio/main.cpp | 12 +- SQLiteStudio3/sqlitestudio/sqlitestudio.pro | 20 +- SQLiteStudio3/sqlitestudio/sqlitestudio.qrc | 2 + .../sqlitestudio/translations/sqlitestudio_de.qm | Bin 0 -> 23 bytes .../sqlitestudio/translations/sqlitestudio_de.ts | 63 + .../sqlitestudio/translations/sqlitestudio_es.qm | Bin 0 -> 23 bytes .../sqlitestudio/translations/sqlitestudio_es.ts | 63 + .../sqlitestudio/translations/sqlitestudio_fr.qm | Bin 0 -> 1824 bytes .../sqlitestudio/translations/sqlitestudio_fr.ts | 64 + .../translations/sqlitestudio_pt_BR.qm | Bin 0 -> 23 bytes .../translations/sqlitestudio_pt_BR.ts | 63 + .../sqlitestudio/translations/sqlitestudio_ru.qm | Bin 0 -> 2041 bytes .../sqlitestudio/translations/sqlitestudio_ru.ts | 63 + .../sqlitestudio/translations/sqlitestudio_sk.qm | Bin 0 -> 27 bytes .../sqlitestudio/translations/sqlitestudio_sk.ts | 63 + .../translations/sqlitestudio_zh_CN.qm | 1 + .../translations/sqlitestudio_zh_CN.ts | 63 + SQLiteStudio3/sqlitestudiocli/cli.cpp | 9 +- SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.pro | 26 +- SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.qrc | 2 + .../translations/sqlitestudiocli_de.qm | Bin 0 -> 23 bytes .../translations/sqlitestudiocli_de.ts | 736 +++ .../translations/sqlitestudiocli_es.qm | Bin 0 -> 23 bytes .../translations/sqlitestudiocli_es.ts | 736 +++ .../translations/sqlitestudiocli_fr.qm | Bin 0 -> 40873 bytes .../translations/sqlitestudiocli_fr.ts | 776 +++ .../translations/sqlitestudiocli_pl.ts | 4 + .../translations/sqlitestudiocli_pt_BR.qm | Bin 0 -> 23 bytes .../translations/sqlitestudiocli_pt_BR.ts | 736 +++ .../translations/sqlitestudiocli_ru.qm | Bin 0 -> 39880 bytes .../translations/sqlitestudiocli_ru.ts | 775 +++ .../translations/sqlitestudiocli_sk.qm | Bin 0 -> 27 bytes .../translations/sqlitestudiocli_sk.ts | 736 +++ .../translations/sqlitestudiocli_zh_CN.qm | 1 + .../translations/sqlitestudiocli_zh_CN.ts | 736 +++ 351 files changed, 67223 insertions(+), 1000 deletions(-) create mode 100644 Plugins/ConfigMigration/ConfigMigration_de.qm create mode 100644 Plugins/ConfigMigration/ConfigMigration_de.ts create mode 100644 Plugins/ConfigMigration/ConfigMigration_es.qm create mode 100644 Plugins/ConfigMigration/ConfigMigration_es.ts create mode 100644 Plugins/ConfigMigration/ConfigMigration_fr.qm create mode 100644 Plugins/ConfigMigration/ConfigMigration_fr.ts create mode 100644 Plugins/ConfigMigration/ConfigMigration_pt_BR.qm create mode 100644 Plugins/ConfigMigration/ConfigMigration_pt_BR.ts create mode 100644 Plugins/ConfigMigration/ConfigMigration_ru.qm create mode 100644 Plugins/ConfigMigration/ConfigMigration_ru.ts create mode 100644 Plugins/ConfigMigration/ConfigMigration_sk.qm create mode 100644 Plugins/ConfigMigration/ConfigMigration_sk.ts create mode 100644 Plugins/ConfigMigration/ConfigMigration_zh_CN.qm create mode 100644 Plugins/ConfigMigration/ConfigMigration_zh_CN.ts create mode 100644 Plugins/CsvExport/CsvExport_de.qm create mode 100644 Plugins/CsvExport/CsvExport_de.ts create mode 100644 Plugins/CsvExport/CsvExport_es.qm create mode 100644 Plugins/CsvExport/CsvExport_es.ts create mode 100644 Plugins/CsvExport/CsvExport_fr.qm create mode 100644 Plugins/CsvExport/CsvExport_fr.ts create mode 100644 Plugins/CsvExport/CsvExport_pt_BR.qm create mode 100644 Plugins/CsvExport/CsvExport_pt_BR.ts create mode 100644 Plugins/CsvExport/CsvExport_ru.qm create mode 100644 Plugins/CsvExport/CsvExport_ru.ts create mode 100644 Plugins/CsvExport/CsvExport_sk.qm create mode 100644 Plugins/CsvExport/CsvExport_sk.ts create mode 100644 Plugins/CsvExport/CsvExport_zh_CN.qm create mode 100644 Plugins/CsvExport/CsvExport_zh_CN.ts create mode 100644 Plugins/CsvImport/CsvImport_de.qm create mode 100644 Plugins/CsvImport/CsvImport_de.ts create mode 100644 Plugins/CsvImport/CsvImport_es.qm create mode 100644 Plugins/CsvImport/CsvImport_es.ts create mode 100644 Plugins/CsvImport/CsvImport_fr.qm create mode 100644 Plugins/CsvImport/CsvImport_fr.ts create mode 100644 Plugins/CsvImport/CsvImport_pt_BR.qm create mode 100644 Plugins/CsvImport/CsvImport_pt_BR.ts create mode 100644 Plugins/CsvImport/CsvImport_ru.qm create mode 100644 Plugins/CsvImport/CsvImport_ru.ts create mode 100644 Plugins/CsvImport/CsvImport_sk.qm create mode 100644 Plugins/CsvImport/CsvImport_sk.ts create mode 100644 Plugins/CsvImport/CsvImport_zh_CN.qm create mode 100644 Plugins/CsvImport/CsvImport_zh_CN.ts create mode 100644 Plugins/HtmlExport/HtmlExport_de.qm create mode 100644 Plugins/HtmlExport/HtmlExport_de.ts create mode 100644 Plugins/HtmlExport/HtmlExport_es.qm create mode 100644 Plugins/HtmlExport/HtmlExport_es.ts create mode 100644 Plugins/HtmlExport/HtmlExport_fr.qm create mode 100644 Plugins/HtmlExport/HtmlExport_fr.ts create mode 100644 Plugins/HtmlExport/HtmlExport_pt_BR.qm create mode 100644 Plugins/HtmlExport/HtmlExport_pt_BR.ts create mode 100644 Plugins/HtmlExport/HtmlExport_ru.qm create mode 100644 Plugins/HtmlExport/HtmlExport_ru.ts create mode 100644 Plugins/HtmlExport/HtmlExport_sk.qm create mode 100644 Plugins/HtmlExport/HtmlExport_sk.ts create mode 100644 Plugins/HtmlExport/HtmlExport_zh_CN.qm create mode 100644 Plugins/HtmlExport/HtmlExport_zh_CN.ts create mode 100644 Plugins/JsonExport/JsonExport_de.qm create mode 100644 Plugins/JsonExport/JsonExport_de.ts create mode 100644 Plugins/JsonExport/JsonExport_es.qm create mode 100644 Plugins/JsonExport/JsonExport_es.ts create mode 100644 Plugins/JsonExport/JsonExport_fr.qm create mode 100644 Plugins/JsonExport/JsonExport_fr.ts create mode 100644 Plugins/JsonExport/JsonExport_pt_BR.qm create mode 100644 Plugins/JsonExport/JsonExport_pt_BR.ts create mode 100644 Plugins/JsonExport/JsonExport_ru.qm create mode 100644 Plugins/JsonExport/JsonExport_ru.ts create mode 100644 Plugins/JsonExport/JsonExport_sk.qm create mode 100644 Plugins/JsonExport/JsonExport_sk.ts create mode 100644 Plugins/JsonExport/JsonExport_zh_CN.qm create mode 100644 Plugins/JsonExport/JsonExport_zh_CN.ts create mode 100644 Plugins/PdfExport/PdfExport_de.qm create mode 100644 Plugins/PdfExport/PdfExport_de.ts create mode 100644 Plugins/PdfExport/PdfExport_es.qm create mode 100644 Plugins/PdfExport/PdfExport_es.ts create mode 100644 Plugins/PdfExport/PdfExport_fr.qm create mode 100644 Plugins/PdfExport/PdfExport_fr.ts create mode 100644 Plugins/PdfExport/PdfExport_pt_BR.qm create mode 100644 Plugins/PdfExport/PdfExport_pt_BR.ts create mode 100644 Plugins/PdfExport/PdfExport_ru.qm create mode 100644 Plugins/PdfExport/PdfExport_ru.ts create mode 100644 Plugins/PdfExport/PdfExport_sk.qm create mode 100644 Plugins/PdfExport/PdfExport_sk.ts create mode 100644 Plugins/PdfExport/PdfExport_zh_CN.qm create mode 100644 Plugins/PdfExport/PdfExport_zh_CN.ts create mode 100644 Plugins/Printing/Printing_de.qm create mode 100644 Plugins/Printing/Printing_de.ts create mode 100644 Plugins/Printing/Printing_es.qm create mode 100644 Plugins/Printing/Printing_es.ts create mode 100644 Plugins/Printing/Printing_fr.qm create mode 100644 Plugins/Printing/Printing_fr.ts create mode 100644 Plugins/Printing/Printing_pt_BR.qm create mode 100644 Plugins/Printing/Printing_pt_BR.ts create mode 100644 Plugins/Printing/Printing_ru.qm create mode 100644 Plugins/Printing/Printing_ru.ts create mode 100644 Plugins/Printing/Printing_sk.qm create mode 100644 Plugins/Printing/Printing_sk.ts create mode 100644 Plugins/Printing/Printing_zh_CN.qm create mode 100644 Plugins/Printing/Printing_zh_CN.ts create mode 100644 Plugins/RegExpImport/RegExpImport_de.qm create mode 100644 Plugins/RegExpImport/RegExpImport_de.ts create mode 100644 Plugins/RegExpImport/RegExpImport_es.qm create mode 100644 Plugins/RegExpImport/RegExpImport_es.ts create mode 100644 Plugins/RegExpImport/RegExpImport_fr.qm create mode 100644 Plugins/RegExpImport/RegExpImport_fr.ts create mode 100644 Plugins/RegExpImport/RegExpImport_pt_BR.qm create mode 100644 Plugins/RegExpImport/RegExpImport_pt_BR.ts create mode 100644 Plugins/RegExpImport/RegExpImport_ru.qm create mode 100644 Plugins/RegExpImport/RegExpImport_ru.ts create mode 100644 Plugins/RegExpImport/RegExpImport_sk.qm create mode 100644 Plugins/RegExpImport/RegExpImport_sk.ts create mode 100644 Plugins/RegExpImport/RegExpImport_zh_CN.qm create mode 100644 Plugins/RegExpImport/RegExpImport_zh_CN.ts create mode 100644 Plugins/ScriptingTcl/ScriptingTcl_de.qm create mode 100644 Plugins/ScriptingTcl/ScriptingTcl_de.ts create mode 100644 Plugins/ScriptingTcl/ScriptingTcl_es.qm create mode 100644 Plugins/ScriptingTcl/ScriptingTcl_es.ts create mode 100644 Plugins/ScriptingTcl/ScriptingTcl_fr.qm create mode 100644 Plugins/ScriptingTcl/ScriptingTcl_fr.ts create mode 100644 Plugins/ScriptingTcl/ScriptingTcl_pt_BR.qm create mode 100644 Plugins/ScriptingTcl/ScriptingTcl_pt_BR.ts create mode 100644 Plugins/ScriptingTcl/ScriptingTcl_ru.qm create mode 100644 Plugins/ScriptingTcl/ScriptingTcl_ru.ts create mode 100644 Plugins/ScriptingTcl/ScriptingTcl_sk.qm create mode 100644 Plugins/ScriptingTcl/ScriptingTcl_sk.ts create mode 100644 Plugins/ScriptingTcl/ScriptingTcl_zh_CN.qm create mode 100644 Plugins/ScriptingTcl/ScriptingTcl_zh_CN.ts create mode 100644 Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_de.qm create mode 100644 Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_de.ts create mode 100644 Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_es.qm create mode 100644 Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_es.ts create mode 100644 Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_fr.qm create mode 100644 Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_fr.ts create mode 100644 Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_pt_BR.qm create mode 100644 Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_pt_BR.ts create mode 100644 Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_ru.qm create mode 100644 Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_ru.ts create mode 100644 Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_sk.qm create mode 100644 Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_sk.ts create mode 100644 Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_zh_CN.qm create mode 100644 Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_zh_CN.ts create mode 100644 Plugins/SqlExport/SqlExport_de.qm create mode 100644 Plugins/SqlExport/SqlExport_de.ts create mode 100644 Plugins/SqlExport/SqlExport_es.qm create mode 100644 Plugins/SqlExport/SqlExport_es.ts create mode 100644 Plugins/SqlExport/SqlExport_fr.qm create mode 100644 Plugins/SqlExport/SqlExport_fr.ts create mode 100644 Plugins/SqlExport/SqlExport_pt_BR.qm create mode 100644 Plugins/SqlExport/SqlExport_pt_BR.ts create mode 100644 Plugins/SqlExport/SqlExport_ru.qm create mode 100644 Plugins/SqlExport/SqlExport_ru.ts create mode 100644 Plugins/SqlExport/SqlExport_sk.qm create mode 100644 Plugins/SqlExport/SqlExport_sk.ts create mode 100644 Plugins/SqlExport/SqlExport_zh_CN.qm create mode 100644 Plugins/SqlExport/SqlExport_zh_CN.ts create mode 100644 Plugins/SqlFormatterSimple/SqlFormatterSimple_de.qm create mode 100644 Plugins/SqlFormatterSimple/SqlFormatterSimple_de.ts create mode 100644 Plugins/SqlFormatterSimple/SqlFormatterSimple_es.qm create mode 100644 Plugins/SqlFormatterSimple/SqlFormatterSimple_es.ts create mode 100644 Plugins/SqlFormatterSimple/SqlFormatterSimple_fr.qm create mode 100644 Plugins/SqlFormatterSimple/SqlFormatterSimple_fr.ts create mode 100644 Plugins/SqlFormatterSimple/SqlFormatterSimple_pt_BR.qm create mode 100644 Plugins/SqlFormatterSimple/SqlFormatterSimple_pt_BR.ts create mode 100644 Plugins/SqlFormatterSimple/SqlFormatterSimple_ru.qm create mode 100644 Plugins/SqlFormatterSimple/SqlFormatterSimple_ru.ts create mode 100644 Plugins/SqlFormatterSimple/SqlFormatterSimple_sk.qm create mode 100644 Plugins/SqlFormatterSimple/SqlFormatterSimple_sk.ts create mode 100644 Plugins/SqlFormatterSimple/SqlFormatterSimple_zh_CN.qm create mode 100644 Plugins/SqlFormatterSimple/SqlFormatterSimple_zh_CN.ts create mode 100644 Plugins/XmlExport/XmlExport_de.qm create mode 100644 Plugins/XmlExport/XmlExport_de.ts create mode 100644 Plugins/XmlExport/XmlExport_es.qm create mode 100644 Plugins/XmlExport/XmlExport_es.ts create mode 100644 Plugins/XmlExport/XmlExport_fr.qm create mode 100644 Plugins/XmlExport/XmlExport_fr.ts create mode 100644 Plugins/XmlExport/XmlExport_pt_BR.qm create mode 100644 Plugins/XmlExport/XmlExport_pt_BR.ts create mode 100644 Plugins/XmlExport/XmlExport_ru.qm create mode 100644 Plugins/XmlExport/XmlExport_ru.ts create mode 100644 Plugins/XmlExport/XmlExport_sk.qm create mode 100644 Plugins/XmlExport/XmlExport_sk.ts create mode 100644 Plugins/XmlExport/XmlExport_zh_CN.qm create mode 100644 Plugins/XmlExport/XmlExport_zh_CN.ts create mode 100644 SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_de.qm create mode 100644 SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_de.ts create mode 100644 SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_es.qm create mode 100644 SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_es.ts create mode 100644 SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_fr.qm create mode 100644 SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_fr.ts create mode 100644 SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pt_BR.qm create mode 100644 SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pt_BR.ts create mode 100644 SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_ru.qm create mode 100644 SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_ru.ts create mode 100644 SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.qm create mode 100644 SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.ts create mode 100644 SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_zh_CN.qm create mode 100644 SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_zh_CN.ts create mode 100644 SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_de.qm create mode 100644 SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_de.ts create mode 100644 SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_es.qm create mode 100644 SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_es.ts create mode 100644 SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.qm create mode 100644 SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.ts create mode 100644 SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pt_BR.qm create mode 100644 SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pt_BR.ts create mode 100644 SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.qm create mode 100644 SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.ts create mode 100644 SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.qm create mode 100644 SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.ts create mode 100644 SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_zh_CN.qm create mode 100644 SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_zh_CN.ts create mode 100644 SQLiteStudio3/sqlitestudio/translations/sqlitestudio_de.qm create mode 100644 SQLiteStudio3/sqlitestudio/translations/sqlitestudio_de.ts create mode 100644 SQLiteStudio3/sqlitestudio/translations/sqlitestudio_es.qm create mode 100644 SQLiteStudio3/sqlitestudio/translations/sqlitestudio_es.ts create mode 100644 SQLiteStudio3/sqlitestudio/translations/sqlitestudio_fr.qm create mode 100644 SQLiteStudio3/sqlitestudio/translations/sqlitestudio_fr.ts create mode 100644 SQLiteStudio3/sqlitestudio/translations/sqlitestudio_pt_BR.qm create mode 100644 SQLiteStudio3/sqlitestudio/translations/sqlitestudio_pt_BR.ts create mode 100644 SQLiteStudio3/sqlitestudio/translations/sqlitestudio_ru.qm create mode 100644 SQLiteStudio3/sqlitestudio/translations/sqlitestudio_ru.ts create mode 100644 SQLiteStudio3/sqlitestudio/translations/sqlitestudio_sk.qm create mode 100644 SQLiteStudio3/sqlitestudio/translations/sqlitestudio_sk.ts create mode 100644 SQLiteStudio3/sqlitestudio/translations/sqlitestudio_zh_CN.qm create mode 100644 SQLiteStudio3/sqlitestudio/translations/sqlitestudio_zh_CN.ts create mode 100644 SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_de.qm create mode 100644 SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_de.ts create mode 100644 SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_es.qm create mode 100644 SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_es.ts create mode 100644 SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_fr.qm create mode 100644 SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_fr.ts create mode 100644 SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pt_BR.qm create mode 100644 SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pt_BR.ts create mode 100644 SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_ru.qm create mode 100644 SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_ru.ts create mode 100644 SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_sk.qm create mode 100644 SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_sk.ts create mode 100644 SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_zh_CN.qm create mode 100644 SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_zh_CN.ts diff --git a/Plugins/ConfigMigration/ConfigMigration.pro b/Plugins/ConfigMigration/ConfigMigration.pro index aae8b5b..8983b8d 100644 --- a/Plugins/ConfigMigration/ConfigMigration.pro +++ b/Plugins/ConfigMigration/ConfigMigration.pro @@ -4,10 +4,10 @@ # #------------------------------------------------- -include($$PWD/../../SQLiteStudio3/plugins.pri) - QT += widgets +include($$PWD/../../SQLiteStudio3/plugins.pri) + TARGET = ConfigMigration TEMPLATE = lib @@ -31,5 +31,23 @@ RESOURCES += \ configmigration.qrc -TRANSLATIONS += ConfigMigration_pl.ts +TRANSLATIONS += ConfigMigration_zh_CN.ts \ + ConfigMigration_sk.ts \ + ConfigMigration_de.ts \ + ConfigMigration_ru.ts \ + ConfigMigration_pt_BR.ts \ + ConfigMigration_fr.ts \ + ConfigMigration_es.ts \ + ConfigMigration_pl.ts + + + + + + + + + + + diff --git a/Plugins/ConfigMigration/ConfigMigration_de.qm b/Plugins/ConfigMigration/ConfigMigration_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/ConfigMigration/ConfigMigration_de.qm differ diff --git a/Plugins/ConfigMigration/ConfigMigration_de.ts b/Plugins/ConfigMigration/ConfigMigration_de.ts new file mode 100644 index 0000000..7179052 --- /dev/null +++ b/Plugins/ConfigMigration/ConfigMigration_de.ts @@ -0,0 +1,150 @@ + + + + + ConfigMigration + + + A configuration from old SQLiteStudio 2.x.x has been detected. Would you like to migrate old settings into the current version? <a href="%1">Click here to do that</a>. + + + + + Bug reports history (%1) + + + + + Database list (%1) + + + + + Custom SQL functions (%1) + + + + + SQL queries history (%1) + + + + + ConfigMigrationWizard + + + Configuration migration + + + + + Items to migrate + + + + + This is a list of items found in the old configuration file, which can be migrated into the current configuration. + + + + + Options + + + + + Put imported databases into separate group + + + + + Group name + + + + + Enter a non-empty name. + + + + + Top level group named '%1' already exists. Enter a group name that does not exist yet. + + + + + Could not open old configuration file in order to migrate settings from it. + + + + + Could not open current configuration file in order to migrate settings from old configuration file. + + + + + Could not commit migrated data into new configuration file: %1 + + + + + Could not read bug reports history from old configuration file in order to migrate it: %1 + + + + + Could not insert a bug reports history entry into new configuration file: %1 + + + + + Could not read database list from old configuration file in order to migrate it: %1 + + + + + Could not query for available order for containing group in new configuration file in order to migrate the database list: %1 + + + + + Could not create containing group in new configuration file in order to migrate the database list: %1 + + + + + Could not insert a database entry into new configuration file: %1 + + + + + Could not query for available order for next database in new configuration file in order to migrate the database list: %1 + + + + + Could not create group referencing the database in new configuration file: %1 + + + + + Could not read function list from old configuration file in order to migrate it: %1 + + + + + Could not read SQL queries history from old configuration file in order to migrate it: %1 + + + + + Could not read next ID for SQL queries history in new configuration file: %1 + + + + + Could not insert SQL history entry into new configuration file: %1 + + + + diff --git a/Plugins/ConfigMigration/ConfigMigration_es.qm b/Plugins/ConfigMigration/ConfigMigration_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/ConfigMigration/ConfigMigration_es.qm differ diff --git a/Plugins/ConfigMigration/ConfigMigration_es.ts b/Plugins/ConfigMigration/ConfigMigration_es.ts new file mode 100644 index 0000000..f412dc9 --- /dev/null +++ b/Plugins/ConfigMigration/ConfigMigration_es.ts @@ -0,0 +1,150 @@ + + + + + ConfigMigration + + + A configuration from old SQLiteStudio 2.x.x has been detected. Would you like to migrate old settings into the current version? <a href="%1">Click here to do that</a>. + + + + + Bug reports history (%1) + + + + + Database list (%1) + + + + + Custom SQL functions (%1) + + + + + SQL queries history (%1) + + + + + ConfigMigrationWizard + + + Configuration migration + + + + + Items to migrate + + + + + This is a list of items found in the old configuration file, which can be migrated into the current configuration. + + + + + Options + + + + + Put imported databases into separate group + + + + + Group name + + + + + Enter a non-empty name. + + + + + Top level group named '%1' already exists. Enter a group name that does not exist yet. + + + + + Could not open old configuration file in order to migrate settings from it. + + + + + Could not open current configuration file in order to migrate settings from old configuration file. + + + + + Could not commit migrated data into new configuration file: %1 + + + + + Could not read bug reports history from old configuration file in order to migrate it: %1 + + + + + Could not insert a bug reports history entry into new configuration file: %1 + + + + + Could not read database list from old configuration file in order to migrate it: %1 + + + + + Could not query for available order for containing group in new configuration file in order to migrate the database list: %1 + + + + + Could not create containing group in new configuration file in order to migrate the database list: %1 + + + + + Could not insert a database entry into new configuration file: %1 + + + + + Could not query for available order for next database in new configuration file in order to migrate the database list: %1 + + + + + Could not create group referencing the database in new configuration file: %1 + + + + + Could not read function list from old configuration file in order to migrate it: %1 + + + + + Could not read SQL queries history from old configuration file in order to migrate it: %1 + + + + + Could not read next ID for SQL queries history in new configuration file: %1 + + + + + Could not insert SQL history entry into new configuration file: %1 + + + + diff --git a/Plugins/ConfigMigration/ConfigMigration_fr.qm b/Plugins/ConfigMigration/ConfigMigration_fr.qm new file mode 100644 index 0000000..11f008c Binary files /dev/null and b/Plugins/ConfigMigration/ConfigMigration_fr.qm differ diff --git a/Plugins/ConfigMigration/ConfigMigration_fr.ts b/Plugins/ConfigMigration/ConfigMigration_fr.ts new file mode 100644 index 0000000..ff23dbb --- /dev/null +++ b/Plugins/ConfigMigration/ConfigMigration_fr.ts @@ -0,0 +1,150 @@ + + + + + ConfigMigration + + + A configuration from old SQLiteStudio 2.x.x has been detected. Would you like to migrate old settings into the current version? <a href="%1">Click here to do that</a>. + Une configuration d'un ancien SQLiteStudio 2.x.x a été détectée. Voulez-vous migrer l'ancienne configuration pour la version courante? <a href="%1">Cliquer ici pour l'exécuter</a>. + + + + Bug reports history (%1) + Historique des rappots de bug (%1) + + + + Database list (%1) + Liste des bases de données(%1) + + + + Custom SQL functions (%1) + Personnalisation des fonctions SQL(%1) + + + + SQL queries history (%1) + Historique des requêtes SQL (%1) + + + + ConfigMigrationWizard + + + Configuration migration + Migration de la configuration + + + + Items to migrate + Items à migrer + + + + This is a list of items found in the old configuration file, which can be migrated into the current configuration. + Voici la liste des items trouvés dans l'ancien fichier de configuration, pouvant être importés dans la configuration actuelle. + + + + Options + Options + + + + Put imported databases into separate group + Mettre les bases de données importées dans un groupe séparé + + + + Group name + Nom du groupe + + + + Enter a non-empty name. + Saisissez un nom valide. + + + + Top level group named '%1' already exists. Enter a group name that does not exist yet. + Le nom du groupe '%1' existe déjà. Saissiez un nom de groupe non déjà utilisé. + + + + Could not open old configuration file in order to migrate settings from it. + Impossible d'ouvrir l'ancien fichier de configuration pour importer les préférences. + + + + Could not open current configuration file in order to migrate settings from old configuration file. + Impossible d'ouvrir l'actuel fichier de configuration pour importer les préférences de l'ancien fichier de configuration. + + + + Could not commit migrated data into new configuration file: %1 + Impossible d'enregistrer les données de migration dans le nouveau fichier de configuration: %1 + + + + Could not read bug reports history from old configuration file in order to migrate it: %1 + Impossible de lire l'historique du rapport de bug de l'ancienne configuration pour l'importée %1 + + + + Could not insert a bug reports history entry into new configuration file: %1 + Impossible d'insérer l'historique du rapport de bug dans le nouveau fichier de configuration: %1 + + + + Could not read database list from old configuration file in order to migrate it: %1 + Impossible de lire la liste des bases de données de l'ancien fichier de configuration: %1 + + + + Could not query for available order for containing group in new configuration file in order to migrate the database list: %1 + Impossible d'exécuter la requête de tri de groupe dans le nouveau fichier de configuration pour importer la liste des bases de données: %1 + + + + Could not create containing group in new configuration file in order to migrate the database list: %1 + Impossible de créer un groupe dans le nouveau fichier de configuration pour migrer la liste des bases de données: %1 + + + + Could not insert a database entry into new configuration file: %1 + Impossible d'insérer le nom d'une base de données dans le nouveau fichier de configuration:%1 + + + + Could not query for available order for next database in new configuration file in order to migrate the database list: %1 + Impossible d'exécuter la requête de tri pour la base de données suivante dans le nouveau fichier de configuration pour importer la liste les bases de données: %1 + + + + Could not create group referencing the database in new configuration file: %1 + Impossible de créer un groupe référençant les bases de données dans le nouveau fichier de configuration:%1 + + + + Could not read function list from old configuration file in order to migrate it: %1 + Impossible de lire la liste de fonction de l'ancien fichier de configuration pour l'importer:%1 + + + + Could not read SQL queries history from old configuration file in order to migrate it: %1 + Impossible de lire l'historique des requêtes SQL de l'ancien fichier de configuration pour l'importer: %1 + + + + Could not read next ID for SQL queries history in new configuration file: %1 + Impossible de lire l'ID suivant de l'historique des requêtes dans le nouveau fichier de configuration:%1 + + + + Could not insert SQL history entry into new configuration file: %1 + Impossible d'insérer un historique d'SQL dans le nouveau fichier de configuration: %1 + + + diff --git a/Plugins/ConfigMigration/ConfigMigration_pt_BR.qm b/Plugins/ConfigMigration/ConfigMigration_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/Plugins/ConfigMigration/ConfigMigration_pt_BR.qm differ diff --git a/Plugins/ConfigMigration/ConfigMigration_pt_BR.ts b/Plugins/ConfigMigration/ConfigMigration_pt_BR.ts new file mode 100644 index 0000000..d6cf37b --- /dev/null +++ b/Plugins/ConfigMigration/ConfigMigration_pt_BR.ts @@ -0,0 +1,150 @@ + + + + + ConfigMigration + + + A configuration from old SQLiteStudio 2.x.x has been detected. Would you like to migrate old settings into the current version? <a href="%1">Click here to do that</a>. + + + + + Bug reports history (%1) + + + + + Database list (%1) + + + + + Custom SQL functions (%1) + + + + + SQL queries history (%1) + + + + + ConfigMigrationWizard + + + Configuration migration + + + + + Items to migrate + + + + + This is a list of items found in the old configuration file, which can be migrated into the current configuration. + + + + + Options + + + + + Put imported databases into separate group + + + + + Group name + + + + + Enter a non-empty name. + + + + + Top level group named '%1' already exists. Enter a group name that does not exist yet. + + + + + Could not open old configuration file in order to migrate settings from it. + + + + + Could not open current configuration file in order to migrate settings from old configuration file. + + + + + Could not commit migrated data into new configuration file: %1 + + + + + Could not read bug reports history from old configuration file in order to migrate it: %1 + + + + + Could not insert a bug reports history entry into new configuration file: %1 + + + + + Could not read database list from old configuration file in order to migrate it: %1 + + + + + Could not query for available order for containing group in new configuration file in order to migrate the database list: %1 + + + + + Could not create containing group in new configuration file in order to migrate the database list: %1 + + + + + Could not insert a database entry into new configuration file: %1 + + + + + Could not query for available order for next database in new configuration file in order to migrate the database list: %1 + + + + + Could not create group referencing the database in new configuration file: %1 + + + + + Could not read function list from old configuration file in order to migrate it: %1 + + + + + Could not read SQL queries history from old configuration file in order to migrate it: %1 + + + + + Could not read next ID for SQL queries history in new configuration file: %1 + + + + + Could not insert SQL history entry into new configuration file: %1 + + + + diff --git a/Plugins/ConfigMigration/ConfigMigration_ru.qm b/Plugins/ConfigMigration/ConfigMigration_ru.qm new file mode 100644 index 0000000..57ef6f0 Binary files /dev/null and b/Plugins/ConfigMigration/ConfigMigration_ru.qm differ diff --git a/Plugins/ConfigMigration/ConfigMigration_ru.ts b/Plugins/ConfigMigration/ConfigMigration_ru.ts new file mode 100644 index 0000000..f487465 --- /dev/null +++ b/Plugins/ConfigMigration/ConfigMigration_ru.ts @@ -0,0 +1,150 @@ + + + + + ConfigMigration + + + A configuration from old SQLiteStudio 2.x.x has been detected. Would you like to migrate old settings into the current version? <a href="%1">Click here to do that</a>. + Обнаружена конфигурация от старой версии SQLiteStudio (2.x.x). Вы хотите перенести старые настройки в новую версию? <a href="%1">Нажмите здесь для переноса</a>. + + + + Bug reports history (%1) + История отчётов об ошибках (%1) + + + + Database list (%1) + Список баз данных (%1) + + + + Custom SQL functions (%1) + Произвольные функции SQL (%1) + + + + SQL queries history (%1) + История запросов SQL (%1) + + + + ConfigMigrationWizard + + + Configuration migration + Перенос конфигурации + + + + Items to migrate + Переносимые элементы + + + + This is a list of items found in the old configuration file, which can be migrated into the current configuration. + Это список элементов, обнаруженных в старом конфигурационном файле, которые могут быть перенесены в текущую конфигурацию. + + + + Options + Опции + + + + Put imported databases into separate group + Поместить импортированные базы данных в отдельную группу + + + + Group name + Имя группы + + + + Enter a non-empty name. + Введите непустое имя. + + + + Top level group named '%1' already exists. Enter a group name that does not exist yet. + Группа верхнего уровня '%1' уже существует. Введите имя группы, которое ещё не занято. + + + + Could not open old configuration file in order to migrate settings from it. + Невозможно открыть старый файл конфигурации для осуществления переноса настроек. + + + + Could not open current configuration file in order to migrate settings from old configuration file. + Невозможно открыть текущий файл конфигурации для переноса настроек из старого файла конфигурации. + + + + Could not commit migrated data into new configuration file: %1 + Невозможно записать перенесённые данные в новый файл конфигурации: %1 + + + + Could not read bug reports history from old configuration file in order to migrate it: %1 + Невозможно прочитать историю отчётов об ошибках из старого файла конфигурации для переноса: %1 + + + + Could not insert a bug reports history entry into new configuration file: %1 + Невозможно вставить историю отчётов об ошибках в новый файл конфигурации: %1 + + + + Could not read database list from old configuration file in order to migrate it: %1 + Невозможно прочитать список баз данных из старого файла конфигурации для переноса: %1 + + + + Could not query for available order for containing group in new configuration file in order to migrate the database list: %1 + Невозможно запросить доступное положение отдельной группы в новом файле конфигурации для переноса в неё списка баз данных: %1 + + + + Could not create containing group in new configuration file in order to migrate the database list: %1 + Невозможно создать отдельную группу в новом файле конфигурации для переноса в неё списка баз данных: %1 + + + + Could not insert a database entry into new configuration file: %1 + Невозможно вставить элемент списка баз данных в новый файл конфигурации: %1 + + + + Could not query for available order for next database in new configuration file in order to migrate the database list: %1 + Невозможно запросить доступное положение для следующей базы данных в новом файле конфигурации для переноса списка баз данных: %1 + + + + Could not create group referencing the database in new configuration file: %1 + Невозможно создать группу, ссылающуюся на базу данных в новом файле конфигурации: %1 + + + + Could not read function list from old configuration file in order to migrate it: %1 + Невозможно прочитать список функций из старого файла конфигурации для переноса: %1 + + + + Could not read SQL queries history from old configuration file in order to migrate it: %1 + Невозможно прочитать историю запросов SQL из старого файла конфигурации для переноса: %1 + + + + Could not read next ID for SQL queries history in new configuration file: %1 + Невозможно считать следующий ID для истории запросов SQL в новом файле конфигурации: %1 + + + + Could not insert SQL history entry into new configuration file: %1 + Невозможно вставить элемент истории запросов SQL в новый файл конфигурации: %1 + + + diff --git a/Plugins/ConfigMigration/ConfigMigration_sk.qm b/Plugins/ConfigMigration/ConfigMigration_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/Plugins/ConfigMigration/ConfigMigration_sk.qm differ diff --git a/Plugins/ConfigMigration/ConfigMigration_sk.ts b/Plugins/ConfigMigration/ConfigMigration_sk.ts new file mode 100644 index 0000000..84d3076 --- /dev/null +++ b/Plugins/ConfigMigration/ConfigMigration_sk.ts @@ -0,0 +1,150 @@ + + + + + ConfigMigration + + + A configuration from old SQLiteStudio 2.x.x has been detected. Would you like to migrate old settings into the current version? <a href="%1">Click here to do that</a>. + + + + + Bug reports history (%1) + + + + + Database list (%1) + + + + + Custom SQL functions (%1) + + + + + SQL queries history (%1) + + + + + ConfigMigrationWizard + + + Configuration migration + + + + + Items to migrate + + + + + This is a list of items found in the old configuration file, which can be migrated into the current configuration. + + + + + Options + + + + + Put imported databases into separate group + + + + + Group name + + + + + Enter a non-empty name. + + + + + Top level group named '%1' already exists. Enter a group name that does not exist yet. + + + + + Could not open old configuration file in order to migrate settings from it. + + + + + Could not open current configuration file in order to migrate settings from old configuration file. + + + + + Could not commit migrated data into new configuration file: %1 + + + + + Could not read bug reports history from old configuration file in order to migrate it: %1 + + + + + Could not insert a bug reports history entry into new configuration file: %1 + + + + + Could not read database list from old configuration file in order to migrate it: %1 + + + + + Could not query for available order for containing group in new configuration file in order to migrate the database list: %1 + + + + + Could not create containing group in new configuration file in order to migrate the database list: %1 + + + + + Could not insert a database entry into new configuration file: %1 + + + + + Could not query for available order for next database in new configuration file in order to migrate the database list: %1 + + + + + Could not create group referencing the database in new configuration file: %1 + + + + + Could not read function list from old configuration file in order to migrate it: %1 + + + + + Could not read SQL queries history from old configuration file in order to migrate it: %1 + + + + + Could not read next ID for SQL queries history in new configuration file: %1 + + + + + Could not insert SQL history entry into new configuration file: %1 + + + + diff --git a/Plugins/ConfigMigration/ConfigMigration_zh_CN.qm b/Plugins/ConfigMigration/ConfigMigration_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/Plugins/ConfigMigration/ConfigMigration_zh_CN.qm @@ -0,0 +1 @@ + + + + + ConfigMigration + + + A configuration from old SQLiteStudio 2.x.x has been detected. Would you like to migrate old settings into the current version? <a href="%1">Click here to do that</a>. + + + + + Bug reports history (%1) + + + + + Database list (%1) + + + + + Custom SQL functions (%1) + + + + + SQL queries history (%1) + + + + + ConfigMigrationWizard + + + Configuration migration + + + + + Items to migrate + + + + + This is a list of items found in the old configuration file, which can be migrated into the current configuration. + + + + + Options + + + + + Put imported databases into separate group + + + + + Group name + + + + + Enter a non-empty name. + + + + + Top level group named '%1' already exists. Enter a group name that does not exist yet. + + + + + Could not open old configuration file in order to migrate settings from it. + + + + + Could not open current configuration file in order to migrate settings from old configuration file. + + + + + Could not commit migrated data into new configuration file: %1 + + + + + Could not read bug reports history from old configuration file in order to migrate it: %1 + + + + + Could not insert a bug reports history entry into new configuration file: %1 + + + + + Could not read database list from old configuration file in order to migrate it: %1 + + + + + Could not query for available order for containing group in new configuration file in order to migrate the database list: %1 + + + + + Could not create containing group in new configuration file in order to migrate the database list: %1 + + + + + Could not insert a database entry into new configuration file: %1 + + + + + Could not query for available order for next database in new configuration file in order to migrate the database list: %1 + + + + + Could not create group referencing the database in new configuration file: %1 + + + + + Could not read function list from old configuration file in order to migrate it: %1 + + + + + Could not read SQL queries history from old configuration file in order to migrate it: %1 + + + + + Could not read next ID for SQL queries history in new configuration file: %1 + + + + + Could not insert SQL history entry into new configuration file: %1 + + + + diff --git a/Plugins/ConfigMigration/configmigration.qrc b/Plugins/ConfigMigration/configmigration.qrc index a46382a..af137f0 100644 --- a/Plugins/ConfigMigration/configmigration.qrc +++ b/Plugins/ConfigMigration/configmigration.qrc @@ -4,5 +4,7 @@ ConfigMigration_pl.qm + ConfigMigration_ru.qm + ConfigMigration_fr.qm diff --git a/Plugins/CsvExport/CsvExport.pro b/Plugins/CsvExport/CsvExport.pro index f1fccc6..1599a13 100644 --- a/Plugins/CsvExport/CsvExport.pro +++ b/Plugins/CsvExport/CsvExport.pro @@ -4,10 +4,10 @@ # #------------------------------------------------- -include($$PWD/../../SQLiteStudio3/plugins.pri) - QT -= gui +include($$PWD/../../SQLiteStudio3/plugins.pri) + TARGET = CsvExport TEMPLATE = lib @@ -29,5 +29,23 @@ RESOURCES += \ -TRANSLATIONS += CsvExport_pl.ts +TRANSLATIONS += CsvExport_zh_CN.ts \ + CsvExport_sk.ts \ + CsvExport_de.ts \ + CsvExport_ru.ts \ + CsvExport_pt_BR.ts \ + CsvExport_fr.ts \ + CsvExport_es.ts \ + CsvExport_pl.ts + + + + + + + + + + + diff --git a/Plugins/CsvExport/CsvExport_de.qm b/Plugins/CsvExport/CsvExport_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/CsvExport/CsvExport_de.qm differ diff --git a/Plugins/CsvExport/CsvExport_de.ts b/Plugins/CsvExport/CsvExport_de.ts new file mode 100644 index 0000000..f87bc99 --- /dev/null +++ b/Plugins/CsvExport/CsvExport_de.ts @@ -0,0 +1,57 @@ + + + + + CsvExport + + + Column names in first row + + + + + Column separator: + + + + + , (comma) + + + + + ; (semicolon) + + + + + \t (tab) + + + + + (whitespace) + + + + + Custom: + + + + + Export NULL values as: + + + + + Empty string + + + + + Enter the custom separator character. + + + + diff --git a/Plugins/CsvExport/CsvExport_es.qm b/Plugins/CsvExport/CsvExport_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/CsvExport/CsvExport_es.qm differ diff --git a/Plugins/CsvExport/CsvExport_es.ts b/Plugins/CsvExport/CsvExport_es.ts new file mode 100644 index 0000000..de3f0cb --- /dev/null +++ b/Plugins/CsvExport/CsvExport_es.ts @@ -0,0 +1,57 @@ + + + + + CsvExport + + + Column names in first row + + + + + Column separator: + + + + + , (comma) + + + + + ; (semicolon) + + + + + \t (tab) + + + + + (whitespace) + + + + + Custom: + + + + + Export NULL values as: + + + + + Empty string + + + + + Enter the custom separator character. + + + + diff --git a/Plugins/CsvExport/CsvExport_fr.qm b/Plugins/CsvExport/CsvExport_fr.qm new file mode 100644 index 0000000..aac5cfd Binary files /dev/null and b/Plugins/CsvExport/CsvExport_fr.qm differ diff --git a/Plugins/CsvExport/CsvExport_fr.ts b/Plugins/CsvExport/CsvExport_fr.ts new file mode 100644 index 0000000..b36745a --- /dev/null +++ b/Plugins/CsvExport/CsvExport_fr.ts @@ -0,0 +1,57 @@ + + + + + CsvExport + + + Column names in first row + Noms des colonnes dans la 1ère ligne + + + + Column separator: + Séparateur de colonnes: + + + + , (comma) + , (virgule) + + + + ; (semicolon) + ; (point virgule) + + + + \t (tab) + \t (tab) + + + + (whitespace) + (espace) + + + + Custom: + personnalisation: + + + + Export NULL values as: + Exporter la valeur NULL comme: + + + + Empty string + Chaine de caractères vide + + + + Enter the custom separator character. + Saisir le caractère séparateur personnalisé. + + + diff --git a/Plugins/CsvExport/CsvExport_pt_BR.qm b/Plugins/CsvExport/CsvExport_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/Plugins/CsvExport/CsvExport_pt_BR.qm differ diff --git a/Plugins/CsvExport/CsvExport_pt_BR.ts b/Plugins/CsvExport/CsvExport_pt_BR.ts new file mode 100644 index 0000000..8f3f678 --- /dev/null +++ b/Plugins/CsvExport/CsvExport_pt_BR.ts @@ -0,0 +1,57 @@ + + + + + CsvExport + + + Column names in first row + + + + + Column separator: + + + + + , (comma) + + + + + ; (semicolon) + + + + + \t (tab) + + + + + (whitespace) + + + + + Custom: + + + + + Export NULL values as: + + + + + Empty string + + + + + Enter the custom separator character. + + + + diff --git a/Plugins/CsvExport/CsvExport_ru.qm b/Plugins/CsvExport/CsvExport_ru.qm new file mode 100644 index 0000000..d21e86a Binary files /dev/null and b/Plugins/CsvExport/CsvExport_ru.qm differ diff --git a/Plugins/CsvExport/CsvExport_ru.ts b/Plugins/CsvExport/CsvExport_ru.ts new file mode 100644 index 0000000..230a06f --- /dev/null +++ b/Plugins/CsvExport/CsvExport_ru.ts @@ -0,0 +1,57 @@ + + + + + CsvExport + + + Column names in first row + Имена столбцов в первой строке + + + + Column separator: + Разделитель столбцов: + + + + , (comma) + , (запятая) + + + + ; (semicolon) + ; (точка с запятой) + + + + \t (tab) + \t (табуляция) + + + + (whitespace) + (пробел) + + + + Custom: + Произвольный: + + + + Export NULL values as: + Экспортировать значения NULL как: + + + + Empty string + Пустая строка + + + + Enter the custom separator character. + Введите произвольный символ разделителя. + + + diff --git a/Plugins/CsvExport/CsvExport_sk.qm b/Plugins/CsvExport/CsvExport_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/Plugins/CsvExport/CsvExport_sk.qm differ diff --git a/Plugins/CsvExport/CsvExport_sk.ts b/Plugins/CsvExport/CsvExport_sk.ts new file mode 100644 index 0000000..4a85fbd --- /dev/null +++ b/Plugins/CsvExport/CsvExport_sk.ts @@ -0,0 +1,57 @@ + + + + + CsvExport + + + Column names in first row + + + + + Column separator: + + + + + , (comma) + + + + + ; (semicolon) + + + + + \t (tab) + + + + + (whitespace) + + + + + Custom: + + + + + Export NULL values as: + + + + + Empty string + + + + + Enter the custom separator character. + + + + diff --git a/Plugins/CsvExport/CsvExport_zh_CN.qm b/Plugins/CsvExport/CsvExport_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/Plugins/CsvExport/CsvExport_zh_CN.qm @@ -0,0 +1 @@ + + + + + CsvExport + + + Column names in first row + + + + + Column separator: + + + + + , (comma) + + + + + ; (semicolon) + + + + + \t (tab) + + + + + (whitespace) + + + + + Custom: + + + + + Export NULL values as: + + + + + Empty string + + + + + Enter the custom separator character. + + + + diff --git a/Plugins/CsvExport/csvexport.qrc b/Plugins/CsvExport/csvexport.qrc index f72a0e4..2467458 100644 --- a/Plugins/CsvExport/csvexport.qrc +++ b/Plugins/CsvExport/csvexport.qrc @@ -4,5 +4,7 @@ CsvExport_pl.qm + CsvExport_ru.qm + CsvExport_fr.qm diff --git a/Plugins/CsvImport/CsvImport.pro b/Plugins/CsvImport/CsvImport.pro index fdd85b6..6ce08d1 100644 --- a/Plugins/CsvImport/CsvImport.pro +++ b/Plugins/CsvImport/CsvImport.pro @@ -4,10 +4,10 @@ # #------------------------------------------------- -include($$PWD/../../SQLiteStudio3/plugins.pri) - QT -= gui +include($$PWD/../../SQLiteStudio3/plugins.pri) + TARGET = CsvImport TEMPLATE = lib @@ -28,5 +28,23 @@ RESOURCES += \ csvimport.qrc -TRANSLATIONS += CsvImport_pl.ts +TRANSLATIONS += CsvImport_zh_CN.ts \ + CsvImport_sk.ts \ + CsvImport_de.ts \ + CsvImport_ru.ts \ + CsvImport_pt_BR.ts \ + CsvImport_fr.ts \ + CsvImport_es.ts \ + CsvImport_pl.ts + + + + + + + + + + + diff --git a/Plugins/CsvImport/CsvImportOptions.ui b/Plugins/CsvImport/CsvImportOptions.ui index ff06613..b5e8ceb 100644 --- a/Plugins/CsvImport/CsvImportOptions.ui +++ b/Plugins/CsvImport/CsvImportOptions.ui @@ -52,7 +52,7 @@ <p>Enable this if the first data line in your CSV file represents column names. You don't want column names to be imported into the table as a regular data.</p> - Skip first row of data + First line represents CSV column names CsvImport.FirstRowAsColumns diff --git a/Plugins/CsvImport/CsvImport_de.qm b/Plugins/CsvImport/CsvImport_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/CsvImport/CsvImport_de.qm differ diff --git a/Plugins/CsvImport/CsvImport_de.ts b/Plugins/CsvImport/CsvImport_de.ts new file mode 100644 index 0000000..04dc2c3 --- /dev/null +++ b/Plugins/CsvImport/CsvImport_de.ts @@ -0,0 +1,85 @@ + + + + + CsvImport + + + Cannot read file %1 + + + + + Could not find any data in the file %1. + + + + + Enter the custom separator character. + + + + + Enter the value that will be interpreted as a NULL. + + + + + CSV files (*.csv);;Text files (*.txt);;All files (*) + + + + + csvImportOptions + + + , (comma) + + + + + ; (semicolon) + + + + + \t (tab) + + + + + (whitespace) + + + + + Custom: + + + + + <p>Enable this if the first data line in your CSV file represents column names. You don't want column names to be imported into the table as a regular data.</p> + + + + + First line represents CSV column names + + + + + Field separator: + + + + + NULL values: + + + + + If your CSV data contains null values, define how are they represented in the CSV. + + + + diff --git a/Plugins/CsvImport/CsvImport_es.qm b/Plugins/CsvImport/CsvImport_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/CsvImport/CsvImport_es.qm differ diff --git a/Plugins/CsvImport/CsvImport_es.ts b/Plugins/CsvImport/CsvImport_es.ts new file mode 100644 index 0000000..6be4b48 --- /dev/null +++ b/Plugins/CsvImport/CsvImport_es.ts @@ -0,0 +1,85 @@ + + + + + CsvImport + + + Cannot read file %1 + + + + + Could not find any data in the file %1. + + + + + Enter the custom separator character. + + + + + Enter the value that will be interpreted as a NULL. + + + + + CSV files (*.csv);;Text files (*.txt);;All files (*) + + + + + csvImportOptions + + + , (comma) + + + + + ; (semicolon) + + + + + \t (tab) + + + + + (whitespace) + + + + + Custom: + + + + + <p>Enable this if the first data line in your CSV file represents column names. You don't want column names to be imported into the table as a regular data.</p> + + + + + First line represents CSV column names + + + + + Field separator: + + + + + NULL values: + + + + + If your CSV data contains null values, define how are they represented in the CSV. + + + + diff --git a/Plugins/CsvImport/CsvImport_fr.qm b/Plugins/CsvImport/CsvImport_fr.qm new file mode 100644 index 0000000..fd26433 Binary files /dev/null and b/Plugins/CsvImport/CsvImport_fr.qm differ diff --git a/Plugins/CsvImport/CsvImport_fr.ts b/Plugins/CsvImport/CsvImport_fr.ts new file mode 100644 index 0000000..66d7de9 --- /dev/null +++ b/Plugins/CsvImport/CsvImport_fr.ts @@ -0,0 +1,89 @@ + + + + + CsvImport + + + Cannot read file %1 + Impossible de lire le fichier %1 + + + + Could not find any data in the file %1. + Impossible de trouver des données dans le fichier %1. + + + + Enter the custom separator character. + Saisir le caractère séparateur. + + + + Enter the value that will be interpreted as a NULL. + Saisir la valeur qui sera interprétée comme NULL. + + + + CSV files (*.csv);;Text files (*.txt);;All files (*) + Fichiers CSV (*.csv);;Fichiers texte (*.txt);;Tous les fichiers (*) + + + + csvImportOptions + + + , (comma) + , (virgule) + + + + ; (semicolon) + ; (point virgule) + + + + \t (tab) + \t (tab) + + + + (whitespace) + (Espace) + + + + Custom: + Personalisé: + + + + <p>Enable this if the first data line in your CSV file represents column names. You don't want column names to be imported into the table as a regular data.</p> + <p>Ceci est possible si la permière ligne de votre fichier CSV représente le nom des colonnes.</p> + + + + First line represents CSV column names + + + + Skip first row of data + Aller à la première ligne de données + + + + Field separator: + Champ séparateur: + + + + NULL values: + Valeurs NULL: + + + + If your CSV data contains null values, define how are they represented in the CSV. + Si votre CSV de données contient des valeurs nulles, définissez leur représentation dans le CSV. + + + diff --git a/Plugins/CsvImport/CsvImport_pl.qm b/Plugins/CsvImport/CsvImport_pl.qm index 2e0a4e0..7a63ef3 100644 Binary files a/Plugins/CsvImport/CsvImport_pl.qm and b/Plugins/CsvImport/CsvImport_pl.qm differ diff --git a/Plugins/CsvImport/CsvImport_pl.ts b/Plugins/CsvImport/CsvImport_pl.ts index ca9a7aa..7b9494f 100644 --- a/Plugins/CsvImport/CsvImport_pl.ts +++ b/Plugins/CsvImport/CsvImport_pl.ts @@ -63,8 +63,12 @@ + First line represents CSV column names + Pierwsza linia reprezentuje nazwy kolumn CSV + + Skip first row of data - Pomiń pierwszy wiersz danych + Pomiń pierwszy wiersz danych First row represents column names diff --git a/Plugins/CsvImport/CsvImport_pt_BR.qm b/Plugins/CsvImport/CsvImport_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/Plugins/CsvImport/CsvImport_pt_BR.qm differ diff --git a/Plugins/CsvImport/CsvImport_pt_BR.ts b/Plugins/CsvImport/CsvImport_pt_BR.ts new file mode 100644 index 0000000..b01222f --- /dev/null +++ b/Plugins/CsvImport/CsvImport_pt_BR.ts @@ -0,0 +1,85 @@ + + + + + CsvImport + + + Cannot read file %1 + + + + + Could not find any data in the file %1. + + + + + Enter the custom separator character. + + + + + Enter the value that will be interpreted as a NULL. + + + + + CSV files (*.csv);;Text files (*.txt);;All files (*) + + + + + csvImportOptions + + + , (comma) + + + + + ; (semicolon) + + + + + \t (tab) + + + + + (whitespace) + + + + + Custom: + + + + + <p>Enable this if the first data line in your CSV file represents column names. You don't want column names to be imported into the table as a regular data.</p> + + + + + First line represents CSV column names + + + + + Field separator: + + + + + NULL values: + + + + + If your CSV data contains null values, define how are they represented in the CSV. + + + + diff --git a/Plugins/CsvImport/CsvImport_ru.qm b/Plugins/CsvImport/CsvImport_ru.qm new file mode 100644 index 0000000..0202276 Binary files /dev/null and b/Plugins/CsvImport/CsvImport_ru.qm differ diff --git a/Plugins/CsvImport/CsvImport_ru.ts b/Plugins/CsvImport/CsvImport_ru.ts new file mode 100644 index 0000000..a38f2d1 --- /dev/null +++ b/Plugins/CsvImport/CsvImport_ru.ts @@ -0,0 +1,89 @@ + + + + + CsvImport + + + Cannot read file %1 + Невозможно прочитать файл %1 + + + + Could not find any data in the file %1. + Невозможно найти данные в файле %1. + + + + Enter the custom separator character. + Введите произвольный символ разделителя. + + + + Enter the value that will be interpreted as a NULL. + Введите значение, которое будет интерпретировано как NULL. + + + + CSV files (*.csv);;Text files (*.txt);;All files (*) + Файлы CSV (*.csv);;Текстовые файлы (*.txt);;Все файлы (*) + + + + csvImportOptions + + + , (comma) + , (запятая) + + + + ; (semicolon) + ; (точка с запятой) + + + + \t (tab) + \t (табуляция) + + + + (whitespace) + (пробел) + + + + Custom: + Произвольный: + + + + <p>Enable this if the first data line in your CSV file represents column names. You don't want column names to be imported into the table as a regular data.</p> + <p>Активируйте эту опцию, если в первой строке файла CSV содержатся имена столбцов. Имена столбцов не нужно импортировать как обычные данные.</p> + + + + First line represents CSV column names + + + + Skip first row of data + Пропустить первую строку данных + + + + Field separator: + Разделитель поля: + + + + NULL values: + Значения NULL: + + + + If your CSV data contains null values, define how are they represented in the CSV. + Если данные в CSV содержат значения NULL, укажите, как они представлены в файле CSV + + + diff --git a/Plugins/CsvImport/CsvImport_sk.qm b/Plugins/CsvImport/CsvImport_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/Plugins/CsvImport/CsvImport_sk.qm differ diff --git a/Plugins/CsvImport/CsvImport_sk.ts b/Plugins/CsvImport/CsvImport_sk.ts new file mode 100644 index 0000000..c402357 --- /dev/null +++ b/Plugins/CsvImport/CsvImport_sk.ts @@ -0,0 +1,85 @@ + + + + + CsvImport + + + Cannot read file %1 + + + + + Could not find any data in the file %1. + + + + + Enter the custom separator character. + + + + + Enter the value that will be interpreted as a NULL. + + + + + CSV files (*.csv);;Text files (*.txt);;All files (*) + + + + + csvImportOptions + + + , (comma) + + + + + ; (semicolon) + + + + + \t (tab) + + + + + (whitespace) + + + + + Custom: + + + + + <p>Enable this if the first data line in your CSV file represents column names. You don't want column names to be imported into the table as a regular data.</p> + + + + + First line represents CSV column names + + + + + Field separator: + + + + + NULL values: + + + + + If your CSV data contains null values, define how are they represented in the CSV. + + + + diff --git a/Plugins/CsvImport/CsvImport_zh_CN.qm b/Plugins/CsvImport/CsvImport_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/Plugins/CsvImport/CsvImport_zh_CN.qm @@ -0,0 +1 @@ + + + + + CsvImport + + + Cannot read file %1 + + + + + Could not find any data in the file %1. + + + + + Enter the custom separator character. + + + + + Enter the value that will be interpreted as a NULL. + + + + + CSV files (*.csv);;Text files (*.txt);;All files (*) + + + + + csvImportOptions + + + , (comma) + + + + + ; (semicolon) + + + + + \t (tab) + + + + + (whitespace) + + + + + Custom: + + + + + <p>Enable this if the first data line in your CSV file represents column names. You don't want column names to be imported into the table as a regular data.</p> + + + + + First line represents CSV column names + + + + + Field separator: + + + + + NULL values: + + + + + If your CSV data contains null values, define how are they represented in the CSV. + + + + diff --git a/Plugins/CsvImport/csvimport.json b/Plugins/CsvImport/csvimport.json index a2bf5f8..f6280fe 100644 --- a/Plugins/CsvImport/csvimport.json +++ b/Plugins/CsvImport/csvimport.json @@ -2,6 +2,6 @@ "type": "ImportPlugin", "title": "CSV import", "description": "CSV format support for importing data", - "version": 10001, + "version": 10002, "author": "SalSoft" } diff --git a/Plugins/CsvImport/csvimport.qrc b/Plugins/CsvImport/csvimport.qrc index 727237d..b65feb0 100644 --- a/Plugins/CsvImport/csvimport.qrc +++ b/Plugins/CsvImport/csvimport.qrc @@ -4,5 +4,7 @@ CsvImport_pl.qm + CsvImport_ru.qm + CsvImport_fr.qm diff --git a/Plugins/DbSqlite2/DbSqlite2.pro b/Plugins/DbSqlite2/DbSqlite2.pro index 656bd5d..de31058 100644 --- a/Plugins/DbSqlite2/DbSqlite2.pro +++ b/Plugins/DbSqlite2/DbSqlite2.pro @@ -4,10 +4,10 @@ # #------------------------------------------------- -include($$PWD/../../SQLiteStudio3/plugins.pri) - QT -= gui +include($$PWD/../../SQLiteStudio3/plugins.pri) + TARGET = DbSqlite2 TEMPLATE = lib @@ -24,3 +24,14 @@ LIBS += -lsqlite OTHER_FILES += \ dbsqlite2.json + + + + + + + + + + + diff --git a/Plugins/HtmlExport/HtmlExport.pro b/Plugins/HtmlExport/HtmlExport.pro index c4f7468..8f3578e 100644 --- a/Plugins/HtmlExport/HtmlExport.pro +++ b/Plugins/HtmlExport/HtmlExport.pro @@ -4,10 +4,10 @@ # #------------------------------------------------- -include($$PWD/../../SQLiteStudio3/plugins.pri) - QT -= gui +include($$PWD/../../SQLiteStudio3/plugins.pri) + TARGET = HtmlExport TEMPLATE = lib @@ -29,5 +29,23 @@ FORMS += \ htmlexport.ui -TRANSLATIONS += HtmlExport_pl.ts +TRANSLATIONS += HtmlExport_zh_CN.ts \ + HtmlExport_sk.ts \ + HtmlExport_de.ts \ + HtmlExport_ru.ts \ + HtmlExport_pt_BR.ts \ + HtmlExport_fr.ts \ + HtmlExport_es.ts \ + HtmlExport_pl.ts + + + + + + + + + + + diff --git a/Plugins/HtmlExport/HtmlExport_de.qm b/Plugins/HtmlExport/HtmlExport_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/HtmlExport/HtmlExport_de.qm differ diff --git a/Plugins/HtmlExport/HtmlExport_de.ts b/Plugins/HtmlExport/HtmlExport_de.ts new file mode 100644 index 0000000..2f2ed17 --- /dev/null +++ b/Plugins/HtmlExport/HtmlExport_de.ts @@ -0,0 +1,173 @@ + + + + + HtmlExport + + + SQL query results + + + + + + no type + + + + + + Exported table: %1 + + + + + + Table: %1 + + + + + virtual + + + + + Exported database: %1 + + + + + Index: %1 + + + + + For table: + + + + + Unique: + + + + + Yes + + + + + No + + + + + Column + + + + + Collating + + + + + Sort order + + + + + Trigger: %1 + + + + + Activated: + + + + + Action: + + + + + On view: + + + + + On table: + + + + + Activate condition: + + + + + Code executed: + + + + + View: %1 + + + + + Document generated by SQLiteStudio v%1 on %2 + + + + + HtmlExportConfig + + + Maximum number of characters per cell: + + + + + Include data types in first row + + + + + Column names as first row + + + + + Row numbers as first column + + + + + Output format + + + + + Format document (new lines, indentation) + + + + + Compress (everything in one line) + + + + + <p>When enabled, HTML characters such as &lt;, &gt; and &amp; are not escaped in exported values. This allows you for example to export hyper-link enabled documents, but it also may result in incorrect HTML document (unmatched pairs of &lt; and &gt; characters). Be warned.</p> + + + + + Don't escape HTML characters + + + + diff --git a/Plugins/HtmlExport/HtmlExport_es.qm b/Plugins/HtmlExport/HtmlExport_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/HtmlExport/HtmlExport_es.qm differ diff --git a/Plugins/HtmlExport/HtmlExport_es.ts b/Plugins/HtmlExport/HtmlExport_es.ts new file mode 100644 index 0000000..970ee6c --- /dev/null +++ b/Plugins/HtmlExport/HtmlExport_es.ts @@ -0,0 +1,173 @@ + + + + + HtmlExport + + + SQL query results + + + + + + no type + + + + + + Exported table: %1 + + + + + + Table: %1 + + + + + virtual + + + + + Exported database: %1 + + + + + Index: %1 + + + + + For table: + + + + + Unique: + + + + + Yes + + + + + No + + + + + Column + + + + + Collating + + + + + Sort order + + + + + Trigger: %1 + + + + + Activated: + + + + + Action: + + + + + On view: + + + + + On table: + + + + + Activate condition: + + + + + Code executed: + + + + + View: %1 + + + + + Document generated by SQLiteStudio v%1 on %2 + + + + + HtmlExportConfig + + + Maximum number of characters per cell: + + + + + Include data types in first row + + + + + Column names as first row + + + + + Row numbers as first column + + + + + Output format + + + + + Format document (new lines, indentation) + + + + + Compress (everything in one line) + + + + + <p>When enabled, HTML characters such as &lt;, &gt; and &amp; are not escaped in exported values. This allows you for example to export hyper-link enabled documents, but it also may result in incorrect HTML document (unmatched pairs of &lt; and &gt; characters). Be warned.</p> + + + + + Don't escape HTML characters + + + + diff --git a/Plugins/HtmlExport/HtmlExport_fr.qm b/Plugins/HtmlExport/HtmlExport_fr.qm new file mode 100644 index 0000000..98606eb Binary files /dev/null and b/Plugins/HtmlExport/HtmlExport_fr.qm differ diff --git a/Plugins/HtmlExport/HtmlExport_fr.ts b/Plugins/HtmlExport/HtmlExport_fr.ts new file mode 100644 index 0000000..6fe39b9 --- /dev/null +++ b/Plugins/HtmlExport/HtmlExport_fr.ts @@ -0,0 +1,173 @@ + + + + + HtmlExport + + + SQL query results + Résultats de la requête SQL + + + + + no type + Aucun type + + + + + Exported table: %1 + Table exportée: %1 + + + + + Table: %1 + Table: %1 + + + + virtual + virtuel + + + + Exported database: %1 + Base de données exportée: %1 + + + + Index: %1 + Index: %1 + + + + For table: + Pour la table: + + + + Unique: + Unique: + + + + Yes + Oui + + + + No + Non + + + + Column + Colonne + + + + Collating + Collation + + + + Sort order + Ordre de tri + + + + Trigger: %1 + Déclencheur: %1 + + + + Activated: + Activé: + + + + Action: + Action: + + + + On view: + Sur la vue: + + + + On table: + Sur la table: + + + + Activate condition: + Activé la condition: + + + + Code executed: + Exécuter le code: + + + + View: %1 + Vue: %1 + + + + Document generated by SQLiteStudio v%1 on %2 + Document généré par SQLiteStudio v%1 de %2 + + + + HtmlExportConfig + + + Maximum number of characters per cell: + Nombre de caractères maximum par cellule: + + + + Include data types in first row + Types données incluses dans la première ligne + + + + Column names as first row + Nom des colonnes dans la première ligne + + + + Row numbers as first column + Numero de ligne dans la première colonne + + + + Output format + Format d'affichage + + + + Format document (new lines, indentation) + Format document (nouvelles ligne, indentation) + + + + Compress (everything in one line) + Condensé (tout en une ligne) + + + + <p>When enabled, HTML characters such as &lt;, &gt; and &amp; are not escaped in exported values. This allows you for example to export hyper-link enabled documents, but it also may result in incorrect HTML document (unmatched pairs of &lt; and &gt; characters). Be warned.</p> + <p>Lorsqu'il y a des caractères HTML telque &lt;, &gt; et &amp;ils ne sont pas enlevés des valeurs exportées. This allows you for example to export hyper-link enabled documents, but it also may result in incorrect HTML document (unmatched pairs of &lt; and &gt; characters).Soyez attentif.</p> + + + + Don't escape HTML characters + N'enlevez pas les caractères HTML + + + diff --git a/Plugins/HtmlExport/HtmlExport_pt_BR.qm b/Plugins/HtmlExport/HtmlExport_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/Plugins/HtmlExport/HtmlExport_pt_BR.qm differ diff --git a/Plugins/HtmlExport/HtmlExport_pt_BR.ts b/Plugins/HtmlExport/HtmlExport_pt_BR.ts new file mode 100644 index 0000000..86b0993 --- /dev/null +++ b/Plugins/HtmlExport/HtmlExport_pt_BR.ts @@ -0,0 +1,173 @@ + + + + + HtmlExport + + + SQL query results + + + + + + no type + + + + + + Exported table: %1 + + + + + + Table: %1 + + + + + virtual + + + + + Exported database: %1 + + + + + Index: %1 + + + + + For table: + + + + + Unique: + + + + + Yes + + + + + No + + + + + Column + + + + + Collating + + + + + Sort order + + + + + Trigger: %1 + + + + + Activated: + + + + + Action: + + + + + On view: + + + + + On table: + + + + + Activate condition: + + + + + Code executed: + + + + + View: %1 + + + + + Document generated by SQLiteStudio v%1 on %2 + + + + + HtmlExportConfig + + + Maximum number of characters per cell: + + + + + Include data types in first row + + + + + Column names as first row + + + + + Row numbers as first column + + + + + Output format + + + + + Format document (new lines, indentation) + + + + + Compress (everything in one line) + + + + + <p>When enabled, HTML characters such as &lt;, &gt; and &amp; are not escaped in exported values. This allows you for example to export hyper-link enabled documents, but it also may result in incorrect HTML document (unmatched pairs of &lt; and &gt; characters). Be warned.</p> + + + + + Don't escape HTML characters + + + + diff --git a/Plugins/HtmlExport/HtmlExport_ru.qm b/Plugins/HtmlExport/HtmlExport_ru.qm new file mode 100644 index 0000000..a595ca1 Binary files /dev/null and b/Plugins/HtmlExport/HtmlExport_ru.qm differ diff --git a/Plugins/HtmlExport/HtmlExport_ru.ts b/Plugins/HtmlExport/HtmlExport_ru.ts new file mode 100644 index 0000000..a62e54b --- /dev/null +++ b/Plugins/HtmlExport/HtmlExport_ru.ts @@ -0,0 +1,173 @@ + + + + + HtmlExport + + + SQL query results + Реузльтаты запроса SQL + + + + + no type + без типа + + + + + Exported table: %1 + Экспортированная таблица: %1 + + + + + Table: %1 + Таблица: %1 + + + + virtual + виртуальная + + + + Exported database: %1 + Экспортированная база данных: %1 + + + + Index: %1 + Индекс: %1 + + + + For table: + Для таблицы: + + + + Unique: + Уникальный: + + + + Yes + Да + + + + No + Нет + + + + Column + Столбец + + + + Collating + Сравнение + + + + Sort order + Порядок сортировки + + + + Trigger: %1 + Триггер: %1 + + + + Activated: + Активирован: + + + + Action: + Действие: + + + + On view: + Для представления: + + + + On table: + Для таблицы: + + + + Activate condition: + Условие активации: + + + + Code executed: + Исполненный код: + + + + View: %1 + Представление: %1 + + + + Document generated by SQLiteStudio v%1 on %2 + Документ сгенерирован с помощью SQLiteStudio v%1 в %2 + + + + HtmlExportConfig + + + Maximum number of characters per cell: + Максимальное количество символов в ячейке: + + + + Include data types in first row + Включить типы данных в первую строку + + + + Column names as first row + Имена столбцов в первой строке + + + + Row numbers as first column + Номера строк в первом столбце + + + + Output format + Выходной формат + + + + Format document (new lines, indentation) + Форматировать документ (переносы строк, отступы) + + + + Compress (everything in one line) + Сжать (всё в одну строку) + + + + <p>When enabled, HTML characters such as &lt;, &gt; and &amp; are not escaped in exported values. This allows you for example to export hyper-link enabled documents, but it also may result in incorrect HTML document (unmatched pairs of &lt; and &gt; characters). Be warned.</p> + <p>Когда опция активирована, символы HTML, такие как &lt;, &gt; и &amp;, не экранируются в экспортируемых значениях. Это позволяет, к примеру, создавать документы со ссылками, но также может привести к порче документа HTML (при незакрытых символах &lt; и &gt;). Будьте внимательны.</p> + + + + Don't escape HTML characters + Не экранировать символы HTML + + + diff --git a/Plugins/HtmlExport/HtmlExport_sk.qm b/Plugins/HtmlExport/HtmlExport_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/Plugins/HtmlExport/HtmlExport_sk.qm differ diff --git a/Plugins/HtmlExport/HtmlExport_sk.ts b/Plugins/HtmlExport/HtmlExport_sk.ts new file mode 100644 index 0000000..66e64d7 --- /dev/null +++ b/Plugins/HtmlExport/HtmlExport_sk.ts @@ -0,0 +1,173 @@ + + + + + HtmlExport + + + SQL query results + + + + + + no type + + + + + + Exported table: %1 + + + + + + Table: %1 + + + + + virtual + + + + + Exported database: %1 + + + + + Index: %1 + + + + + For table: + + + + + Unique: + + + + + Yes + + + + + No + + + + + Column + + + + + Collating + + + + + Sort order + + + + + Trigger: %1 + + + + + Activated: + + + + + Action: + + + + + On view: + + + + + On table: + + + + + Activate condition: + + + + + Code executed: + + + + + View: %1 + + + + + Document generated by SQLiteStudio v%1 on %2 + + + + + HtmlExportConfig + + + Maximum number of characters per cell: + + + + + Include data types in first row + + + + + Column names as first row + + + + + Row numbers as first column + + + + + Output format + + + + + Format document (new lines, indentation) + + + + + Compress (everything in one line) + + + + + <p>When enabled, HTML characters such as &lt;, &gt; and &amp; are not escaped in exported values. This allows you for example to export hyper-link enabled documents, but it also may result in incorrect HTML document (unmatched pairs of &lt; and &gt; characters). Be warned.</p> + + + + + Don't escape HTML characters + + + + diff --git a/Plugins/HtmlExport/HtmlExport_zh_CN.qm b/Plugins/HtmlExport/HtmlExport_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/Plugins/HtmlExport/HtmlExport_zh_CN.qm @@ -0,0 +1 @@ + + + + + HtmlExport + + + SQL query results + + + + + + no type + + + + + + Exported table: %1 + + + + + + Table: %1 + + + + + virtual + + + + + Exported database: %1 + + + + + Index: %1 + + + + + For table: + + + + + Unique: + + + + + Yes + + + + + No + + + + + Column + + + + + Collating + + + + + Sort order + + + + + Trigger: %1 + + + + + Activated: + + + + + Action: + + + + + On view: + + + + + On table: + + + + + Activate condition: + + + + + Code executed: + + + + + View: %1 + + + + + Document generated by SQLiteStudio v%1 on %2 + + + + + HtmlExportConfig + + + Maximum number of characters per cell: + + + + + Include data types in first row + + + + + Column names as first row + + + + + Row numbers as first column + + + + + Output format + + + + + Format document (new lines, indentation) + + + + + Compress (everything in one line) + + + + + <p>When enabled, HTML characters such as &lt;, &gt; and &amp; are not escaped in exported values. This allows you for example to export hyper-link enabled documents, but it also may result in incorrect HTML document (unmatched pairs of &lt; and &gt; characters). Be warned.</p> + + + + + Don't escape HTML characters + + + + diff --git a/Plugins/HtmlExport/htmlexport.qrc b/Plugins/HtmlExport/htmlexport.qrc index 8756c61..d7b8c64 100644 --- a/Plugins/HtmlExport/htmlexport.qrc +++ b/Plugins/HtmlExport/htmlexport.qrc @@ -7,5 +7,7 @@ HtmlExport_pl.qm + HtmlExport_ru.qm + HtmlExport_fr.qm diff --git a/Plugins/JsonExport/JsonExport.pro b/Plugins/JsonExport/JsonExport.pro index c259664..6f8ae18 100644 --- a/Plugins/JsonExport/JsonExport.pro +++ b/Plugins/JsonExport/JsonExport.pro @@ -4,10 +4,10 @@ # #------------------------------------------------- -include($$PWD/../../SQLiteStudio3/plugins.pri) - QT -= gui +include($$PWD/../../SQLiteStudio3/plugins.pri) + TARGET = JsonExport TEMPLATE = lib @@ -28,5 +28,23 @@ RESOURCES += \ jsonexport.qrc -TRANSLATIONS += JsonExport_pl.ts +TRANSLATIONS += JsonExport_zh_CN.ts \ + JsonExport_sk.ts \ + JsonExport_de.ts \ + JsonExport_ru.ts \ + JsonExport_pt_BR.ts \ + JsonExport_fr.ts \ + JsonExport_es.ts \ + JsonExport_pl.ts + + + + + + + + + + + diff --git a/Plugins/JsonExport/JsonExport_de.qm b/Plugins/JsonExport/JsonExport_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/JsonExport/JsonExport_de.qm differ diff --git a/Plugins/JsonExport/JsonExport_de.ts b/Plugins/JsonExport/JsonExport_de.ts new file mode 100644 index 0000000..e345feb --- /dev/null +++ b/Plugins/JsonExport/JsonExport_de.ts @@ -0,0 +1,22 @@ + + + + + JsonExportConfig + + + Output format + + + + + Format document (new lines, indentation) + + + + + Compress (everything in one line) + + + + diff --git a/Plugins/JsonExport/JsonExport_es.qm b/Plugins/JsonExport/JsonExport_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/JsonExport/JsonExport_es.qm differ diff --git a/Plugins/JsonExport/JsonExport_es.ts b/Plugins/JsonExport/JsonExport_es.ts new file mode 100644 index 0000000..e93d0ff --- /dev/null +++ b/Plugins/JsonExport/JsonExport_es.ts @@ -0,0 +1,22 @@ + + + + + JsonExportConfig + + + Output format + + + + + Format document (new lines, indentation) + + + + + Compress (everything in one line) + + + + diff --git a/Plugins/JsonExport/JsonExport_fr.qm b/Plugins/JsonExport/JsonExport_fr.qm new file mode 100644 index 0000000..094764b Binary files /dev/null and b/Plugins/JsonExport/JsonExport_fr.qm differ diff --git a/Plugins/JsonExport/JsonExport_fr.ts b/Plugins/JsonExport/JsonExport_fr.ts new file mode 100644 index 0000000..cb53aff --- /dev/null +++ b/Plugins/JsonExport/JsonExport_fr.ts @@ -0,0 +1,22 @@ + + + + + JsonExportConfig + + + Output format + Format d'affichage + + + + Format document (new lines, indentation) + Format document (nouvelle lignes, indentation) + + + + Compress (everything in one line) + Condensé(tout sur une ligne) + + + diff --git a/Plugins/JsonExport/JsonExport_pt_BR.qm b/Plugins/JsonExport/JsonExport_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/Plugins/JsonExport/JsonExport_pt_BR.qm differ diff --git a/Plugins/JsonExport/JsonExport_pt_BR.ts b/Plugins/JsonExport/JsonExport_pt_BR.ts new file mode 100644 index 0000000..53480f6 --- /dev/null +++ b/Plugins/JsonExport/JsonExport_pt_BR.ts @@ -0,0 +1,22 @@ + + + + + JsonExportConfig + + + Output format + + + + + Format document (new lines, indentation) + + + + + Compress (everything in one line) + + + + diff --git a/Plugins/JsonExport/JsonExport_ru.qm b/Plugins/JsonExport/JsonExport_ru.qm new file mode 100644 index 0000000..57acd3e Binary files /dev/null and b/Plugins/JsonExport/JsonExport_ru.qm differ diff --git a/Plugins/JsonExport/JsonExport_ru.ts b/Plugins/JsonExport/JsonExport_ru.ts new file mode 100644 index 0000000..5419206 --- /dev/null +++ b/Plugins/JsonExport/JsonExport_ru.ts @@ -0,0 +1,22 @@ + + + + + JsonExportConfig + + + Output format + Выходной формат + + + + Format document (new lines, indentation) + Форматировать документ (переносы строк, отступы) + + + + Compress (everything in one line) + Сжать (всё в одну строку) + + + diff --git a/Plugins/JsonExport/JsonExport_sk.qm b/Plugins/JsonExport/JsonExport_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/Plugins/JsonExport/JsonExport_sk.qm differ diff --git a/Plugins/JsonExport/JsonExport_sk.ts b/Plugins/JsonExport/JsonExport_sk.ts new file mode 100644 index 0000000..6fd3228 --- /dev/null +++ b/Plugins/JsonExport/JsonExport_sk.ts @@ -0,0 +1,22 @@ + + + + + JsonExportConfig + + + Output format + + + + + Format document (new lines, indentation) + + + + + Compress (everything in one line) + + + + diff --git a/Plugins/JsonExport/JsonExport_zh_CN.qm b/Plugins/JsonExport/JsonExport_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/Plugins/JsonExport/JsonExport_zh_CN.qm @@ -0,0 +1 @@ + + + + + JsonExportConfig + + + Output format + + + + + Format document (new lines, indentation) + + + + + Compress (everything in one line) + + + + diff --git a/Plugins/JsonExport/jsonexport.qrc b/Plugins/JsonExport/jsonexport.qrc index c9c8b78..7899199 100644 --- a/Plugins/JsonExport/jsonexport.qrc +++ b/Plugins/JsonExport/jsonexport.qrc @@ -4,5 +4,7 @@ JsonExport_pl.qm + JsonExport_ru.qm + JsonExport_fr.qm diff --git a/Plugins/PdfExport/PdfExport.pro b/Plugins/PdfExport/PdfExport.pro index 598e23c..ff86d24 100644 --- a/Plugins/PdfExport/PdfExport.pro +++ b/Plugins/PdfExport/PdfExport.pro @@ -26,5 +26,23 @@ RESOURCES += \ pdfexport.qrc -TRANSLATIONS += PdfExport_pl.ts +TRANSLATIONS += PdfExport_zh_CN.ts \ + PdfExport_sk.ts \ + PdfExport_de.ts \ + PdfExport_ru.ts \ + PdfExport_pt_BR.ts \ + PdfExport_fr.ts \ + PdfExport_es.ts \ + PdfExport_pl.ts + + + + + + + + + + + diff --git a/Plugins/PdfExport/PdfExport_de.qm b/Plugins/PdfExport/PdfExport_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/PdfExport/PdfExport_de.qm differ diff --git a/Plugins/PdfExport/PdfExport_de.ts b/Plugins/PdfExport/PdfExport_de.ts new file mode 100644 index 0000000..6b9f49f --- /dev/null +++ b/Plugins/PdfExport/PdfExport_de.ts @@ -0,0 +1,256 @@ + + + + + PdfExport + + + SQLiteStudio v%1 + + + + + SQL query results + + + + + + Exported table: %1 + + + + + + Table: %1 + + + + + + Column + + + + + Data type + + + + + Constraints + + + + + Global table constraints + + + + + Exported database: %1 + + + + + Index: %1 + + + + + Property + index header + + + + + Value + index header + + + + + Indexed table + + + + + Unique index + + + + + Yes + + + + + No + + + + + Collation + + + + + Sort order + + + + + Partial index condition + + + + + Trigger: %1 + + + + + Property + trigger header + + + + + Value + trigger header + + + + + Activation time + + + + + For action + + + + + On view + + + + + On table + + + + + Activation condition + + + + + Code executed + + + + + View: %1 + + + + + Query: + + + + + Document generated with SQLiteStudio v%1 + + + + + PdfExportConfig + + + Size and layout + + + + + Page size: + + + + + Right margin: + + + + + Left margin: + + + + + Cell padding: + + + + + Limit characters in single cell: + + + + + + + + + mm + + + + + Bottom margin: + + + + + Top margin: + + + + + Font + + + + + Colors + + + + + Headers background: + + + + + NULL value color: + + + + + Other settings + + + + + Print row numbers for data + + + + + Print page numbers + + + + diff --git a/Plugins/PdfExport/PdfExport_es.qm b/Plugins/PdfExport/PdfExport_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/PdfExport/PdfExport_es.qm differ diff --git a/Plugins/PdfExport/PdfExport_es.ts b/Plugins/PdfExport/PdfExport_es.ts new file mode 100644 index 0000000..924d991 --- /dev/null +++ b/Plugins/PdfExport/PdfExport_es.ts @@ -0,0 +1,256 @@ + + + + + PdfExport + + + SQLiteStudio v%1 + + + + + SQL query results + + + + + + Exported table: %1 + + + + + + Table: %1 + + + + + + Column + + + + + Data type + + + + + Constraints + + + + + Global table constraints + + + + + Exported database: %1 + + + + + Index: %1 + + + + + Property + index header + + + + + Value + index header + + + + + Indexed table + + + + + Unique index + + + + + Yes + + + + + No + + + + + Collation + + + + + Sort order + + + + + Partial index condition + + + + + Trigger: %1 + + + + + Property + trigger header + + + + + Value + trigger header + + + + + Activation time + + + + + For action + + + + + On view + + + + + On table + + + + + Activation condition + + + + + Code executed + + + + + View: %1 + + + + + Query: + + + + + Document generated with SQLiteStudio v%1 + + + + + PdfExportConfig + + + Size and layout + + + + + Page size: + + + + + Right margin: + + + + + Left margin: + + + + + Cell padding: + + + + + Limit characters in single cell: + + + + + + + + + mm + + + + + Bottom margin: + + + + + Top margin: + + + + + Font + + + + + Colors + + + + + Headers background: + + + + + NULL value color: + + + + + Other settings + + + + + Print row numbers for data + + + + + Print page numbers + + + + diff --git a/Plugins/PdfExport/PdfExport_fr.qm b/Plugins/PdfExport/PdfExport_fr.qm new file mode 100644 index 0000000..8e38561 Binary files /dev/null and b/Plugins/PdfExport/PdfExport_fr.qm differ diff --git a/Plugins/PdfExport/PdfExport_fr.ts b/Plugins/PdfExport/PdfExport_fr.ts new file mode 100644 index 0000000..576d257 --- /dev/null +++ b/Plugins/PdfExport/PdfExport_fr.ts @@ -0,0 +1,256 @@ + + + + + PdfExport + + + SQLiteStudio v%1 + SQLiteStudio v%1 + + + + SQL query results + Résultats de la requête SQL + + + + + Exported table: %1 + Table exportée: %1 + + + + + Table: %1 + Table: %1 + + + + + Column + Colonne + + + + Data type + Type de données + + + + Constraints + Contraintes + + + + Global table constraints + Contraintes globales de la table + + + + Exported database: %1 + Base de données exportée: %1 + + + + Index: %1 + Index: %1 + + + + Property + index header + Proprièté + + + + Value + index header + Valeur + + + + Indexed table + Table indexées + + + + Unique index + Index unique + + + + Yes + Oui + + + + No + Non + + + + Collation + Collation + + + + Sort order + Ordre de tri + + + + Partial index condition + Condition de l'index partiel + + + + Trigger: %1 + Déchencheur: %1 + + + + Property + trigger header + Proprièté + + + + Value + trigger header + Valeur + + + + Activation time + Activation temps + + + + For action + Pour action + + + + On view + De la vue + + + + On table + De la vue + + + + Activation condition + Activation de la condition + + + + Code executed + Code exécuté + + + + View: %1 + Vue: %1 + + + + Query: + Requête: + + + + Document generated with SQLiteStudio v%1 + Documentation générée avec SQLiteStudio v%1 + + + + PdfExportConfig + + + Size and layout + Dimension et mise en page + + + + Page size: + Dimension page: + + + + Right margin: + Marge droite: + + + + Left margin: + Marge gauche: + + + + Cell padding: + Remplissage cellule: + + + + Limit characters in single cell: + Limite de caractères dans une cellule unique: + + + + + + + + mm + mm + + + + Bottom margin: + Marge inférieure: + + + + Top margin: + Marge supérieure: + + + + Font + Police + + + + Colors + Couleurs + + + + Headers background: + Arrière plan des en-têtes: + + + + NULL value color: + Couleur pour valeur NULL: + + + + Other settings + Autres paramètres + + + + Print row numbers for data + Nombre de lignes de données à imprimer + + + + Print page numbers + Imprimer nombre de pages + + + diff --git a/Plugins/PdfExport/PdfExport_pt_BR.qm b/Plugins/PdfExport/PdfExport_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/Plugins/PdfExport/PdfExport_pt_BR.qm differ diff --git a/Plugins/PdfExport/PdfExport_pt_BR.ts b/Plugins/PdfExport/PdfExport_pt_BR.ts new file mode 100644 index 0000000..76e9fff --- /dev/null +++ b/Plugins/PdfExport/PdfExport_pt_BR.ts @@ -0,0 +1,256 @@ + + + + + PdfExport + + + SQLiteStudio v%1 + + + + + SQL query results + + + + + + Exported table: %1 + + + + + + Table: %1 + + + + + + Column + + + + + Data type + + + + + Constraints + + + + + Global table constraints + + + + + Exported database: %1 + + + + + Index: %1 + + + + + Property + index header + + + + + Value + index header + + + + + Indexed table + + + + + Unique index + + + + + Yes + + + + + No + + + + + Collation + + + + + Sort order + + + + + Partial index condition + + + + + Trigger: %1 + + + + + Property + trigger header + + + + + Value + trigger header + + + + + Activation time + + + + + For action + + + + + On view + + + + + On table + + + + + Activation condition + + + + + Code executed + + + + + View: %1 + + + + + Query: + + + + + Document generated with SQLiteStudio v%1 + + + + + PdfExportConfig + + + Size and layout + + + + + Page size: + + + + + Right margin: + + + + + Left margin: + + + + + Cell padding: + + + + + Limit characters in single cell: + + + + + + + + + mm + + + + + Bottom margin: + + + + + Top margin: + + + + + Font + + + + + Colors + + + + + Headers background: + + + + + NULL value color: + + + + + Other settings + + + + + Print row numbers for data + + + + + Print page numbers + + + + diff --git a/Plugins/PdfExport/PdfExport_ru.qm b/Plugins/PdfExport/PdfExport_ru.qm new file mode 100644 index 0000000..b74886b Binary files /dev/null and b/Plugins/PdfExport/PdfExport_ru.qm differ diff --git a/Plugins/PdfExport/PdfExport_ru.ts b/Plugins/PdfExport/PdfExport_ru.ts new file mode 100644 index 0000000..9f14f09 --- /dev/null +++ b/Plugins/PdfExport/PdfExport_ru.ts @@ -0,0 +1,256 @@ + + + + + PdfExport + + + SQLiteStudio v%1 + SQLiteStudio v%1 + + + + SQL query results + Результаты запроса SQL + + + + + Exported table: %1 + Экспортированная таблица: %1 + + + + + Table: %1 + Таблица: %1 + + + + + Column + Столбец + + + + Data type + Тип данных + + + + Constraints + Ограничения + + + + Global table constraints + Глобальные ограничения на таблицу + + + + Exported database: %1 + Экспортированная база данных: %1 + + + + Index: %1 + Индекс: %1 + + + + Property + index header + Свойство + + + + Value + index header + Значение + + + + Indexed table + Проиндексированная таблица + + + + Unique index + Уникальный индекс + + + + Yes + Да + + + + No + Нет + + + + Collation + Сравнение + + + + Sort order + Порядок сортировки + + + + Partial index condition + Условие для частичного индекса + + + + Trigger: %1 + Триггер: %1 + + + + Property + trigger header + Свойство + + + + Value + trigger header + Значение + + + + Activation time + Время активации + + + + For action + Для действия + + + + On view + Для представления + + + + On table + Для таблицы + + + + Activation condition + Условие активации + + + + Code executed + Исполненный код + + + + View: %1 + Представление: %1 + + + + Query: + Запрос: + + + + Document generated with SQLiteStudio v%1 + Документ сгенерирован с помощью SQLiteStudio v%1 + + + + PdfExportConfig + + + Size and layout + Размеры и разметка + + + + Page size: + Размер страницы: + + + + Right margin: + Правое поле: + + + + Left margin: + Левое поле: + + + + Cell padding: + Отступ в ячейке: + + + + Limit characters in single cell: + Ограничение количества символов в ячейке: + + + + + + + + mm + мм + + + + Bottom margin: + Нижнее поле: + + + + Top margin: + Верхнее поле: + + + + Font + Шрифт + + + + Colors + Цвета + + + + Headers background: + Фон заголовков: + + + + NULL value color: + Цвет значения NULL: + + + + Other settings + Прочие настройки + + + + Print row numbers for data + Выводить номера строк данных + + + + Print page numbers + Выводить номера страниц + + + diff --git a/Plugins/PdfExport/PdfExport_sk.qm b/Plugins/PdfExport/PdfExport_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/Plugins/PdfExport/PdfExport_sk.qm differ diff --git a/Plugins/PdfExport/PdfExport_sk.ts b/Plugins/PdfExport/PdfExport_sk.ts new file mode 100644 index 0000000..5b14661 --- /dev/null +++ b/Plugins/PdfExport/PdfExport_sk.ts @@ -0,0 +1,256 @@ + + + + + PdfExport + + + SQLiteStudio v%1 + + + + + SQL query results + + + + + + Exported table: %1 + + + + + + Table: %1 + + + + + + Column + + + + + Data type + + + + + Constraints + + + + + Global table constraints + + + + + Exported database: %1 + + + + + Index: %1 + + + + + Property + index header + + + + + Value + index header + + + + + Indexed table + + + + + Unique index + + + + + Yes + + + + + No + + + + + Collation + + + + + Sort order + + + + + Partial index condition + + + + + Trigger: %1 + + + + + Property + trigger header + + + + + Value + trigger header + + + + + Activation time + + + + + For action + + + + + On view + + + + + On table + + + + + Activation condition + + + + + Code executed + + + + + View: %1 + + + + + Query: + + + + + Document generated with SQLiteStudio v%1 + + + + + PdfExportConfig + + + Size and layout + + + + + Page size: + + + + + Right margin: + + + + + Left margin: + + + + + Cell padding: + + + + + Limit characters in single cell: + + + + + + + + + mm + + + + + Bottom margin: + + + + + Top margin: + + + + + Font + + + + + Colors + + + + + Headers background: + + + + + NULL value color: + + + + + Other settings + + + + + Print row numbers for data + + + + + Print page numbers + + + + diff --git a/Plugins/PdfExport/PdfExport_zh_CN.qm b/Plugins/PdfExport/PdfExport_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/Plugins/PdfExport/PdfExport_zh_CN.qm @@ -0,0 +1 @@ + + + + + PdfExport + + + SQLiteStudio v%1 + + + + + SQL query results + + + + + + Exported table: %1 + + + + + + Table: %1 + + + + + + Column + + + + + Data type + + + + + Constraints + + + + + Global table constraints + + + + + Exported database: %1 + + + + + Index: %1 + + + + + Property + index header + + + + + Value + index header + + + + + Indexed table + + + + + Unique index + + + + + Yes + + + + + No + + + + + Collation + + + + + Sort order + + + + + Partial index condition + + + + + Trigger: %1 + + + + + Property + trigger header + + + + + Value + trigger header + + + + + Activation time + + + + + For action + + + + + On view + + + + + On table + + + + + Activation condition + + + + + Code executed + + + + + View: %1 + + + + + Query: + + + + + Document generated with SQLiteStudio v%1 + + + + + PdfExportConfig + + + Size and layout + + + + + Page size: + + + + + Right margin: + + + + + Left margin: + + + + + Cell padding: + + + + + Limit characters in single cell: + + + + + + + + + mm + + + + + Bottom margin: + + + + + Top margin: + + + + + Font + + + + + Colors + + + + + Headers background: + + + + + NULL value color: + + + + + Other settings + + + + + Print row numbers for data + + + + + Print page numbers + + + + diff --git a/Plugins/PdfExport/pdfexport.qrc b/Plugins/PdfExport/pdfexport.qrc index 5a2e9d8..857a310 100644 --- a/Plugins/PdfExport/pdfexport.qrc +++ b/Plugins/PdfExport/pdfexport.qrc @@ -4,5 +4,7 @@ PdfExport_pl.qm + PdfExport_ru.qm + PdfExport_fr.qm diff --git a/Plugins/Printing/Printing.pro b/Plugins/Printing/Printing.pro index 3f496be..c1afb9f 100644 --- a/Plugins/Printing/Printing.pro +++ b/Plugins/Printing/Printing.pro @@ -4,10 +4,10 @@ # #------------------------------------------------- -include($$PWD/../../SQLiteStudio3/plugins.pri) - QT += printsupport +include($$PWD/../../SQLiteStudio3/plugins.pri) + TARGET = Printing TEMPLATE = lib @@ -35,5 +35,23 @@ RESOURCES += \ printing.qrc -TRANSLATIONS += Printing_pl.ts +TRANSLATIONS += Printing_zh_CN.ts \ + Printing_sk.ts \ + Printing_de.ts \ + Printing_ru.ts \ + Printing_pt_BR.ts \ + Printing_fr.ts \ + Printing_es.ts \ + Printing_pl.ts + + + + + + + + + + + diff --git a/Plugins/Printing/Printing_de.qm b/Plugins/Printing/Printing_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/Printing/Printing_de.qm differ diff --git a/Plugins/Printing/Printing_de.ts b/Plugins/Printing/Printing_de.ts new file mode 100644 index 0000000..9ce2cb4 --- /dev/null +++ b/Plugins/Printing/Printing_de.ts @@ -0,0 +1,40 @@ + + + + + Printing + + + Print data + + + + + Print query + + + + + No data to print. + + + + + Printing data. + + + + + Printing query. + + + + + PrintingExport + + + Printing + + + + diff --git a/Plugins/Printing/Printing_es.qm b/Plugins/Printing/Printing_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/Printing/Printing_es.qm differ diff --git a/Plugins/Printing/Printing_es.ts b/Plugins/Printing/Printing_es.ts new file mode 100644 index 0000000..d76730d --- /dev/null +++ b/Plugins/Printing/Printing_es.ts @@ -0,0 +1,40 @@ + + + + + Printing + + + Print data + + + + + Print query + + + + + No data to print. + + + + + Printing data. + + + + + Printing query. + + + + + PrintingExport + + + Printing + + + + diff --git a/Plugins/Printing/Printing_fr.qm b/Plugins/Printing/Printing_fr.qm new file mode 100644 index 0000000..2f50430 Binary files /dev/null and b/Plugins/Printing/Printing_fr.qm differ diff --git a/Plugins/Printing/Printing_fr.ts b/Plugins/Printing/Printing_fr.ts new file mode 100644 index 0000000..9d86ad5 --- /dev/null +++ b/Plugins/Printing/Printing_fr.ts @@ -0,0 +1,40 @@ + + + + + Printing + + + Print data + Imprimer les données + + + + Print query + Requête imprimée + + + + No data to print. + Aucune données à imrpimer.. + + + + Printing data. + Impression des données. + + + + Printing query. + Impression de la requête. + + + + PrintingExport + + + Printing + Impression + + + diff --git a/Plugins/Printing/Printing_pt_BR.qm b/Plugins/Printing/Printing_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/Plugins/Printing/Printing_pt_BR.qm differ diff --git a/Plugins/Printing/Printing_pt_BR.ts b/Plugins/Printing/Printing_pt_BR.ts new file mode 100644 index 0000000..c003b38 --- /dev/null +++ b/Plugins/Printing/Printing_pt_BR.ts @@ -0,0 +1,40 @@ + + + + + Printing + + + Print data + + + + + Print query + + + + + No data to print. + + + + + Printing data. + + + + + Printing query. + + + + + PrintingExport + + + Printing + + + + diff --git a/Plugins/Printing/Printing_ru.qm b/Plugins/Printing/Printing_ru.qm new file mode 100644 index 0000000..4e6e864 Binary files /dev/null and b/Plugins/Printing/Printing_ru.qm differ diff --git a/Plugins/Printing/Printing_ru.ts b/Plugins/Printing/Printing_ru.ts new file mode 100644 index 0000000..6a63c83 --- /dev/null +++ b/Plugins/Printing/Printing_ru.ts @@ -0,0 +1,40 @@ + + + + + Printing + + + Print data + Печать данных + + + + Print query + Печать запроса + + + + No data to print. + Нет данных для печати. + + + + Printing data. + Печать данных. + + + + Printing query. + Печать запроса. + + + + PrintingExport + + + Printing + Печать + + + diff --git a/Plugins/Printing/Printing_sk.qm b/Plugins/Printing/Printing_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/Plugins/Printing/Printing_sk.qm differ diff --git a/Plugins/Printing/Printing_sk.ts b/Plugins/Printing/Printing_sk.ts new file mode 100644 index 0000000..4e35c9d --- /dev/null +++ b/Plugins/Printing/Printing_sk.ts @@ -0,0 +1,40 @@ + + + + + Printing + + + Print data + + + + + Print query + + + + + No data to print. + + + + + Printing data. + + + + + Printing query. + + + + + PrintingExport + + + Printing + + + + diff --git a/Plugins/Printing/Printing_zh_CN.qm b/Plugins/Printing/Printing_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/Plugins/Printing/Printing_zh_CN.qm @@ -0,0 +1 @@ + + + + + Printing + + + Print data + + + + + Print query + + + + + No data to print. + + + + + Printing data. + + + + + Printing query. + + + + + PrintingExport + + + Printing + + + + diff --git a/Plugins/Printing/printing.qrc b/Plugins/Printing/printing.qrc index 54dc86f..dc7f27c 100644 --- a/Plugins/Printing/printing.qrc +++ b/Plugins/Printing/printing.qrc @@ -4,5 +4,7 @@ Printing_pl.qm + Printing_ru.qm + Printing_fr.qm diff --git a/Plugins/RegExpImport/RegExpImport.pro b/Plugins/RegExpImport/RegExpImport.pro index 6b3b955..aa790b2 100644 --- a/Plugins/RegExpImport/RegExpImport.pro +++ b/Plugins/RegExpImport/RegExpImport.pro @@ -4,10 +4,10 @@ # #------------------------------------------------- -include($$PWD/../../SQLiteStudio3/plugins.pri) - QT -= gui +include($$PWD/../../SQLiteStudio3/plugins.pri) + TARGET = RegExpImport TEMPLATE = lib @@ -28,5 +28,23 @@ RESOURCES += \ regexpimport.qrc -TRANSLATIONS += RegExpImport_pl.ts +TRANSLATIONS += RegExpImport_zh_CN.ts \ + RegExpImport_sk.ts \ + RegExpImport_de.ts \ + RegExpImport_ru.ts \ + RegExpImport_pt_BR.ts \ + RegExpImport_fr.ts \ + RegExpImport_es.ts \ + RegExpImport_pl.ts + + + + + + + + + + + diff --git a/Plugins/RegExpImport/RegExpImport_de.qm b/Plugins/RegExpImport/RegExpImport_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/RegExpImport/RegExpImport_de.qm differ diff --git a/Plugins/RegExpImport/RegExpImport_de.ts b/Plugins/RegExpImport/RegExpImport_de.ts new file mode 100644 index 0000000..e73d909 --- /dev/null +++ b/Plugins/RegExpImport/RegExpImport_de.ts @@ -0,0 +1,83 @@ + + + + + RegExpImport + + + Text files (*.txt);;All files (*) + + + + + Cannot read file %1 + + + + + Enter the regular expression pattern. + + + + + Invalid pattern: %1 + + + + + Requested capture index %1 is out of range. + + + + + <p>Requested capture group name '%1', but it's not defined in the pattern: <pre>%2</pre></p> + + + + + RegExpImportConfig + + + Capture groups + + + + + Treat all RegExp capture groups as columns + + + + + Import only following groups: + + + + + <p>Enter comma separated list of capture group indexes. The 0 index refers to the entire matched string.</p> +<p>If you used named groups in the pattern, you can use names instead of indexes. You can mix indexes and names in this list.</p> + + + + + Example: 1, 3, 4 + + + + + Pattern: + + + + + <p>Use Regular Expression groups to enclose parts of the expression that you want to import. If you want to use a group, that you don't want to import, then use "import only following groups" option below. + +You can use named groups and refer to them in group list below. To name a group use: <pre>(?&lt;myGroupName&gt;\s+\d+\s+)</pre></p> + + + + + Example: (\d+)\s+((\d+)\w+)\s+(\w+) + + + + diff --git a/Plugins/RegExpImport/RegExpImport_es.qm b/Plugins/RegExpImport/RegExpImport_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/RegExpImport/RegExpImport_es.qm differ diff --git a/Plugins/RegExpImport/RegExpImport_es.ts b/Plugins/RegExpImport/RegExpImport_es.ts new file mode 100644 index 0000000..fd5ae74 --- /dev/null +++ b/Plugins/RegExpImport/RegExpImport_es.ts @@ -0,0 +1,83 @@ + + + + + RegExpImport + + + Text files (*.txt);;All files (*) + + + + + Cannot read file %1 + + + + + Enter the regular expression pattern. + + + + + Invalid pattern: %1 + + + + + Requested capture index %1 is out of range. + + + + + <p>Requested capture group name '%1', but it's not defined in the pattern: <pre>%2</pre></p> + + + + + RegExpImportConfig + + + Capture groups + + + + + Treat all RegExp capture groups as columns + + + + + Import only following groups: + + + + + <p>Enter comma separated list of capture group indexes. The 0 index refers to the entire matched string.</p> +<p>If you used named groups in the pattern, you can use names instead of indexes. You can mix indexes and names in this list.</p> + + + + + Example: 1, 3, 4 + + + + + Pattern: + + + + + <p>Use Regular Expression groups to enclose parts of the expression that you want to import. If you want to use a group, that you don't want to import, then use "import only following groups" option below. + +You can use named groups and refer to them in group list below. To name a group use: <pre>(?&lt;myGroupName&gt;\s+\d+\s+)</pre></p> + + + + + Example: (\d+)\s+((\d+)\w+)\s+(\w+) + + + + diff --git a/Plugins/RegExpImport/RegExpImport_fr.qm b/Plugins/RegExpImport/RegExpImport_fr.qm new file mode 100644 index 0000000..e0370da Binary files /dev/null and b/Plugins/RegExpImport/RegExpImport_fr.qm differ diff --git a/Plugins/RegExpImport/RegExpImport_fr.ts b/Plugins/RegExpImport/RegExpImport_fr.ts new file mode 100644 index 0000000..6ab0b2e --- /dev/null +++ b/Plugins/RegExpImport/RegExpImport_fr.ts @@ -0,0 +1,86 @@ + + + + + RegExpImport + + + Text files (*.txt);;All files (*) + Fichiers (*.txt);;Tous les fichiers (*) + + + + Cannot read file %1 + Impossible de lire le fichier: %1 + + + + Enter the regular expression pattern. + Saisissez une expression valide. + + + + Invalid pattern: %1 + Expression invalide: %1 + + + + Requested capture index %1 is out of range. + Allocation d'index %1 hors limites. + + + + <p>Requested capture group name '%1', but it's not defined in the pattern: <pre>%2</pre></p> + <p>Requested capture group name '%1', but it's not defined in the pattern: <pre>%2</pre></p> + + + + RegExpImportConfig + + + Capture groups + Groupes sélectionnés + + + + Treat all RegExp capture groups as columns + Traiter tout RegExp de groupes sélectionnés comme des colonnes + + + + Import only following groups: + Importer seulement les groupes suivant: + + + + <p>Enter comma separated list of capture group indexes. The 0 index refers to the entire matched string.</p> +<p>If you used named groups in the pattern, you can use names instead of indexes. You can mix indexes and names in this list.</p> + <p>Enter comma separated list of capture group indexes. The 0 index refers to the entire matched string.</p> +<p>If you used named groups in the pattern, you can use names instead of indexes. You can mix indexes and names in this list.</p> + + + + Example: 1, 3, 4 + Exemple: 1, 3, 4 + + + + Pattern: + Modéle: + + + + <p>Use Regular Expression groups to enclose parts of the expression that you want to import. If you want to use a group, that you don't want to import, then use "import only following groups" option below. + +You can use named groups and refer to them in group list below. To name a group use: <pre>(?&lt;myGroupName&gt;\s+\d+\s+)</pre></p> + <p>Use Regular Expression groups to enclose parts of the expression that you want to import. If you want to use a group, that you don't want to import, then use "import only following groups" option below. + +You can use named groups and refer to them in group list below. To name a group use: <pre>(?&lt;myGroupName&gt;\s+\d+\s+)</pre></p> + + + + Example: (\d+)\s+((\d+)\w+)\s+(\w+) + Exemple: (\d+)\s+((\d+)\w+)\s+(\w+) + + + diff --git a/Plugins/RegExpImport/RegExpImport_pt_BR.qm b/Plugins/RegExpImport/RegExpImport_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/Plugins/RegExpImport/RegExpImport_pt_BR.qm differ diff --git a/Plugins/RegExpImport/RegExpImport_pt_BR.ts b/Plugins/RegExpImport/RegExpImport_pt_BR.ts new file mode 100644 index 0000000..b861545 --- /dev/null +++ b/Plugins/RegExpImport/RegExpImport_pt_BR.ts @@ -0,0 +1,83 @@ + + + + + RegExpImport + + + Text files (*.txt);;All files (*) + + + + + Cannot read file %1 + + + + + Enter the regular expression pattern. + + + + + Invalid pattern: %1 + + + + + Requested capture index %1 is out of range. + + + + + <p>Requested capture group name '%1', but it's not defined in the pattern: <pre>%2</pre></p> + + + + + RegExpImportConfig + + + Capture groups + + + + + Treat all RegExp capture groups as columns + + + + + Import only following groups: + + + + + <p>Enter comma separated list of capture group indexes. The 0 index refers to the entire matched string.</p> +<p>If you used named groups in the pattern, you can use names instead of indexes. You can mix indexes and names in this list.</p> + + + + + Example: 1, 3, 4 + + + + + Pattern: + + + + + <p>Use Regular Expression groups to enclose parts of the expression that you want to import. If you want to use a group, that you don't want to import, then use "import only following groups" option below. + +You can use named groups and refer to them in group list below. To name a group use: <pre>(?&lt;myGroupName&gt;\s+\d+\s+)</pre></p> + + + + + Example: (\d+)\s+((\d+)\w+)\s+(\w+) + + + + diff --git a/Plugins/RegExpImport/RegExpImport_ru.qm b/Plugins/RegExpImport/RegExpImport_ru.qm new file mode 100644 index 0000000..6b9c95d Binary files /dev/null and b/Plugins/RegExpImport/RegExpImport_ru.qm differ diff --git a/Plugins/RegExpImport/RegExpImport_ru.ts b/Plugins/RegExpImport/RegExpImport_ru.ts new file mode 100644 index 0000000..09ad9a9 --- /dev/null +++ b/Plugins/RegExpImport/RegExpImport_ru.ts @@ -0,0 +1,86 @@ + + + + + RegExpImport + + + Text files (*.txt);;All files (*) + Текстовые файлы (*.txt);;Все файлы (*) + + + + Cannot read file %1 + Невозможно прочитать файл %1 + + + + Enter the regular expression pattern. + Введите шаблон регулярного выражения. + + + + Invalid pattern: %1 + Некорректный шаблон: %1 + + + + Requested capture index %1 is out of range. + Запрошенный индекс группы вне досягаемости. + + + + <p>Requested capture group name '%1', but it's not defined in the pattern: <pre>%2</pre></p> + <p>Запрошено имя группы '%1', но оно не определено в шаблоне: <pre>%2</pre></p> + + + + RegExpImportConfig + + + Capture groups + Группы в шаблоне + + + + Treat all RegExp capture groups as columns + Рассматривать все группы в выражении как столбцы + + + + Import only following groups: + Импортировать только следующие группы: + + + + <p>Enter comma separated list of capture group indexes. The 0 index refers to the entire matched string.</p> +<p>If you used named groups in the pattern, you can use names instead of indexes. You can mix indexes and names in this list.</p> + <p>Введите разделённый запятыми список индексов групп. Индекс 0 служит для доступа ко всей найденной строке.</p> +<p>При использовании именованных групп в шаблоне, вы можете указывать имена групп вместо индексов. Имена групп и индексы можно использовать вместе.</p> + + + + Example: 1, 3, 4 + Пример: 1, 3, 4 + + + + Pattern: + Шаблон: + + + + <p>Use Regular Expression groups to enclose parts of the expression that you want to import. If you want to use a group, that you don't want to import, then use "import only following groups" option below. + +You can use named groups and refer to them in group list below. To name a group use: <pre>(?&lt;myGroupName&gt;\s+\d+\s+)</pre></p> + <p>Используйте группировку в регулярном выражении для выделения частей выражения, которые необходимо импортировать. Если необходимо использовать группу, исключаемую при импорте, используйте опцию "Импортировать только следующие группы" ниже. + +Можно также использовать именованные группы для использования в списке ниже. Для присвоения группе имени используйте: <pre>(?&lt;моёИмяГруппы&gt;\s+\d+\s+)</pre></p> + + + + Example: (\d+)\s+((\d+)\w+)\s+(\w+) + Пример: (\d+)\s+((\d+)\w+)\s+(\w+) + + + diff --git a/Plugins/RegExpImport/RegExpImport_sk.qm b/Plugins/RegExpImport/RegExpImport_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/Plugins/RegExpImport/RegExpImport_sk.qm differ diff --git a/Plugins/RegExpImport/RegExpImport_sk.ts b/Plugins/RegExpImport/RegExpImport_sk.ts new file mode 100644 index 0000000..9b34ed7 --- /dev/null +++ b/Plugins/RegExpImport/RegExpImport_sk.ts @@ -0,0 +1,83 @@ + + + + + RegExpImport + + + Text files (*.txt);;All files (*) + + + + + Cannot read file %1 + + + + + Enter the regular expression pattern. + + + + + Invalid pattern: %1 + + + + + Requested capture index %1 is out of range. + + + + + <p>Requested capture group name '%1', but it's not defined in the pattern: <pre>%2</pre></p> + + + + + RegExpImportConfig + + + Capture groups + + + + + Treat all RegExp capture groups as columns + + + + + Import only following groups: + + + + + <p>Enter comma separated list of capture group indexes. The 0 index refers to the entire matched string.</p> +<p>If you used named groups in the pattern, you can use names instead of indexes. You can mix indexes and names in this list.</p> + + + + + Example: 1, 3, 4 + + + + + Pattern: + + + + + <p>Use Regular Expression groups to enclose parts of the expression that you want to import. If you want to use a group, that you don't want to import, then use "import only following groups" option below. + +You can use named groups and refer to them in group list below. To name a group use: <pre>(?&lt;myGroupName&gt;\s+\d+\s+)</pre></p> + + + + + Example: (\d+)\s+((\d+)\w+)\s+(\w+) + + + + diff --git a/Plugins/RegExpImport/RegExpImport_zh_CN.qm b/Plugins/RegExpImport/RegExpImport_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/Plugins/RegExpImport/RegExpImport_zh_CN.qm @@ -0,0 +1 @@ + + + + + RegExpImport + + + Text files (*.txt);;All files (*) + + + + + Cannot read file %1 + + + + + Enter the regular expression pattern. + + + + + Invalid pattern: %1 + + + + + Requested capture index %1 is out of range. + + + + + <p>Requested capture group name '%1', but it's not defined in the pattern: <pre>%2</pre></p> + + + + + RegExpImportConfig + + + Capture groups + + + + + Treat all RegExp capture groups as columns + + + + + Import only following groups: + + + + + <p>Enter comma separated list of capture group indexes. The 0 index refers to the entire matched string.</p> +<p>If you used named groups in the pattern, you can use names instead of indexes. You can mix indexes and names in this list.</p> + + + + + Example: 1, 3, 4 + + + + + Pattern: + + + + + <p>Use Regular Expression groups to enclose parts of the expression that you want to import. If you want to use a group, that you don't want to import, then use "import only following groups" option below. + +You can use named groups and refer to them in group list below. To name a group use: <pre>(?&lt;myGroupName&gt;\s+\d+\s+)</pre></p> + + + + + Example: (\d+)\s+((\d+)\w+)\s+(\w+) + + + + diff --git a/Plugins/RegExpImport/regexpimport.qrc b/Plugins/RegExpImport/regexpimport.qrc index 0d545ab..e1cb912 100644 --- a/Plugins/RegExpImport/regexpimport.qrc +++ b/Plugins/RegExpImport/regexpimport.qrc @@ -4,5 +4,7 @@ RegExpImport_pl.qm + RegExpImport_ru.qm + RegExpImport_fr.qm diff --git a/Plugins/ScriptingTcl/ScriptingTcl.pro b/Plugins/ScriptingTcl/ScriptingTcl.pro index 7197a11..fc5cf5b 100644 --- a/Plugins/ScriptingTcl/ScriptingTcl.pro +++ b/Plugins/ScriptingTcl/ScriptingTcl.pro @@ -4,10 +4,10 @@ # #------------------------------------------------- -include($$PWD/../../SQLiteStudio3/plugins.pri) - QT -= gui +include($$PWD/../../SQLiteStudio3/plugins.pri) + TARGET = ScriptingTcl TEMPLATE = lib @@ -138,5 +138,23 @@ RESOURCES += \ scriptingtcl.qrc -TRANSLATIONS += ScriptingTcl_pl.ts +TRANSLATIONS += ScriptingTcl_zh_CN.ts \ + ScriptingTcl_sk.ts \ + ScriptingTcl_de.ts \ + ScriptingTcl_ru.ts \ + ScriptingTcl_pt_BR.ts \ + ScriptingTcl_fr.ts \ + ScriptingTcl_es.ts \ + ScriptingTcl_pl.ts + + + + + + + + + + + diff --git a/Plugins/ScriptingTcl/ScriptingTcl_de.qm b/Plugins/ScriptingTcl/ScriptingTcl_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/ScriptingTcl/ScriptingTcl_de.qm differ diff --git a/Plugins/ScriptingTcl/ScriptingTcl_de.ts b/Plugins/ScriptingTcl/ScriptingTcl_de.ts new file mode 100644 index 0000000..adb7f21 --- /dev/null +++ b/Plugins/ScriptingTcl/ScriptingTcl_de.ts @@ -0,0 +1,22 @@ + + + + + ScriptingTcl + + + No database available in current context, while called Tcl's '%1' command. + + + + + Invalid '%1' command sytax. Should be: %2 + + + + + Error from Tcl's' '%1' command: %2 + + + + diff --git a/Plugins/ScriptingTcl/ScriptingTcl_es.qm b/Plugins/ScriptingTcl/ScriptingTcl_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/ScriptingTcl/ScriptingTcl_es.qm differ diff --git a/Plugins/ScriptingTcl/ScriptingTcl_es.ts b/Plugins/ScriptingTcl/ScriptingTcl_es.ts new file mode 100644 index 0000000..502c856 --- /dev/null +++ b/Plugins/ScriptingTcl/ScriptingTcl_es.ts @@ -0,0 +1,22 @@ + + + + + ScriptingTcl + + + No database available in current context, while called Tcl's '%1' command. + + + + + Invalid '%1' command sytax. Should be: %2 + + + + + Error from Tcl's' '%1' command: %2 + + + + diff --git a/Plugins/ScriptingTcl/ScriptingTcl_fr.qm b/Plugins/ScriptingTcl/ScriptingTcl_fr.qm new file mode 100644 index 0000000..9ff0c46 Binary files /dev/null and b/Plugins/ScriptingTcl/ScriptingTcl_fr.qm differ diff --git a/Plugins/ScriptingTcl/ScriptingTcl_fr.ts b/Plugins/ScriptingTcl/ScriptingTcl_fr.ts new file mode 100644 index 0000000..b308973 --- /dev/null +++ b/Plugins/ScriptingTcl/ScriptingTcl_fr.ts @@ -0,0 +1,22 @@ + + + + + ScriptingTcl + + + No database available in current context, while called Tcl's '%1' command. + Aucune base de données valide dans le contexte courant, appeler la commande Tcl's '%1'. + + + + Invalid '%1' command sytax. Should be: %2 + Syntaxe de commande invalide '%1'. Devrait être: %2 + + + + Error from Tcl's' '%1' command: %2 + Erreur de la commande Tcl '%1': %2 + + + diff --git a/Plugins/ScriptingTcl/ScriptingTcl_pt_BR.qm b/Plugins/ScriptingTcl/ScriptingTcl_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/Plugins/ScriptingTcl/ScriptingTcl_pt_BR.qm differ diff --git a/Plugins/ScriptingTcl/ScriptingTcl_pt_BR.ts b/Plugins/ScriptingTcl/ScriptingTcl_pt_BR.ts new file mode 100644 index 0000000..a0ffcb8 --- /dev/null +++ b/Plugins/ScriptingTcl/ScriptingTcl_pt_BR.ts @@ -0,0 +1,22 @@ + + + + + ScriptingTcl + + + No database available in current context, while called Tcl's '%1' command. + + + + + Invalid '%1' command sytax. Should be: %2 + + + + + Error from Tcl's' '%1' command: %2 + + + + diff --git a/Plugins/ScriptingTcl/ScriptingTcl_ru.qm b/Plugins/ScriptingTcl/ScriptingTcl_ru.qm new file mode 100644 index 0000000..df87278 Binary files /dev/null and b/Plugins/ScriptingTcl/ScriptingTcl_ru.qm differ diff --git a/Plugins/ScriptingTcl/ScriptingTcl_ru.ts b/Plugins/ScriptingTcl/ScriptingTcl_ru.ts new file mode 100644 index 0000000..4fd66de --- /dev/null +++ b/Plugins/ScriptingTcl/ScriptingTcl_ru.ts @@ -0,0 +1,22 @@ + + + + + ScriptingTcl + + + No database available in current context, while called Tcl's '%1' command. + При вызове команды Tcl %1 в текущем контексте нет доступных баз данных. + + + + Invalid '%1' command sytax. Should be: %2 + Некорректный синтаксис команды '%1'. Должно быть: %2 + + + + Error from Tcl's' '%1' command: %2 + Ошибка в команде Tcl '%1': %2 + + + diff --git a/Plugins/ScriptingTcl/ScriptingTcl_sk.qm b/Plugins/ScriptingTcl/ScriptingTcl_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/Plugins/ScriptingTcl/ScriptingTcl_sk.qm differ diff --git a/Plugins/ScriptingTcl/ScriptingTcl_sk.ts b/Plugins/ScriptingTcl/ScriptingTcl_sk.ts new file mode 100644 index 0000000..ec050a9 --- /dev/null +++ b/Plugins/ScriptingTcl/ScriptingTcl_sk.ts @@ -0,0 +1,22 @@ + + + + + ScriptingTcl + + + No database available in current context, while called Tcl's '%1' command. + + + + + Invalid '%1' command sytax. Should be: %2 + + + + + Error from Tcl's' '%1' command: %2 + + + + diff --git a/Plugins/ScriptingTcl/ScriptingTcl_zh_CN.qm b/Plugins/ScriptingTcl/ScriptingTcl_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/Plugins/ScriptingTcl/ScriptingTcl_zh_CN.qm @@ -0,0 +1 @@ + + + + + ScriptingTcl + + + No database available in current context, while called Tcl's '%1' command. + + + + + Invalid '%1' command sytax. Should be: %2 + + + + + Error from Tcl's' '%1' command: %2 + + + + diff --git a/Plugins/ScriptingTcl/scriptingtcl.qrc b/Plugins/ScriptingTcl/scriptingtcl.qrc index 0a78160..5d81a7b 100644 --- a/Plugins/ScriptingTcl/scriptingtcl.qrc +++ b/Plugins/ScriptingTcl/scriptingtcl.qrc @@ -4,5 +4,7 @@ ScriptingTcl_pl.qm + ScriptingTcl_ru.qm + ScriptingTcl_fr.qm diff --git a/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter.pro b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter.pro index 23efd4c..965767b 100644 --- a/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter.pro +++ b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter.pro @@ -4,10 +4,10 @@ # #------------------------------------------------- -include($$PWD/../../SQLiteStudio3/plugins.pri) - QT -= gui +include($$PWD/../../SQLiteStudio3/plugins.pri) + TARGET = SqlEnterpriseFormatter TEMPLATE = lib @@ -100,5 +100,23 @@ RESOURCES += \ sqlenterpriseformatter.qrc -TRANSLATIONS += SqlEnterpriseFormatter_pl.ts +TRANSLATIONS += SqlEnterpriseFormatter_zh_CN.ts \ + SqlEnterpriseFormatter_sk.ts \ + SqlEnterpriseFormatter_de.ts \ + SqlEnterpriseFormatter_ru.ts \ + SqlEnterpriseFormatter_pt_BR.ts \ + SqlEnterpriseFormatter_fr.ts \ + SqlEnterpriseFormatter_es.ts \ + SqlEnterpriseFormatter_pl.ts + + + + + + + + + + + diff --git a/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_de.qm b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_de.qm differ diff --git a/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_de.ts b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_de.ts new file mode 100644 index 0000000..bd56eba --- /dev/null +++ b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_de.ts @@ -0,0 +1,208 @@ + + + + + QObject + + + + name + example name wrapper + + + + + SqlEnterpriseFormatter + + + Indentation + + + + + Line up keywords in multi-line queries + + + + + Indent contents of parenthesis block + + + + + Tab size: + + + + + New lines + + + + + Before opening parenthesis in column definitions + + + + + After opening parenthesis in column definitions + + + + + Before closing parenthesis in column definitions + + + + + After closing parenthesis in column definitions + + + + + Before opening parenthesis in expressions + + + + + After opening parenthesis in expressions + + + + + Before closing parenthesis in expressions + + + + + After closing parenthesis in expressions + + + + + After JOIN keywords in FROM clause + + + + + Put each column constraint in CREATE TABLE into new line + + + + + After comma + + + + + After comma in expressions + + + + + After semicolon + + + + + + Never before semicolon + + + + + White spaces + + + + + Before comma in lists + + + + + After comma in lists + + + + + Before opening parenthesis + + + + + After opening parenthesis + + + + + Before closing parenthesis + + + + + After closing parenthesis + + + + + No space between SQL function name and opening parenthesis + + + + + Before dot operator (in path to database object) + + + + + After dot operator (in path to database object) + + + + + Before mathematical operator + + + + + After mathematical operator + + + + + Never before comma + + + + + Names + + + + + Preferred name wrapper + + + + + Always use name wrapping + + + + + Uppercase data type names + + + + + Uppercase keywords + + + + + Preview + + + + diff --git a/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_es.qm b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_es.qm differ diff --git a/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_es.ts b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_es.ts new file mode 100644 index 0000000..15b85f4 --- /dev/null +++ b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_es.ts @@ -0,0 +1,208 @@ + + + + + QObject + + + + name + example name wrapper + + + + + SqlEnterpriseFormatter + + + Indentation + + + + + Line up keywords in multi-line queries + + + + + Indent contents of parenthesis block + + + + + Tab size: + + + + + New lines + + + + + Before opening parenthesis in column definitions + + + + + After opening parenthesis in column definitions + + + + + Before closing parenthesis in column definitions + + + + + After closing parenthesis in column definitions + + + + + Before opening parenthesis in expressions + + + + + After opening parenthesis in expressions + + + + + Before closing parenthesis in expressions + + + + + After closing parenthesis in expressions + + + + + After JOIN keywords in FROM clause + + + + + Put each column constraint in CREATE TABLE into new line + + + + + After comma + + + + + After comma in expressions + + + + + After semicolon + + + + + + Never before semicolon + + + + + White spaces + + + + + Before comma in lists + + + + + After comma in lists + + + + + Before opening parenthesis + + + + + After opening parenthesis + + + + + Before closing parenthesis + + + + + After closing parenthesis + + + + + No space between SQL function name and opening parenthesis + + + + + Before dot operator (in path to database object) + + + + + After dot operator (in path to database object) + + + + + Before mathematical operator + + + + + After mathematical operator + + + + + Never before comma + + + + + Names + + + + + Preferred name wrapper + + + + + Always use name wrapping + + + + + Uppercase data type names + + + + + Uppercase keywords + + + + + Preview + + + + diff --git a/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_fr.qm b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_fr.qm new file mode 100644 index 0000000..6e8f481 Binary files /dev/null and b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_fr.qm differ diff --git a/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_fr.ts b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_fr.ts new file mode 100644 index 0000000..519235f --- /dev/null +++ b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_fr.ts @@ -0,0 +1,208 @@ + + + + + QObject + + + + name + example name wrapper + Nom + + + + SqlEnterpriseFormatter + + + Indentation + Identation + + + + Line up keywords in multi-line queries + Ligne de most clé en majuscule dans une requête multiligne + + + + Indent contents of parenthesis block + Indenté le contenu du block entre parenthèses + + + + Tab size: + Dimension Tab: + + + + New lines + Nouvelles lignes + + + + Before opening parenthesis in column definitions + Avant l'ouverture des parenthèses dans la définition de la colonne + + + + After opening parenthesis in column definitions + Après l'ouverture des parenthèses dans la définition de la colonne + + + + Before closing parenthesis in column definitions + Avant la fermeture des parenthèses dans la définition de la colonne + + + + After closing parenthesis in column definitions + Après la fermeture des parenthèses dans la définition de la colonne + + + + Before opening parenthesis in expressions + Avant l'ouverture des parenthèses dans l'expression + + + + After opening parenthesis in expressions + Après l'ouverture des parenthèses dans l'expression + + + + Before closing parenthesis in expressions + Avant la fermeture des parenthèses dans l'expression + + + + After closing parenthesis in expressions + Après la fermeture des parenthèses dans l'expression + + + + After JOIN keywords in FROM clause + Après le mot clé JOIN dans la clause FROM + + + + Put each column constraint in CREATE TABLE into new line + Mettez chaque contrainte de colonne dans CREATE TABLE à une nouvelleligne + + + + After comma + Après virgule + + + + After comma in expressions + Après la virgule dans l'exoression + + + + After semicolon + Après un point virgule + + + + + Never before semicolon + Jamais avant un point virgule + + + + White spaces + Espaces + + + + Before comma in lists + Après virgule dans la liste + + + + After comma in lists + Avant virgule dans la liste + + + + Before opening parenthesis + Avant l'ouverture des parenthèses + + + + After opening parenthesis + Après l'ouverture des parenthèses + + + + Before closing parenthesis + Avant la fermeture des parenthèses + + + + After closing parenthesis + Après la fermeture des parenthèses + + + + No space between SQL function name and opening parenthesis + aucun espance entre le nom de la fonction SQL et l'ouverture des paranthèses + + + + Before dot operator (in path to database object) + Avant le point (dans le chemin de la base de données) + + + + After dot operator (in path to database object) + Après + + + + Before mathematical operator + Avant opérateurmathématique + + + + After mathematical operator + Après opérateurmathématique + + + + Never before comma + Jamais avant virgule + + + + Names + noms + + + + Preferred name wrapper + Preferred name wrapper + + + + Always use name wrapping + Always use name wrapping + + + + Uppercase data type names + Nom de type de données en majuscule + + + + Uppercase keywords + Mots clé en majuscule + + + + Preview + Aperçu + + + diff --git a/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_pt_BR.qm b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_pt_BR.qm differ diff --git a/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_pt_BR.ts b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_pt_BR.ts new file mode 100644 index 0000000..8921d18 --- /dev/null +++ b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_pt_BR.ts @@ -0,0 +1,208 @@ + + + + + QObject + + + + name + example name wrapper + + + + + SqlEnterpriseFormatter + + + Indentation + + + + + Line up keywords in multi-line queries + + + + + Indent contents of parenthesis block + + + + + Tab size: + + + + + New lines + + + + + Before opening parenthesis in column definitions + + + + + After opening parenthesis in column definitions + + + + + Before closing parenthesis in column definitions + + + + + After closing parenthesis in column definitions + + + + + Before opening parenthesis in expressions + + + + + After opening parenthesis in expressions + + + + + Before closing parenthesis in expressions + + + + + After closing parenthesis in expressions + + + + + After JOIN keywords in FROM clause + + + + + Put each column constraint in CREATE TABLE into new line + + + + + After comma + + + + + After comma in expressions + + + + + After semicolon + + + + + + Never before semicolon + + + + + White spaces + + + + + Before comma in lists + + + + + After comma in lists + + + + + Before opening parenthesis + + + + + After opening parenthesis + + + + + Before closing parenthesis + + + + + After closing parenthesis + + + + + No space between SQL function name and opening parenthesis + + + + + Before dot operator (in path to database object) + + + + + After dot operator (in path to database object) + + + + + Before mathematical operator + + + + + After mathematical operator + + + + + Never before comma + + + + + Names + + + + + Preferred name wrapper + + + + + Always use name wrapping + + + + + Uppercase data type names + + + + + Uppercase keywords + + + + + Preview + + + + diff --git a/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_ru.qm b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_ru.qm new file mode 100644 index 0000000..1b13dc9 Binary files /dev/null and b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_ru.qm differ diff --git a/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_ru.ts b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_ru.ts new file mode 100644 index 0000000..0212e14 --- /dev/null +++ b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_ru.ts @@ -0,0 +1,208 @@ + + + + + QObject + + + + name + example name wrapper + имя + + + + SqlEnterpriseFormatter + + + Indentation + Отступы + + + + Line up keywords in multi-line queries + Выравнивать ключевые слова в многострочных запросах + + + + Indent contents of parenthesis block + Выравнивать содержимое внутри скобок + + + + Tab size: + Шаг табуляции: + + + + New lines + Переносы строк + + + + Before opening parenthesis in column definitions + Перед открывающей скобкой в определениях столбцов + + + + After opening parenthesis in column definitions + После открывающей скобки в определениях столбцов + + + + Before closing parenthesis in column definitions + Перед закрывающей скобкой в определениях столбцов + + + + After closing parenthesis in column definitions + После закрывающей скобки в определениях столбцов + + + + Before opening parenthesis in expressions + Перед открывающей скобкой в выражениях + + + + After opening parenthesis in expressions + После открывающей скобки в выражениях + + + + Before closing parenthesis in expressions + Перед закрывающей скобкой в выражениях + + + + After closing parenthesis in expressions + После закрывающей скобки в выражениях + + + + After JOIN keywords in FROM clause + После ключевых слов JOIN в операторе FROM + + + + Put each column constraint in CREATE TABLE into new line + Разместить каждое ограничение на столбец в отдельной строке в конструкции CREATE TABLE + + + + After comma + После запятой + + + + After comma in expressions + После запятой в выражениях + + + + After semicolon + После точки с запятой + + + + + Never before semicolon + Никогда перед точкой с запятой + + + + White spaces + Пробелы + + + + Before comma in lists + Перед запятой в списках + + + + After comma in lists + После запятой в списках + + + + Before opening parenthesis + Перед открывающей скобкой + + + + After opening parenthesis + После открывающей скобки + + + + Before closing parenthesis + Перед закрывающей скобкой + + + + After closing parenthesis + После закрывающей скобки + + + + No space between SQL function name and opening parenthesis + Не ставить пробел между именем функции SQL и открывающкй скобкой + + + + Before dot operator (in path to database object) + Перед оператором '.' (в путях к объектам базы данных) + + + + After dot operator (in path to database object) + После оператора '.' (в путях к объектам базы данных) + + + + Before mathematical operator + Перед математическим оператором + + + + After mathematical operator + После математического оператора + + + + Never before comma + Никогда перед запятой + + + + Names + Имена + + + + Preferred name wrapper + Предпочитаемое обрамление имён + + + + Always use name wrapping + Всегда обрамлять имена + + + + Uppercase data type names + Приводить имена типов данных к верхнему регистру + + + + Uppercase keywords + Приводить ключевые слова к верхнему регистру + + + + Preview + Предпросмотр + + + diff --git a/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_sk.qm b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_sk.qm differ diff --git a/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_sk.ts b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_sk.ts new file mode 100644 index 0000000..24086e8 --- /dev/null +++ b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_sk.ts @@ -0,0 +1,208 @@ + + + + + QObject + + + + name + example name wrapper + + + + + SqlEnterpriseFormatter + + + Indentation + + + + + Line up keywords in multi-line queries + + + + + Indent contents of parenthesis block + + + + + Tab size: + + + + + New lines + + + + + Before opening parenthesis in column definitions + + + + + After opening parenthesis in column definitions + + + + + Before closing parenthesis in column definitions + + + + + After closing parenthesis in column definitions + + + + + Before opening parenthesis in expressions + + + + + After opening parenthesis in expressions + + + + + Before closing parenthesis in expressions + + + + + After closing parenthesis in expressions + + + + + After JOIN keywords in FROM clause + + + + + Put each column constraint in CREATE TABLE into new line + + + + + After comma + + + + + After comma in expressions + + + + + After semicolon + + + + + + Never before semicolon + + + + + White spaces + + + + + Before comma in lists + + + + + After comma in lists + + + + + Before opening parenthesis + + + + + After opening parenthesis + + + + + Before closing parenthesis + + + + + After closing parenthesis + + + + + No space between SQL function name and opening parenthesis + + + + + Before dot operator (in path to database object) + + + + + After dot operator (in path to database object) + + + + + Before mathematical operator + + + + + After mathematical operator + + + + + Never before comma + + + + + Names + + + + + Preferred name wrapper + + + + + Always use name wrapping + + + + + Uppercase data type names + + + + + Uppercase keywords + + + + + Preview + + + + diff --git a/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_zh_CN.qm b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/Plugins/SqlEnterpriseFormatter/SqlEnterpriseFormatter_zh_CN.qm @@ -0,0 +1 @@ + + + + + QObject + + + + name + example name wrapper + + + + + SqlEnterpriseFormatter + + + Indentation + + + + + Line up keywords in multi-line queries + + + + + Indent contents of parenthesis block + + + + + Tab size: + + + + + New lines + + + + + Before opening parenthesis in column definitions + + + + + After opening parenthesis in column definitions + + + + + Before closing parenthesis in column definitions + + + + + After closing parenthesis in column definitions + + + + + Before opening parenthesis in expressions + + + + + After opening parenthesis in expressions + + + + + Before closing parenthesis in expressions + + + + + After closing parenthesis in expressions + + + + + After JOIN keywords in FROM clause + + + + + Put each column constraint in CREATE TABLE into new line + + + + + After comma + + + + + After comma in expressions + + + + + After semicolon + + + + + + Never before semicolon + + + + + White spaces + + + + + Before comma in lists + + + + + After comma in lists + + + + + Before opening parenthesis + + + + + After opening parenthesis + + + + + Before closing parenthesis + + + + + After closing parenthesis + + + + + No space between SQL function name and opening parenthesis + + + + + Before dot operator (in path to database object) + + + + + After dot operator (in path to database object) + + + + + Before mathematical operator + + + + + After mathematical operator + + + + + Never before comma + + + + + Names + + + + + Preferred name wrapper + + + + + Always use name wrapping + + + + + Uppercase data type names + + + + + Uppercase keywords + + + + + Preview + + + + diff --git a/Plugins/SqlEnterpriseFormatter/formatcreatevirtualtable.cpp b/Plugins/SqlEnterpriseFormatter/formatcreatevirtualtable.cpp index d291eda..c702846 100644 --- a/Plugins/SqlEnterpriseFormatter/formatcreatevirtualtable.cpp +++ b/Plugins/SqlEnterpriseFormatter/formatcreatevirtualtable.cpp @@ -54,7 +54,7 @@ void FormatCreateVirtualTable::handleToken(const TokenPtr& token) withFloat(token->value.toDouble()); break; case Token::INTEGER: - withInteger(token->value.toInt()); + withInteger(token->value.toLongLong()); break; case Token::BIND_PARAM: withBindParam(token->value); diff --git a/Plugins/SqlEnterpriseFormatter/formatexpr.cpp b/Plugins/SqlEnterpriseFormatter/formatexpr.cpp index 2099126..da51ae6 100644 --- a/Plugins/SqlEnterpriseFormatter/formatexpr.cpp +++ b/Plugins/SqlEnterpriseFormatter/formatexpr.cpp @@ -71,8 +71,14 @@ void FormatExpr::formatInternal() break; } case SqliteExpr::Mode::FUNCTION: - withFuncId(expr->function).withParFuncLeft().withStatementList(expr->exprList, "funcArgs", FormatStatement::ListSeparator::EXPR_COMMA).withParFuncRight(); + { + withFuncId(expr->function).withParFuncLeft(); + if (expr->distinctKw) + withKeyword("DISTINCT"); + + withStatementList(expr->exprList, "funcArgs", FormatStatement::ListSeparator::EXPR_COMMA).withParFuncRight(); break; + } case SqliteExpr::Mode::SUB_EXPR: withParExprLeft().withStatement(expr->expr1).withParExprRight(); break; diff --git a/Plugins/SqlEnterpriseFormatter/formatstatement.cpp b/Plugins/SqlEnterpriseFormatter/formatstatement.cpp index b5fd408..be5bc49 100644 --- a/Plugins/SqlEnterpriseFormatter/formatstatement.cpp +++ b/Plugins/SqlEnterpriseFormatter/formatstatement.cpp @@ -343,10 +343,10 @@ FormatStatement& FormatStatement::withLiteral(const QVariant& value) } } - value.toInt(&ok); + qint64 longVal = value.toLongLong(&ok); if (ok) { - withInteger(value.toInt()); + withInteger(longVal); return *this; } diff --git a/Plugins/SqlEnterpriseFormatter/sqlenterpriseformatter.json b/Plugins/SqlEnterpriseFormatter/sqlenterpriseformatter.json index 492f811..43095c2 100644 --- a/Plugins/SqlEnterpriseFormatter/sqlenterpriseformatter.json +++ b/Plugins/SqlEnterpriseFormatter/sqlenterpriseformatter.json @@ -2,6 +2,6 @@ "type": "CodeFormatterPlugin", "title": "SQL Enterprise", "description": "Advanced SQL formatter.", - "version": 10003, + "version": 10004, "author": "SalSoft" } diff --git a/Plugins/SqlEnterpriseFormatter/sqlenterpriseformatter.qrc b/Plugins/SqlEnterpriseFormatter/sqlenterpriseformatter.qrc index 79ed2c7..4a62ae6 100644 --- a/Plugins/SqlEnterpriseFormatter/sqlenterpriseformatter.qrc +++ b/Plugins/SqlEnterpriseFormatter/sqlenterpriseformatter.qrc @@ -4,5 +4,7 @@ SqlEnterpriseFormatter_pl.qm + SqlEnterpriseFormatter_ru.qm + SqlEnterpriseFormatter_fr.qm diff --git a/Plugins/SqlExport/SqlExport.pro b/Plugins/SqlExport/SqlExport.pro index f789222..30e4632 100644 --- a/Plugins/SqlExport/SqlExport.pro +++ b/Plugins/SqlExport/SqlExport.pro @@ -4,10 +4,10 @@ # #------------------------------------------------- -include($$PWD/../../SQLiteStudio3/plugins.pri) - QT -= gui +include($$PWD/../../SQLiteStudio3/plugins.pri) + TARGET = SqlExport TEMPLATE = lib @@ -29,5 +29,23 @@ RESOURCES += \ sqlexport.qrc -TRANSLATIONS += SqlExport_pl.ts +TRANSLATIONS += SqlExport_zh_CN.ts \ + SqlExport_sk.ts \ + SqlExport_de.ts \ + SqlExport_ru.ts \ + SqlExport_pt_BR.ts \ + SqlExport_fr.ts \ + SqlExport_es.ts \ + SqlExport_pl.ts + + + + + + + + + + + diff --git a/Plugins/SqlExport/SqlExport_de.qm b/Plugins/SqlExport/SqlExport_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/SqlExport/SqlExport_de.qm differ diff --git a/Plugins/SqlExport/SqlExport_de.ts b/Plugins/SqlExport/SqlExport_de.ts new file mode 100644 index 0000000..9346fcd --- /dev/null +++ b/Plugins/SqlExport/SqlExport_de.ts @@ -0,0 +1,98 @@ + + + + + SqlExport + + + -- Results of query: + + + + + -- Table: %1 + + + + + -- Index: %1 + + + + + -- Trigger: %1 + + + + + -- View: %1 + + + + + -- File generated with SQLiteStudio v%1 on %2 + + + + + -- Text encoding used: %1 + + + + + Table name for INSERT statements is mandatory. + + + + + sqlExportCommonConfig + + + Generate "DROP IF EXISTS" statement before "CREATE" statement + + + + + Format DDL statements only (excludes "INSERT" statements) + + + + + Use SQL formatter to format exported SQL statements + + + + + sqlExportQueryConfig + + + Use SQL formatter to format exported SQL statements + + + + + Table name to use for INSERT statements: + + + + + Generate "CREATE TABLE" statement at the begining + + + + + Include the query in comments + + + + + Generate "DROP IF EXISTS" statement before "CREATE" statement + + + + + Format DDL statements only (excludes "INSERT" statements) + + + + diff --git a/Plugins/SqlExport/SqlExport_es.qm b/Plugins/SqlExport/SqlExport_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/SqlExport/SqlExport_es.qm differ diff --git a/Plugins/SqlExport/SqlExport_es.ts b/Plugins/SqlExport/SqlExport_es.ts new file mode 100644 index 0000000..87c95b0 --- /dev/null +++ b/Plugins/SqlExport/SqlExport_es.ts @@ -0,0 +1,98 @@ + + + + + SqlExport + + + -- Results of query: + + + + + -- Table: %1 + + + + + -- Index: %1 + + + + + -- Trigger: %1 + + + + + -- View: %1 + + + + + -- File generated with SQLiteStudio v%1 on %2 + + + + + -- Text encoding used: %1 + + + + + Table name for INSERT statements is mandatory. + + + + + sqlExportCommonConfig + + + Generate "DROP IF EXISTS" statement before "CREATE" statement + + + + + Format DDL statements only (excludes "INSERT" statements) + + + + + Use SQL formatter to format exported SQL statements + + + + + sqlExportQueryConfig + + + Use SQL formatter to format exported SQL statements + + + + + Table name to use for INSERT statements: + + + + + Generate "CREATE TABLE" statement at the begining + + + + + Include the query in comments + + + + + Generate "DROP IF EXISTS" statement before "CREATE" statement + + + + + Format DDL statements only (excludes "INSERT" statements) + + + + diff --git a/Plugins/SqlExport/SqlExport_fr.qm b/Plugins/SqlExport/SqlExport_fr.qm new file mode 100644 index 0000000..6258242 Binary files /dev/null and b/Plugins/SqlExport/SqlExport_fr.qm differ diff --git a/Plugins/SqlExport/SqlExport_fr.ts b/Plugins/SqlExport/SqlExport_fr.ts new file mode 100644 index 0000000..7ffe713 --- /dev/null +++ b/Plugins/SqlExport/SqlExport_fr.ts @@ -0,0 +1,98 @@ + + + + + SqlExport + + + -- Results of query: + -- Résultats de la requête: + + + + -- Table: %1 + -- Table: %1 + + + + -- Index: %1 + -- Indéxe: %1 + + + + -- Trigger: %1 + -- Déclencheur: %1 + + + + -- View: %1 + -- Vue: %1 + + + + -- File generated with SQLiteStudio v%1 on %2 + -- Fichier généré par SQLiteStudio v%1sur %2 + + + + -- Text encoding used: %1 + -- Encodage texte utilisé: %1 + + + + Table name for INSERT statements is mandatory. + Nom de table pour la déclaration INSERT est obligatoire. + + + + sqlExportCommonConfig + + + Generate "DROP IF EXISTS" statement before "CREATE" statement + Genere "DROP IF EXISTS" Déclaration avant "CREATE"déclaration + + + + Format DDL statements only (excludes "INSERT" statements) + Format DDL déclarations seulement (déclaration exclus "INSERT") + + + + Use SQL formatter to format exported SQL statements + Utilisez le formatage SQL pour formater des déclarations SQL exportables + + + + sqlExportQueryConfig + + + Use SQL formatter to format exported SQL statements + Utilisez le formatage SQL pour formater des déclarations SQL exportables + + + + Table name to use for INSERT statements: + Nom de table pour utiliser la déclaration INSERT: + + + + Generate "CREATE TABLE" statement at the begining + Genre la déclaration "CREATE TABLE" au debut + + + + Include the query in comments + Inclus la requête dans les commentaires + + + + Generate "DROP IF EXISTS" statement before "CREATE" statement + Génere la déclaration "DROP IF EXISTS" avant la déclaration "CREATE" + + + + Format DDL statements only (excludes "INSERT" statements) + Format DDL seulement déclaration (exclus déclaration "INSERT") + + + diff --git a/Plugins/SqlExport/SqlExport_pt_BR.qm b/Plugins/SqlExport/SqlExport_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/Plugins/SqlExport/SqlExport_pt_BR.qm differ diff --git a/Plugins/SqlExport/SqlExport_pt_BR.ts b/Plugins/SqlExport/SqlExport_pt_BR.ts new file mode 100644 index 0000000..803c9dc --- /dev/null +++ b/Plugins/SqlExport/SqlExport_pt_BR.ts @@ -0,0 +1,98 @@ + + + + + SqlExport + + + -- Results of query: + + + + + -- Table: %1 + + + + + -- Index: %1 + + + + + -- Trigger: %1 + + + + + -- View: %1 + + + + + -- File generated with SQLiteStudio v%1 on %2 + + + + + -- Text encoding used: %1 + + + + + Table name for INSERT statements is mandatory. + + + + + sqlExportCommonConfig + + + Generate "DROP IF EXISTS" statement before "CREATE" statement + + + + + Format DDL statements only (excludes "INSERT" statements) + + + + + Use SQL formatter to format exported SQL statements + + + + + sqlExportQueryConfig + + + Use SQL formatter to format exported SQL statements + + + + + Table name to use for INSERT statements: + + + + + Generate "CREATE TABLE" statement at the begining + + + + + Include the query in comments + + + + + Generate "DROP IF EXISTS" statement before "CREATE" statement + + + + + Format DDL statements only (excludes "INSERT" statements) + + + + diff --git a/Plugins/SqlExport/SqlExport_ru.qm b/Plugins/SqlExport/SqlExport_ru.qm new file mode 100644 index 0000000..bc56dd6 Binary files /dev/null and b/Plugins/SqlExport/SqlExport_ru.qm differ diff --git a/Plugins/SqlExport/SqlExport_ru.ts b/Plugins/SqlExport/SqlExport_ru.ts new file mode 100644 index 0000000..9b03eaf --- /dev/null +++ b/Plugins/SqlExport/SqlExport_ru.ts @@ -0,0 +1,98 @@ + + + + + SqlExport + + + -- Results of query: + -- Результаты запроса: + + + + -- Table: %1 + -- Таблица: %1 + + + + -- Index: %1 + -- Индекс: %1 + + + + -- Trigger: %1 + -- Триггер: %1 + + + + -- View: %1 + -- Представление: %1 + + + + -- File generated with SQLiteStudio v%1 on %2 + -- Файл сгенерирован с помощью SQLiteStudio v%1 в %2 + + + + -- Text encoding used: %1 + -- Использованная кодировка текста: %1 + + + + Table name for INSERT statements is mandatory. + Имя таблицы для конструкций INSERT обязательно. + + + + sqlExportCommonConfig + + + Generate "DROP IF EXISTS" statement before "CREATE" statement + Сгенерировать конструкцию "DROP IF EXISTS" перед конструкцией "CREATE" + + + + Format DDL statements only (excludes "INSERT" statements) + Формировать только конструкции DDL (исключая конструкции "INSERT") + + + + Use SQL formatter to format exported SQL statements + Использовать модуль форматирования SQL для экспортируемых конструкций SQL + + + + sqlExportQueryConfig + + + Use SQL formatter to format exported SQL statements + Использовать модуль форматирования SQL для экспортируемых конструкций SQL + + + + Table name to use for INSERT statements: + Имя таблицы для использования в конструкции INSERT: + + + + Generate "CREATE TABLE" statement at the begining + Сгенерировать конструкцию "CREATE TABLE" в начале + + + + Include the query in comments + Вставить текст запроса в виде комментария + + + + Generate "DROP IF EXISTS" statement before "CREATE" statement + Сгенерировать конструкцию "DROP IF EXISTS" перед конструкцией "CREATE" + + + + Format DDL statements only (excludes "INSERT" statements) + Формировать только конструкции DDL (исключая конструкции "INSERT") + + + diff --git a/Plugins/SqlExport/SqlExport_sk.qm b/Plugins/SqlExport/SqlExport_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/Plugins/SqlExport/SqlExport_sk.qm differ diff --git a/Plugins/SqlExport/SqlExport_sk.ts b/Plugins/SqlExport/SqlExport_sk.ts new file mode 100644 index 0000000..6494355 --- /dev/null +++ b/Plugins/SqlExport/SqlExport_sk.ts @@ -0,0 +1,98 @@ + + + + + SqlExport + + + -- Results of query: + + + + + -- Table: %1 + + + + + -- Index: %1 + + + + + -- Trigger: %1 + + + + + -- View: %1 + + + + + -- File generated with SQLiteStudio v%1 on %2 + + + + + -- Text encoding used: %1 + + + + + Table name for INSERT statements is mandatory. + + + + + sqlExportCommonConfig + + + Generate "DROP IF EXISTS" statement before "CREATE" statement + + + + + Format DDL statements only (excludes "INSERT" statements) + + + + + Use SQL formatter to format exported SQL statements + + + + + sqlExportQueryConfig + + + Use SQL formatter to format exported SQL statements + + + + + Table name to use for INSERT statements: + + + + + Generate "CREATE TABLE" statement at the begining + + + + + Include the query in comments + + + + + Generate "DROP IF EXISTS" statement before "CREATE" statement + + + + + Format DDL statements only (excludes "INSERT" statements) + + + + diff --git a/Plugins/SqlExport/SqlExport_zh_CN.qm b/Plugins/SqlExport/SqlExport_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/Plugins/SqlExport/SqlExport_zh_CN.qm @@ -0,0 +1 @@ + + + + + SqlExport + + + -- Results of query: + + + + + -- Table: %1 + + + + + -- Index: %1 + + + + + -- Trigger: %1 + + + + + -- View: %1 + + + + + -- File generated with SQLiteStudio v%1 on %2 + + + + + -- Text encoding used: %1 + + + + + Table name for INSERT statements is mandatory. + + + + + sqlExportCommonConfig + + + Generate "DROP IF EXISTS" statement before "CREATE" statement + + + + + Format DDL statements only (excludes "INSERT" statements) + + + + + Use SQL formatter to format exported SQL statements + + + + + sqlExportQueryConfig + + + Use SQL formatter to format exported SQL statements + + + + + Table name to use for INSERT statements: + + + + + Generate "CREATE TABLE" statement at the begining + + + + + Include the query in comments + + + + + Generate "DROP IF EXISTS" statement before "CREATE" statement + + + + + Format DDL statements only (excludes "INSERT" statements) + + + + diff --git a/Plugins/SqlExport/sqlexport.qrc b/Plugins/SqlExport/sqlexport.qrc index 3920490..ca38e9c 100644 --- a/Plugins/SqlExport/sqlexport.qrc +++ b/Plugins/SqlExport/sqlexport.qrc @@ -5,5 +5,7 @@ SqlExport_pl.qm + SqlExport_ru.qm + SqlExport_fr.qm diff --git a/Plugins/SqlFormatterSimple/SqlFormatterSimple.pro b/Plugins/SqlFormatterSimple/SqlFormatterSimple.pro index ecf3355..61ec27a 100644 --- a/Plugins/SqlFormatterSimple/SqlFormatterSimple.pro +++ b/Plugins/SqlFormatterSimple/SqlFormatterSimple.pro @@ -4,10 +4,10 @@ # #------------------------------------------------- -include($$PWD/../../SQLiteStudio3/plugins.pri) - QT -= gui +include($$PWD/../../SQLiteStudio3/plugins.pri) + TARGET = SqlFormatterSimple TEMPLATE = lib @@ -28,5 +28,23 @@ RESOURCES += \ sqlformattersimple.qrc -TRANSLATIONS += SqlFormatterSimple_pl.ts +TRANSLATIONS += SqlFormatterSimple_zh_CN.ts \ + SqlFormatterSimple_sk.ts \ + SqlFormatterSimple_de.ts \ + SqlFormatterSimple_ru.ts \ + SqlFormatterSimple_pt_BR.ts \ + SqlFormatterSimple_fr.ts \ + SqlFormatterSimple_es.ts \ + SqlFormatterSimple_pl.ts + + + + + + + + + + + diff --git a/Plugins/SqlFormatterSimple/SqlFormatterSimple_de.qm b/Plugins/SqlFormatterSimple/SqlFormatterSimple_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/SqlFormatterSimple/SqlFormatterSimple_de.qm differ diff --git a/Plugins/SqlFormatterSimple/SqlFormatterSimple_de.ts b/Plugins/SqlFormatterSimple/SqlFormatterSimple_de.ts new file mode 100644 index 0000000..93812a9 --- /dev/null +++ b/Plugins/SqlFormatterSimple/SqlFormatterSimple_de.ts @@ -0,0 +1,17 @@ + + + + + SqlFormatterSimplePlugin + + + Upper case keywords + + + + + Reduce multiple whitespaces to single whitespace + + + + diff --git a/Plugins/SqlFormatterSimple/SqlFormatterSimple_es.qm b/Plugins/SqlFormatterSimple/SqlFormatterSimple_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/SqlFormatterSimple/SqlFormatterSimple_es.qm differ diff --git a/Plugins/SqlFormatterSimple/SqlFormatterSimple_es.ts b/Plugins/SqlFormatterSimple/SqlFormatterSimple_es.ts new file mode 100644 index 0000000..65e7822 --- /dev/null +++ b/Plugins/SqlFormatterSimple/SqlFormatterSimple_es.ts @@ -0,0 +1,17 @@ + + + + + SqlFormatterSimplePlugin + + + Upper case keywords + + + + + Reduce multiple whitespaces to single whitespace + + + + diff --git a/Plugins/SqlFormatterSimple/SqlFormatterSimple_fr.qm b/Plugins/SqlFormatterSimple/SqlFormatterSimple_fr.qm new file mode 100644 index 0000000..4100e6f Binary files /dev/null and b/Plugins/SqlFormatterSimple/SqlFormatterSimple_fr.qm differ diff --git a/Plugins/SqlFormatterSimple/SqlFormatterSimple_fr.ts b/Plugins/SqlFormatterSimple/SqlFormatterSimple_fr.ts new file mode 100644 index 0000000..af09a0c --- /dev/null +++ b/Plugins/SqlFormatterSimple/SqlFormatterSimple_fr.ts @@ -0,0 +1,17 @@ + + + + + SqlFormatterSimplePlugin + + + Upper case keywords + Mots-clés en majuscule + + + + Reduce multiple whitespaces to single whitespace + Réduisez les espaces multiples à un seul espace + + + diff --git a/Plugins/SqlFormatterSimple/SqlFormatterSimple_pt_BR.qm b/Plugins/SqlFormatterSimple/SqlFormatterSimple_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/Plugins/SqlFormatterSimple/SqlFormatterSimple_pt_BR.qm differ diff --git a/Plugins/SqlFormatterSimple/SqlFormatterSimple_pt_BR.ts b/Plugins/SqlFormatterSimple/SqlFormatterSimple_pt_BR.ts new file mode 100644 index 0000000..0dca148 --- /dev/null +++ b/Plugins/SqlFormatterSimple/SqlFormatterSimple_pt_BR.ts @@ -0,0 +1,17 @@ + + + + + SqlFormatterSimplePlugin + + + Upper case keywords + + + + + Reduce multiple whitespaces to single whitespace + + + + diff --git a/Plugins/SqlFormatterSimple/SqlFormatterSimple_ru.qm b/Plugins/SqlFormatterSimple/SqlFormatterSimple_ru.qm new file mode 100644 index 0000000..2f4ef6c Binary files /dev/null and b/Plugins/SqlFormatterSimple/SqlFormatterSimple_ru.qm differ diff --git a/Plugins/SqlFormatterSimple/SqlFormatterSimple_ru.ts b/Plugins/SqlFormatterSimple/SqlFormatterSimple_ru.ts new file mode 100644 index 0000000..53a4f8c --- /dev/null +++ b/Plugins/SqlFormatterSimple/SqlFormatterSimple_ru.ts @@ -0,0 +1,17 @@ + + + + + SqlFormatterSimplePlugin + + + Upper case keywords + Ключевые слова в верхнем регистре + + + + Reduce multiple whitespaces to single whitespace + Сокращать несколько непечатаемых символов в один + + + diff --git a/Plugins/SqlFormatterSimple/SqlFormatterSimple_sk.qm b/Plugins/SqlFormatterSimple/SqlFormatterSimple_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/Plugins/SqlFormatterSimple/SqlFormatterSimple_sk.qm differ diff --git a/Plugins/SqlFormatterSimple/SqlFormatterSimple_sk.ts b/Plugins/SqlFormatterSimple/SqlFormatterSimple_sk.ts new file mode 100644 index 0000000..d55d03c --- /dev/null +++ b/Plugins/SqlFormatterSimple/SqlFormatterSimple_sk.ts @@ -0,0 +1,17 @@ + + + + + SqlFormatterSimplePlugin + + + Upper case keywords + + + + + Reduce multiple whitespaces to single whitespace + + + + diff --git a/Plugins/SqlFormatterSimple/SqlFormatterSimple_zh_CN.qm b/Plugins/SqlFormatterSimple/SqlFormatterSimple_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/Plugins/SqlFormatterSimple/SqlFormatterSimple_zh_CN.qm @@ -0,0 +1 @@ + + + + + SqlFormatterSimplePlugin + + + Upper case keywords + + + + + Reduce multiple whitespaces to single whitespace + + + + diff --git a/Plugins/SqlFormatterSimple/sqlformattersimple.qrc b/Plugins/SqlFormatterSimple/sqlformattersimple.qrc index 33f00ba..4cc4a3b 100644 --- a/Plugins/SqlFormatterSimple/sqlformattersimple.qrc +++ b/Plugins/SqlFormatterSimple/sqlformattersimple.qrc @@ -4,5 +4,7 @@ SqlFormatterSimple_pl.qm + SqlFormatterSimple_ru.qm + SqlFormatterSimple_fr.qm diff --git a/Plugins/XmlExport/XmlExport.pro b/Plugins/XmlExport/XmlExport.pro index f7dbb7f..e22c320 100644 --- a/Plugins/XmlExport/XmlExport.pro +++ b/Plugins/XmlExport/XmlExport.pro @@ -4,10 +4,10 @@ # #------------------------------------------------- -include($$PWD/../../SQLiteStudio3/plugins.pri) - QT -= gui +include($$PWD/../../SQLiteStudio3/plugins.pri) + TARGET = XmlExport TEMPLATE = lib @@ -27,5 +27,23 @@ RESOURCES += \ xmlexport.qrc -TRANSLATIONS += XmlExport_pl.ts +TRANSLATIONS += XmlExport_zh_CN.ts \ + XmlExport_sk.ts \ + XmlExport_de.ts \ + XmlExport_ru.ts \ + XmlExport_pt_BR.ts \ + XmlExport_fr.ts \ + XmlExport_es.ts \ + XmlExport_pl.ts + + + + + + + + + + + diff --git a/Plugins/XmlExport/XmlExport_de.qm b/Plugins/XmlExport/XmlExport_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/XmlExport/XmlExport_de.qm differ diff --git a/Plugins/XmlExport/XmlExport_de.ts b/Plugins/XmlExport/XmlExport_de.ts new file mode 100644 index 0000000..aa8eb2f --- /dev/null +++ b/Plugins/XmlExport/XmlExport_de.ts @@ -0,0 +1,70 @@ + + + + + XmlExport + + + Enter the namespace to use (for example: http://my.namespace.org) + + + + + XmlExportConfig + + + Output format + + + + + Format document (new lines, indentation) + + + + + Compress (everything in one line) + + + + + Special characters escaping + + + + + <p>Ampersands will be used for shorter values and CDATA will be used for larger values. This applies only to values that require character escaping. Other values will be exported as they are.</p> + + + + + Use CDATA and ampersands + + + + + <p>Every value requiring character escepe will be enclosed in CDATA block.</p> + + + + + Always use CDATA + + + + + <p>Every character that require esceping will be replaced with its ampersand escape sequence. No CDATA blocks will be used.</p> + + + + + Always use ampersand + + + + + Define XML namespace + + + + diff --git a/Plugins/XmlExport/XmlExport_es.qm b/Plugins/XmlExport/XmlExport_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/Plugins/XmlExport/XmlExport_es.qm differ diff --git a/Plugins/XmlExport/XmlExport_es.ts b/Plugins/XmlExport/XmlExport_es.ts new file mode 100644 index 0000000..532228c --- /dev/null +++ b/Plugins/XmlExport/XmlExport_es.ts @@ -0,0 +1,70 @@ + + + + + XmlExport + + + Enter the namespace to use (for example: http://my.namespace.org) + + + + + XmlExportConfig + + + Output format + + + + + Format document (new lines, indentation) + + + + + Compress (everything in one line) + + + + + Special characters escaping + + + + + <p>Ampersands will be used for shorter values and CDATA will be used for larger values. This applies only to values that require character escaping. Other values will be exported as they are.</p> + + + + + Use CDATA and ampersands + + + + + <p>Every value requiring character escepe will be enclosed in CDATA block.</p> + + + + + Always use CDATA + + + + + <p>Every character that require esceping will be replaced with its ampersand escape sequence. No CDATA blocks will be used.</p> + + + + + Always use ampersand + + + + + Define XML namespace + + + + diff --git a/Plugins/XmlExport/XmlExport_fr.qm b/Plugins/XmlExport/XmlExport_fr.qm new file mode 100644 index 0000000..6fd1fab Binary files /dev/null and b/Plugins/XmlExport/XmlExport_fr.qm differ diff --git a/Plugins/XmlExport/XmlExport_fr.ts b/Plugins/XmlExport/XmlExport_fr.ts new file mode 100644 index 0000000..80c2564 --- /dev/null +++ b/Plugins/XmlExport/XmlExport_fr.ts @@ -0,0 +1,70 @@ + + + + + XmlExport + + + Enter the namespace to use (for example: http://my.namespace.org) + Saississez l'espace nom (par exemple: http://my.namespace.org) + + + + XmlExportConfig + + + Output format + Format de sortie + + + + Format document (new lines, indentation) + Format document( nouvelle lignes, indentation) + + + + Compress (everything in one line) + Compression (tout en une ligne) + + + + Special characters escaping + Caractères spécial d'échappement + + + + <p>Ampersands will be used for shorter values and CDATA will be used for larger values. This applies only to values that require character escaping. Other values will be exported as they are.</p> + <p>Esperluette sera utilisée pourpour les valeurs les plus courtes et CDATA pour les plus longues. Ceci appliqué seulement aux valeurs qui requirent un caractère d'échapement. Les autres valeurs seront exportées telque.</p> + + + + Use CDATA and ampersands + Utiliser esperluettes et CDATA + + + + <p>Every value requiring character escepe will be enclosed in CDATA block.</p> + <p>Toute valeur requierant un carctère d'échappement sera incluse dans le block CDATA.</p> + + + + Always use CDATA + Toujours utiliser CDATA + + + + <p>Every character that require esceping will be replaced with its ampersand escape sequence. No CDATA blocks will be used.</p> + <p>Chaque caractère requirant un échappement sera encadré avec une séquence esperluette.Aucun block CDATA ne sera utilisé</p> + + + + Always use ampersand + Toujours utiliser esperluette + + + + Define XML namespace + Définir le domaine XML + + + diff --git a/Plugins/XmlExport/XmlExport_pt_BR.qm b/Plugins/XmlExport/XmlExport_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/Plugins/XmlExport/XmlExport_pt_BR.qm differ diff --git a/Plugins/XmlExport/XmlExport_pt_BR.ts b/Plugins/XmlExport/XmlExport_pt_BR.ts new file mode 100644 index 0000000..31a9cf7 --- /dev/null +++ b/Plugins/XmlExport/XmlExport_pt_BR.ts @@ -0,0 +1,70 @@ + + + + + XmlExport + + + Enter the namespace to use (for example: http://my.namespace.org) + + + + + XmlExportConfig + + + Output format + + + + + Format document (new lines, indentation) + + + + + Compress (everything in one line) + + + + + Special characters escaping + + + + + <p>Ampersands will be used for shorter values and CDATA will be used for larger values. This applies only to values that require character escaping. Other values will be exported as they are.</p> + + + + + Use CDATA and ampersands + + + + + <p>Every value requiring character escepe will be enclosed in CDATA block.</p> + + + + + Always use CDATA + + + + + <p>Every character that require esceping will be replaced with its ampersand escape sequence. No CDATA blocks will be used.</p> + + + + + Always use ampersand + + + + + Define XML namespace + + + + diff --git a/Plugins/XmlExport/XmlExport_ru.qm b/Plugins/XmlExport/XmlExport_ru.qm new file mode 100644 index 0000000..15cdb78 Binary files /dev/null and b/Plugins/XmlExport/XmlExport_ru.qm differ diff --git a/Plugins/XmlExport/XmlExport_ru.ts b/Plugins/XmlExport/XmlExport_ru.ts new file mode 100644 index 0000000..b7c76e6 --- /dev/null +++ b/Plugins/XmlExport/XmlExport_ru.ts @@ -0,0 +1,70 @@ + + + + + XmlExport + + + Enter the namespace to use (for example: http://my.namespace.org) + Укажите используемое пространство имён (например http://my.namespace.org) + + + + XmlExportConfig + + + Output format + Выходной формат + + + + Format document (new lines, indentation) + Форматировать документ (переносы строк, отступы) + + + + Compress (everything in one line) + Сжать (всё в одну строку) + + + + Special characters escaping + Экранирование спецсимволов + + + + <p>Ampersands will be used for shorter values and CDATA will be used for larger values. This applies only to values that require character escaping. Other values will be exported as they are.</p> + <p>Амперсанды будут использованы для коротких значений, CDATA — для длинных. Это относится только к значениям, которые необходимо экранировать. Остальные значения будут экспортированы как есть.</p> + + + + Use CDATA and ampersands + Использовать CDATA и амперсанды + + + + <p>Every value requiring character escepe will be enclosed in CDATA block.</p> + <p>Все значения, требующие экранирования, будут помещены в блок CDATA.</p> + + + + Always use CDATA + Всегда использовать CDATA + + + + <p>Every character that require esceping will be replaced with its ampersand escape sequence. No CDATA blocks will be used.</p> + <p>Все значения, требующие экранирования, будут заменены экранирующими последовательностями с амперсандом. Блоки CDATA использованы не будут.</p> + + + + Always use ampersand + Всегда использовать амперсанд + + + + Define XML namespace + Указать пространство имён XML + + + diff --git a/Plugins/XmlExport/XmlExport_sk.qm b/Plugins/XmlExport/XmlExport_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/Plugins/XmlExport/XmlExport_sk.qm differ diff --git a/Plugins/XmlExport/XmlExport_sk.ts b/Plugins/XmlExport/XmlExport_sk.ts new file mode 100644 index 0000000..5c674aa --- /dev/null +++ b/Plugins/XmlExport/XmlExport_sk.ts @@ -0,0 +1,70 @@ + + + + + XmlExport + + + Enter the namespace to use (for example: http://my.namespace.org) + + + + + XmlExportConfig + + + Output format + + + + + Format document (new lines, indentation) + + + + + Compress (everything in one line) + + + + + Special characters escaping + + + + + <p>Ampersands will be used for shorter values and CDATA will be used for larger values. This applies only to values that require character escaping. Other values will be exported as they are.</p> + + + + + Use CDATA and ampersands + + + + + <p>Every value requiring character escepe will be enclosed in CDATA block.</p> + + + + + Always use CDATA + + + + + <p>Every character that require esceping will be replaced with its ampersand escape sequence. No CDATA blocks will be used.</p> + + + + + Always use ampersand + + + + + Define XML namespace + + + + diff --git a/Plugins/XmlExport/XmlExport_zh_CN.qm b/Plugins/XmlExport/XmlExport_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/Plugins/XmlExport/XmlExport_zh_CN.qm @@ -0,0 +1 @@ + + + + + XmlExport + + + Enter the namespace to use (for example: http://my.namespace.org) + + + + + XmlExportConfig + + + Output format + + + + + Format document (new lines, indentation) + + + + + Compress (everything in one line) + + + + + Special characters escaping + + + + + <p>Ampersands will be used for shorter values and CDATA will be used for larger values. This applies only to values that require character escaping. Other values will be exported as they are.</p> + + + + + Use CDATA and ampersands + + + + + <p>Every value requiring character escepe will be enclosed in CDATA block.</p> + + + + + Always use CDATA + + + + + <p>Every character that require esceping will be replaced with its ampersand escape sequence. No CDATA blocks will be used.</p> + + + + + Always use ampersand + + + + + Define XML namespace + + + + diff --git a/Plugins/XmlExport/xmlexport.qrc b/Plugins/XmlExport/xmlexport.qrc index cfa97ff..d951458 100644 --- a/Plugins/XmlExport/xmlexport.qrc +++ b/Plugins/XmlExport/xmlexport.qrc @@ -4,5 +4,7 @@ XmlExport_pl.qm + XmlExport_ru.qm + XmlExport_fr.qm diff --git a/SQLiteStudio3/SQLiteStudio3.pro b/SQLiteStudio3/SQLiteStudio3.pro index 90a7dd9..ee210a1 100644 --- a/SQLiteStudio3/SQLiteStudio3.pro +++ b/SQLiteStudio3/SQLiteStudio3.pro @@ -36,13 +36,15 @@ win32: { linux: { portable.commands = sh $$PWD/create_linux_portable.sh $$PWD/../$$OUTPUT_DIR_NAME $$QMAKE_QMAKE tgz.commands = sh $$PWD/create_linux_portable.sh $$PWD/../$$OUTPUT_DIR_NAME $$QMAKE_QMAKE tgz - dist.commands = sh $$PWD/create_linux_portable.sh $$PWD/../$$OUTPUT_DIR_NAME $$QMAKE_QMAKE dist - QMAKE_EXTRA_TARGETS += portable tgz dist + pkg.commands = sh $$PWD/create_linux_portable.sh $$PWD/../$$OUTPUT_DIR_NAME $$QMAKE_QMAKE dist + pkg_plugins.commands = sh $$PWD/create_linux_portable.sh $$PWD/../$$OUTPUT_DIR_NAME $$QMAKE_QMAKE dist_plugins + QMAKE_EXTRA_TARGETS += portable tgz pkg pkg_plugins } macx: { bundle.commands = sh $$PWD/create_macosx_bundle.sh $$PWD/../$$OUTPUT_DIR_NAME $$QMAKE_QMAKE dmg.commands = sh $$PWD/create_macosx_bundle.sh $$PWD/../$$OUTPUT_DIR_NAME $$QMAKE_QMAKE dmg - dist.commands = sh $$PWD/create_macosx_bundle.sh $$PWD/../$$OUTPUT_DIR_NAME $$QMAKE_QMAKE dist - QMAKE_EXTRA_TARGETS += bundle dmg dist + pkg.commands = sh $$PWD/create_macosx_bundle.sh $$PWD/../$$OUTPUT_DIR_NAME $$QMAKE_QMAKE dist + pkg_plugins.commands = sh $$PWD/create_macosx_bundle.sh $$PWD/../$$OUTPUT_DIR_NAME $$QMAKE_QMAKE dist_plugins + QMAKE_EXTRA_TARGETS += bundle dmg pkg pkg_plugins } diff --git a/SQLiteStudio3/Tests/ParserTest/tst_parsertest.cpp b/SQLiteStudio3/Tests/ParserTest/tst_parsertest.cpp index b34f11e..cd8c4b2 100644 --- a/SQLiteStudio3/Tests/ParserTest/tst_parsertest.cpp +++ b/SQLiteStudio3/Tests/ParserTest/tst_parsertest.cpp @@ -36,6 +36,7 @@ class ParserTest : public QObject void testExpr(); void testCommentBeginMultiline(); void testBetween(); + void testBigNum(); void initTestCase(); void cleanupTestCase(); }; @@ -346,6 +347,13 @@ void ParserTest::testBetween() QVERIFY(res); } +void ParserTest::testBigNum() +{ + QString sql = "SELECT ( col - 73016000000 ) FROM tab"; + bool res = parser3->parse(sql); + QVERIFY(res); +} + void ParserTest::initTestCase() { initKeywords(); diff --git a/SQLiteStudio3/Tests/Tests.pro b/SQLiteStudio3/Tests/Tests.pro index 60ade33..7995bf1 100644 --- a/SQLiteStudio3/Tests/Tests.pro +++ b/SQLiteStudio3/Tests/Tests.pro @@ -20,6 +20,9 @@ hash_tables.depends = test_utils db_ver_conv.subdir = DbVersionConverterTest db_ver_conv.depends = test_utils +dsv.subdir = DsvFormatsTest +dsv.depends = test_utils + SUBDIRS += \ test_utils \ completion_helper \ @@ -28,4 +31,4 @@ SUBDIRS += \ table_modifier \ hash_tables \ db_ver_conv \ - DsvFormatsTest + dsv diff --git a/SQLiteStudio3/coreSQLiteStudio/ChangeLog.txt b/SQLiteStudio3/coreSQLiteStudio/ChangeLog.txt index c890b69..fe7a977 100644 --- a/SQLiteStudio3/coreSQLiteStudio/ChangeLog.txt +++ b/SQLiteStudio3/coreSQLiteStudio/ChangeLog.txt @@ -1,3 +1,28 @@ +[3.0.3] + * [ADDED]: Added visual validation indicators to DbDialog, so user is informed why the "Ok" button is disabled at the moment. + * [ADDED]: Russian translation. + * [ADDED]: French translation. + * [ADDED]: #2770 Added SQLite 3 version used by application in the Environment tab of the About dialog. + * [CHANGE]: Language translations located in a separate directory have now higher precedense, than translations compiled in, so it's possible to test updated translations "on the fly". + * [BUGFIX]: Fixed support for "function(DISTINCT args)" in Enterprise formatter. + * [BUGFIX]: #2753 Fixed parsing TEMP and IF NOT EXISTS in CREATE TABLE statement. + * [BUGFIX]: #2755 Fixed error checking for recurrent expression with LIKE/GLOB operator in it. + * [BUGFIX]: Switched error message from simple method error to smart method error in QueryExecutor to avoid misleading messages. + * [BUGFIX]: #2760 Fixed marking "unique" in index dialog when opening existing unique index. + * [BUGFIX]: #2757 Fixed int64 rounding problem. + * [BUGFIX]: #2767 Fixed NOT NULL dialog in column dialog, so it doesn't convert to UNIQUE. + * [BUGFIX]: #2763 Fixed possibility of adding 2 same databases to the list. + * [BUGFIX]: Fixed copying values from Environment tab of the About dialog. + * [BUGFIX]: #2774 Fixed handling triggers (when modifying table) in foreign tables, triggers referencing table in its subqueries, etc. + * [BUGFIX]: Fixed executing SELECT in SQLite2 for columns that need wrapping. + * [BUGFIX]: Fixed editing data for tables transparently attached in the SQL query. + * [BUGFIX]: Fixed Shortcut titles translation in configuration dialog. + * [BUGFIX]: Fixed aggregate functions, so initial and final codes are executed, not only the per-step code. + * [BUGFIX]: #2781 Portable configuration directory can now be either in the running directory, or in applications directory. It's auto-detected. + * [BUGFIX]: Optimized loading huge data sets into data grid. It's faster and the progress bar acts more smoothly. + * [BUGFIX]: Shortcut for closing current window is now displayed in the context menu for taskbar. + * [BUGFIX]: "Skip first line" option in CSV import renamed to "First line represents CSV columns". Maybe this time it won't confused anyone. + [3.0.2] * [ADDED]: Full support for the interface translations. * [ADDED]: Polish translation. diff --git a/SQLiteStudio3/coreSQLiteStudio/TODO.txt b/SQLiteStudio3/coreSQLiteStudio/TODO.txt index 458d550..055898c 100644 --- a/SQLiteStudio3/coreSQLiteStudio/TODO.txt +++ b/SQLiteStudio3/coreSQLiteStudio/TODO.txt @@ -1,6 +1,5 @@ -* 3.0.1: - * Next versions: +- small useful features: generating template queries from context menu for table/view, from data view. - commiting DataView should be async - syntax checkers as services - per language - code assistants as services - per language diff --git a/SQLiteStudio3/coreSQLiteStudio/completionhelper.cpp b/SQLiteStudio3/coreSQLiteStudio/completionhelper.cpp index 99eb334..528df73 100644 --- a/SQLiteStudio3/coreSQLiteStudio/completionhelper.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/completionhelper.cpp @@ -1029,9 +1029,6 @@ void CompletionHelper::parseFullSql() { Dialect dialect = db->getDialect(); - Parser parser(dialect); - parser.setLemonDebug(enableLemonDebug); - QString sql = fullSql; // Selecting query at cursor position @@ -1046,11 +1043,30 @@ void CompletionHelper::parseFullSql() query += ";"; // Parsing query - if (parser.parse(query, true) && !parser.getQueries().isEmpty()) + Parser parser(dialect); + parser.setLemonDebug(enableLemonDebug); + if (tryToParse(&parser, query)) + return; + + // Second try - handling open parenthesis for expr (which could not be handled by the grammar, because of bug #2755) + parser.setLemonDebug(false); // avoid spamming with lemon debug + QString truncatedSql = sql.left(cursorPosition); + query = getQueryWithPosition(truncatedSql, cursorPosition, dialect); + query += ");"; + + if (tryToParse(&parser, query)) + return; +} + +bool CompletionHelper::tryToParse(Parser* parser, const QString& query) +{ + if (parser->parse(query, true) && !parser->getQueries().isEmpty()) { - parsedQuery = parser.getQueries().first(); + parsedQuery = parser->getQueries().first(); originalParsedQuery = SqliteQueryPtr(dynamic_cast(parsedQuery->clone())); + return true; } + return false; } void CompletionHelper::sort(QList &resultsSoFar) diff --git a/SQLiteStudio3/coreSQLiteStudio/completionhelper.h b/SQLiteStudio3/coreSQLiteStudio/completionhelper.h index 2cb3c01..5c656c2 100644 --- a/SQLiteStudio3/coreSQLiteStudio/completionhelper.h +++ b/SQLiteStudio3/coreSQLiteStudio/completionhelper.h @@ -118,6 +118,7 @@ class API_EXPORT CompletionHelper : public QObject void filterDuplicates(QList &results); bool isFilterType(Token::Type type); void parseFullSql(); + bool tryToParse(Parser* parser, const QString& query); void sort(QList &results); void extractPreviousIdTokens(const TokenList& parsedTokens); void extractQueryAdditionalInfo(); diff --git a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.cpp b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.cpp index a79e08a..1a63776 100644 --- a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.cpp @@ -34,6 +34,16 @@ QHash &CfgCategory::getEntries() return childs; } +void CfgCategory::translateTitle() +{ + // This needs to be "QObject::tr" and not just "tr", because this guarantees proper message context for retranslating + // titles for objects initialized in global scope (as CfgCategories are). + title = QObject::tr(title.toUtf8().constData()); + for (CfgEntry* entry : childs) + entry->translateTitle(); + +} + void CfgCategory::reset() { for (CfgEntry* entry : childs) diff --git a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.h b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.h index 2a6ccaf..45197d6 100644 --- a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.h +++ b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.h @@ -23,6 +23,7 @@ class API_EXPORT CfgCategory : public QObject QString toString() const; operator QString() const; QHash& getEntries(); + void translateTitle(); void reset(); void savepoint(bool transaction = false); void restore(); diff --git a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.cpp b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.cpp index 6a5f6a4..9a91ea8 100644 --- a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.cpp @@ -99,6 +99,12 @@ QString CfgEntry::getTitle() const return title; } +void CfgEntry::translateTitle() +{ + // This needs to be "QObject::tr" and not just "tr". See CfgCategory::translateTitle() for details. + title = QObject::tr(title.toUtf8().constData()); +} + void CfgEntry::reset() { set(getDefultValue()); diff --git a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.h b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.h index 92b2a5f..4c1bbb0 100644 --- a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.h +++ b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.h @@ -29,6 +29,7 @@ class API_EXPORT CfgEntry : public QObject void defineDefaultValueFunction(DefaultValueProviderFunc func); QString getFullKey() const; QString getTitle() const; + void translateTitle(); void reset(); bool isPersistable() const; bool isPersisted() const; diff --git a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.cpp b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.cpp index 72fc0d0..480b4cc 100644 --- a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.cpp @@ -55,6 +55,13 @@ QHash &CfgMain::getCategories() return childs; } +void CfgMain::translateTitle() +{ + title = QObject::tr(title.toUtf8().constData()); + for (CfgCategory* ctg : childs) + ctg->translateTitle(); +} + void CfgMain::reset() { for (CfgCategory* ctg : childs) diff --git a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.h b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.h index bc9490d..d42f03b 100644 --- a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.h +++ b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.h @@ -22,6 +22,7 @@ class API_EXPORT CfgMain static QList getPersistableInstances(); QHash& getCategories(); + void translateTitle(); void reset(); void savepoint(bool transaction = false); void restore(); diff --git a/SQLiteStudio3/coreSQLiteStudio/coreSQLiteStudio.pro b/SQLiteStudio3/coreSQLiteStudio/coreSQLiteStudio.pro index e58e2a8..84cd818 100644 --- a/SQLiteStudio3/coreSQLiteStudio/coreSQLiteStudio.pro +++ b/SQLiteStudio3/coreSQLiteStudio/coreSQLiteStudio.pro @@ -19,7 +19,12 @@ TEMPLATE = lib win32 { LIBS += -lpsapi $$PWD/../../../lib/libquazip.a - DISTFILES += qt.conf + + THE_FILE = $$PWD/qt.conf + THE_DEST = $${DESTDIR} + THE_FILE ~= s,/,\\,g + THE_DEST ~= s,/,\\,g + QMAKE_POST_LINK += $$QMAKE_COPY $$THE_FILE $$THE_DEST $$escape_expand(\\n\\t) } linux: { @@ -45,7 +50,14 @@ portable { CONFIG += c++11 QMAKE_CXXFLAGS += -pedantic -TRANSLATIONS += translations/coreSQLiteStudio_pl.ts +TRANSLATIONS += translations/coreSQLiteStudio_zh_CN.ts \ + translations/coreSQLiteStudio_sk.ts \ + translations/coreSQLiteStudio_de.ts \ + translations/coreSQLiteStudio_ru.ts \ + translations/coreSQLiteStudio_pt_BR.ts \ + translations/coreSQLiteStudio_fr.ts \ + translations/coreSQLiteStudio_es.ts \ + translations/coreSQLiteStudio_pl.ts SOURCES += sqlitestudio.cpp \ returncode.cpp \ @@ -422,3 +434,14 @@ FORMS += \ RESOURCES += \ coresqlitestudio.qrc + + + + + + + + + + + diff --git a/SQLiteStudio3/coreSQLiteStudio/coresqlitestudio.qrc b/SQLiteStudio3/coreSQLiteStudio/coresqlitestudio.qrc index 6f2f925..3ad28a9 100644 --- a/SQLiteStudio3/coreSQLiteStudio/coresqlitestudio.qrc +++ b/SQLiteStudio3/coreSQLiteStudio/coresqlitestudio.qrc @@ -20,5 +20,7 @@ translations/coreSQLiteStudio_pl.qm + translations/coreSQLiteStudio_ru.qm + translations/coreSQLiteStudio_fr.qm diff --git a/SQLiteStudio3/coreSQLiteStudio/db/abstractdb2.h b/SQLiteStudio3/coreSQLiteStudio/db/abstractdb2.h index c521bfa..9b27dc3 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/abstractdb2.h +++ b/SQLiteStudio3/coreSQLiteStudio/db/abstractdb2.h @@ -352,7 +352,7 @@ void AbstractDb2::storeResult(sqlite_func* func, const QVariant& result, bool case QVariant::UInt: case QVariant::LongLong: { - sqlite_set_result_int(func, result.toInt()); + sqlite_set_result_int(func, result.toLongLong()); break; } case QVariant::Double: diff --git a/SQLiteStudio3/coreSQLiteStudio/db/db.h b/SQLiteStudio3/coreSQLiteStudio/db/db.h index 7d10a05..e11a844 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/db.h +++ b/SQLiteStudio3/coreSQLiteStudio/db/db.h @@ -501,7 +501,8 @@ class API_EXPORT Db : public QObject, public Interruptable * @brief Attaches given database to this database. * @param otherDb Other registered database object. * @param silent If true, no errors or warnings will be reported to the NotifyManager (they will still appear in logs). - * @return Name of the attached database (it's not the symbolic name of the other database, it's a name you would use in ATTACH 'name' statement). + * @return Name of the attached database (it's not the symbolic name of the other database, it's a name you would use in ATTACH 'name' statement), + * or null string if error occurred. * * This is convinent method to attach other registered databases to this database. It generates attached database name, so it doesn't conflict * with other - already attached - database names, attaches the database with that name and returns that name to you, so you can refer to it in queries. @@ -583,7 +584,8 @@ class API_EXPORT Db : public QObject, public Interruptable * @return Database type label. * * The database type label is used on UI to tell user what database it is (SQLite 3, SQLite 2, Encrypted SQLite 3, etc). - * This is defined by DbPlugin. + * This is usually the same as DbPlugin::getTitle(), but getTitle() is used in list of plugins in configuration dialog, + * while getTypeLabel() is used on databases list. */ virtual QString getTypeLabel() = 0; diff --git a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.cpp b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.cpp index 97b3f1d..9fc49df 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.cpp @@ -107,6 +107,8 @@ void QueryExecutor::executeChain() } } + requiredDbAttaches = context->dbNameToAttach.leftValues(); + // We're done. clearChain(); @@ -433,6 +435,7 @@ void QueryExecutor::simpleExecutionFinished(SqlQueryPtr results) context->executionTime = QDateTime::currentMSecsSinceEpoch() - simpleExecutionStartTime; context->rowsAffected = results->rowsAffected(); context->totalRowsReturned = 0; + requiredDbAttaches = context->dbNameToAttach.leftValues(); executionMutex.lock(); executionInProgress = false; @@ -538,6 +541,12 @@ bool QueryExecutor::handleRowCountingResults(quint32 asyncId, SqlQueryPtr result return true; } + +const QStringList& QueryExecutor::getRequiredDbAttaches() const +{ + return requiredDbAttaches; +} + bool QueryExecutor::getNoMetaColumns() const { return noMetaColumns; @@ -550,32 +559,24 @@ void QueryExecutor::setNoMetaColumns(bool value) void QueryExecutor::handleErrorsFromSmartAndSimpleMethods(SqlQueryPtr results) { - QString simpleText = results->getErrorText(); - - // Smart text may contain messages from steps before the actual execution, but they will have negative error code. - // Positive error code means that the error came directly from SQLite. - QString smartText = context->errorCodeFromSmartExecution > 0 ? context->errorMessageFromSmartExecution : QString(); - - if (simpleText.contains("no such") && smartText.contains("no such")) - { - // This happens if user refers to invalid column in attached database. - // Smart execution will tell "no such column: xxx", while simple method will tell: - // "no such table: attach.table". In that case we're more interested in smart method message. - // This also applies to views. - error(context->errorCodeFromSmartExecution, smartText); - return; - } - - if (simpleText.contains("no such") && smartText.contains("ambiguous")) + UNUSED(results); + // It turns out that currently smart execution error has more sense to be displayed to user than the simple execution error, + // so we're ignoring error from simple method, because it's usually misleading. + // The case when simple method error is more true than smart method error is very rare nowdays. + // Just rename attach names in the message. + QString msg = context->errorMessageFromSmartExecution; + QString match; + QString replaceName; + Dialect dialect = db->getDialect(); + for (const QString& attachName : context->dbNameToAttach.rightValues()) { - // This happens when smart execution raised "amigous column name" or something like that, - // but simple method failed to work because of transparent database attaching. We prefer smart method error. - error(context->errorCodeFromSmartExecution, smartText); - return; + match = attachName + "."; + replaceName = wrapObjIfNeeded(context->dbNameToAttach.valueByRight(attachName), dialect) + "."; + while (msg.contains(match)) + msg.replace(match, replaceName); } - // No special case, use simple method error - error(results->getErrorCode(), simpleText); + error(context->errorCodeFromSmartExecution, msg); } void QueryExecutor::releaseResultsAndCleanup() diff --git a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.h b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.h index 72c7fed..c6d7701 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.h +++ b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutor.h @@ -344,9 +344,18 @@ class API_EXPORT QueryExecutor : public QObject, public QRunnable { /** * @brief Database name that the table with this row ID is in. + * + * It's the actual database name as SQLite sees it. That means it is a "main", or any attach name. */ QString database; + /** + * @brief Symbolic database name as listed in databases list. + * + * It can be empty if database was not explicitly passed in the query. + */ + QString dbName; + /** * @brief Table name that the row ID is for. */ @@ -1018,6 +1027,8 @@ class API_EXPORT QueryExecutor : public QObject, public QRunnable */ void releaseResultsAndCleanup(); + const QStringList& getRequiredDbAttaches() const; + private: /** * @brief Executes query. @@ -1279,6 +1290,16 @@ class API_EXPORT QueryExecutor : public QObject, public QRunnable */ bool noMetaColumns = false; + /** + * @brief List of required databases to attach. + * + * List of database names (symbolic names, as they appear on the list) that needs to be + * attached to access all columns returned by the most recent successful execution. + * + * This is set after every successful execution. + */ + QStringList requiredDbAttaches; + /** * @brief Chain of executor steps. * diff --git a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutoraddrowids.cpp b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutoraddrowids.cpp index 55203e4..9307d13 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutoraddrowids.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutoraddrowids.cpp @@ -60,7 +60,7 @@ QHash> QueryExecutorAddRowIds::addR } // Getting all tables we need to get ROWID for - SelectResolver resolver(db, select->tokens.detokenize()); + SelectResolver resolver(db, select->tokens.detokenize(), context->dbNameToAttach); resolver.resolveMultiCore = false; // multicore subselects result in not editable columns, skip them QSet tables = resolver.resolveTables(core); @@ -177,6 +177,7 @@ bool QueryExecutorAddRowIds::addResultColumns(SqliteSelect::Core* core, const Se { // Query executor result column description QueryExecutor::ResultRowIdColumnPtr queryExecutorResCol = QueryExecutor::ResultRowIdColumnPtr::create(); + queryExecutorResCol->dbName = table.originalDatabase; queryExecutorResCol->database = table.database; queryExecutorResCol->table = table.table; queryExecutorResCol->tableAlias = table.alias; diff --git a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorcolumns.cpp b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorcolumns.cpp index bce1304..6acfb6f 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorcolumns.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutorcolumns.cpp @@ -289,10 +289,10 @@ QString QueryExecutorColumns::getAliasedColumnNameForSqlite2(const QueryExecutor if (context->dbNameToAttach.containsLeft(resCol->database, Qt::CaseInsensitive)) colNameParts << context->dbNameToAttach.valueByLeft(resCol->database, Qt::CaseInsensitive); else - colNameParts << resCol->database; + colNameParts << wrapObjIfNeeded(resCol->database, dialect); } - colNameParts << resCol->table; + colNameParts << wrapObjIfNeeded(resCol->table, dialect); } - colNameParts << resCol->column; + colNameParts << wrapObjIfNeeded(resCol->column, dialect); return colNameParts.join("."); } diff --git a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutordatasources.cpp b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutordatasources.cpp index 9a5c1c2..31cda9e 100644 --- a/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutordatasources.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/db/queryexecutorsteps/queryexecutordatasources.cpp @@ -14,7 +14,7 @@ bool QueryExecutorDataSources::exec() if (select->coreSelects.first()->valuesMode) return true; - SelectResolver resolver(db, select->tokens.detokenize()); + SelectResolver resolver(db, select->tokens.detokenize(), context->dbNameToAttach); resolver.resolveMultiCore = false; // multicore subselects result in not editable columns, skip them SqliteSelect::Core* core = select->coreSelects.first(); diff --git a/SQLiteStudio3/coreSQLiteStudio/log.h b/SQLiteStudio3/coreSQLiteStudio/log.h index f866c93..dddb513 100644 --- a/SQLiteStudio3/coreSQLiteStudio/log.h +++ b/SQLiteStudio3/coreSQLiteStudio/log.h @@ -2,7 +2,7 @@ #define LOG_H #include "db/db.h" -#include "guiSQLiteStudio_global.h" +#include "coreSQLiteStudio_global.h" #include #include #include diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/sqlite2_parse.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/sqlite2_parse.cpp index 656444a..5b65904 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/sqlite2_parse.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/sqlite2_parse.cpp @@ -165,7 +165,7 @@ typedef union { #define sqlite2_parseARG_FETCH ParserContext* parserContext = yypParser->parserContext #define sqlite2_parseARG_STORE yypParser->parserContext = parserContext #define YYNSTATE 584 -#define YYNRULE 353 +#define YYNRULE 352 #define YYFALLBACK 1 #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) @@ -241,16 +241,16 @@ static const YYMINORTYPE yyzerominor = { 0 }; static const YYACTIONTYPE yy_action[] = { /* 0 */ 338, 191, 186, 242, 476, 511, 576, 193, 332, 16, /* 10 */ 511, 384, 189, 322, 239, 519, 518, 570, 337, 450, - /* 20 */ 15, 852, 125, 58, 575, 179, 852, 574, 63, 143, + /* 20 */ 15, 851, 125, 58, 575, 179, 851, 574, 63, 143, /* 30 */ 401, 581, 328, 26, 84, 569, 114, 322, 573, 519, - /* 40 */ 518, 852, 852, 35, 852, 852, 852, 852, 852, 852, - /* 50 */ 852, 852, 852, 852, 852, 852, 852, 852, 852, 32, - /* 60 */ 33, 852, 852, 852, 852, 320, 379, 34, 240, 238, + /* 40 */ 518, 851, 851, 35, 851, 851, 851, 851, 851, 851, + /* 50 */ 851, 851, 851, 851, 851, 851, 851, 851, 851, 32, + /* 60 */ 33, 851, 851, 851, 851, 320, 379, 34, 240, 238, /* 70 */ 121, 556, 291, 251, 57, 7, 217, 577, 265, 264, /* 80 */ 523, 179, 555, 336, 335, 338, 569, 549, 548, 550, /* 90 */ 271, 569, 10, 724, 199, 297, 203, 489, 459, 332, /* 100 */ 568, 567, 451, 253, 158, 523, 449, 444, 443, 337, - /* 110 */ 187, 871, 266, 187, 580, 517, 168, 328, 505, 343, + /* 110 */ 187, 870, 266, 187, 580, 517, 168, 328, 505, 343, /* 120 */ 143, 235, 490, 108, 101, 489, 523, 164, 35, 531, /* 130 */ 187, 13, 523, 252, 234, 547, 236, 119, 340, 232, /* 140 */ 339, 120, 216, 155, 32, 33, 481, 547, 322, 215, @@ -258,23 +258,23 @@ static const YYACTIONTYPE yy_action[] = { /* 160 */ 7, 714, 400, 321, 251, 523, 714, 563, 336, 335, /* 170 */ 500, 553, 549, 548, 550, 188, 465, 500, 401, 466, /* 180 */ 366, 365, 552, 364, 293, 435, 39, 39, 39, 38, - /* 190 */ 523, 562, 60, 255, 714, 569, 714, 714, 853, 570, - /* 200 */ 271, 714, 502, 853, 500, 714, 570, 714, 714, 714, + /* 190 */ 523, 562, 60, 255, 714, 569, 714, 714, 852, 570, + /* 200 */ 271, 714, 502, 852, 500, 714, 570, 714, 714, 714, /* 210 */ 714, 523, 569, 178, 531, 422, 13, 523, 44, 45, - /* 220 */ 330, 42, 42, 530, 530, 223, 853, 853, 43, 43, + /* 220 */ 330, 42, 42, 530, 530, 223, 852, 852, 43, 43, /* 230 */ 43, 43, 41, 41, 41, 41, 40, 40, 39, 39, /* 240 */ 39, 38, 199, 297, 203, 55, 236, 92, 340, 232, /* 250 */ 339, 120, 216, 500, 106, 570, 268, 19, 187, 215, /* 260 */ 500, 105, 553, 41, 41, 41, 41, 40, 40, 39, /* 270 */ 39, 39, 38, 552, 40, 40, 39, 39, 39, 38, - /* 280 */ 853, 3, 568, 567, 187, 853, 512, 500, 219, 568, + /* 280 */ 852, 3, 568, 567, 187, 852, 512, 500, 219, 568, /* 290 */ 567, 17, 496, 156, 322, 345, 519, 518, 569, 292, - /* 300 */ 44, 45, 330, 42, 42, 530, 530, 223, 853, 853, + /* 300 */ 44, 45, 330, 42, 42, 530, 530, 223, 852, 852, /* 310 */ 43, 43, 43, 43, 41, 41, 41, 41, 40, 40, - /* 320 */ 39, 39, 39, 38, 547, 533, 853, 100, 308, 306, - /* 330 */ 305, 853, 448, 447, 418, 418, 316, 245, 568, 567, - /* 340 */ 304, 938, 122, 344, 1, 582, 44, 45, 330, 42, - /* 350 */ 42, 530, 530, 223, 853, 853, 43, 43, 43, 43, + /* 320 */ 39, 39, 39, 38, 547, 533, 852, 100, 308, 306, + /* 330 */ 305, 852, 448, 447, 418, 418, 316, 245, 568, 567, + /* 340 */ 304, 937, 122, 344, 1, 582, 44, 45, 330, 42, + /* 350 */ 42, 530, 530, 223, 852, 852, 43, 43, 43, 43, /* 360 */ 41, 41, 41, 41, 40, 40, 39, 39, 39, 38, /* 370 */ 338, 442, 44, 45, 330, 42, 42, 530, 530, 223, /* 380 */ 524, 569, 43, 43, 43, 43, 41, 41, 41, 41, @@ -287,14 +287,14 @@ static const YYACTIONTYPE yy_action[] = { /* 450 */ 523, 524, 569, 336, 335, 285, 781, 549, 548, 550, /* 460 */ 43, 43, 43, 43, 41, 41, 41, 41, 40, 40, /* 470 */ 39, 39, 39, 38, 332, 523, 332, 425, 470, 774, - /* 480 */ 560, 774, 774, 851, 337, 426, 337, 455, 851, 613, + /* 480 */ 560, 774, 774, 850, 337, 426, 337, 455, 850, 613, /* 490 */ 774, 181, 774, 774, 774, 143, 523, 143, 30, 531, - /* 500 */ 614, 13, 523, 851, 851, 851, 851, 851, 851, 851, - /* 510 */ 851, 851, 851, 851, 851, 851, 851, 851, 851, 851, - /* 520 */ 851, 851, 851, 851, 851, 851, 851, 853, 500, 460, - /* 530 */ 357, 320, 853, 318, 75, 570, 401, 570, 311, 251, + /* 500 */ 614, 13, 523, 850, 850, 850, 850, 850, 850, 850, + /* 510 */ 850, 850, 850, 850, 850, 850, 850, 850, 850, 850, + /* 520 */ 850, 850, 850, 850, 850, 850, 850, 852, 500, 460, + /* 530 */ 357, 320, 852, 318, 75, 570, 401, 570, 311, 251, /* 540 */ 569, 251, 446, 445, 570, 358, 359, 44, 45, 330, - /* 550 */ 42, 42, 530, 530, 223, 853, 853, 43, 43, 43, + /* 550 */ 42, 42, 530, 530, 223, 852, 852, 43, 43, 43, /* 560 */ 43, 41, 41, 41, 41, 40, 40, 39, 39, 39, /* 570 */ 38, 338, 44, 45, 330, 42, 42, 530, 530, 223, /* 580 */ 615, 570, 43, 43, 43, 43, 41, 41, 41, 41, @@ -305,14 +305,14 @@ static const YYACTIONTYPE yy_action[] = { /* 630 */ 32, 33, 337, 356, 482, 355, 569, 85, 34, 759, /* 640 */ 532, 111, 70, 78, 487, 483, 7, 759, 90, 494, /* 650 */ 508, 523, 493, 160, 336, 335, 782, 528, 549, 548, - /* 660 */ 550, 532, 440, 434, 568, 567, 118, 54, 332, 920, + /* 660 */ 550, 532, 440, 434, 568, 567, 118, 54, 332, 919, /* 670 */ 214, 100, 308, 306, 305, 75, 523, 333, 337, 571, /* 680 */ 759, 529, 759, 759, 304, 48, 177, 522, 31, 143, /* 690 */ 29, 759, 568, 567, 759, 759, 159, 523, 568, 567, /* 700 */ 531, 464, 13, 523, 44, 45, 330, 42, 42, 530, /* 710 */ 530, 223, 568, 567, 43, 43, 43, 43, 41, 41, /* 720 */ 41, 41, 40, 40, 39, 39, 39, 38, 463, 570, - /* 730 */ 498, 920, 570, 323, 514, 570, 222, 44, 45, 330, + /* 730 */ 498, 919, 570, 323, 514, 570, 222, 44, 45, 330, /* 740 */ 42, 42, 530, 530, 223, 393, 392, 43, 43, 43, /* 750 */ 43, 41, 41, 41, 41, 40, 40, 39, 39, 39, /* 760 */ 38, 44, 45, 330, 42, 42, 530, 530, 223, 540, @@ -324,7 +324,7 @@ static const YYACTIONTYPE yy_action[] = { /* 820 */ 110, 570, 218, 44, 45, 330, 42, 42, 530, 530, /* 830 */ 223, 27, 468, 43, 43, 43, 43, 41, 41, 41, /* 840 */ 41, 40, 40, 39, 39, 39, 38, 486, 547, 44, - /* 850 */ 45, 330, 42, 42, 530, 530, 223, 860, 212, 43, + /* 850 */ 45, 330, 42, 42, 530, 530, 223, 859, 212, 43, /* 860 */ 43, 43, 43, 41, 41, 41, 41, 40, 40, 39, /* 870 */ 39, 39, 38, 44, 47, 330, 42, 42, 530, 530, /* 880 */ 223, 535, 284, 43, 43, 43, 43, 41, 41, 41, @@ -339,7 +339,7 @@ static const YYACTIONTYPE yy_action[] = { /* 970 */ 520, 569, 395, 547, 569, 569, 23, 328, 213, 254, /* 980 */ 358, 275, 547, 75, 182, 32, 33, 310, 35, 569, /* 990 */ 361, 66, 164, 34, 160, 396, 398, 317, 397, 293, - /* 1000 */ 570, 7, 863, 516, 32, 33, 523, 570, 538, 336, + /* 1000 */ 570, 7, 862, 516, 32, 33, 523, 570, 538, 336, /* 1010 */ 335, 522, 34, 549, 548, 550, 25, 4, 289, 338, /* 1020 */ 7, 471, 395, 547, 12, 523, 568, 567, 336, 335, /* 1030 */ 302, 523, 549, 548, 550, 75, 570, 404, 338, 276, @@ -347,7 +347,7 @@ static const YYACTIONTYPE yy_action[] = { /* 1050 */ 523, 328, 523, 570, 65, 531, 500, 13, 523, 101, /* 1060 */ 185, 184, 35, 570, 172, 171, 170, 197, 290, 503, /* 1070 */ 328, 523, 75, 570, 531, 301, 13, 523, 32, 33, - /* 1080 */ 380, 35, 10, 568, 567, 479, 34, 490, 540, 539, + /* 1080 */ 380, 35, 10, 568, 567, 479, 34, 489, 540, 539, /* 1090 */ 568, 567, 570, 325, 7, 211, 666, 32, 33, 523, /* 1100 */ 179, 423, 336, 335, 570, 34, 549, 548, 550, 80, /* 1110 */ 569, 570, 490, 7, 480, 489, 391, 570, 523, 568, @@ -356,7 +356,7 @@ static const YYACTIONTYPE yy_action[] = { /* 1140 */ 312, 391, 202, 523, 296, 523, 568, 567, 531, 198, /* 1150 */ 13, 523, 569, 413, 345, 328, 568, 567, 532, 569, /* 1160 */ 474, 570, 307, 570, 523, 495, 35, 531, 53, 13, - /* 1170 */ 523, 496, 861, 456, 473, 568, 567, 570, 413, 532, + /* 1170 */ 523, 496, 860, 456, 473, 568, 567, 570, 413, 532, /* 1180 */ 570, 485, 32, 33, 407, 439, 10, 568, 567, 500, /* 1190 */ 34, 489, 730, 570, 568, 567, 431, 403, 7, 52, /* 1200 */ 568, 567, 570, 523, 582, 234, 336, 335, 338, 407, @@ -367,7 +367,7 @@ static const YYACTIONTYPE yy_action[] = { /* 1250 */ 99, 35, 531, 124, 13, 523, 492, 368, 497, 148, /* 1260 */ 568, 567, 570, 568, 567, 82, 376, 32, 33, 350, /* 1270 */ 2, 570, 568, 567, 570, 34, 568, 567, 570, 73, - /* 1280 */ 179, 259, 570, 7, 863, 568, 567, 417, 523, 338, + /* 1280 */ 179, 259, 570, 7, 862, 568, 567, 417, 523, 338, /* 1290 */ 569, 336, 335, 22, 491, 549, 548, 550, 416, 69, /* 1300 */ 568, 567, 371, 522, 568, 567, 570, 415, 405, 568, /* 1310 */ 567, 261, 21, 523, 568, 567, 568, 567, 196, 368, @@ -411,8 +411,8 @@ static const YYACTIONTYPE yy_action[] = { /* 1690 */ 283, 402, 382, 117, 89, 87, 86, 116, 175, 280, /* 1700 */ 347, 349, 173, 233, 113, 126, 230, 509, 541, 470, /* 1710 */ 506, 537, 458, 282, 154, 410, 273, 190, 348, 438, - /* 1720 */ 467, 462, 329, 461, 578, 231, 62, 939, 37, 412, - /* 1730 */ 165, 433, 939, 939, 939, 327, 299, + /* 1720 */ 467, 462, 329, 461, 578, 231, 62, 938, 37, 412, + /* 1730 */ 165, 433, 938, 938, 938, 327, 299, }; static const YYCODETYPE yy_lookahead[] = { /* 0 */ 4, 8, 195, 10, 80, 25, 5, 14, 156, 202, @@ -664,61 +664,61 @@ static const short yy_reduce_ofst[] = { /* 250 */ 1242, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 589, 937, 937, 863, 904, 852, 852, 852, 937, 937, - /* 10 */ 730, 937, 852, 852, 852, 937, 852, 852, 852, 852, - /* 20 */ 852, 852, 852, 852, 852, 852, 852, 852, 852, 852, - /* 30 */ 852, 852, 852, 852, 852, 852, 852, 852, 852, 852, - /* 40 */ 852, 852, 852, 852, 852, 852, 852, 841, 724, 608, - /* 50 */ 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, - /* 60 */ 616, 720, 730, 937, 937, 937, 937, 790, 777, 768, - /* 70 */ 937, 800, 800, 783, 679, 937, 800, 756, 752, 937, - /* 80 */ 839, 937, 937, 731, 937, 839, 937, 937, 937, 937, - /* 90 */ 937, 791, 784, 778, 769, 937, 937, 937, 937, 937, - /* 100 */ 937, 937, 937, 937, 720, 720, 937, 720, 937, 937, - /* 110 */ 937, 840, 594, 937, 883, 937, 937, 937, 937, 937, - /* 120 */ 937, 605, 589, 937, 937, 937, 710, 736, 773, 761, - /* 130 */ 864, 857, 858, 856, 853, 853, 853, 853, 853, 844, - /* 140 */ 853, 853, 853, 853, 823, 816, 827, 815, 831, 826, - /* 150 */ 818, 817, 819, 937, 937, 937, 937, 723, 937, 937, - /* 160 */ 937, 820, 937, 789, 698, 937, 911, 693, 601, 618, - /* 170 */ 937, 937, 937, 937, 937, 937, 937, 772, 670, 756, - /* 180 */ 645, 738, 756, 859, 937, 937, 721, 708, 756, 935, - /* 190 */ 932, 935, 739, 683, 739, 739, 739, 681, 739, 683, - /* 200 */ 796, 739, 739, 683, 772, 739, 919, 916, 739, 739, - /* 210 */ 872, 681, 681, 681, 681, 662, 937, 872, 681, 739, - /* 220 */ 937, 739, 937, 853, 821, 752, 762, 748, 760, 757, - /* 230 */ 772, 937, 681, 681, 662, 681, 681, 665, 593, 593, + /* 0 */ 589, 936, 936, 862, 903, 851, 851, 851, 936, 936, + /* 10 */ 730, 936, 851, 851, 851, 936, 851, 851, 851, 851, + /* 20 */ 851, 851, 851, 851, 851, 851, 851, 851, 851, 851, + /* 30 */ 851, 851, 851, 851, 851, 851, 851, 851, 851, 851, + /* 40 */ 851, 851, 851, 851, 851, 851, 851, 841, 724, 608, + /* 50 */ 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, + /* 60 */ 616, 720, 730, 936, 936, 936, 936, 790, 777, 768, + /* 70 */ 936, 800, 800, 783, 679, 936, 800, 756, 752, 936, + /* 80 */ 839, 936, 936, 731, 936, 839, 936, 936, 936, 936, + /* 90 */ 936, 791, 784, 778, 769, 936, 936, 936, 936, 936, + /* 100 */ 936, 936, 936, 936, 720, 720, 936, 720, 936, 936, + /* 110 */ 936, 840, 594, 936, 882, 936, 936, 936, 936, 936, + /* 120 */ 936, 605, 589, 936, 936, 936, 710, 736, 773, 761, + /* 130 */ 863, 856, 857, 855, 852, 852, 852, 852, 852, 852, + /* 140 */ 852, 852, 852, 852, 823, 816, 827, 815, 831, 826, + /* 150 */ 818, 817, 819, 936, 936, 936, 936, 723, 936, 936, + /* 160 */ 936, 820, 936, 789, 698, 936, 910, 693, 601, 618, + /* 170 */ 936, 936, 936, 936, 936, 936, 936, 772, 670, 756, + /* 180 */ 645, 738, 756, 858, 936, 936, 721, 708, 756, 934, + /* 190 */ 931, 934, 739, 683, 739, 739, 739, 681, 739, 683, + /* 200 */ 796, 739, 739, 683, 772, 739, 918, 915, 739, 739, + /* 210 */ 871, 681, 681, 681, 681, 662, 936, 871, 681, 739, + /* 220 */ 936, 739, 936, 852, 821, 752, 762, 748, 760, 757, + /* 230 */ 772, 936, 681, 681, 662, 681, 681, 665, 593, 593, /* 240 */ 593, 681, 593, 649, 649, 726, 830, 829, 828, 822, - /* 250 */ 629, 865, 937, 937, 937, 937, 937, 937, 937, 937, - /* 260 */ 937, 937, 937, 937, 937, 937, 937, 937, 937, 763, - /* 270 */ 937, 937, 937, 937, 937, 937, 937, 937, 937, 882, - /* 280 */ 937, 937, 937, 937, 937, 937, 915, 914, 937, 937, - /* 290 */ 937, 937, 937, 937, 937, 937, 937, 937, 903, 937, - /* 300 */ 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, - /* 310 */ 937, 937, 937, 937, 937, 937, 937, 937, 758, 937, - /* 320 */ 862, 843, 701, 851, 937, 937, 937, 937, 937, 842, - /* 330 */ 854, 810, 937, 749, 937, 809, 806, 808, 611, 937, - /* 340 */ 937, 937, 937, 937, 586, 590, 936, 934, 933, 931, - /* 350 */ 891, 890, 889, 887, 896, 895, 894, 893, 892, 888, - /* 360 */ 886, 885, 884, 881, 787, 775, 766, 697, 930, 928, - /* 370 */ 929, 880, 878, 879, 696, 695, 692, 691, 690, 870, - /* 380 */ 869, 867, 866, 868, 604, 907, 910, 909, 908, 913, - /* 390 */ 912, 905, 918, 917, 922, 926, 925, 924, 923, 921, - /* 400 */ 902, 795, 794, 792, 797, 788, 793, 780, 786, 785, - /* 410 */ 776, 779, 684, 771, 767, 770, 906, 694, 603, 741, + /* 250 */ 629, 864, 936, 936, 936, 936, 936, 936, 936, 936, + /* 260 */ 936, 936, 936, 936, 936, 936, 936, 936, 936, 763, + /* 270 */ 936, 936, 936, 936, 936, 936, 936, 936, 936, 881, + /* 280 */ 936, 936, 936, 936, 936, 936, 914, 913, 936, 936, + /* 290 */ 936, 936, 936, 936, 936, 936, 936, 936, 902, 936, + /* 300 */ 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, + /* 310 */ 936, 936, 936, 936, 936, 936, 936, 936, 758, 936, + /* 320 */ 861, 843, 701, 850, 936, 936, 936, 936, 936, 842, + /* 330 */ 853, 810, 936, 749, 936, 809, 806, 808, 611, 936, + /* 340 */ 936, 936, 936, 936, 586, 590, 935, 933, 932, 930, + /* 350 */ 890, 889, 888, 886, 895, 894, 893, 892, 891, 887, + /* 360 */ 885, 884, 883, 880, 787, 775, 766, 697, 929, 927, + /* 370 */ 928, 879, 877, 878, 696, 695, 692, 691, 690, 869, + /* 380 */ 868, 866, 865, 867, 604, 906, 909, 908, 907, 912, + /* 390 */ 911, 904, 917, 916, 921, 925, 924, 923, 922, 920, + /* 400 */ 901, 795, 794, 792, 797, 788, 793, 780, 786, 785, + /* 410 */ 776, 779, 684, 771, 767, 770, 905, 694, 603, 741, /* 420 */ 602, 607, 668, 669, 677, 680, 675, 678, 674, 673, /* 430 */ 672, 676, 671, 667, 610, 609, 623, 621, 622, 620, /* 440 */ 619, 617, 639, 638, 635, 637, 634, 636, 633, 632, - /* 450 */ 631, 630, 628, 661, 647, 646, 875, 877, 876, 874, - /* 460 */ 873, 654, 653, 659, 658, 657, 656, 652, 655, 651, + /* 450 */ 631, 630, 628, 661, 647, 646, 874, 876, 875, 873, + /* 460 */ 872, 654, 653, 659, 658, 657, 656, 652, 655, 651, /* 470 */ 650, 648, 644, 814, 813, 807, 835, 707, 706, 715, /* 480 */ 713, 712, 711, 747, 746, 745, 744, 743, 742, 735, /* 490 */ 733, 729, 728, 734, 732, 727, 719, 717, 718, 716, /* 500 */ 612, 802, 799, 801, 798, 737, 725, 722, 709, 751, - /* 510 */ 753, 855, 845, 834, 846, 740, 832, 833, 704, 703, - /* 520 */ 702, 854, 851, 847, 927, 838, 850, 837, 836, 825, - /* 530 */ 824, 812, 848, 849, 811, 750, 765, 899, 898, 901, - /* 540 */ 900, 897, 764, 625, 624, 705, 700, 699, 805, 804, + /* 510 */ 753, 854, 844, 834, 845, 740, 832, 833, 704, 703, + /* 520 */ 702, 853, 850, 846, 926, 838, 849, 837, 836, 825, + /* 530 */ 824, 812, 847, 848, 811, 750, 765, 898, 897, 900, + /* 540 */ 899, 896, 764, 625, 624, 705, 700, 699, 805, 804, /* 550 */ 803, 643, 755, 754, 642, 664, 663, 660, 641, 640, /* 560 */ 627, 626, 606, 600, 599, 598, 597, 615, 614, 613, /* 570 */ 611, 596, 595, 689, 688, 687, 686, 685, 682, 592, @@ -1258,99 +1258,98 @@ static const char *const yyRuleName[] = { /* 257 */ "exprx ::= expr not_opt BETWEEN expr AND", /* 258 */ "exprx ::= CASE case_operand case_exprlist case_else", /* 259 */ "exprx ::= expr not_opt IN LP exprlist", - /* 260 */ "exprx ::= LP expr", - /* 261 */ "exprx ::= expr not_opt IN ID_DB", - /* 262 */ "exprx ::= expr not_opt IN nm DOT ID_TAB", - /* 263 */ "exprx ::= ID_DB|ID_TAB|ID_COL|ID_FN", - /* 264 */ "exprx ::= nm DOT ID_TAB|ID_COL", - /* 265 */ "exprx ::= nm DOT nm DOT ID_COL", - /* 266 */ "exprx ::= RAISE LP raisetype COMMA ID_ERR_MSG RP", - /* 267 */ "expr ::= exprx", - /* 268 */ "expr ::=", - /* 269 */ "not_opt ::=", - /* 270 */ "not_opt ::= NOT", - /* 271 */ "likeop ::= LIKE|GLOB", - /* 272 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", - /* 273 */ "case_exprlist ::= WHEN expr THEN expr", - /* 274 */ "case_else ::= ELSE expr", - /* 275 */ "case_else ::=", - /* 276 */ "case_operand ::= exprx", - /* 277 */ "case_operand ::=", - /* 278 */ "exprlist ::= nexprlist", - /* 279 */ "exprlist ::=", - /* 280 */ "nexprlist ::= nexprlist COMMA expr", - /* 281 */ "nexprlist ::= exprx", - /* 282 */ "cmd ::= CREATE uniqueflag INDEX nm ON nm dbnm LP idxlist RP onconf", - /* 283 */ "cmd ::= CREATE uniqueflag INDEX nm dbnm ON ID_TAB", - /* 284 */ "cmd ::= CREATE uniqueflag INDEX nm DOT ID_IDX_NEW", - /* 285 */ "cmd ::= CREATE uniqueflag INDEX ID_DB|ID_IDX_NEW", - /* 286 */ "uniqueflag ::= UNIQUE", - /* 287 */ "uniqueflag ::=", - /* 288 */ "idxlist_opt ::=", - /* 289 */ "idxlist_opt ::= LP idxlist RP", - /* 290 */ "idxlist ::= idxlist COMMA idxlist_single", - /* 291 */ "idxlist ::= idxlist_single", - /* 292 */ "idxlist_single ::= nm sortorder", - /* 293 */ "idxlist_single ::= ID_COL", - /* 294 */ "cmd ::= DROP INDEX fullname", - /* 295 */ "cmd ::= DROP INDEX nm DOT ID_IDX", - /* 296 */ "cmd ::= DROP INDEX ID_DB|ID_IDX", - /* 297 */ "cmd ::= COPY orconf nm dbnm FROM nm USING DELIMITERS STRING", - /* 298 */ "cmd ::= COPY orconf nm dbnm FROM nm", - /* 299 */ "cmd ::= VACUUM", - /* 300 */ "cmd ::= VACUUM nm", - /* 301 */ "cmd ::= PRAGMA ids", - /* 302 */ "cmd ::= PRAGMA nm EQ nmnum", - /* 303 */ "cmd ::= PRAGMA nm LP nmnum RP", - /* 304 */ "cmd ::= PRAGMA nm EQ minus_num", - /* 305 */ "cmd ::= PRAGMA nm LP minus_num RP", - /* 306 */ "cmd ::= PRAGMA nm DOT ID_PRAGMA", - /* 307 */ "cmd ::= PRAGMA ID_DB|ID_PRAGMA", - /* 308 */ "nmnum ::= plus_num", - /* 309 */ "nmnum ::= nm", - /* 310 */ "nmnum ::= ON", - /* 311 */ "nmnum ::= DELETE", - /* 312 */ "nmnum ::= DEFAULT", - /* 313 */ "plus_num ::= PLUS number", - /* 314 */ "plus_num ::= number", - /* 315 */ "minus_num ::= MINUS number", - /* 316 */ "number ::= INTEGER", - /* 317 */ "number ::= FLOAT", - /* 318 */ "cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm dbnm foreach_clause when_clause BEGIN trigger_cmd_list END", - /* 319 */ "cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm dbnm foreach_clause when_clause", - /* 320 */ "cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm dbnm foreach_clause when_clause BEGIN trigger_cmd_list", - /* 321 */ "cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON ID_TAB|ID_DB", - /* 322 */ "cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm DOT ID_TAB", - /* 323 */ "cmd ::= CREATE temp TRIGGER ID_TRIG_NEW", - /* 324 */ "trigger_time ::= BEFORE", - /* 325 */ "trigger_time ::= AFTER", - /* 326 */ "trigger_time ::= INSTEAD OF", - /* 327 */ "trigger_time ::=", - /* 328 */ "trigger_event ::= DELETE", - /* 329 */ "trigger_event ::= INSERT", - /* 330 */ "trigger_event ::= UPDATE", - /* 331 */ "trigger_event ::= UPDATE OF inscollist", - /* 332 */ "foreach_clause ::=", - /* 333 */ "foreach_clause ::= FOR EACH ROW", - /* 334 */ "foreach_clause ::= FOR EACH STATEMENT", - /* 335 */ "when_clause ::=", - /* 336 */ "when_clause ::= WHEN expr", - /* 337 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", - /* 338 */ "trigger_cmd_list ::= trigger_cmd SEMI", - /* 339 */ "trigger_cmd ::= update_stmt", - /* 340 */ "trigger_cmd ::= insert_stmt", - /* 341 */ "trigger_cmd ::= delete_stmt", - /* 342 */ "trigger_cmd ::= select_stmt", - /* 343 */ "raisetype ::= ROLLBACK|ABORT|FAIL", - /* 344 */ "cmd ::= DROP TRIGGER fullname", - /* 345 */ "cmd ::= DROP TRIGGER nm DOT ID_TRIG", - /* 346 */ "cmd ::= DROP TRIGGER ID_DB|ID_TRIG", - /* 347 */ "cmd ::= ATTACH database_kw_opt ids AS ids key_opt", - /* 348 */ "key_opt ::=", - /* 349 */ "key_opt ::= USING ids", - /* 350 */ "database_kw_opt ::= DATABASE", - /* 351 */ "database_kw_opt ::=", - /* 352 */ "cmd ::= DETACH database_kw_opt nm", + /* 260 */ "exprx ::= expr not_opt IN ID_DB", + /* 261 */ "exprx ::= expr not_opt IN nm DOT ID_TAB", + /* 262 */ "exprx ::= ID_DB|ID_TAB|ID_COL|ID_FN", + /* 263 */ "exprx ::= nm DOT ID_TAB|ID_COL", + /* 264 */ "exprx ::= nm DOT nm DOT ID_COL", + /* 265 */ "exprx ::= RAISE LP raisetype COMMA ID_ERR_MSG RP", + /* 266 */ "expr ::= exprx", + /* 267 */ "expr ::=", + /* 268 */ "not_opt ::=", + /* 269 */ "not_opt ::= NOT", + /* 270 */ "likeop ::= LIKE|GLOB", + /* 271 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", + /* 272 */ "case_exprlist ::= WHEN expr THEN expr", + /* 273 */ "case_else ::= ELSE expr", + /* 274 */ "case_else ::=", + /* 275 */ "case_operand ::= exprx", + /* 276 */ "case_operand ::=", + /* 277 */ "exprlist ::= nexprlist", + /* 278 */ "exprlist ::=", + /* 279 */ "nexprlist ::= nexprlist COMMA expr", + /* 280 */ "nexprlist ::= exprx", + /* 281 */ "cmd ::= CREATE uniqueflag INDEX nm ON nm dbnm LP idxlist RP onconf", + /* 282 */ "cmd ::= CREATE uniqueflag INDEX nm dbnm ON ID_TAB", + /* 283 */ "cmd ::= CREATE uniqueflag INDEX nm DOT ID_IDX_NEW", + /* 284 */ "cmd ::= CREATE uniqueflag INDEX ID_DB|ID_IDX_NEW", + /* 285 */ "uniqueflag ::= UNIQUE", + /* 286 */ "uniqueflag ::=", + /* 287 */ "idxlist_opt ::=", + /* 288 */ "idxlist_opt ::= LP idxlist RP", + /* 289 */ "idxlist ::= idxlist COMMA idxlist_single", + /* 290 */ "idxlist ::= idxlist_single", + /* 291 */ "idxlist_single ::= nm sortorder", + /* 292 */ "idxlist_single ::= ID_COL", + /* 293 */ "cmd ::= DROP INDEX fullname", + /* 294 */ "cmd ::= DROP INDEX nm DOT ID_IDX", + /* 295 */ "cmd ::= DROP INDEX ID_DB|ID_IDX", + /* 296 */ "cmd ::= COPY orconf nm dbnm FROM nm USING DELIMITERS STRING", + /* 297 */ "cmd ::= COPY orconf nm dbnm FROM nm", + /* 298 */ "cmd ::= VACUUM", + /* 299 */ "cmd ::= VACUUM nm", + /* 300 */ "cmd ::= PRAGMA ids", + /* 301 */ "cmd ::= PRAGMA nm EQ nmnum", + /* 302 */ "cmd ::= PRAGMA nm LP nmnum RP", + /* 303 */ "cmd ::= PRAGMA nm EQ minus_num", + /* 304 */ "cmd ::= PRAGMA nm LP minus_num RP", + /* 305 */ "cmd ::= PRAGMA nm DOT ID_PRAGMA", + /* 306 */ "cmd ::= PRAGMA ID_DB|ID_PRAGMA", + /* 307 */ "nmnum ::= plus_num", + /* 308 */ "nmnum ::= nm", + /* 309 */ "nmnum ::= ON", + /* 310 */ "nmnum ::= DELETE", + /* 311 */ "nmnum ::= DEFAULT", + /* 312 */ "plus_num ::= PLUS number", + /* 313 */ "plus_num ::= number", + /* 314 */ "minus_num ::= MINUS number", + /* 315 */ "number ::= INTEGER", + /* 316 */ "number ::= FLOAT", + /* 317 */ "cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm dbnm foreach_clause when_clause BEGIN trigger_cmd_list END", + /* 318 */ "cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm dbnm foreach_clause when_clause", + /* 319 */ "cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm dbnm foreach_clause when_clause BEGIN trigger_cmd_list", + /* 320 */ "cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON ID_TAB|ID_DB", + /* 321 */ "cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm DOT ID_TAB", + /* 322 */ "cmd ::= CREATE temp TRIGGER ID_TRIG_NEW", + /* 323 */ "trigger_time ::= BEFORE", + /* 324 */ "trigger_time ::= AFTER", + /* 325 */ "trigger_time ::= INSTEAD OF", + /* 326 */ "trigger_time ::=", + /* 327 */ "trigger_event ::= DELETE", + /* 328 */ "trigger_event ::= INSERT", + /* 329 */ "trigger_event ::= UPDATE", + /* 330 */ "trigger_event ::= UPDATE OF inscollist", + /* 331 */ "foreach_clause ::=", + /* 332 */ "foreach_clause ::= FOR EACH ROW", + /* 333 */ "foreach_clause ::= FOR EACH STATEMENT", + /* 334 */ "when_clause ::=", + /* 335 */ "when_clause ::= WHEN expr", + /* 336 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", + /* 337 */ "trigger_cmd_list ::= trigger_cmd SEMI", + /* 338 */ "trigger_cmd ::= update_stmt", + /* 339 */ "trigger_cmd ::= insert_stmt", + /* 340 */ "trigger_cmd ::= delete_stmt", + /* 341 */ "trigger_cmd ::= select_stmt", + /* 342 */ "raisetype ::= ROLLBACK|ABORT|FAIL", + /* 343 */ "cmd ::= DROP TRIGGER fullname", + /* 344 */ "cmd ::= DROP TRIGGER nm DOT ID_TRIG", + /* 345 */ "cmd ::= DROP TRIGGER ID_DB|ID_TRIG", + /* 346 */ "cmd ::= ATTACH database_kw_opt ids AS ids key_opt", + /* 347 */ "key_opt ::=", + /* 348 */ "key_opt ::= USING ids", + /* 349 */ "database_kw_opt ::= DATABASE", + /* 350 */ "database_kw_opt ::=", + /* 351 */ "cmd ::= DETACH database_kw_opt nm", }; #endif /* NDEBUG */ @@ -2220,7 +2219,6 @@ static const struct { { 221, 5 }, { 221, 4 }, { 221, 5 }, - { 221, 2 }, { 221, 4 }, { 221, 6 }, { 221, 1 }, @@ -2396,10 +2394,10 @@ static void yy_reduce( {yygotominor.yy91 = new ParserStubExplain(true, false);} break; case 7: /* cmdx ::= cmd */ - case 339: /* trigger_cmd ::= update_stmt */ yytestcase(yyruleno==339); - case 340: /* trigger_cmd ::= insert_stmt */ yytestcase(yyruleno==340); - case 341: /* trigger_cmd ::= delete_stmt */ yytestcase(yyruleno==341); - case 342: /* trigger_cmd ::= select_stmt */ yytestcase(yyruleno==342); + case 338: /* trigger_cmd ::= update_stmt */ yytestcase(yyruleno==338); + case 339: /* trigger_cmd ::= insert_stmt */ yytestcase(yyruleno==339); + case 340: /* trigger_cmd ::= delete_stmt */ yytestcase(yyruleno==340); + case 341: /* trigger_cmd ::= select_stmt */ yytestcase(yyruleno==341); {yygotominor.yy203 = yymsp[0].minor.yy203;} break; case 8: /* cmd ::= BEGIN trans_opt onconf */ @@ -2467,8 +2465,8 @@ static void yy_reduce( case 16: /* cmd ::= CREATE temp TABLE fullname LP columnlist conslist_opt RP */ { yygotominor.yy203 = new SqliteCreateTable( - *(yymsp[-6].minor.yy226), false, + *(yymsp[-6].minor.yy226), yymsp[-4].minor.yy120->name1, yymsp[-4].minor.yy120->name2, *(yymsp[-2].minor.yy42), @@ -2484,8 +2482,8 @@ static void yy_reduce( case 17: /* cmd ::= CREATE temp TABLE fullname AS select */ { yygotominor.yy203 = new SqliteCreateTable( - *(yymsp[-4].minor.yy226), false, + *(yymsp[-4].minor.yy226), yymsp[-2].minor.yy120->name1, yymsp[-2].minor.yy120->name2, yymsp[0].minor.yy153 @@ -2502,7 +2500,7 @@ static void yy_reduce( break; case 19: /* cmd ::= CREATE temp TABLE ID_DB|ID_TAB_NEW */ case 110: /* cmd ::= CREATE temp VIEW ID_VIEW_NEW */ yytestcase(yyruleno==110); - case 323: /* cmd ::= CREATE temp TRIGGER ID_TRIG_NEW */ yytestcase(yyruleno==323); + case 322: /* cmd ::= CREATE temp TRIGGER ID_TRIG_NEW */ yytestcase(yyruleno==322); { yy_destructor(yypParser,157,&yymsp[-2].minor); } break; @@ -2599,9 +2597,9 @@ static void yy_reduce( break; case 40: /* signed ::= plus_num */ case 41: /* signed ::= minus_num */ yytestcase(yyruleno==41); - case 308: /* nmnum ::= plus_num */ yytestcase(yyruleno==308); - case 313: /* plus_num ::= PLUS number */ yytestcase(yyruleno==313); - case 314: /* plus_num ::= number */ yytestcase(yyruleno==314); + case 307: /* nmnum ::= plus_num */ yytestcase(yyruleno==307); + case 312: /* plus_num ::= PLUS number */ yytestcase(yyruleno==312); + case 313: /* plus_num ::= number */ yytestcase(yyruleno==313); {yygotominor.yy69 = yymsp[0].minor.yy69;} break; case 42: /* carglist ::= carglist ccons */ @@ -2849,15 +2847,15 @@ static void yy_reduce( } break; case 85: /* tconscomma ::= COMMA */ - case 270: /* not_opt ::= NOT */ yytestcase(yyruleno==270); - case 286: /* uniqueflag ::= UNIQUE */ yytestcase(yyruleno==286); - case 350: /* database_kw_opt ::= DATABASE */ yytestcase(yyruleno==350); + case 269: /* not_opt ::= NOT */ yytestcase(yyruleno==269); + case 285: /* uniqueflag ::= UNIQUE */ yytestcase(yyruleno==285); + case 349: /* database_kw_opt ::= DATABASE */ yytestcase(yyruleno==349); {yygotominor.yy291 = new bool(true);} break; case 86: /* tconscomma ::= */ - case 269: /* not_opt ::= */ yytestcase(yyruleno==269); - case 287: /* uniqueflag ::= */ yytestcase(yyruleno==287); - case 351: /* database_kw_opt ::= */ yytestcase(yyruleno==351); + case 268: /* not_opt ::= */ yytestcase(yyruleno==268); + case 286: /* uniqueflag ::= */ yytestcase(yyruleno==286); + case 350: /* database_kw_opt ::= */ yytestcase(yyruleno==350); {yygotominor.yy291 = new bool(false);} break; case 87: /* tcons ::= CONSTRAINT nm */ @@ -2961,15 +2959,15 @@ static void yy_reduce( case 187: /* delete_stmt ::= DELETE FROM ID_DB|ID_TAB */ yytestcase(yyruleno==187); case 195: /* update_stmt ::= UPDATE orconf nm DOT ID_TAB */ yytestcase(yyruleno==195); case 196: /* update_stmt ::= UPDATE orconf ID_DB|ID_TAB */ yytestcase(yyruleno==196); - case 264: /* exprx ::= nm DOT ID_TAB|ID_COL */ yytestcase(yyruleno==264); - case 284: /* cmd ::= CREATE uniqueflag INDEX nm DOT ID_IDX_NEW */ yytestcase(yyruleno==284); - case 285: /* cmd ::= CREATE uniqueflag INDEX ID_DB|ID_IDX_NEW */ yytestcase(yyruleno==285); - case 295: /* cmd ::= DROP INDEX nm DOT ID_IDX */ yytestcase(yyruleno==295); - case 296: /* cmd ::= DROP INDEX ID_DB|ID_IDX */ yytestcase(yyruleno==296); - case 306: /* cmd ::= PRAGMA nm DOT ID_PRAGMA */ yytestcase(yyruleno==306); - case 307: /* cmd ::= PRAGMA ID_DB|ID_PRAGMA */ yytestcase(yyruleno==307); - case 345: /* cmd ::= DROP TRIGGER nm DOT ID_TRIG */ yytestcase(yyruleno==345); - case 346: /* cmd ::= DROP TRIGGER ID_DB|ID_TRIG */ yytestcase(yyruleno==346); + case 263: /* exprx ::= nm DOT ID_TAB|ID_COL */ yytestcase(yyruleno==263); + case 283: /* cmd ::= CREATE uniqueflag INDEX nm DOT ID_IDX_NEW */ yytestcase(yyruleno==283); + case 284: /* cmd ::= CREATE uniqueflag INDEX ID_DB|ID_IDX_NEW */ yytestcase(yyruleno==284); + case 294: /* cmd ::= DROP INDEX nm DOT ID_IDX */ yytestcase(yyruleno==294); + case 295: /* cmd ::= DROP INDEX ID_DB|ID_IDX */ yytestcase(yyruleno==295); + case 305: /* cmd ::= PRAGMA nm DOT ID_PRAGMA */ yytestcase(yyruleno==305); + case 306: /* cmd ::= PRAGMA ID_DB|ID_PRAGMA */ yytestcase(yyruleno==306); + case 344: /* cmd ::= DROP TRIGGER nm DOT ID_TRIG */ yytestcase(yyruleno==344); + case 345: /* cmd ::= DROP TRIGGER ID_DB|ID_TRIG */ yytestcase(yyruleno==345); { yy_destructor(yypParser,156,&yymsp[-2].minor); } break; @@ -3341,11 +3339,11 @@ static void yy_reduce( {yygotominor.yy389 = new SqliteSortOrder(SqliteSortOrder::null);} break; case 173: /* groupby_opt ::= */ - case 279: /* exprlist ::= */ yytestcase(yyruleno==279); + case 278: /* exprlist ::= */ yytestcase(yyruleno==278); {yygotominor.yy231 = new ParserExprList();} break; case 174: /* groupby_opt ::= GROUP BY nexprlist */ - case 278: /* exprlist ::= nexprlist */ yytestcase(yyruleno==278); + case 277: /* exprlist ::= nexprlist */ yytestcase(yyruleno==277); {yygotominor.yy231 = yymsp[0].minor.yy231;} break; case 175: /* groupby_opt ::= GROUP BY */ @@ -3356,18 +3354,18 @@ static void yy_reduce( break; case 176: /* having_opt ::= */ case 188: /* where_opt ::= */ yytestcase(yyruleno==188); - case 275: /* case_else ::= */ yytestcase(yyruleno==275); - case 277: /* case_operand ::= */ yytestcase(yyruleno==277); - case 335: /* when_clause ::= */ yytestcase(yyruleno==335); - case 348: /* key_opt ::= */ yytestcase(yyruleno==348); + case 274: /* case_else ::= */ yytestcase(yyruleno==274); + case 276: /* case_operand ::= */ yytestcase(yyruleno==276); + case 334: /* when_clause ::= */ yytestcase(yyruleno==334); + case 347: /* key_opt ::= */ yytestcase(yyruleno==347); {yygotominor.yy192 = nullptr;} break; case 177: /* having_opt ::= HAVING expr */ case 189: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==189); - case 267: /* expr ::= exprx */ yytestcase(yyruleno==267); - case 274: /* case_else ::= ELSE expr */ yytestcase(yyruleno==274); - case 276: /* case_operand ::= exprx */ yytestcase(yyruleno==276); - case 336: /* when_clause ::= WHEN expr */ yytestcase(yyruleno==336); + case 266: /* expr ::= exprx */ yytestcase(yyruleno==266); + case 273: /* case_else ::= ELSE expr */ yytestcase(yyruleno==273); + case 275: /* case_operand ::= exprx */ yytestcase(yyruleno==275); + case 335: /* when_clause ::= WHEN expr */ yytestcase(yyruleno==335); {yygotominor.yy192 = yymsp[0].minor.yy192;} break; case 178: /* limit_opt ::= */ @@ -3919,68 +3917,60 @@ static void yy_reduce( parserContext->minorErrorBeforeNextToken("Syntax error"); } break; - case 260: /* exprx ::= LP expr */ -{ - yygotominor.yy192 = new SqliteExpr(); - yygotominor.yy192->initSubExpr(yymsp[0].minor.yy192); - objectForTokens = yygotominor.yy192; - parserContext->minorErrorBeforeNextToken("Syntax error"); - } - break; - case 261: /* exprx ::= expr not_opt IN ID_DB */ + case 260: /* exprx ::= expr not_opt IN ID_DB */ { yy_destructor(yypParser,177,&yymsp[-3].minor); } break; - case 262: /* exprx ::= expr not_opt IN nm DOT ID_TAB */ - case 263: /* exprx ::= ID_DB|ID_TAB|ID_COL|ID_FN */ yytestcase(yyruleno==263); + case 261: /* exprx ::= expr not_opt IN nm DOT ID_TAB */ + case 262: /* exprx ::= ID_DB|ID_TAB|ID_COL|ID_FN */ yytestcase(yyruleno==262); { yy_destructor(yypParser,177,&yymsp[-5].minor); yy_destructor(yypParser,156,&yymsp[-2].minor); } break; - case 265: /* exprx ::= nm DOT nm DOT ID_COL */ - case 266: /* exprx ::= RAISE LP raisetype COMMA ID_ERR_MSG RP */ yytestcase(yyruleno==266); + case 264: /* exprx ::= nm DOT nm DOT ID_COL */ + case 265: /* exprx ::= RAISE LP raisetype COMMA ID_ERR_MSG RP */ yytestcase(yyruleno==265); { yy_destructor(yypParser,156,&yymsp[-4].minor); yy_destructor(yypParser,156,&yymsp[-2].minor); } break; - case 268: /* expr ::= */ + case 267: /* expr ::= */ { yygotominor.yy192 = new SqliteExpr(); objectForTokens = yygotominor.yy192; parserContext->minorErrorAfterLastToken("Syntax error"); } break; - case 271: /* likeop ::= LIKE|GLOB */ + case 270: /* likeop ::= LIKE|GLOB */ {yygotominor.yy41 = new SqliteExpr::LikeOp(SqliteExpr::likeOp(yymsp[0].minor.yy0->value));} break; - case 272: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ + case 271: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ { yymsp[-4].minor.yy231->append(yymsp[-2].minor.yy192); yymsp[-4].minor.yy231->append(yymsp[0].minor.yy192); yygotominor.yy231 = yymsp[-4].minor.yy231; } break; - case 273: /* case_exprlist ::= WHEN expr THEN expr */ + case 272: /* case_exprlist ::= WHEN expr THEN expr */ { yygotominor.yy231 = new ParserExprList(); yygotominor.yy231->append(yymsp[-2].minor.yy192); yygotominor.yy231->append(yymsp[0].minor.yy192); } break; - case 280: /* nexprlist ::= nexprlist COMMA expr */ + case 279: /* nexprlist ::= nexprlist COMMA expr */ { yymsp[-2].minor.yy231->append(yymsp[0].minor.yy192); yygotominor.yy231 = yymsp[-2].minor.yy231; DONT_INHERIT_TOKENS("nexprlist"); } break; - case 281: /* nexprlist ::= exprx */ + case 280: /* nexprlist ::= exprx */ { yygotominor.yy231 = new ParserExprList(); yygotominor.yy231->append(yymsp[0].minor.yy192); } break; - case 282: /* cmd ::= CREATE uniqueflag INDEX nm ON nm dbnm LP idxlist RP onconf */ + case 281: /* cmd ::= CREATE uniqueflag INDEX nm ON nm dbnm LP idxlist RP onconf */ { yygotominor.yy203 = new SqliteCreateIndex( *(yymsp[-9].minor.yy291), @@ -4000,31 +3990,31 @@ static void yy_reduce( objectForTokens = yygotominor.yy203; } break; - case 283: /* cmd ::= CREATE uniqueflag INDEX nm dbnm ON ID_TAB */ + case 282: /* cmd ::= CREATE uniqueflag INDEX nm dbnm ON ID_TAB */ { yy_destructor(yypParser,156,&yymsp[-3].minor); } break; - case 288: /* idxlist_opt ::= */ + case 287: /* idxlist_opt ::= */ {yygotominor.yy63 = new ParserIndexedColumnList();} break; - case 289: /* idxlist_opt ::= LP idxlist RP */ + case 288: /* idxlist_opt ::= LP idxlist RP */ {yygotominor.yy63 = yymsp[-1].minor.yy63;} break; - case 290: /* idxlist ::= idxlist COMMA idxlist_single */ + case 289: /* idxlist ::= idxlist COMMA idxlist_single */ { yymsp[-2].minor.yy63->append(yymsp[0].minor.yy428); yygotominor.yy63 = yymsp[-2].minor.yy63; DONT_INHERIT_TOKENS("idxlist"); } break; - case 291: /* idxlist ::= idxlist_single */ + case 290: /* idxlist ::= idxlist_single */ { yygotominor.yy63 = new ParserIndexedColumnList(); yygotominor.yy63->append(yymsp[0].minor.yy428); } break; - case 292: /* idxlist_single ::= nm sortorder */ - case 293: /* idxlist_single ::= ID_COL */ yytestcase(yyruleno==293); + case 291: /* idxlist_single ::= nm sortorder */ + case 292: /* idxlist_single ::= ID_COL */ yytestcase(yyruleno==292); { SqliteIndexedColumn* obj = new SqliteIndexedColumn( @@ -4038,14 +4028,14 @@ static void yy_reduce( objectForTokens = yygotominor.yy428; } break; - case 294: /* cmd ::= DROP INDEX fullname */ + case 293: /* cmd ::= DROP INDEX fullname */ { yygotominor.yy203 = new SqliteDropIndex(false, yymsp[0].minor.yy120->name1, yymsp[0].minor.yy120->name2); delete yymsp[0].minor.yy120; objectForTokens = yygotominor.yy203; } break; - case 297: /* cmd ::= COPY orconf nm dbnm FROM nm USING DELIMITERS STRING */ + case 296: /* cmd ::= COPY orconf nm dbnm FROM nm USING DELIMITERS STRING */ { yygotominor.yy203 = new SqliteCopy( *(yymsp[-7].minor.yy418), @@ -4061,7 +4051,7 @@ static void yy_reduce( objectForTokens = yygotominor.yy203; } break; - case 298: /* cmd ::= COPY orconf nm dbnm FROM nm */ + case 297: /* cmd ::= COPY orconf nm dbnm FROM nm */ { yygotominor.yy203 = new SqliteCopy( *(yymsp[-4].minor.yy418), @@ -4076,28 +4066,28 @@ static void yy_reduce( objectForTokens = yygotominor.yy203; } break; - case 299: /* cmd ::= VACUUM */ + case 298: /* cmd ::= VACUUM */ { yygotominor.yy203 = new SqliteVacuum(); objectForTokens = yygotominor.yy203; } break; - case 300: /* cmd ::= VACUUM nm */ + case 299: /* cmd ::= VACUUM nm */ { yygotominor.yy203 = new SqliteVacuum(*(yymsp[0].minor.yy319)); delete yymsp[0].minor.yy319; objectForTokens = yygotominor.yy203; } break; - case 301: /* cmd ::= PRAGMA ids */ + case 300: /* cmd ::= PRAGMA ids */ { yygotominor.yy203 = new SqlitePragma(*(yymsp[0].minor.yy319), QString::null); delete yymsp[0].minor.yy319; objectForTokens = yygotominor.yy203; } break; - case 302: /* cmd ::= PRAGMA nm EQ nmnum */ - case 304: /* cmd ::= PRAGMA nm EQ minus_num */ yytestcase(yyruleno==304); + case 301: /* cmd ::= PRAGMA nm EQ nmnum */ + case 303: /* cmd ::= PRAGMA nm EQ minus_num */ yytestcase(yyruleno==303); { yygotominor.yy203 = new SqlitePragma(*(yymsp[-2].minor.yy319), QString::null, *(yymsp[0].minor.yy69), true); delete yymsp[-2].minor.yy319; @@ -4105,8 +4095,8 @@ static void yy_reduce( objectForTokens = yygotominor.yy203; } break; - case 303: /* cmd ::= PRAGMA nm LP nmnum RP */ - case 305: /* cmd ::= PRAGMA nm LP minus_num RP */ yytestcase(yyruleno==305); + case 302: /* cmd ::= PRAGMA nm LP nmnum RP */ + case 304: /* cmd ::= PRAGMA nm LP minus_num RP */ yytestcase(yyruleno==304); { yygotominor.yy203 = new SqlitePragma(*(yymsp[-3].minor.yy319), QString::null, *(yymsp[-1].minor.yy69), false); delete yymsp[-3].minor.yy319; @@ -4114,18 +4104,18 @@ static void yy_reduce( objectForTokens = yygotominor.yy203; } break; - case 309: /* nmnum ::= nm */ + case 308: /* nmnum ::= nm */ { yygotominor.yy69 = new QVariant(*(yymsp[0].minor.yy319)); delete yymsp[0].minor.yy319; } break; - case 310: /* nmnum ::= ON */ - case 311: /* nmnum ::= DELETE */ yytestcase(yyruleno==311); - case 312: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==312); + case 309: /* nmnum ::= ON */ + case 310: /* nmnum ::= DELETE */ yytestcase(yyruleno==310); + case 311: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==311); {yygotominor.yy69 = new QVariant(yymsp[0].minor.yy0->value);} break; - case 315: /* minus_num ::= MINUS number */ + case 314: /* minus_num ::= MINUS number */ { if (yymsp[0].minor.yy69->type() == QVariant::Double) *(yymsp[0].minor.yy69) = -(yymsp[0].minor.yy69->toDouble()); @@ -4137,13 +4127,13 @@ static void yy_reduce( yygotominor.yy69 = yymsp[0].minor.yy69; } break; - case 316: /* number ::= INTEGER */ + case 315: /* number ::= INTEGER */ {yygotominor.yy69 = new QVariant(QVariant(yymsp[0].minor.yy0->value).toLongLong());} break; - case 317: /* number ::= FLOAT */ + case 316: /* number ::= FLOAT */ {yygotominor.yy69 = new QVariant(QVariant(yymsp[0].minor.yy0->value).toDouble());} break; - case 318: /* cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm dbnm foreach_clause when_clause BEGIN trigger_cmd_list END */ + case 317: /* cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm dbnm foreach_clause when_clause BEGIN trigger_cmd_list END */ { yygotominor.yy203 = new SqliteCreateTrigger( *(yymsp[-12].minor.yy226), @@ -4168,7 +4158,7 @@ static void yy_reduce( objectForTokens = yygotominor.yy203; } break; - case 319: /* cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm dbnm foreach_clause when_clause */ + case 318: /* cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm dbnm foreach_clause when_clause */ { QList CL; @@ -4195,7 +4185,7 @@ static void yy_reduce( parserContext->minorErrorAfterLastToken("Syntax error"); } break; - case 320: /* cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm dbnm foreach_clause when_clause BEGIN trigger_cmd_list */ + case 319: /* cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm dbnm foreach_clause when_clause BEGIN trigger_cmd_list */ { yygotominor.yy203 = new SqliteCreateTrigger( *(yymsp[-11].minor.yy226), @@ -4221,14 +4211,14 @@ static void yy_reduce( parserContext->minorErrorAfterLastToken("Syntax error"); } break; - case 321: /* cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON ID_TAB|ID_DB */ + case 320: /* cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON ID_TAB|ID_DB */ { yy_destructor(yypParser,157,&yymsp[-6].minor); yy_destructor(yypParser,156,&yymsp[-4].minor); yy_destructor(yypParser,232,&yymsp[-3].minor); yy_destructor(yypParser,233,&yymsp[-2].minor); } break; - case 322: /* cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm DOT ID_TAB */ + case 321: /* cmd ::= CREATE temp TRIGGER nm trigger_time trigger_event ON nm DOT ID_TAB */ { yy_destructor(yypParser,157,&yymsp[-8].minor); yy_destructor(yypParser,156,&yymsp[-6].minor); yy_destructor(yypParser,232,&yymsp[-5].minor); @@ -4236,76 +4226,76 @@ static void yy_reduce( yy_destructor(yypParser,156,&yymsp[-2].minor); } break; - case 324: /* trigger_time ::= BEFORE */ + case 323: /* trigger_time ::= BEFORE */ {yygotominor.yy372 = new SqliteCreateTrigger::Time(SqliteCreateTrigger::Time::BEFORE);} break; - case 325: /* trigger_time ::= AFTER */ + case 324: /* trigger_time ::= AFTER */ {yygotominor.yy372 = new SqliteCreateTrigger::Time(SqliteCreateTrigger::Time::AFTER);} break; - case 326: /* trigger_time ::= INSTEAD OF */ + case 325: /* trigger_time ::= INSTEAD OF */ {yygotominor.yy372 = new SqliteCreateTrigger::Time(SqliteCreateTrigger::Time::INSTEAD_OF);} break; - case 327: /* trigger_time ::= */ + case 326: /* trigger_time ::= */ {yygotominor.yy372 = new SqliteCreateTrigger::Time(SqliteCreateTrigger::Time::null);} break; - case 328: /* trigger_event ::= DELETE */ + case 327: /* trigger_event ::= DELETE */ { yygotominor.yy151 = new SqliteCreateTrigger::Event(SqliteCreateTrigger::Event::DELETE); objectForTokens = yygotominor.yy151; } break; - case 329: /* trigger_event ::= INSERT */ + case 328: /* trigger_event ::= INSERT */ { yygotominor.yy151 = new SqliteCreateTrigger::Event(SqliteCreateTrigger::Event::INSERT); objectForTokens = yygotominor.yy151; } break; - case 330: /* trigger_event ::= UPDATE */ + case 329: /* trigger_event ::= UPDATE */ { yygotominor.yy151 = new SqliteCreateTrigger::Event(SqliteCreateTrigger::Event::UPDATE); objectForTokens = yygotominor.yy151; } break; - case 331: /* trigger_event ::= UPDATE OF inscollist */ + case 330: /* trigger_event ::= UPDATE OF inscollist */ { yygotominor.yy151 = new SqliteCreateTrigger::Event(*(yymsp[0].minor.yy207)); delete yymsp[0].minor.yy207; objectForTokens = yygotominor.yy151; } break; - case 332: /* foreach_clause ::= */ + case 331: /* foreach_clause ::= */ {yygotominor.yy83 = new SqliteCreateTrigger::Scope(SqliteCreateTrigger::Scope::null);} break; - case 333: /* foreach_clause ::= FOR EACH ROW */ + case 332: /* foreach_clause ::= FOR EACH ROW */ {yygotominor.yy83 = new SqliteCreateTrigger::Scope(SqliteCreateTrigger::Scope::FOR_EACH_ROW);} break; - case 334: /* foreach_clause ::= FOR EACH STATEMENT */ + case 333: /* foreach_clause ::= FOR EACH STATEMENT */ {yygotominor.yy83 = new SqliteCreateTrigger::Scope(SqliteCreateTrigger::Scope::FOR_EACH_STATEMENT);} break; - case 337: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ + case 336: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ { yymsp[-2].minor.yy270->append(yymsp[-1].minor.yy203); yygotominor.yy270 = yymsp[-2].minor.yy270; DONT_INHERIT_TOKENS("trigger_cmd_list"); } break; - case 338: /* trigger_cmd_list ::= trigger_cmd SEMI */ + case 337: /* trigger_cmd_list ::= trigger_cmd SEMI */ { yygotominor.yy270 = new ParserQueryList(); yygotominor.yy270->append(yymsp[-1].minor.yy203); } break; - case 343: /* raisetype ::= ROLLBACK|ABORT|FAIL */ + case 342: /* raisetype ::= ROLLBACK|ABORT|FAIL */ {yygotominor.yy0 = yymsp[0].minor.yy0;} break; - case 344: /* cmd ::= DROP TRIGGER fullname */ + case 343: /* cmd ::= DROP TRIGGER fullname */ { yygotominor.yy203 = new SqliteDropTrigger(false, yymsp[0].minor.yy120->name1, yymsp[0].minor.yy120->name2); delete yymsp[0].minor.yy120; objectForTokens = yygotominor.yy203; } break; - case 347: /* cmd ::= ATTACH database_kw_opt ids AS ids key_opt */ + case 346: /* cmd ::= ATTACH database_kw_opt ids AS ids key_opt */ { SqliteExpr* e1 = new SqliteExpr(); SqliteExpr* e2 = new SqliteExpr(); @@ -4318,7 +4308,7 @@ static void yy_reduce( objectForTokens = yygotominor.yy203; } break; - case 349: /* key_opt ::= USING ids */ + case 348: /* key_opt ::= USING ids */ { SqliteExpr* e = new SqliteExpr(); e->initLiteral(*(yymsp[0].minor.yy319)); @@ -4326,7 +4316,7 @@ static void yy_reduce( yygotominor.yy192 = e; } break; - case 352: /* cmd ::= DETACH database_kw_opt nm */ + case 351: /* cmd ::= DETACH database_kw_opt nm */ { SqliteExpr* e = new SqliteExpr(); e->initLiteral(*(yymsp[0].minor.yy319)); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/sqlite2_parse.y b/SQLiteStudio3/coreSQLiteStudio/parser/sqlite2_parse.y index 2fd9c0d..d6ee4f7 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/sqlite2_parse.y +++ b/SQLiteStudio3/coreSQLiteStudio/parser/sqlite2_parse.y @@ -184,8 +184,8 @@ cmd(X) ::= CREATE temp(T) TABLE LP columnlist(CL) conslist_opt(CS) RP. { X = new SqliteCreateTable( - *(T), false, + *(T), N->name1, N->name2, *(CL), @@ -201,8 +201,8 @@ cmd(X) ::= CREATE temp(T) TABLE fullname(N) AS select(S). { X = new SqliteCreateTable( - *(T), false, + *(T), N->name1, N->name2, S @@ -1586,12 +1586,15 @@ exprx(X) ::= expr(E) not_opt(N) IN LP objectForTokens = X; parserContext->minorErrorBeforeNextToken("Syntax error"); } +/* +This introduces premature reduce for LP-expr and causes bug #2755 exprx(X) ::= LP expr(E). { X = new SqliteExpr(); X->initSubExpr(E); objectForTokens = X; parserContext->minorErrorBeforeNextToken("Syntax error"); } +*/ exprx ::= expr not_opt IN ID_DB. [IN] {} exprx ::= expr not_opt IN nm DOT diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/sqlite3_parse.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/sqlite3_parse.cpp index 7e4f3c0..646c533 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/sqlite3_parse.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/sqlite3_parse.cpp @@ -170,7 +170,7 @@ typedef union { #define sqlite3_parseARG_FETCH ParserContext* parserContext = yypParser->parserContext #define sqlite3_parseARG_STORE yypParser->parserContext = parserContext #define YYNSTATE 724 -#define YYNRULE 425 +#define YYNRULE 424 #define YYFALLBACK 1 #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) @@ -246,22 +246,22 @@ static const YYMINORTYPE yyzerominor = { 0 }; static const YYACTIONTYPE yy_action[] = { /* 0 */ 431, 48, 48, 47, 47, 47, 46, 216, 716, 339, /* 10 */ 643, 425, 51, 51, 51, 51, 44, 49, 49, 49, - /* 20 */ 49, 48, 48, 47, 47, 47, 46, 216, 721, 1027, - /* 30 */ 1027, 643, 131, 580, 51, 51, 51, 51, 411, 49, + /* 20 */ 49, 48, 48, 47, 47, 47, 46, 216, 721, 1026, + /* 30 */ 1026, 643, 131, 580, 51, 51, 51, 51, 411, 49, /* 40 */ 49, 49, 49, 48, 48, 47, 47, 47, 46, 216, - /* 50 */ 579, 81, 58, 643, 157, 685, 301, 282, 1027, 1027, - /* 60 */ 41, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, - /* 70 */ 1027, 1027, 563, 1027, 1027, 1027, 1027, 38, 39, 1027, - /* 80 */ 1027, 1027, 1027, 1027, 40, 431, 528, 385, 716, 595, + /* 50 */ 579, 81, 58, 643, 157, 685, 301, 282, 1026, 1026, + /* 60 */ 41, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + /* 70 */ 1026, 1026, 563, 1026, 1026, 1026, 1026, 38, 39, 1026, + /* 80 */ 1026, 1026, 1026, 1026, 40, 431, 528, 385, 716, 595, /* 90 */ 594, 280, 4, 377, 716, 630, 425, 642, 608, 422, /* 100 */ 12, 134, 687, 429, 562, 609, 483, 690, 331, 279, /* 110 */ 714, 713, 564, 565, 642, 689, 688, 687, 235, 506, /* 120 */ 60, 320, 610, 411, 47, 47, 47, 46, 216, 122, - /* 130 */ 243, 213, 247, 59, 1143, 1143, 486, 609, 607, 603, + /* 130 */ 243, 213, 247, 59, 1142, 1142, 486, 609, 607, 603, /* 140 */ 685, 306, 485, 584, 716, 41, 507, 509, 642, 508, /* 150 */ 676, 9, 642, 144, 95, 281, 379, 276, 378, 132, /* 160 */ 297, 716, 38, 39, 601, 200, 199, 7, 355, 40, - /* 170 */ 884, 307, 1135, 274, 249, 716, 17, 4, 884, 1135, + /* 170 */ 884, 307, 1134, 274, 249, 716, 17, 4, 884, 1134, /* 180 */ 56, 717, 642, 431, 422, 884, 329, 687, 429, 716, /* 190 */ 687, 643, 690, 687, 425, 690, 714, 713, 690, 642, /* 200 */ 689, 688, 687, 689, 688, 687, 689, 688, 687, 98, @@ -269,16 +269,16 @@ static const YYACTIONTYPE yy_action[] = { /* 220 */ 716, 411, 239, 884, 303, 582, 512, 581, 884, 884, /* 230 */ 884, 884, 884, 642, 643, 676, 9, 642, 685, 217, /* 240 */ 245, 673, 102, 41, 287, 300, 714, 713, 67, 302, - /* 250 */ 148, 307, 1134, 151, 306, 484, 81, 715, 97, 1134, + /* 250 */ 148, 307, 1133, 151, 306, 484, 81, 715, 97, 1133, /* 260 */ 38, 39, 551, 714, 713, 771, 130, 40, 946, 376, /* 270 */ 373, 372, 447, 46, 216, 4, 946, 714, 713, 334, /* 280 */ 642, 682, 422, 946, 606, 687, 429, 371, 448, 447, /* 290 */ 690, 714, 713, 304, 265, 146, 267, 642, 689, 688, /* 300 */ 687, 287, 68, 677, 691, 255, 362, 259, 359, 692, - /* 310 */ 1028, 1028, 682, 946, 715, 946, 946, 447, 698, 234, + /* 310 */ 1027, 1027, 682, 946, 715, 946, 946, 447, 698, 234, /* 320 */ 386, 715, 714, 713, 773, 651, 946, 946, 946, 946, /* 330 */ 110, 642, 317, 676, 9, 642, 222, 677, 299, 52, - /* 340 */ 53, 426, 289, 1028, 1028, 675, 675, 50, 50, 51, + /* 340 */ 53, 426, 289, 1027, 1027, 675, 675, 50, 50, 51, /* 350 */ 51, 51, 51, 716, 49, 49, 49, 49, 48, 48, /* 360 */ 47, 47, 47, 46, 216, 431, 428, 340, 716, 335, /* 370 */ 671, 670, 287, 283, 716, 138, 425, 209, 219, 430, @@ -293,27 +293,27 @@ static const YYACTIONTYPE yy_action[] = { /* 460 */ 92, 143, 642, 358, 422, 931, 674, 687, 429, 14, /* 470 */ 714, 713, 690, 131, 456, 551, 714, 713, 953, 642, /* 480 */ 689, 688, 687, 668, 667, 210, 593, 458, 384, 457, - /* 490 */ 576, 88, 1028, 1028, 13, 931, 672, 931, 931, 54, + /* 490 */ 576, 88, 1027, 1027, 13, 931, 672, 931, 931, 54, /* 500 */ 575, 678, 42, 368, 37, 401, 35, 381, 931, 1, /* 510 */ 931, 931, 641, 642, 634, 676, 9, 642, 661, 714, - /* 520 */ 713, 52, 53, 426, 289, 1028, 1028, 675, 675, 50, + /* 520 */ 713, 52, 53, 426, 289, 1027, 1027, 675, 675, 50, /* 530 */ 50, 51, 51, 51, 51, 660, 49, 49, 49, 49, /* 540 */ 48, 48, 47, 47, 47, 46, 216, 657, 648, 714, /* 550 */ 713, 496, 542, 569, 714, 713, 714, 713, 656, 691, /* 560 */ 543, 614, 320, 30, 692, 27, 716, 585, 274, 682, - /* 570 */ 160, 1028, 1028, 426, 289, 693, 613, 675, 675, 50, + /* 570 */ 160, 1027, 1027, 426, 289, 693, 613, 675, 675, 50, /* 580 */ 50, 51, 51, 51, 51, 398, 49, 49, 49, 49, - /* 590 */ 48, 48, 47, 47, 47, 46, 216, 1026, 1026, 81, - /* 600 */ 52, 53, 426, 289, 1028, 1028, 675, 675, 50, 50, + /* 590 */ 48, 48, 47, 47, 47, 46, 216, 1025, 1025, 81, + /* 600 */ 52, 53, 426, 289, 1027, 1027, 675, 675, 50, 50, /* 610 */ 51, 51, 51, 51, 496, 49, 49, 49, 49, 48, - /* 620 */ 48, 47, 47, 47, 46, 216, 1026, 1026, 1026, 1026, - /* 630 */ 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, - /* 640 */ 716, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, - /* 650 */ 1026, 1026, 1028, 1028, 357, 49, 49, 49, 49, 48, + /* 620 */ 48, 47, 47, 47, 46, 216, 1025, 1025, 1025, 1025, + /* 630 */ 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, + /* 640 */ 716, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, + /* 650 */ 1025, 1025, 1027, 1027, 357, 49, 49, 49, 49, 48, /* 660 */ 48, 47, 47, 47, 46, 216, 288, 552, 714, 713, /* 670 */ 495, 682, 298, 662, 346, 153, 538, 69, 694, 715, - /* 680 */ 715, 52, 53, 426, 289, 1028, 1028, 675, 675, 50, - /* 690 */ 50, 51, 51, 51, 51, 1095, 49, 49, 49, 49, + /* 680 */ 715, 52, 53, 426, 289, 1027, 1027, 675, 675, 50, + /* 690 */ 50, 51, 51, 51, 51, 1094, 49, 49, 49, 49, /* 700 */ 48, 48, 47, 47, 47, 46, 216, 52, 53, 426, /* 710 */ 289, 418, 511, 675, 675, 50, 50, 51, 51, 51, /* 720 */ 51, 159, 49, 49, 49, 49, 48, 48, 47, 47, @@ -321,12 +321,12 @@ static const YYACTIONTYPE yy_action[] = { /* 740 */ 215, 650, 714, 713, 81, 52, 53, 426, 289, 954, /* 750 */ 414, 675, 675, 50, 50, 51, 51, 51, 51, 397, /* 760 */ 49, 49, 49, 49, 48, 48, 47, 47, 47, 46, - /* 770 */ 216, 158, 1095, 21, 716, 627, 459, 716, 1080, 716, - /* 780 */ 647, 1046, 140, 89, 716, 1150, 154, 435, 2, 715, + /* 770 */ 216, 158, 1094, 21, 716, 627, 459, 716, 1079, 716, + /* 780 */ 647, 1045, 140, 89, 716, 1149, 154, 435, 2, 715, /* 790 */ 424, 671, 670, 396, 460, 461, 954, 52, 53, 426, /* 800 */ 289, 573, 716, 675, 675, 50, 50, 51, 51, 51, /* 810 */ 51, 321, 49, 49, 49, 49, 48, 48, 47, 47, - /* 820 */ 47, 46, 216, 431, 1109, 81, 206, 205, 204, 52, + /* 820 */ 47, 46, 216, 431, 1108, 81, 206, 205, 204, 52, /* 830 */ 53, 426, 289, 716, 425, 675, 675, 50, 50, 51, /* 840 */ 51, 51, 51, 344, 49, 49, 49, 49, 48, 48, /* 850 */ 47, 47, 47, 46, 216, 597, 715, 666, 600, 462, @@ -334,17 +334,17 @@ static const YYACTIONTYPE yy_action[] = { /* 870 */ 667, 609, 724, 434, 81, 656, 714, 713, 685, 714, /* 880 */ 713, 714, 713, 41, 528, 272, 714, 713, 610, 349, /* 890 */ 528, 450, 89, 677, 12, 633, 633, 338, 636, 609, - /* 900 */ 38, 39, 649, 609, 714, 713, 716, 40, 1143, 1143, + /* 900 */ 38, 39, 649, 609, 714, 713, 716, 40, 1142, 1142, /* 910 */ 716, 524, 682, 581, 716, 4, 610, 468, 60, 450, /* 920 */ 642, 208, 422, 506, 60, 687, 429, 677, 32, 109, /* 930 */ 690, 609, 500, 501, 352, 714, 713, 642, 689, 688, /* 940 */ 687, 428, 900, 900, 467, 466, 552, 465, 421, 383, - /* 950 */ 507, 509, 142, 508, 430, 440, 69, 1143, 1143, 715, + /* 950 */ 507, 509, 142, 508, 430, 440, 69, 1142, 1142, 715, /* 960 */ 444, 722, 686, 182, 646, 714, 713, 645, 231, 230, /* 970 */ 437, 642, 356, 676, 9, 642, 417, 444, 52, 53, /* 980 */ 426, 289, 91, 91, 675, 675, 50, 50, 51, 51, /* 990 */ 51, 51, 644, 49, 49, 49, 49, 48, 48, 47, - /* 1000 */ 47, 47, 46, 216, 1035, 444, 668, 667, 714, 713, + /* 1000 */ 47, 47, 46, 216, 1034, 444, 668, 667, 714, 713, /* 1010 */ 91, 453, 714, 713, 682, 641, 714, 713, 324, 202, /* 1020 */ 52, 53, 426, 289, 446, 680, 675, 675, 50, 50, /* 1030 */ 51, 51, 51, 51, 639, 49, 49, 49, 49, 48, @@ -367,10 +367,10 @@ static const YYACTIONTYPE yy_action[] = { /* 1200 */ 47, 47, 47, 46, 216, 532, 8, 517, 696, 87, /* 1210 */ 137, 52, 53, 426, 289, 22, 557, 675, 675, 50, /* 1220 */ 50, 51, 51, 51, 51, 135, 49, 49, 49, 49, - /* 1230 */ 48, 48, 47, 47, 47, 46, 216, 81, 1110, 91, + /* 1230 */ 48, 48, 47, 47, 47, 46, 216, 81, 1109, 91, /* 1240 */ 716, 91, 52, 53, 426, 289, 615, 722, 675, 675, /* 1250 */ 50, 50, 51, 51, 51, 51, 620, 49, 49, 49, - /* 1260 */ 49, 48, 48, 47, 47, 47, 46, 216, 604, 1108, + /* 1260 */ 49, 48, 48, 47, 47, 47, 46, 216, 604, 1107, /* 1270 */ 99, 504, 390, 491, 52, 53, 426, 289, 714, 713, /* 1280 */ 675, 675, 50, 50, 51, 51, 51, 51, 682, 49, /* 1290 */ 49, 49, 49, 48, 48, 47, 47, 47, 46, 216, @@ -395,7 +395,7 @@ static const YYACTIONTYPE yy_action[] = { /* 1480 */ 530, 714, 713, 651, 715, 714, 713, 38, 39, 64, /* 1490 */ 18, 399, 370, 431, 40, 129, 716, 366, 326, 534, /* 1500 */ 534, 63, 4, 270, 425, 714, 713, 642, 475, 422, - /* 1510 */ 316, 530, 714, 429, 716, 714, 713, 690, 279, 716, + /* 1510 */ 316, 530, 687, 429, 716, 714, 713, 690, 279, 716, /* 1520 */ 533, 716, 156, 624, 642, 689, 688, 687, 525, 716, /* 1530 */ 125, 411, 519, 714, 713, 514, 715, 714, 713, 3, /* 1540 */ 714, 713, 714, 713, 79, 525, 682, 85, 685, 519, @@ -408,9 +408,9 @@ static const YYACTIONTYPE yy_action[] = { /* 1610 */ 687, 438, 428, 411, 497, 62, 714, 713, 430, 119, /* 1620 */ 254, 714, 713, 714, 713, 430, 686, 181, 438, 704, /* 1630 */ 685, 714, 713, 686, 163, 41, 251, 629, 311, 161, - /* 1640 */ 138, 642, 715, 676, 9, 642, 455, 1036, 682, 531, + /* 1640 */ 138, 642, 715, 676, 9, 642, 455, 1035, 682, 531, /* 1650 */ 701, 702, 38, 39, 152, 641, 498, 469, 431, 40, - /* 1660 */ 499, 478, 699, 428, 715, 714, 713, 4, 1038, 425, + /* 1660 */ 499, 478, 699, 428, 715, 714, 713, 4, 1037, 425, /* 1670 */ 714, 713, 642, 416, 422, 715, 430, 687, 429, 641, /* 1680 */ 428, 350, 690, 619, 686, 172, 641, 494, 454, 642, /* 1690 */ 689, 688, 687, 430, 111, 428, 411, 286, 337, 714, @@ -794,59 +794,59 @@ static const short yy_reduce_ofst[] = { /* 310 */ 1573, 1506, 1462, 1462, 1462, 1540, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 729, 1038, 1143, 1143, 1027, 1027, 1027, 1143, 1027, 1027, - /* 10 */ 1027, 1027, 900, 1149, 1149, 1149, 1027, 1027, 1027, 1027, - /* 20 */ 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, - /* 30 */ 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, - /* 40 */ 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, - /* 50 */ 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1015, 1149, 894, - /* 60 */ 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 774, - /* 70 */ 890, 900, 1149, 1149, 1149, 1149, 1149, 962, 949, 940, - /* 80 */ 1149, 1149, 1149, 972, 972, 955, 842, 972, 1149, 1149, - /* 90 */ 1149, 1149, 928, 928, 1028, 1149, 766, 1113, 1118, 1013, - /* 100 */ 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 901, 1149, - /* 110 */ 1013, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, - /* 120 */ 1149, 963, 956, 950, 941, 1149, 1149, 1149, 1149, 1149, - /* 130 */ 1149, 1149, 1149, 1149, 1149, 890, 890, 1149, 1149, 890, - /* 140 */ 1149, 1149, 1149, 1014, 1149, 1149, 763, 1149, 1149, 1149, - /* 150 */ 735, 1059, 1149, 1149, 729, 1143, 1143, 1143, 1143, 1143, - /* 160 */ 1143, 1136, 880, 935, 906, 945, 933, 937, 1039, 1032, - /* 170 */ 1033, 1031, 936, 1028, 1028, 1028, 1028, 1028, 1028, 1028, - /* 180 */ 1028, 1028, 1018, 1028, 1028, 1028, 1028, 1028, 988, 1000, - /* 190 */ 987, 995, 1004, 999, 996, 990, 989, 991, 1149, 1149, - /* 200 */ 1149, 992, 1149, 1149, 1149, 1149, 1149, 893, 1149, 1149, - /* 210 */ 864, 1149, 1087, 1149, 1149, 776, 1149, 878, 738, 944, - /* 220 */ 918, 918, 809, 833, 798, 928, 918, 908, 1034, 928, - /* 230 */ 1149, 1149, 993, 891, 878, 1127, 909, 909, 909, 1112, - /* 240 */ 1112, 909, 909, 855, 909, 855, 909, 855, 909, 855, + /* 0 */ 729, 1037, 1142, 1142, 1026, 1026, 1026, 1142, 1026, 1026, + /* 10 */ 1026, 1026, 900, 1148, 1148, 1148, 1026, 1026, 1026, 1026, + /* 20 */ 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + /* 30 */ 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + /* 40 */ 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + /* 50 */ 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1015, 1148, 894, + /* 60 */ 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 774, + /* 70 */ 890, 900, 1148, 1148, 1148, 1148, 1148, 962, 949, 940, + /* 80 */ 1148, 1148, 1148, 972, 972, 955, 842, 972, 1148, 1148, + /* 90 */ 1148, 1148, 928, 928, 1027, 1148, 766, 1112, 1117, 1013, + /* 100 */ 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 901, 1148, + /* 110 */ 1013, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, + /* 120 */ 1148, 963, 956, 950, 941, 1148, 1148, 1148, 1148, 1148, + /* 130 */ 1148, 1148, 1148, 1148, 1148, 890, 890, 1148, 1148, 890, + /* 140 */ 1148, 1148, 1148, 1014, 1148, 1148, 763, 1148, 1148, 1148, + /* 150 */ 735, 1058, 1148, 1148, 729, 1142, 1142, 1142, 1142, 1142, + /* 160 */ 1142, 1135, 880, 935, 906, 945, 933, 937, 1038, 1031, + /* 170 */ 1032, 1030, 936, 1027, 1027, 1027, 1027, 1027, 1027, 1027, + /* 180 */ 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 988, 1000, + /* 190 */ 987, 995, 1004, 999, 996, 990, 989, 991, 1148, 1148, + /* 200 */ 1148, 992, 1148, 1148, 1148, 1148, 1148, 893, 1148, 1148, + /* 210 */ 864, 1148, 1086, 1148, 1148, 776, 1148, 878, 738, 944, + /* 220 */ 918, 918, 809, 833, 798, 928, 918, 908, 1033, 928, + /* 230 */ 1148, 1148, 993, 891, 878, 1126, 909, 909, 909, 1111, + /* 240 */ 1111, 909, 909, 855, 909, 855, 909, 855, 909, 855, /* 250 */ 909, 760, 944, 909, 760, 846, 968, 909, 909, 846, - /* 260 */ 944, 909, 1094, 1092, 909, 760, 909, 760, 909, 1047, - /* 270 */ 844, 844, 844, 844, 825, 1047, 844, 809, 844, 825, - /* 280 */ 844, 844, 1149, 909, 909, 1149, 1047, 1053, 1047, 1028, - /* 290 */ 994, 934, 922, 932, 929, 944, 1149, 757, 828, 760, - /* 300 */ 746, 746, 734, 734, 734, 734, 1140, 1140, 1136, 811, - /* 310 */ 811, 896, 1003, 1002, 1001, 785, 1040, 1149, 1149, 1149, - /* 320 */ 1149, 1149, 1149, 1061, 1149, 1149, 1149, 1149, 1149, 1149, - /* 330 */ 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 730, 1149, - /* 340 */ 1149, 1149, 1149, 1149, 1130, 1149, 1149, 1149, 1149, 1149, - /* 350 */ 1149, 1091, 1090, 1149, 1149, 1149, 1149, 1149, 1149, 1149, - /* 360 */ 1149, 1149, 1149, 1079, 1149, 1149, 1149, 1149, 1149, 1149, - /* 370 */ 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, - /* 380 */ 1149, 1149, 1149, 1149, 867, 869, 1149, 1149, 1149, 868, - /* 390 */ 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 930, - /* 400 */ 1149, 923, 1149, 1037, 1149, 1017, 1026, 1149, 1149, 1149, - /* 410 */ 1149, 1149, 1016, 1149, 1149, 1149, 1145, 1149, 1149, 1149, - /* 420 */ 1144, 1149, 1149, 1149, 1149, 1149, 1029, 980, 1149, 979, - /* 430 */ 978, 769, 1149, 744, 1149, 726, 731, 1129, 1126, 1128, - /* 440 */ 1123, 1124, 1122, 1125, 1121, 1119, 1120, 1117, 1115, 1114, - /* 450 */ 1116, 1111, 1107, 1067, 1065, 1063, 1072, 1071, 1070, 1069, - /* 460 */ 1068, 1064, 1062, 1066, 1060, 959, 947, 938, 862, 1106, - /* 470 */ 1104, 1105, 1058, 1056, 1057, 861, 860, 859, 854, 853, - /* 480 */ 852, 851, 1133, 1142, 1141, 1139, 1138, 1137, 1131, 1132, - /* 490 */ 1045, 1044, 1042, 1041, 1043, 762, 1083, 1086, 1085, 1084, - /* 500 */ 1089, 1088, 1081, 1093, 1098, 1097, 1102, 1101, 1100, 1099, - /* 510 */ 1096, 1078, 967, 966, 964, 969, 961, 960, 965, 952, - /* 520 */ 958, 957, 948, 951, 847, 943, 939, 942, 863, 1082, + /* 260 */ 944, 909, 1093, 1091, 909, 760, 909, 760, 909, 1046, + /* 270 */ 844, 844, 844, 844, 825, 1046, 844, 809, 844, 825, + /* 280 */ 844, 844, 1148, 909, 909, 1148, 1046, 1052, 1046, 1027, + /* 290 */ 994, 934, 922, 932, 929, 944, 1148, 757, 828, 760, + /* 300 */ 746, 746, 734, 734, 734, 734, 1139, 1139, 1135, 811, + /* 310 */ 811, 896, 1003, 1002, 1001, 785, 1039, 1148, 1148, 1148, + /* 320 */ 1148, 1148, 1148, 1060, 1148, 1148, 1148, 1148, 1148, 1148, + /* 330 */ 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 730, 1148, + /* 340 */ 1148, 1148, 1148, 1148, 1129, 1148, 1148, 1148, 1148, 1148, + /* 350 */ 1148, 1090, 1089, 1148, 1148, 1148, 1148, 1148, 1148, 1148, + /* 360 */ 1148, 1148, 1148, 1078, 1148, 1148, 1148, 1148, 1148, 1148, + /* 370 */ 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, + /* 380 */ 1148, 1148, 1148, 1148, 867, 869, 1148, 1148, 1148, 868, + /* 390 */ 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 930, + /* 400 */ 1148, 923, 1148, 1036, 1148, 1017, 1025, 1148, 1148, 1148, + /* 410 */ 1148, 1148, 1016, 1148, 1148, 1148, 1144, 1148, 1148, 1148, + /* 420 */ 1143, 1148, 1148, 1148, 1148, 1148, 1028, 980, 1148, 979, + /* 430 */ 978, 769, 1148, 744, 1148, 726, 731, 1128, 1125, 1127, + /* 440 */ 1122, 1123, 1121, 1124, 1120, 1118, 1119, 1116, 1114, 1113, + /* 450 */ 1115, 1110, 1106, 1066, 1064, 1062, 1071, 1070, 1069, 1068, + /* 460 */ 1067, 1063, 1061, 1065, 1059, 959, 947, 938, 862, 1105, + /* 470 */ 1103, 1104, 1057, 1055, 1056, 861, 860, 859, 854, 853, + /* 480 */ 852, 851, 1132, 1141, 1140, 1138, 1137, 1136, 1130, 1131, + /* 490 */ 1044, 1043, 1041, 1040, 1042, 762, 1082, 1085, 1084, 1083, + /* 500 */ 1088, 1087, 1080, 1092, 1097, 1096, 1101, 1100, 1099, 1098, + /* 510 */ 1095, 1077, 967, 966, 964, 969, 961, 960, 965, 952, + /* 520 */ 958, 957, 948, 951, 847, 943, 939, 942, 863, 1081, /* 530 */ 858, 857, 856, 761, 756, 911, 755, 754, 765, 831, /* 540 */ 832, 840, 843, 838, 841, 837, 836, 835, 839, 834, /* 550 */ 830, 768, 767, 775, 824, 802, 800, 799, 803, 816, @@ -857,12 +857,12 @@ static const YYACTIONTYPE yy_default[] = { /* 600 */ 883, 882, 881, 917, 916, 915, 914, 913, 912, 905, /* 610 */ 903, 899, 898, 904, 902, 920, 921, 919, 897, 889, /* 620 */ 887, 888, 886, 974, 971, 973, 970, 907, 895, 892, - /* 630 */ 879, 925, 924, 1030, 1019, 1008, 1020, 910, 1007, 1005, - /* 640 */ 1029, 1026, 1021, 1103, 1025, 1012, 1011, 1010, 1148, 1146, - /* 650 */ 1147, 1050, 1052, 1055, 1054, 1051, 927, 926, 1049, 1048, - /* 660 */ 1009, 984, 781, 779, 780, 1075, 1074, 1077, 1076, 1073, - /* 670 */ 783, 782, 778, 777, 998, 997, 982, 1022, 1023, 981, - /* 680 */ 1024, 983, 770, 873, 866, 976, 975, 808, 807, 806, + /* 630 */ 879, 925, 924, 1029, 1018, 1008, 1019, 910, 1007, 1005, + /* 640 */ 1028, 1025, 1020, 1102, 1024, 1012, 1011, 1010, 1147, 1145, + /* 650 */ 1146, 1049, 1051, 1054, 1053, 1050, 927, 926, 1048, 1047, + /* 660 */ 1009, 984, 781, 779, 780, 1074, 1073, 1076, 1075, 1072, + /* 670 */ 783, 782, 778, 777, 998, 997, 982, 1021, 1022, 981, + /* 680 */ 1023, 983, 770, 873, 866, 976, 975, 808, 807, 806, /* 690 */ 805, 877, 876, 787, 801, 786, 784, 764, 759, 758, /* 700 */ 753, 751, 748, 750, 747, 752, 749, 745, 743, 742, /* 710 */ 741, 740, 739, 773, 772, 771, 769, 737, 736, 733, @@ -1462,137 +1462,136 @@ static const char *const yyRuleName[] = { /* 291 */ "exprx ::= expr not_opt BETWEEN expr AND", /* 292 */ "exprx ::= CASE case_operand case_exprlist case_else", /* 293 */ "exprx ::= expr not_opt IN LP exprlist", - /* 294 */ "exprx ::= LP expr", - /* 295 */ "exprx ::= expr not_opt IN ID_DB", - /* 296 */ "exprx ::= expr not_opt IN nm DOT ID_TAB", - /* 297 */ "exprx ::= ID_DB|ID_TAB|ID_COL|ID_FN", - /* 298 */ "exprx ::= nm DOT ID_TAB|ID_COL", - /* 299 */ "exprx ::= nm DOT nm DOT ID_COL", - /* 300 */ "exprx ::= expr COLLATE ID_COLLATE", - /* 301 */ "exprx ::= RAISE LP raisetype COMMA ID_ERR_MSG RP", - /* 302 */ "expr ::= exprx", - /* 303 */ "expr ::=", - /* 304 */ "not_opt ::=", - /* 305 */ "not_opt ::= NOT", - /* 306 */ "likeop ::= LIKE_KW|MATCH", - /* 307 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", - /* 308 */ "case_exprlist ::= WHEN expr THEN expr", - /* 309 */ "case_else ::= ELSE expr", - /* 310 */ "case_else ::=", - /* 311 */ "case_operand ::= exprx", - /* 312 */ "case_operand ::=", - /* 313 */ "exprlist ::= nexprlist", - /* 314 */ "exprlist ::=", - /* 315 */ "nexprlist ::= nexprlist COMMA expr", - /* 316 */ "nexprlist ::= exprx", - /* 317 */ "cmd ::= CREATE uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP where_opt", - /* 318 */ "cmd ::= CREATE uniqueflag INDEX ifnotexists nm dbnm ON ID_TAB", - /* 319 */ "cmd ::= CREATE uniqueflag INDEX ifnotexists nm DOT ID_IDX_NEW", - /* 320 */ "cmd ::= CREATE uniqueflag INDEX ifnotexists ID_DB|ID_IDX_NEW", - /* 321 */ "uniqueflag ::= UNIQUE", - /* 322 */ "uniqueflag ::=", - /* 323 */ "idxlist_opt ::=", - /* 324 */ "idxlist_opt ::= LP idxlist RP", - /* 325 */ "idxlist ::= idxlist COMMA idxlist_single", - /* 326 */ "idxlist ::= idxlist_single", - /* 327 */ "idxlist_single ::= nm collate sortorder", - /* 328 */ "idxlist_single ::= ID_COL", - /* 329 */ "collate ::=", - /* 330 */ "collate ::= COLLATE ids", - /* 331 */ "collate ::= COLLATE ID_COLLATE", - /* 332 */ "cmd ::= DROP INDEX ifexists fullname", - /* 333 */ "cmd ::= DROP INDEX ifexists nm DOT ID_IDX", - /* 334 */ "cmd ::= DROP INDEX ifexists ID_DB|ID_IDX", - /* 335 */ "cmd ::= VACUUM", - /* 336 */ "cmd ::= VACUUM nm", - /* 337 */ "cmd ::= PRAGMA nm dbnm", - /* 338 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", - /* 339 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", - /* 340 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", - /* 341 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", - /* 342 */ "cmd ::= PRAGMA nm DOT ID_PRAGMA", - /* 343 */ "cmd ::= PRAGMA ID_DB|ID_PRAGMA", - /* 344 */ "nmnum ::= plus_num", - /* 345 */ "nmnum ::= nm", - /* 346 */ "nmnum ::= ON", - /* 347 */ "nmnum ::= DELETE", - /* 348 */ "nmnum ::= DEFAULT", - /* 349 */ "plus_num ::= PLUS number", - /* 350 */ "plus_num ::= number", - /* 351 */ "minus_num ::= MINUS number", - /* 352 */ "number ::= INTEGER", - /* 353 */ "number ::= FLOAT", - /* 354 */ "cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON nm foreach_clause when_clause BEGIN trigger_cmd_list END", - /* 355 */ "cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON nm foreach_clause when_clause", - /* 356 */ "cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON nm foreach_clause when_clause BEGIN trigger_cmd_list", - /* 357 */ "cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON ID_TAB", - /* 358 */ "cmd ::= CREATE temp TRIGGER ifnotexists nm DOT ID_TRIG_NEW", - /* 359 */ "cmd ::= CREATE temp TRIGGER ifnotexists ID_DB|ID_TRIG_NEW", - /* 360 */ "trigger_time ::= BEFORE", - /* 361 */ "trigger_time ::= AFTER", - /* 362 */ "trigger_time ::= INSTEAD OF", - /* 363 */ "trigger_time ::=", - /* 364 */ "trigger_event ::= DELETE", - /* 365 */ "trigger_event ::= INSERT", - /* 366 */ "trigger_event ::= UPDATE", - /* 367 */ "trigger_event ::= UPDATE OF inscollist", - /* 368 */ "foreach_clause ::=", - /* 369 */ "foreach_clause ::= FOR EACH ROW", - /* 370 */ "when_clause ::=", - /* 371 */ "when_clause ::= WHEN expr", - /* 372 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", - /* 373 */ "trigger_cmd_list ::= trigger_cmd SEMI", - /* 374 */ "trigger_cmd_list ::= SEMI", - /* 375 */ "trigger_cmd ::= update_stmt", - /* 376 */ "trigger_cmd ::= insert_stmt", - /* 377 */ "trigger_cmd ::= delete_stmt", - /* 378 */ "trigger_cmd ::= select_stmt", - /* 379 */ "raisetype ::= ROLLBACK|ABORT|FAIL", - /* 380 */ "cmd ::= DROP TRIGGER ifexists fullname", - /* 381 */ "cmd ::= DROP TRIGGER ifexists nm DOT ID_TRIG", - /* 382 */ "cmd ::= DROP TRIGGER ifexists ID_DB|ID_TRIG", - /* 383 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", - /* 384 */ "cmd ::= DETACH database_kw_opt expr", - /* 385 */ "key_opt ::=", - /* 386 */ "key_opt ::= KEY expr", - /* 387 */ "database_kw_opt ::= DATABASE", - /* 388 */ "database_kw_opt ::=", - /* 389 */ "cmd ::= REINDEX", - /* 390 */ "cmd ::= REINDEX nm dbnm", - /* 391 */ "cmd ::= REINDEX ID_COLLATE", - /* 392 */ "cmd ::= REINDEX nm DOT ID_TAB|ID_IDX", - /* 393 */ "cmd ::= REINDEX ID_DB|ID_IDX|ID_TAB", - /* 394 */ "cmd ::= ANALYZE", - /* 395 */ "cmd ::= ANALYZE nm dbnm", - /* 396 */ "cmd ::= ANALYZE nm DOT ID_TAB|ID_IDX", - /* 397 */ "cmd ::= ANALYZE ID_DB|ID_IDX|ID_TAB", - /* 398 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", - /* 399 */ "cmd ::= ALTER TABLE fullname ADD kwcolumn_opt column", - /* 400 */ "cmd ::= ALTER TABLE fullname RENAME TO ID_TAB_NEW", - /* 401 */ "cmd ::= ALTER TABLE nm DOT ID_TAB", - /* 402 */ "cmd ::= ALTER TABLE ID_DB|ID_TAB", - /* 403 */ "kwcolumn_opt ::=", - /* 404 */ "kwcolumn_opt ::= COLUMNKW", - /* 405 */ "cmd ::= create_vtab", - /* 406 */ "create_vtab ::= CREATE VIRTUAL TABLE ifnotexists nm dbnm USING nm", - /* 407 */ "create_vtab ::= CREATE VIRTUAL TABLE ifnotexists nm dbnm USING nm LP vtabarglist RP", - /* 408 */ "create_vtab ::= CREATE VIRTUAL TABLE ifnotexists nm DOT ID_TAB_NEW", - /* 409 */ "create_vtab ::= CREATE VIRTUAL TABLE ifnotexists ID_DB|ID_TAB_NEW", - /* 410 */ "vtabarglist ::= vtabarg", - /* 411 */ "vtabarglist ::= vtabarglist COMMA vtabarg", - /* 412 */ "vtabarg ::=", - /* 413 */ "vtabarg ::= vtabarg vtabargtoken", - /* 414 */ "vtabargtoken ::= ANY", - /* 415 */ "vtabargtoken ::= LP anylist RP", - /* 416 */ "anylist ::=", - /* 417 */ "anylist ::= anylist LP anylist RP", - /* 418 */ "anylist ::= anylist ANY", - /* 419 */ "with ::=", - /* 420 */ "with ::= WITH wqlist", - /* 421 */ "with ::= WITH RECURSIVE wqlist", - /* 422 */ "wqlist ::= nm idxlist_opt AS LP select RP", - /* 423 */ "wqlist ::= wqlist COMMA nm idxlist_opt AS LP select RP", - /* 424 */ "wqlist ::= ID_TAB_NEW", + /* 294 */ "exprx ::= expr not_opt IN ID_DB", + /* 295 */ "exprx ::= expr not_opt IN nm DOT ID_TAB", + /* 296 */ "exprx ::= ID_DB|ID_TAB|ID_COL|ID_FN", + /* 297 */ "exprx ::= nm DOT ID_TAB|ID_COL", + /* 298 */ "exprx ::= nm DOT nm DOT ID_COL", + /* 299 */ "exprx ::= expr COLLATE ID_COLLATE", + /* 300 */ "exprx ::= RAISE LP raisetype COMMA ID_ERR_MSG RP", + /* 301 */ "expr ::= exprx", + /* 302 */ "expr ::=", + /* 303 */ "not_opt ::=", + /* 304 */ "not_opt ::= NOT", + /* 305 */ "likeop ::= LIKE_KW|MATCH", + /* 306 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", + /* 307 */ "case_exprlist ::= WHEN expr THEN expr", + /* 308 */ "case_else ::= ELSE expr", + /* 309 */ "case_else ::=", + /* 310 */ "case_operand ::= exprx", + /* 311 */ "case_operand ::=", + /* 312 */ "exprlist ::= nexprlist", + /* 313 */ "exprlist ::=", + /* 314 */ "nexprlist ::= nexprlist COMMA expr", + /* 315 */ "nexprlist ::= exprx", + /* 316 */ "cmd ::= CREATE uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP where_opt", + /* 317 */ "cmd ::= CREATE uniqueflag INDEX ifnotexists nm dbnm ON ID_TAB", + /* 318 */ "cmd ::= CREATE uniqueflag INDEX ifnotexists nm DOT ID_IDX_NEW", + /* 319 */ "cmd ::= CREATE uniqueflag INDEX ifnotexists ID_DB|ID_IDX_NEW", + /* 320 */ "uniqueflag ::= UNIQUE", + /* 321 */ "uniqueflag ::=", + /* 322 */ "idxlist_opt ::=", + /* 323 */ "idxlist_opt ::= LP idxlist RP", + /* 324 */ "idxlist ::= idxlist COMMA idxlist_single", + /* 325 */ "idxlist ::= idxlist_single", + /* 326 */ "idxlist_single ::= nm collate sortorder", + /* 327 */ "idxlist_single ::= ID_COL", + /* 328 */ "collate ::=", + /* 329 */ "collate ::= COLLATE ids", + /* 330 */ "collate ::= COLLATE ID_COLLATE", + /* 331 */ "cmd ::= DROP INDEX ifexists fullname", + /* 332 */ "cmd ::= DROP INDEX ifexists nm DOT ID_IDX", + /* 333 */ "cmd ::= DROP INDEX ifexists ID_DB|ID_IDX", + /* 334 */ "cmd ::= VACUUM", + /* 335 */ "cmd ::= VACUUM nm", + /* 336 */ "cmd ::= PRAGMA nm dbnm", + /* 337 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", + /* 338 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", + /* 339 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", + /* 340 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", + /* 341 */ "cmd ::= PRAGMA nm DOT ID_PRAGMA", + /* 342 */ "cmd ::= PRAGMA ID_DB|ID_PRAGMA", + /* 343 */ "nmnum ::= plus_num", + /* 344 */ "nmnum ::= nm", + /* 345 */ "nmnum ::= ON", + /* 346 */ "nmnum ::= DELETE", + /* 347 */ "nmnum ::= DEFAULT", + /* 348 */ "plus_num ::= PLUS number", + /* 349 */ "plus_num ::= number", + /* 350 */ "minus_num ::= MINUS number", + /* 351 */ "number ::= INTEGER", + /* 352 */ "number ::= FLOAT", + /* 353 */ "cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON nm foreach_clause when_clause BEGIN trigger_cmd_list END", + /* 354 */ "cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON nm foreach_clause when_clause", + /* 355 */ "cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON nm foreach_clause when_clause BEGIN trigger_cmd_list", + /* 356 */ "cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON ID_TAB", + /* 357 */ "cmd ::= CREATE temp TRIGGER ifnotexists nm DOT ID_TRIG_NEW", + /* 358 */ "cmd ::= CREATE temp TRIGGER ifnotexists ID_DB|ID_TRIG_NEW", + /* 359 */ "trigger_time ::= BEFORE", + /* 360 */ "trigger_time ::= AFTER", + /* 361 */ "trigger_time ::= INSTEAD OF", + /* 362 */ "trigger_time ::=", + /* 363 */ "trigger_event ::= DELETE", + /* 364 */ "trigger_event ::= INSERT", + /* 365 */ "trigger_event ::= UPDATE", + /* 366 */ "trigger_event ::= UPDATE OF inscollist", + /* 367 */ "foreach_clause ::=", + /* 368 */ "foreach_clause ::= FOR EACH ROW", + /* 369 */ "when_clause ::=", + /* 370 */ "when_clause ::= WHEN expr", + /* 371 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", + /* 372 */ "trigger_cmd_list ::= trigger_cmd SEMI", + /* 373 */ "trigger_cmd_list ::= SEMI", + /* 374 */ "trigger_cmd ::= update_stmt", + /* 375 */ "trigger_cmd ::= insert_stmt", + /* 376 */ "trigger_cmd ::= delete_stmt", + /* 377 */ "trigger_cmd ::= select_stmt", + /* 378 */ "raisetype ::= ROLLBACK|ABORT|FAIL", + /* 379 */ "cmd ::= DROP TRIGGER ifexists fullname", + /* 380 */ "cmd ::= DROP TRIGGER ifexists nm DOT ID_TRIG", + /* 381 */ "cmd ::= DROP TRIGGER ifexists ID_DB|ID_TRIG", + /* 382 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", + /* 383 */ "cmd ::= DETACH database_kw_opt expr", + /* 384 */ "key_opt ::=", + /* 385 */ "key_opt ::= KEY expr", + /* 386 */ "database_kw_opt ::= DATABASE", + /* 387 */ "database_kw_opt ::=", + /* 388 */ "cmd ::= REINDEX", + /* 389 */ "cmd ::= REINDEX nm dbnm", + /* 390 */ "cmd ::= REINDEX ID_COLLATE", + /* 391 */ "cmd ::= REINDEX nm DOT ID_TAB|ID_IDX", + /* 392 */ "cmd ::= REINDEX ID_DB|ID_IDX|ID_TAB", + /* 393 */ "cmd ::= ANALYZE", + /* 394 */ "cmd ::= ANALYZE nm dbnm", + /* 395 */ "cmd ::= ANALYZE nm DOT ID_TAB|ID_IDX", + /* 396 */ "cmd ::= ANALYZE ID_DB|ID_IDX|ID_TAB", + /* 397 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", + /* 398 */ "cmd ::= ALTER TABLE fullname ADD kwcolumn_opt column", + /* 399 */ "cmd ::= ALTER TABLE fullname RENAME TO ID_TAB_NEW", + /* 400 */ "cmd ::= ALTER TABLE nm DOT ID_TAB", + /* 401 */ "cmd ::= ALTER TABLE ID_DB|ID_TAB", + /* 402 */ "kwcolumn_opt ::=", + /* 403 */ "kwcolumn_opt ::= COLUMNKW", + /* 404 */ "cmd ::= create_vtab", + /* 405 */ "create_vtab ::= CREATE VIRTUAL TABLE ifnotexists nm dbnm USING nm", + /* 406 */ "create_vtab ::= CREATE VIRTUAL TABLE ifnotexists nm dbnm USING nm LP vtabarglist RP", + /* 407 */ "create_vtab ::= CREATE VIRTUAL TABLE ifnotexists nm DOT ID_TAB_NEW", + /* 408 */ "create_vtab ::= CREATE VIRTUAL TABLE ifnotexists ID_DB|ID_TAB_NEW", + /* 409 */ "vtabarglist ::= vtabarg", + /* 410 */ "vtabarglist ::= vtabarglist COMMA vtabarg", + /* 411 */ "vtabarg ::=", + /* 412 */ "vtabarg ::= vtabarg vtabargtoken", + /* 413 */ "vtabargtoken ::= ANY", + /* 414 */ "vtabargtoken ::= LP anylist RP", + /* 415 */ "anylist ::=", + /* 416 */ "anylist ::= anylist LP anylist RP", + /* 417 */ "anylist ::= anylist ANY", + /* 418 */ "with ::=", + /* 419 */ "with ::= WITH wqlist", + /* 420 */ "with ::= WITH RECURSIVE wqlist", + /* 421 */ "wqlist ::= nm idxlist_opt AS LP select RP", + /* 422 */ "wqlist ::= wqlist COMMA nm idxlist_opt AS LP select RP", + /* 423 */ "wqlist ::= ID_TAB_NEW", }; #endif /* NDEBUG */ @@ -2520,7 +2519,6 @@ static const struct { { 251, 5 }, { 251, 4 }, { 251, 5 }, - { 251, 2 }, { 251, 4 }, { 251, 6 }, { 251, 1 }, @@ -2737,11 +2735,11 @@ static void yy_reduce( {yygotominor.yy225 = new ParserStubExplain(true, true);} break; case 8: /* cmdx ::= cmd */ - case 375: /* trigger_cmd ::= update_stmt */ yytestcase(yyruleno==375); - case 376: /* trigger_cmd ::= insert_stmt */ yytestcase(yyruleno==376); - case 377: /* trigger_cmd ::= delete_stmt */ yytestcase(yyruleno==377); - case 378: /* trigger_cmd ::= select_stmt */ yytestcase(yyruleno==378); - case 405: /* cmd ::= create_vtab */ yytestcase(yyruleno==405); + case 374: /* trigger_cmd ::= update_stmt */ yytestcase(yyruleno==374); + case 375: /* trigger_cmd ::= insert_stmt */ yytestcase(yyruleno==375); + case 376: /* trigger_cmd ::= delete_stmt */ yytestcase(yyruleno==376); + case 377: /* trigger_cmd ::= select_stmt */ yytestcase(yyruleno==377); + case 404: /* cmd ::= create_vtab */ yytestcase(yyruleno==404); {yygotominor.yy399 = yymsp[0].minor.yy399;} break; case 9: /* cmd ::= BEGIN transtype trans_opt */ @@ -2830,10 +2828,10 @@ static void yy_reduce( case 86: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==86); case 108: /* tconscomma ::= COMMA */ yytestcase(yyruleno==108); case 130: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==130); - case 305: /* not_opt ::= NOT */ yytestcase(yyruleno==305); - case 321: /* uniqueflag ::= UNIQUE */ yytestcase(yyruleno==321); - case 387: /* database_kw_opt ::= DATABASE */ yytestcase(yyruleno==387); - case 403: /* kwcolumn_opt ::= */ yytestcase(yyruleno==403); + case 304: /* not_opt ::= NOT */ yytestcase(yyruleno==304); + case 320: /* uniqueflag ::= UNIQUE */ yytestcase(yyruleno==320); + case 386: /* database_kw_opt ::= DATABASE */ yytestcase(yyruleno==386); + case 402: /* kwcolumn_opt ::= */ yytestcase(yyruleno==402); {yygotominor.yy237 = new bool(true);} break; case 22: /* savepoint_opt ::= */ @@ -2841,10 +2839,10 @@ static void yy_reduce( case 85: /* autoinc ::= */ yytestcase(yyruleno==85); case 109: /* tconscomma ::= */ yytestcase(yyruleno==109); case 131: /* ifexists ::= */ yytestcase(yyruleno==131); - case 304: /* not_opt ::= */ yytestcase(yyruleno==304); - case 322: /* uniqueflag ::= */ yytestcase(yyruleno==322); - case 388: /* database_kw_opt ::= */ yytestcase(yyruleno==388); - case 404: /* kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==404); + case 303: /* not_opt ::= */ yytestcase(yyruleno==303); + case 321: /* uniqueflag ::= */ yytestcase(yyruleno==321); + case 387: /* database_kw_opt ::= */ yytestcase(yyruleno==387); + case 403: /* kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==403); {yygotominor.yy237 = new bool(false);} break; case 23: /* cmd ::= SAVEPOINT nm */ @@ -2882,8 +2880,8 @@ static void yy_reduce( case 29: /* cmd ::= CREATE temp TABLE ifnotexists fullname LP columnlist conslist_opt RP table_options */ { yygotominor.yy399 = new SqliteCreateTable( - *(yymsp[-8].minor.yy376), *(yymsp[-6].minor.yy237), + *(yymsp[-8].minor.yy376), yymsp[-5].minor.yy66->name1, yymsp[-5].minor.yy66->name2, *(yymsp[-3].minor.yy118), @@ -2902,8 +2900,8 @@ static void yy_reduce( case 30: /* cmd ::= CREATE temp TABLE ifnotexists fullname AS select */ { yygotominor.yy399 = new SqliteCreateTable( - *(yymsp[-5].minor.yy376), *(yymsp[-3].minor.yy237), + *(yymsp[-5].minor.yy376), yymsp[-2].minor.yy66->name1, yymsp[-2].minor.yy66->name2, yymsp[0].minor.yy123 @@ -2916,22 +2914,22 @@ static void yy_reduce( break; case 31: /* cmd ::= CREATE temp TABLE ifnotexists nm DOT ID_TAB_NEW */ case 133: /* cmd ::= CREATE temp VIEW ifnotexists nm DOT ID_VIEW_NEW */ yytestcase(yyruleno==133); - case 358: /* cmd ::= CREATE temp TRIGGER ifnotexists nm DOT ID_TRIG_NEW */ yytestcase(yyruleno==358); + case 357: /* cmd ::= CREATE temp TRIGGER ifnotexists nm DOT ID_TRIG_NEW */ yytestcase(yyruleno==357); { yy_destructor(yypParser,179,&yymsp[-5].minor); yy_destructor(yypParser,177,&yymsp[-2].minor); } break; case 32: /* cmd ::= CREATE temp TABLE ifnotexists ID_DB|ID_TAB_NEW */ case 134: /* cmd ::= CREATE temp VIEW ifnotexists ID_DB|ID_VIEW_NEW */ yytestcase(yyruleno==134); - case 359: /* cmd ::= CREATE temp TRIGGER ifnotexists ID_DB|ID_TRIG_NEW */ yytestcase(yyruleno==359); + case 358: /* cmd ::= CREATE temp TRIGGER ifnotexists ID_DB|ID_TRIG_NEW */ yytestcase(yyruleno==358); { yy_destructor(yypParser,179,&yymsp[-3].minor); } break; case 33: /* table_options ::= */ case 185: /* dbnm ::= */ yytestcase(yyruleno==185); - case 329: /* collate ::= */ yytestcase(yyruleno==329); - case 412: /* vtabarg ::= */ yytestcase(yyruleno==412); - case 416: /* anylist ::= */ yytestcase(yyruleno==416); + case 328: /* collate ::= */ yytestcase(yyruleno==328); + case 411: /* vtabarg ::= */ yytestcase(yyruleno==411); + case 415: /* anylist ::= */ yytestcase(yyruleno==415); {yygotominor.yy211 = new QString();} break; case 34: /* table_options ::= WITHOUT nm */ @@ -2976,8 +2974,8 @@ static void yy_reduce( case 47: /* nm ::= id */ yytestcase(yyruleno==47); case 55: /* typename ::= ids */ yytestcase(yyruleno==55); case 186: /* dbnm ::= DOT nm */ yytestcase(yyruleno==186); - case 330: /* collate ::= COLLATE ids */ yytestcase(yyruleno==330); - case 331: /* collate ::= COLLATE ID_COLLATE */ yytestcase(yyruleno==331); + case 329: /* collate ::= COLLATE ids */ yytestcase(yyruleno==329); + case 330: /* collate ::= COLLATE ID_COLLATE */ yytestcase(yyruleno==330); {yygotominor.yy211 = yymsp[0].minor.yy211;} break; case 45: /* id ::= ID */ @@ -3037,9 +3035,9 @@ static void yy_reduce( break; case 58: /* signed ::= plus_num */ case 59: /* signed ::= minus_num */ yytestcase(yyruleno==59); - case 344: /* nmnum ::= plus_num */ yytestcase(yyruleno==344); - case 349: /* plus_num ::= PLUS number */ yytestcase(yyruleno==349); - case 350: /* plus_num ::= number */ yytestcase(yyruleno==350); + case 343: /* nmnum ::= plus_num */ yytestcase(yyruleno==343); + case 348: /* plus_num ::= PLUS number */ yytestcase(yyruleno==348); + case 349: /* plus_num ::= number */ yytestcase(yyruleno==349); {yygotominor.yy21 = yymsp[0].minor.yy21;} break; case 60: /* carglist ::= carglist ccons */ @@ -3204,9 +3202,9 @@ static void yy_reduce( } break; case 84: /* term ::= STRING|BLOB */ - case 346: /* nmnum ::= ON */ yytestcase(yyruleno==346); - case 347: /* nmnum ::= DELETE */ yytestcase(yyruleno==347); - case 348: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==348); + case 345: /* nmnum ::= ON */ yytestcase(yyruleno==345); + case 346: /* nmnum ::= DELETE */ yytestcase(yyruleno==346); + case 347: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==347); {yygotominor.yy21 = new QVariant(yymsp[0].minor.yy0->value);} break; case 87: /* refargs ::= */ @@ -3391,23 +3389,23 @@ static void yy_reduce( case 179: /* singlesrc ::= ID_DB|ID_TAB */ yytestcase(yyruleno==179); case 180: /* singlesrc ::= nm DOT ID_VIEW */ yytestcase(yyruleno==180); case 181: /* singlesrc ::= ID_DB|ID_VIEW */ yytestcase(yyruleno==181); - case 298: /* exprx ::= nm DOT ID_TAB|ID_COL */ yytestcase(yyruleno==298); - case 319: /* cmd ::= CREATE uniqueflag INDEX ifnotexists nm DOT ID_IDX_NEW */ yytestcase(yyruleno==319); - case 320: /* cmd ::= CREATE uniqueflag INDEX ifnotexists ID_DB|ID_IDX_NEW */ yytestcase(yyruleno==320); - case 333: /* cmd ::= DROP INDEX ifexists nm DOT ID_IDX */ yytestcase(yyruleno==333); - case 334: /* cmd ::= DROP INDEX ifexists ID_DB|ID_IDX */ yytestcase(yyruleno==334); - case 342: /* cmd ::= PRAGMA nm DOT ID_PRAGMA */ yytestcase(yyruleno==342); - case 343: /* cmd ::= PRAGMA ID_DB|ID_PRAGMA */ yytestcase(yyruleno==343); - case 381: /* cmd ::= DROP TRIGGER ifexists nm DOT ID_TRIG */ yytestcase(yyruleno==381); - case 382: /* cmd ::= DROP TRIGGER ifexists ID_DB|ID_TRIG */ yytestcase(yyruleno==382); - case 392: /* cmd ::= REINDEX nm DOT ID_TAB|ID_IDX */ yytestcase(yyruleno==392); - case 393: /* cmd ::= REINDEX ID_DB|ID_IDX|ID_TAB */ yytestcase(yyruleno==393); - case 396: /* cmd ::= ANALYZE nm DOT ID_TAB|ID_IDX */ yytestcase(yyruleno==396); - case 397: /* cmd ::= ANALYZE ID_DB|ID_IDX|ID_TAB */ yytestcase(yyruleno==397); - case 401: /* cmd ::= ALTER TABLE nm DOT ID_TAB */ yytestcase(yyruleno==401); - case 402: /* cmd ::= ALTER TABLE ID_DB|ID_TAB */ yytestcase(yyruleno==402); - case 408: /* create_vtab ::= CREATE VIRTUAL TABLE ifnotexists nm DOT ID_TAB_NEW */ yytestcase(yyruleno==408); - case 409: /* create_vtab ::= CREATE VIRTUAL TABLE ifnotexists ID_DB|ID_TAB_NEW */ yytestcase(yyruleno==409); + case 297: /* exprx ::= nm DOT ID_TAB|ID_COL */ yytestcase(yyruleno==297); + case 318: /* cmd ::= CREATE uniqueflag INDEX ifnotexists nm DOT ID_IDX_NEW */ yytestcase(yyruleno==318); + case 319: /* cmd ::= CREATE uniqueflag INDEX ifnotexists ID_DB|ID_IDX_NEW */ yytestcase(yyruleno==319); + case 332: /* cmd ::= DROP INDEX ifexists nm DOT ID_IDX */ yytestcase(yyruleno==332); + case 333: /* cmd ::= DROP INDEX ifexists ID_DB|ID_IDX */ yytestcase(yyruleno==333); + case 341: /* cmd ::= PRAGMA nm DOT ID_PRAGMA */ yytestcase(yyruleno==341); + case 342: /* cmd ::= PRAGMA ID_DB|ID_PRAGMA */ yytestcase(yyruleno==342); + case 380: /* cmd ::= DROP TRIGGER ifexists nm DOT ID_TRIG */ yytestcase(yyruleno==380); + case 381: /* cmd ::= DROP TRIGGER ifexists ID_DB|ID_TRIG */ yytestcase(yyruleno==381); + case 391: /* cmd ::= REINDEX nm DOT ID_TAB|ID_IDX */ yytestcase(yyruleno==391); + case 392: /* cmd ::= REINDEX ID_DB|ID_IDX|ID_TAB */ yytestcase(yyruleno==392); + case 395: /* cmd ::= ANALYZE nm DOT ID_TAB|ID_IDX */ yytestcase(yyruleno==395); + case 396: /* cmd ::= ANALYZE ID_DB|ID_IDX|ID_TAB */ yytestcase(yyruleno==396); + case 400: /* cmd ::= ALTER TABLE nm DOT ID_TAB */ yytestcase(yyruleno==400); + case 401: /* cmd ::= ALTER TABLE ID_DB|ID_TAB */ yytestcase(yyruleno==401); + case 407: /* create_vtab ::= CREATE VIRTUAL TABLE ifnotexists nm DOT ID_TAB_NEW */ yytestcase(yyruleno==407); + case 408: /* create_vtab ::= CREATE VIRTUAL TABLE ifnotexists ID_DB|ID_TAB_NEW */ yytestcase(yyruleno==408); { yy_destructor(yypParser,177,&yymsp[-2].minor); } break; @@ -3803,11 +3801,11 @@ static void yy_reduce( {yygotominor.yy226 = new SqliteSortOrder(SqliteSortOrder::null);} break; case 205: /* groupby_opt ::= */ - case 314: /* exprlist ::= */ yytestcase(yyruleno==314); + case 313: /* exprlist ::= */ yytestcase(yyruleno==313); {yygotominor.yy13 = new ParserExprList();} break; case 206: /* groupby_opt ::= GROUP BY nexprlist */ - case 313: /* exprlist ::= nexprlist */ yytestcase(yyruleno==313); + case 312: /* exprlist ::= nexprlist */ yytestcase(yyruleno==312); {yygotominor.yy13 = yymsp[0].minor.yy13;} break; case 207: /* groupby_opt ::= GROUP BY */ @@ -3818,19 +3816,19 @@ static void yy_reduce( break; case 208: /* having_opt ::= */ case 220: /* where_opt ::= */ yytestcase(yyruleno==220); - case 310: /* case_else ::= */ yytestcase(yyruleno==310); - case 312: /* case_operand ::= */ yytestcase(yyruleno==312); - case 370: /* when_clause ::= */ yytestcase(yyruleno==370); - case 385: /* key_opt ::= */ yytestcase(yyruleno==385); + case 309: /* case_else ::= */ yytestcase(yyruleno==309); + case 311: /* case_operand ::= */ yytestcase(yyruleno==311); + case 369: /* when_clause ::= */ yytestcase(yyruleno==369); + case 384: /* key_opt ::= */ yytestcase(yyruleno==384); {yygotominor.yy490 = nullptr;} break; case 209: /* having_opt ::= HAVING expr */ case 221: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==221); - case 302: /* expr ::= exprx */ yytestcase(yyruleno==302); - case 309: /* case_else ::= ELSE expr */ yytestcase(yyruleno==309); - case 311: /* case_operand ::= exprx */ yytestcase(yyruleno==311); - case 371: /* when_clause ::= WHEN expr */ yytestcase(yyruleno==371); - case 386: /* key_opt ::= KEY expr */ yytestcase(yyruleno==386); + case 301: /* expr ::= exprx */ yytestcase(yyruleno==301); + case 308: /* case_else ::= ELSE expr */ yytestcase(yyruleno==308); + case 310: /* case_operand ::= exprx */ yytestcase(yyruleno==310); + case 370: /* when_clause ::= WHEN expr */ yytestcase(yyruleno==370); + case 385: /* key_opt ::= KEY expr */ yytestcase(yyruleno==385); {yygotominor.yy490 = yymsp[0].minor.yy490;} break; case 210: /* limit_opt ::= */ @@ -4403,72 +4401,64 @@ static void yy_reduce( parserContext->minorErrorBeforeNextToken("Syntax error"); } break; - case 294: /* exprx ::= LP expr */ -{ - yygotominor.yy490 = new SqliteExpr(); - yygotominor.yy490->initSubExpr(yymsp[0].minor.yy490); - objectForTokens = yygotominor.yy490; - parserContext->minorErrorBeforeNextToken("Syntax error"); - } - break; - case 295: /* exprx ::= expr not_opt IN ID_DB */ + case 294: /* exprx ::= expr not_opt IN ID_DB */ { yy_destructor(yypParser,199,&yymsp[-3].minor); } break; - case 296: /* exprx ::= expr not_opt IN nm DOT ID_TAB */ - case 297: /* exprx ::= ID_DB|ID_TAB|ID_COL|ID_FN */ yytestcase(yyruleno==297); + case 295: /* exprx ::= expr not_opt IN nm DOT ID_TAB */ + case 296: /* exprx ::= ID_DB|ID_TAB|ID_COL|ID_FN */ yytestcase(yyruleno==296); { yy_destructor(yypParser,199,&yymsp[-5].minor); yy_destructor(yypParser,177,&yymsp[-2].minor); } break; - case 299: /* exprx ::= nm DOT nm DOT ID_COL */ + case 298: /* exprx ::= nm DOT nm DOT ID_COL */ { yy_destructor(yypParser,177,&yymsp[-4].minor); yy_destructor(yypParser,177,&yymsp[-2].minor); } break; - case 300: /* exprx ::= expr COLLATE ID_COLLATE */ - case 301: /* exprx ::= RAISE LP raisetype COMMA ID_ERR_MSG RP */ yytestcase(yyruleno==301); + case 299: /* exprx ::= expr COLLATE ID_COLLATE */ + case 300: /* exprx ::= RAISE LP raisetype COMMA ID_ERR_MSG RP */ yytestcase(yyruleno==300); { yy_destructor(yypParser,199,&yymsp[-2].minor); } break; - case 303: /* expr ::= */ + case 302: /* expr ::= */ { yygotominor.yy490 = new SqliteExpr(); objectForTokens = yygotominor.yy490; parserContext->minorErrorAfterLastToken("Syntax error"); } break; - case 306: /* likeop ::= LIKE_KW|MATCH */ + case 305: /* likeop ::= LIKE_KW|MATCH */ {yygotominor.yy374 = new SqliteExpr::LikeOp(SqliteExpr::likeOp(yymsp[0].minor.yy0->value));} break; - case 307: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ + case 306: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ { yymsp[-4].minor.yy13->append(yymsp[-2].minor.yy490); yymsp[-4].minor.yy13->append(yymsp[0].minor.yy490); yygotominor.yy13 = yymsp[-4].minor.yy13; } break; - case 308: /* case_exprlist ::= WHEN expr THEN expr */ + case 307: /* case_exprlist ::= WHEN expr THEN expr */ { yygotominor.yy13 = new ParserExprList(); yygotominor.yy13->append(yymsp[-2].minor.yy490); yygotominor.yy13->append(yymsp[0].minor.yy490); } break; - case 315: /* nexprlist ::= nexprlist COMMA expr */ + case 314: /* nexprlist ::= nexprlist COMMA expr */ { yymsp[-2].minor.yy13->append(yymsp[0].minor.yy490); yygotominor.yy13 = yymsp[-2].minor.yy13; DONT_INHERIT_TOKENS("nexprlist"); } break; - case 316: /* nexprlist ::= exprx */ + case 315: /* nexprlist ::= exprx */ { yygotominor.yy13 = new ParserExprList(); yygotominor.yy13->append(yymsp[0].minor.yy490); } break; - case 317: /* cmd ::= CREATE uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP where_opt */ + case 316: /* cmd ::= CREATE uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP where_opt */ { yygotominor.yy399 = new SqliteCreateIndex( *(yymsp[-10].minor.yy237), @@ -4488,31 +4478,31 @@ static void yy_reduce( objectForTokens = yygotominor.yy399; } break; - case 318: /* cmd ::= CREATE uniqueflag INDEX ifnotexists nm dbnm ON ID_TAB */ + case 317: /* cmd ::= CREATE uniqueflag INDEX ifnotexists nm dbnm ON ID_TAB */ { yy_destructor(yypParser,177,&yymsp[-3].minor); } break; - case 323: /* idxlist_opt ::= */ + case 322: /* idxlist_opt ::= */ {yygotominor.yy139 = new ParserIndexedColumnList();} break; - case 324: /* idxlist_opt ::= LP idxlist RP */ + case 323: /* idxlist_opt ::= LP idxlist RP */ {yygotominor.yy139 = yymsp[-1].minor.yy139;} break; - case 325: /* idxlist ::= idxlist COMMA idxlist_single */ + case 324: /* idxlist ::= idxlist COMMA idxlist_single */ { yymsp[-2].minor.yy139->append(yymsp[0].minor.yy90); yygotominor.yy139 = yymsp[-2].minor.yy139; DONT_INHERIT_TOKENS("idxlist"); } break; - case 326: /* idxlist ::= idxlist_single */ + case 325: /* idxlist ::= idxlist_single */ { yygotominor.yy139 = new ParserIndexedColumnList(); yygotominor.yy139->append(yymsp[0].minor.yy90); } break; - case 327: /* idxlist_single ::= nm collate sortorder */ - case 328: /* idxlist_single ::= ID_COL */ yytestcase(yyruleno==328); + case 326: /* idxlist_single ::= nm collate sortorder */ + case 327: /* idxlist_single ::= ID_COL */ yytestcase(yyruleno==327); { SqliteIndexedColumn* obj = new SqliteIndexedColumn( @@ -4527,7 +4517,7 @@ static void yy_reduce( objectForTokens = yygotominor.yy90; } break; - case 332: /* cmd ::= DROP INDEX ifexists fullname */ + case 331: /* cmd ::= DROP INDEX ifexists fullname */ { yygotominor.yy399 = new SqliteDropIndex(*(yymsp[-1].minor.yy237), yymsp[0].minor.yy66->name1, yymsp[0].minor.yy66->name2); delete yymsp[-1].minor.yy237; @@ -4535,20 +4525,20 @@ static void yy_reduce( objectForTokens = yygotominor.yy399; } break; - case 335: /* cmd ::= VACUUM */ + case 334: /* cmd ::= VACUUM */ { yygotominor.yy399 = new SqliteVacuum(); objectForTokens = yygotominor.yy399; } break; - case 336: /* cmd ::= VACUUM nm */ + case 335: /* cmd ::= VACUUM nm */ { yygotominor.yy399 = new SqliteVacuum(*(yymsp[0].minor.yy211)); delete yymsp[0].minor.yy211; objectForTokens = yygotominor.yy399; } break; - case 337: /* cmd ::= PRAGMA nm dbnm */ + case 336: /* cmd ::= PRAGMA nm dbnm */ { yygotominor.yy399 = new SqlitePragma(*(yymsp[-1].minor.yy211), *(yymsp[0].minor.yy211)); delete yymsp[-1].minor.yy211; @@ -4556,8 +4546,8 @@ static void yy_reduce( objectForTokens = yygotominor.yy399; } break; - case 338: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ - case 340: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ yytestcase(yyruleno==340); + case 337: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ + case 339: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ yytestcase(yyruleno==339); { yygotominor.yy399 = new SqlitePragma(*(yymsp[-3].minor.yy211), *(yymsp[-2].minor.yy211), *(yymsp[0].minor.yy21), true); delete yymsp[-3].minor.yy211; @@ -4566,8 +4556,8 @@ static void yy_reduce( objectForTokens = yygotominor.yy399; } break; - case 339: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ - case 341: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ yytestcase(yyruleno==341); + case 338: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ + case 340: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ yytestcase(yyruleno==340); { yygotominor.yy399 = new SqlitePragma(*(yymsp[-4].minor.yy211), *(yymsp[-3].minor.yy211), *(yymsp[-1].minor.yy21), false); delete yymsp[-4].minor.yy211; @@ -4576,13 +4566,13 @@ static void yy_reduce( objectForTokens = yygotominor.yy399; } break; - case 345: /* nmnum ::= nm */ + case 344: /* nmnum ::= nm */ { yygotominor.yy21 = new QVariant(*(yymsp[0].minor.yy211)); delete yymsp[0].minor.yy211; } break; - case 351: /* minus_num ::= MINUS number */ + case 350: /* minus_num ::= MINUS number */ { if (yymsp[0].minor.yy21->type() == QVariant::Double) *(yymsp[0].minor.yy21) = -(yymsp[0].minor.yy21->toDouble()); @@ -4594,13 +4584,13 @@ static void yy_reduce( yygotominor.yy21 = yymsp[0].minor.yy21; } break; - case 352: /* number ::= INTEGER */ + case 351: /* number ::= INTEGER */ {yygotominor.yy21 = new QVariant(QVariant(yymsp[0].minor.yy0->value).toLongLong());} break; - case 353: /* number ::= FLOAT */ + case 352: /* number ::= FLOAT */ {yygotominor.yy21 = new QVariant(QVariant(yymsp[0].minor.yy0->value).toDouble());} break; - case 354: /* cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON nm foreach_clause when_clause BEGIN trigger_cmd_list END */ + case 353: /* cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON nm foreach_clause when_clause BEGIN trigger_cmd_list END */ { yygotominor.yy399 = new SqliteCreateTrigger( *(yymsp[-13].minor.yy376), @@ -4626,7 +4616,7 @@ static void yy_reduce( objectForTokens = yygotominor.yy399; } break; - case 355: /* cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON nm foreach_clause when_clause */ + case 354: /* cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON nm foreach_clause when_clause */ { QList CL; @@ -4654,7 +4644,7 @@ static void yy_reduce( parserContext->minorErrorAfterLastToken("Syntax error"); } break; - case 356: /* cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON nm foreach_clause when_clause BEGIN trigger_cmd_list */ + case 355: /* cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON nm foreach_clause when_clause BEGIN trigger_cmd_list */ { yygotominor.yy399 = new SqliteCreateTrigger( *(yymsp[-12].minor.yy376), @@ -4681,79 +4671,79 @@ static void yy_reduce( parserContext->minorErrorAfterLastToken("Syntax error"); } break; - case 357: /* cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON ID_TAB */ + case 356: /* cmd ::= CREATE temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON ID_TAB */ { yy_destructor(yypParser,179,&yymsp[-8].minor); yy_destructor(yypParser,177,&yymsp[-5].minor); yy_destructor(yypParser,262,&yymsp[-3].minor); yy_destructor(yypParser,263,&yymsp[-2].minor); } break; - case 360: /* trigger_time ::= BEFORE */ + case 359: /* trigger_time ::= BEFORE */ {yygotominor.yy152 = new SqliteCreateTrigger::Time(SqliteCreateTrigger::Time::BEFORE);} break; - case 361: /* trigger_time ::= AFTER */ + case 360: /* trigger_time ::= AFTER */ {yygotominor.yy152 = new SqliteCreateTrigger::Time(SqliteCreateTrigger::Time::AFTER);} break; - case 362: /* trigger_time ::= INSTEAD OF */ + case 361: /* trigger_time ::= INSTEAD OF */ {yygotominor.yy152 = new SqliteCreateTrigger::Time(SqliteCreateTrigger::Time::INSTEAD_OF);} break; - case 363: /* trigger_time ::= */ + case 362: /* trigger_time ::= */ {yygotominor.yy152 = new SqliteCreateTrigger::Time(SqliteCreateTrigger::Time::null);} break; - case 364: /* trigger_event ::= DELETE */ + case 363: /* trigger_event ::= DELETE */ { yygotominor.yy309 = new SqliteCreateTrigger::Event(SqliteCreateTrigger::Event::DELETE); objectForTokens = yygotominor.yy309; } break; - case 365: /* trigger_event ::= INSERT */ + case 364: /* trigger_event ::= INSERT */ { yygotominor.yy309 = new SqliteCreateTrigger::Event(SqliteCreateTrigger::Event::INSERT); objectForTokens = yygotominor.yy309; } break; - case 366: /* trigger_event ::= UPDATE */ + case 365: /* trigger_event ::= UPDATE */ { yygotominor.yy309 = new SqliteCreateTrigger::Event(SqliteCreateTrigger::Event::UPDATE); objectForTokens = yygotominor.yy309; } break; - case 367: /* trigger_event ::= UPDATE OF inscollist */ + case 366: /* trigger_event ::= UPDATE OF inscollist */ { yygotominor.yy309 = new SqliteCreateTrigger::Event(*(yymsp[0].minor.yy445)); delete yymsp[0].minor.yy445; objectForTokens = yygotominor.yy309; } break; - case 368: /* foreach_clause ::= */ + case 367: /* foreach_clause ::= */ {yygotominor.yy409 = new SqliteCreateTrigger::Scope(SqliteCreateTrigger::Scope::null);} break; - case 369: /* foreach_clause ::= FOR EACH ROW */ + case 368: /* foreach_clause ::= FOR EACH ROW */ {yygotominor.yy409 = new SqliteCreateTrigger::Scope(SqliteCreateTrigger::Scope::FOR_EACH_ROW);} break; - case 372: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ + case 371: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ { yymsp[-2].minor.yy214->append(yymsp[-1].minor.yy399); yygotominor.yy214 = yymsp[-2].minor.yy214; DONT_INHERIT_TOKENS("trigger_cmd_list"); } break; - case 373: /* trigger_cmd_list ::= trigger_cmd SEMI */ + case 372: /* trigger_cmd_list ::= trigger_cmd SEMI */ { yygotominor.yy214 = new ParserQueryList(); yygotominor.yy214->append(yymsp[-1].minor.yy399); } break; - case 374: /* trigger_cmd_list ::= SEMI */ + case 373: /* trigger_cmd_list ::= SEMI */ { yygotominor.yy214 = new ParserQueryList(); parserContext->minorErrorAfterLastToken("Syntax error"); } break; - case 379: /* raisetype ::= ROLLBACK|ABORT|FAIL */ + case 378: /* raisetype ::= ROLLBACK|ABORT|FAIL */ {yygotominor.yy0 = yymsp[0].minor.yy0;} break; - case 380: /* cmd ::= DROP TRIGGER ifexists fullname */ + case 379: /* cmd ::= DROP TRIGGER ifexists fullname */ { yygotominor.yy399 = new SqliteDropTrigger(*(yymsp[-1].minor.yy237), yymsp[0].minor.yy66->name1, yymsp[0].minor.yy66->name2); delete yymsp[-1].minor.yy237; @@ -4761,25 +4751,25 @@ static void yy_reduce( objectForTokens = yygotominor.yy399; } break; - case 383: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ + case 382: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ { yygotominor.yy399 = new SqliteAttach(*(yymsp[-4].minor.yy237), yymsp[-3].minor.yy490, yymsp[-1].minor.yy490, yymsp[0].minor.yy490); delete yymsp[-4].minor.yy237; objectForTokens = yygotominor.yy399; } break; - case 384: /* cmd ::= DETACH database_kw_opt expr */ + case 383: /* cmd ::= DETACH database_kw_opt expr */ { yygotominor.yy399 = new SqliteDetach(*(yymsp[-1].minor.yy237), yymsp[0].minor.yy490); delete yymsp[-1].minor.yy237; objectForTokens = yygotominor.yy399; } break; - case 389: /* cmd ::= REINDEX */ + case 388: /* cmd ::= REINDEX */ {yygotominor.yy399 = new SqliteReindex();} break; - case 390: /* cmd ::= REINDEX nm dbnm */ - case 391: /* cmd ::= REINDEX ID_COLLATE */ yytestcase(yyruleno==391); + case 389: /* cmd ::= REINDEX nm dbnm */ + case 390: /* cmd ::= REINDEX ID_COLLATE */ yytestcase(yyruleno==390); { yygotominor.yy399 = new SqliteReindex(*(yymsp[-1].minor.yy211), *(yymsp[0].minor.yy211)); delete yymsp[-1].minor.yy211; @@ -4787,13 +4777,13 @@ static void yy_reduce( objectForTokens = yygotominor.yy399; } break; - case 394: /* cmd ::= ANALYZE */ + case 393: /* cmd ::= ANALYZE */ { yygotominor.yy399 = new SqliteAnalyze(); objectForTokens = yygotominor.yy399; } break; - case 395: /* cmd ::= ANALYZE nm dbnm */ + case 394: /* cmd ::= ANALYZE nm dbnm */ { yygotominor.yy399 = new SqliteAnalyze(*(yymsp[-1].minor.yy211), *(yymsp[0].minor.yy211)); delete yymsp[-1].minor.yy211; @@ -4801,7 +4791,7 @@ static void yy_reduce( objectForTokens = yygotominor.yy399; } break; - case 398: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ + case 397: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ { yygotominor.yy399 = new SqliteAlterTable( yymsp[-3].minor.yy66->name1, @@ -4813,7 +4803,7 @@ static void yy_reduce( objectForTokens = yygotominor.yy399; } break; - case 399: /* cmd ::= ALTER TABLE fullname ADD kwcolumn_opt column */ + case 398: /* cmd ::= ALTER TABLE fullname ADD kwcolumn_opt column */ { yygotominor.yy399 = new SqliteAlterTable( yymsp[-3].minor.yy66->name1, @@ -4826,11 +4816,11 @@ static void yy_reduce( objectForTokens = yygotominor.yy399; } break; - case 400: /* cmd ::= ALTER TABLE fullname RENAME TO ID_TAB_NEW */ + case 399: /* cmd ::= ALTER TABLE fullname RENAME TO ID_TAB_NEW */ { yy_destructor(yypParser,181,&yymsp[-3].minor); } break; - case 406: /* create_vtab ::= CREATE VIRTUAL TABLE ifnotexists nm dbnm USING nm */ + case 405: /* create_vtab ::= CREATE VIRTUAL TABLE ifnotexists nm dbnm USING nm */ { yygotominor.yy399 = new SqliteCreateVirtualTable( *(yymsp[-4].minor.yy237), @@ -4845,7 +4835,7 @@ static void yy_reduce( objectForTokens = yygotominor.yy399; } break; - case 407: /* create_vtab ::= CREATE VIRTUAL TABLE ifnotexists nm dbnm USING nm LP vtabarglist RP */ + case 406: /* create_vtab ::= CREATE VIRTUAL TABLE ifnotexists nm dbnm USING nm LP vtabarglist RP */ { yygotominor.yy399 = new SqliteCreateVirtualTable( *(yymsp[-7].minor.yy237), @@ -4862,14 +4852,14 @@ static void yy_reduce( objectForTokens = yygotominor.yy399; } break; - case 410: /* vtabarglist ::= vtabarg */ + case 409: /* vtabarglist ::= vtabarg */ { yygotominor.yy445 = new ParserStringList(); yygotominor.yy445->append((yymsp[0].minor.yy211)->mid(1)); // mid(1) to skip the first whitespace added in vtabarg delete yymsp[0].minor.yy211; } break; - case 411: /* vtabarglist ::= vtabarglist COMMA vtabarg */ + case 410: /* vtabarglist ::= vtabarglist COMMA vtabarg */ { yymsp[-2].minor.yy445->append((yymsp[0].minor.yy211)->mid(1)); // mid(1) to skip the first whitespace added in vtabarg yygotominor.yy445 = yymsp[-2].minor.yy445; @@ -4877,19 +4867,19 @@ static void yy_reduce( DONT_INHERIT_TOKENS("vtabarglist"); } break; - case 413: /* vtabarg ::= vtabarg vtabargtoken */ + case 412: /* vtabarg ::= vtabarg vtabargtoken */ { yymsp[-1].minor.yy211->append(" "+ *(yymsp[0].minor.yy211)); yygotominor.yy211 = yymsp[-1].minor.yy211; delete yymsp[0].minor.yy211; } break; - case 414: /* vtabargtoken ::= ANY */ + case 413: /* vtabargtoken ::= ANY */ { yygotominor.yy211 = new QString(yymsp[0].minor.yy0->value); } break; - case 415: /* vtabargtoken ::= LP anylist RP */ + case 414: /* vtabargtoken ::= LP anylist RP */ { yygotominor.yy211 = new QString("("); yygotominor.yy211->append(*(yymsp[-1].minor.yy211)); @@ -4897,7 +4887,7 @@ static void yy_reduce( delete yymsp[-1].minor.yy211; } break; - case 417: /* anylist ::= anylist LP anylist RP */ + case 416: /* anylist ::= anylist LP anylist RP */ { yygotominor.yy211 = yymsp[-3].minor.yy211; yygotominor.yy211->append("("); @@ -4907,37 +4897,37 @@ static void yy_reduce( DONT_INHERIT_TOKENS("anylist"); } break; - case 418: /* anylist ::= anylist ANY */ + case 417: /* anylist ::= anylist ANY */ { yygotominor.yy211 = yymsp[-1].minor.yy211; yygotominor.yy211->append(yymsp[0].minor.yy0->value); DONT_INHERIT_TOKENS("anylist"); } break; - case 419: /* with ::= */ + case 418: /* with ::= */ {yygotominor.yy367 = nullptr;} break; - case 420: /* with ::= WITH wqlist */ + case 419: /* with ::= WITH wqlist */ { yygotominor.yy367 = yymsp[0].minor.yy367; objectForTokens = yygotominor.yy367; } break; - case 421: /* with ::= WITH RECURSIVE wqlist */ + case 420: /* with ::= WITH RECURSIVE wqlist */ { yygotominor.yy367 = yymsp[0].minor.yy367; yygotominor.yy367->recursive = true; objectForTokens = yygotominor.yy367; } break; - case 422: /* wqlist ::= nm idxlist_opt AS LP select RP */ + case 421: /* wqlist ::= nm idxlist_opt AS LP select RP */ { yygotominor.yy367 = SqliteWith::append(*(yymsp[-5].minor.yy211), *(yymsp[-4].minor.yy139), yymsp[-1].minor.yy123); delete yymsp[-5].minor.yy211; delete yymsp[-4].minor.yy139; } break; - case 423: /* wqlist ::= wqlist COMMA nm idxlist_opt AS LP select RP */ + case 422: /* wqlist ::= wqlist COMMA nm idxlist_opt AS LP select RP */ { yygotominor.yy367 = SqliteWith::append(yymsp[-7].minor.yy367, *(yymsp[-5].minor.yy211), *(yymsp[-4].minor.yy139), yymsp[-1].minor.yy123); delete yymsp[-5].minor.yy211; @@ -4945,7 +4935,7 @@ static void yy_reduce( DONT_INHERIT_TOKENS("wqlist"); } break; - case 424: /* wqlist ::= ID_TAB_NEW */ + case 423: /* wqlist ::= ID_TAB_NEW */ { parserContext->minorErrorBeforeNextToken("Syntax error"); yygotominor.yy367 = new SqliteWith(); diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/sqlite3_parse.y b/SQLiteStudio3/coreSQLiteStudio/parser/sqlite3_parse.y index 65a4dd7..0353e2c 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/sqlite3_parse.y +++ b/SQLiteStudio3/coreSQLiteStudio/parser/sqlite3_parse.y @@ -248,8 +248,8 @@ cmd(X) ::= CREATE temp(T) TABLE conslist_opt(CS) RP table_options(F). { X = new SqliteCreateTable( - *(T), *(E), + *(T), N->name1, N->name2, *(CL), @@ -268,8 +268,8 @@ cmd(X) ::= CREATE temp(T) TABLE ifnotexists(E) fullname(N) AS select(S). { X = new SqliteCreateTable( - *(T), *(E), + *(T), N->name1, N->name2, S @@ -1738,12 +1738,16 @@ exprx(X) ::= expr(E) not_opt(N) IN LP objectForTokens = X; parserContext->minorErrorBeforeNextToken("Syntax error"); } +/* +This introduces premature reduce for LP-expr and causes bug #2755 exprx(X) ::= LP expr(E). { X = new SqliteExpr(); X->initSubExpr(E); objectForTokens = X; parserContext->minorErrorBeforeNextToken("Syntax error"); } +*/ + exprx ::= expr not_opt IN ID_DB. [IN] {} exprx ::= expr not_opt IN nm DOT ID_TAB. [IN] {} diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/statementtokenbuilder.cpp b/SQLiteStudio3/coreSQLiteStudio/parser/statementtokenbuilder.cpp index 4f248b0..ba2ea37 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/statementtokenbuilder.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/parser/statementtokenbuilder.cpp @@ -77,7 +77,7 @@ StatementTokenBuilder& StatementTokenBuilder::withFloat(double value) return with(Token::FLOAT, QString::number(value)); } -StatementTokenBuilder& StatementTokenBuilder::withInteger(int value) +StatementTokenBuilder& StatementTokenBuilder::withInteger(qint64 value) { return with(Token::INTEGER, QString::number(value)); } @@ -168,10 +168,10 @@ StatementTokenBuilder& StatementTokenBuilder::withLiteralValue(const QVariant& v } } - value.toInt(&ok); + qint64 longVal = value.toLongLong(&ok); if (ok) { - withInteger(value.toInt()); + withInteger(longVal); return *this; } diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/statementtokenbuilder.h b/SQLiteStudio3/coreSQLiteStudio/parser/statementtokenbuilder.h index fcf23be..3d748ad 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/statementtokenbuilder.h +++ b/SQLiteStudio3/coreSQLiteStudio/parser/statementtokenbuilder.h @@ -138,7 +138,7 @@ class StatementTokenBuilder * @param value Value for the token. * @return Reference to the builder for the further building. */ - StatementTokenBuilder& withInteger(int value); + StatementTokenBuilder& withInteger(qint64 value); /** * @brief Adds bind parameter token. diff --git a/SQLiteStudio3/coreSQLiteStudio/rsa/BigInt.h b/SQLiteStudio3/coreSQLiteStudio/rsa/BigInt.h index c78dc11..6d59c7a 100644 --- a/SQLiteStudio3/coreSQLiteStudio/rsa/BigInt.h +++ b/SQLiteStudio3/coreSQLiteStudio/rsa/BigInt.h @@ -110,11 +110,12 @@ #ifndef BIGINT_H_ #define BIGINT_H_ +#include "coreSQLiteStudio_global.h" #include //ostream, istream #include //sqrt() #include //ToString(), BigInt(std::string) -class BigInt +class API_EXPORT BigInt { private: /* An array of digits stored right to left, diff --git a/SQLiteStudio3/coreSQLiteStudio/rsa/Key.h b/SQLiteStudio3/coreSQLiteStudio/rsa/Key.h index b193e2c..f1d2ee6 100644 --- a/SQLiteStudio3/coreSQLiteStudio/rsa/Key.h +++ b/SQLiteStudio3/coreSQLiteStudio/rsa/Key.h @@ -34,9 +34,10 @@ #define KEY_H_ #include "BigInt.h" +#include "coreSQLiteStudio_global.h" #include -class Key +class API_EXPORT Key { private: BigInt modulus; diff --git a/SQLiteStudio3/coreSQLiteStudio/rsa/KeyPair.h b/SQLiteStudio3/coreSQLiteStudio/rsa/KeyPair.h index 929ffe9..153195a 100644 --- a/SQLiteStudio3/coreSQLiteStudio/rsa/KeyPair.h +++ b/SQLiteStudio3/coreSQLiteStudio/rsa/KeyPair.h @@ -32,10 +32,11 @@ #ifndef KEYPAIR_H_ #define KEYPAIR_H_ +#include "coreSQLiteStudio_global.h" #include "Key.h" #include -class KeyPair +class API_EXPORT KeyPair { private: const Key privateKey; diff --git a/SQLiteStudio3/coreSQLiteStudio/rsa/PrimeGenerator.h b/SQLiteStudio3/coreSQLiteStudio/rsa/PrimeGenerator.h index 8a9dfac..64ee9f6 100644 --- a/SQLiteStudio3/coreSQLiteStudio/rsa/PrimeGenerator.h +++ b/SQLiteStudio3/coreSQLiteStudio/rsa/PrimeGenerator.h @@ -30,9 +30,10 @@ #ifndef PRIMEGENERATOR_H_ #define PRIMEGENERATOR_H_ +#include "coreSQLiteStudio_global.h" #include "BigInt.h" -class PrimeGenerator +class API_EXPORT PrimeGenerator { private: /* Generates a random "number" such as 1 <= "number" < "top". diff --git a/SQLiteStudio3/coreSQLiteStudio/services/config.h b/SQLiteStudio3/coreSQLiteStudio/services/config.h index 6e1fd95..c7bebf3 100644 --- a/SQLiteStudio3/coreSQLiteStudio/services/config.h +++ b/SQLiteStudio3/coreSQLiteStudio/services/config.h @@ -162,6 +162,8 @@ class API_EXPORT Config : public QObject virtual void commit() = 0; virtual void rollback() = 0; + virtual QString getSqlite3Version() const = 0; + signals: void massSaveBegins(); void massSaveCommited(); diff --git a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp index bbfec32..046993f 100644 --- a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include static_qstring(DB_FILE_NAME, "settings3"); @@ -28,6 +29,8 @@ void ConfigImpl::init() initDbFile(); initTables(); + sqlite3Version = db->exec("SELECT sqlite_version()")->getSingleCell().toString(); + connect(this, SIGNAL(sqlHistoryRefreshNeeded()), this, SLOT(refreshSqlHistory())); connect(this, SIGNAL(ddlHistoryRefreshNeeded()), this, SLOT(refreshDdlHistory())); } @@ -175,6 +178,11 @@ QString ConfigImpl::getLastErrorString() const return msg; } +QString ConfigImpl::getSqlite3Version() const +{ + return sqlite3Version; +} + QList ConfigImpl::dbList() { QList entries; @@ -467,23 +475,42 @@ QString ConfigImpl::getConfigPath() QString ConfigImpl::getPortableConfigPath() { + QStringList paths = QStringList({"./sqlitestudio-cfg", qApp->applicationDirPath() + "/sqlitestudio-cfg"}); + QSet pathSet; + QDir dir; + for (const QString& path : paths) + { + dir = QDir(path); + pathSet << dir.absolutePath(); + } + + QString potentialPath; QFileInfo file; - QDir dir("./sqlitestudio-cfg"); + for (const QString& path : pathSet) + { + dir = QDir(path); + file = QFileInfo(dir.absolutePath()); + if (!file.exists()) + { + if (potentialPath.isNull()) + potentialPath = dir.absolutePath(); - file = QFileInfo(dir.absolutePath()); - if (!file.exists()) - return dir.absolutePath(); + continue; + } - if (!file.isDir() || !file.isReadable() || !file.isWritable()) - return QString::null; + if (!file.isDir() || !file.isReadable() || !file.isWritable()) + continue; - foreach (file, dir.entryInfoList()) - { - if (!file.isReadable() || !file.isWritable()) - return QString::null; + foreach (file, dir.entryInfoList()) + { + if (!file.isReadable() || !file.isWritable()) + continue; + } + + return dir.absolutePath(); } - return dir.absolutePath(); + return potentialPath; } void ConfigImpl::initTables() diff --git a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h index 63d1e1f..3bdb7a5 100644 --- a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h +++ b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h @@ -36,6 +36,7 @@ class API_EXPORT ConfigImpl : public Config bool removeDb(const QString& name); bool isDbInConfig(const QString& name); QString getLastErrorString() const; + QString getSqlite3Version() const; /** * @brief Provides list of all registered databases. @@ -120,6 +121,7 @@ class API_EXPORT ConfigImpl : public Config SqlHistoryModel* sqlHistoryModel = nullptr; DdlHistoryModel* ddlHistoryModel = nullptr; QMutex sqlHistoryMutex; + QString sqlite3Version; public slots: void refreshDdlHistory(); diff --git a/SQLiteStudio3/coreSQLiteStudio/services/impl/dbmanagerimpl.cpp b/SQLiteStudio3/coreSQLiteStudio/services/impl/dbmanagerimpl.cpp index 43fc953..70aa568 100644 --- a/SQLiteStudio3/coreSQLiteStudio/services/impl/dbmanagerimpl.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/services/impl/dbmanagerimpl.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include DbManagerImpl::DbManagerImpl(QObject *parent) : @@ -46,7 +47,13 @@ bool DbManagerImpl::addDb(const QString &name, const QString &path, const QHash< if (getByName(name)) { qWarning() << "Tried to add database with name that was already on the list:" << name; - return false; // db with this name exists + return false; + } + + if (getByPath(path)) + { + qWarning() << "Tried to add database with path that was already on the list:" << path; + return false; } QString errorMessage; @@ -74,24 +81,27 @@ bool DbManagerImpl::updateDb(Db* db, const QString &name, const QString &path, c return false; } + QDir pathDir(path); + QString normalizedPath = pathDir.absolutePath(); + listLock.lockForWrite(); nameToDb.remove(db->getName(), Qt::CaseInsensitive); pathToDb.remove(db->getPath()); - bool pathDifferent = db->getPath() != path; + bool pathDifferent = db->getPath() != normalizedPath; QString oldName = db->getName(); db->setName(name); - db->setPath(path); + db->setPath(normalizedPath); db->setConnectionOptions(options); bool result = false; if (permanent) { if (CFG->isDbInConfig(oldName)) - result = CFG->updateDb(oldName, name, path, options); + result = CFG->updateDb(oldName, name, normalizedPath, options); else - result = CFG->addDb(name, path, options); + result = CFG->addDb(name, normalizedPath, options); } else if (CFG->isDbInConfig(name)) // switched "permanent" off? result = CFG->removeDb(name); @@ -105,7 +115,7 @@ bool DbManagerImpl::updateDb(Db* db, const QString &name, const QString &path, c db = reloadedDb; nameToDb[name] = db; - pathToDb[path] = db; + pathToDb[normalizedPath] = db; listLock.unlock(); @@ -138,14 +148,17 @@ void DbManagerImpl::removeDbByName(const QString &name, Qt::CaseSensitivity cs) void DbManagerImpl::removeDbByPath(const QString &path) { + // Using QDir to normalize separator + QDir pathDir(path); + listLock.lockForRead(); - bool contains = pathToDb.contains(path); + bool contains = pathToDb.contains(pathDir.absolutePath()); listLock.unlock(); if (!contains) return; listLock.lockForWrite(); - Db* db = pathToDb[path]; + Db* db = pathToDb[pathDir.absolutePath()]; removeDbInternal(db); listLock.unlock(); @@ -230,7 +243,9 @@ Db* DbManagerImpl::getByName(const QString &name, Qt::CaseSensitivity cs) Db* DbManagerImpl::getByPath(const QString &path) { - return pathToDb.value(path); + // Using QDir to normalize separator + QDir pathDir(path); + return pathToDb.value(pathDir.absolutePath()); } Db* DbManagerImpl::createInMemDb() @@ -369,12 +384,13 @@ Db* DbManagerImpl::createDb(const QString &name, const QString &path, const QHas Db* db = nullptr; QStringList messages; QString message; + QDir pathDir(path); // Using QDir to normalize separator foreach (dbPlugin, dbPlugins) { if (options.contains("plugin") && options["plugin"] != dbPlugin->getName()) continue; - db = dbPlugin->getInstance(name, path, options, &message); + db = dbPlugin->getInstance(name, pathDir.absolutePath(), options, &message); if (!db) { messages << message; diff --git a/SQLiteStudio3/coreSQLiteStudio/services/impl/functionmanagerimpl.cpp b/SQLiteStudio3/coreSQLiteStudio/services/impl/functionmanagerimpl.cpp index c94e4c2..da732bd 100644 --- a/SQLiteStudio3/coreSQLiteStudio/services/impl/functionmanagerimpl.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/services/impl/functionmanagerimpl.cpp @@ -147,9 +147,9 @@ void FunctionManagerImpl::evaluateScriptAggregateInitial(ScriptFunction* func, D aggregateStorage["context"] = QVariant::fromValue(ctx); if (dbAwarePlugin) - dbAwarePlugin->evaluate(ctx, func->code, {}, db, false); + dbAwarePlugin->evaluate(ctx, func->initCode, {}, db, false); else - plugin->evaluate(ctx, func->code, {}); + plugin->evaluate(ctx, func->initCode, {}); if (plugin->hasError(ctx)) { @@ -203,9 +203,9 @@ QVariant FunctionManagerImpl::evaluateScriptAggregateFinal(ScriptFunction* func, QVariant result; if (dbAwarePlugin) - result = dbAwarePlugin->evaluate(ctx, func->code, {}, db, false); + result = dbAwarePlugin->evaluate(ctx, func->finalCode, {}, db, false); else - result = plugin->evaluate(ctx, func->code, {}); + result = plugin->evaluate(ctx, func->finalCode, {}); if (plugin->hasError(ctx)) { diff --git a/SQLiteStudio3/coreSQLiteStudio/sqlitestudio.cpp b/SQLiteStudio3/coreSQLiteStudio/sqlitestudio.cpp index 8ff4f0d..2d2bbd3 100644 --- a/SQLiteStudio3/coreSQLiteStudio/sqlitestudio.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/sqlitestudio.cpp @@ -39,7 +39,7 @@ DEFINE_SINGLETON(SQLiteStudio) -static const int sqlitestudioVersion = 30002; +static const int sqlitestudioVersion = 30003; SQLiteStudio::SQLiteStudio() { diff --git a/SQLiteStudio3/coreSQLiteStudio/tablemodifier.cpp b/SQLiteStudio3/coreSQLiteStudio/tablemodifier.cpp index d064cb1..8dc36ee 100644 --- a/SQLiteStudio3/coreSQLiteStudio/tablemodifier.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/tablemodifier.cpp @@ -111,11 +111,13 @@ void TableModifier::handleFks(const QString& tempTableName) subModifier.usedTempTableNames = usedTempTableNames; subModifier.tableColMap = tableColMap; + subModifier.triggerNameToDdlMap = triggerNameToDdlMap; subModifier.existingColumns = existingColumns; subModifier.newName = newName; subModifier.subHandleFks(originalTable, tempTableName); sqls += subModifier.generateSqls(); modifiedTables << fkTable; + triggerNameToDdlMap = subModifier.triggerNameToDdlMap; modifiedTables += subModifier.getModifiedTables(); modifiedIndexes += subModifier.getModifiedIndexes(); @@ -390,10 +392,67 @@ void TableModifier::handleTriggers() void TableModifier::handleTrigger(SqliteCreateTriggerPtr trigger) { - handleName(originalTable, trigger->table); - if (trigger->event->type == SqliteCreateTrigger::Event::UPDATE_OF) - handleColumnNames(trigger->event->columnNames); + trigger->rebuildTokens(); + QString originalQueryString = trigger->detokenize(); + bool forThisTable = (originalTable.compare(trigger->table, Qt::CaseInsensitive) == 0); + bool alreadyProcessedOnce = modifiedTriggers.contains(trigger->trigger, Qt::CaseInsensitive); + + if (forThisTable) + { + // Those routines should run only for trigger targeted for originalTable. + handleName(originalTable, trigger->table); + if (trigger->event->type == SqliteCreateTrigger::Event::UPDATE_OF) + handleColumnNames(trigger->event->columnNames); + } + + if (alreadyProcessedOnce) + { + // The trigger was already modified by handling of some referencing table. + QString oldDdl = triggerNameToDdlMap[trigger->trigger]; + Parser parser(dialect); + trigger = parser.parse(oldDdl); + if (!trigger) + { + qCritical() << "Could not parse old (already processed once) trigger. Parser error:" << parser.getErrorString() << ", Old DDL: " << oldDdl; + warnings << QObject::tr("There is problem with proper processing trigger %1. It may be not fully updated afterwards and will need your attention.") + .arg(trigger->trigger); + return; + } + } + + handleTriggerQueries(trigger); + + trigger->rebuildTokens(); + QString newQueryString = trigger->detokenize(); + if (originalQueryString == newQueryString && !forThisTable) + return; // No query modification was made and trigger is not deleted by this table drop. + + if (trigger->event->type == SqliteCreateTrigger::Event::UPDATE_OF && trigger->event->columnNames.size() == 0) + { + warnings << QObject::tr("All columns covered by the trigger %1 are gone. The trigger will not be recreated after table modification.").arg(trigger->trigger); + return; + } + + if (alreadyProcessedOnce) + { + // We will add new sql to list, at the end, so it's executed after all tables were altered. + sqls.removeOne(triggerNameToDdlMap[trigger->trigger]); + } + + if (!forThisTable) + { + // If this is for other table, than trigger might be still existing, cause altering this table will not delete trigger. + sqls << QString("DROP TRIGGER IF EXISTS %1").arg(wrapObjIfNeeded(trigger->trigger, dialect)); + } + + sqls << newQueryString; + modifiedTriggers << trigger->trigger; + triggerNameToDdlMap[trigger->trigger] = newQueryString; +} + +void TableModifier::handleTriggerQueries(SqliteCreateTriggerPtr trigger) +{ SqliteQuery* newQuery = nullptr; QList newQueries; foreach (SqliteQuery* query, trigger->queries) @@ -406,17 +465,6 @@ void TableModifier::handleTrigger(SqliteCreateTriggerPtr trigger) errors << QObject::tr("Cannot not update trigger %1 according to table %2 modification.").arg(trigger->trigger, originalTable); } trigger->queries = newQueries; - - if (trigger->event->type == SqliteCreateTrigger::Event::UPDATE_OF && trigger->event->columnNames.size() == 0) - { - warnings << QObject::tr("All columns covered by the trigger %1 are gone. The trigger will not be recreated after table modification.").arg(trigger->trigger); - } - else - { - trigger->rebuildTokens(); - sqls << trigger->detokenize(); - modifiedTriggers << trigger->trigger; - } } void TableModifier::handleViews() diff --git a/SQLiteStudio3/coreSQLiteStudio/tablemodifier.h b/SQLiteStudio3/coreSQLiteStudio/tablemodifier.h index 62af492..d3977ee 100644 --- a/SQLiteStudio3/coreSQLiteStudio/tablemodifier.h +++ b/SQLiteStudio3/coreSQLiteStudio/tablemodifier.h @@ -42,6 +42,7 @@ class API_EXPORT TableModifier void handleIndex(SqliteCreateIndexPtr index); void handleTriggers(); void handleTrigger(SqliteCreateTriggerPtr trigger); + void handleTriggerQueries(SqliteCreateTriggerPtr trigger); void handleViews(); void handleView(SqliteCreateViewPtr view); SqliteQuery* handleTriggerQuery(SqliteQuery* query, const QString& trigName); @@ -105,6 +106,7 @@ class API_EXPORT TableModifier QString newName; QStringList existingColumns; QHash tableColMap; + QHash triggerNameToDdlMap; QStringList modifiedTables; QStringList modifiedIndexes; QStringList modifiedTriggers; diff --git a/SQLiteStudio3/coreSQLiteStudio/translations.cpp b/SQLiteStudio3/coreSQLiteStudio/translations.cpp index 56dc5f6..362d4fa 100644 --- a/SQLiteStudio3/coreSQLiteStudio/translations.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/translations.cpp @@ -7,7 +7,7 @@ #include QHash SQLITESTUDIO_TRANSLATIONS; -QStringList SQLITESTUDIO_TRANSLATION_DIRS = QStringList({":/msg", ":/msg/translations", "msg", "translations"}); +QStringList SQLITESTUDIO_TRANSLATION_DIRS = QStringList({"msg", "translations", ":/msg", ":/msg/translations"}); void loadTranslation(const QString& baseName) { @@ -106,3 +106,13 @@ QMap getAvailableLanguages() return langs; } + +void setDefaultLanguage(const QString& lang) +{ + CFG_CORE.General.Language.set(lang); +} + +QString getConfigLanguageDefault() +{ + return CFG_CORE.General.Language.getDefultValue().toString(); +} diff --git a/SQLiteStudio3/coreSQLiteStudio/translations.h b/SQLiteStudio3/coreSQLiteStudio/translations.h index c130064..4ae6231 100644 --- a/SQLiteStudio3/coreSQLiteStudio/translations.h +++ b/SQLiteStudio3/coreSQLiteStudio/translations.h @@ -1,18 +1,21 @@ #ifndef TRANSLATIONS_H #define TRANSLATIONS_H +#include "coreSQLiteStudio_global.h" #include #include -void loadTranslations(const QStringList& baseNames); -void loadTranslation(const QString& baseName); -void unloadTranslation(const QString& baseName); +API_EXPORT void loadTranslations(const QStringList& baseNames); +API_EXPORT void loadTranslation(const QString& baseName); +API_EXPORT void unloadTranslation(const QString& baseName); +API_EXPORT void setDefaultLanguage(const QString& lang); +API_EXPORT QString getConfigLanguageDefault(); /** * @brief Provides list of translations as code names. * @return List of available translations in their code names (pl, pt, de, ...). */ -QStringList getAvailableTranslations(); +API_EXPORT QStringList getAvailableTranslations(); /** * @brief Provides list of languages and their code names. @@ -20,6 +23,6 @@ QStringList getAvailableTranslations(); * * As the result is a QMap, it comes sorted by a translated names of languages. */ -QMap getAvailableLanguages(); +API_EXPORT QMap getAvailableLanguages(); #endif // TRANSLATIONS_H diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_de.qm b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_de.qm differ diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_de.ts b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_de.ts new file mode 100644 index 0000000..7656d3b --- /dev/null +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_de.ts @@ -0,0 +1,1278 @@ + + + + + AbstractDb + + + + Cannot execute query on closed database. + + + + + Error attaching database %1: %2 + + + + + BugReporter + + + Invalid login or password + + + + + ChainExecutor + + + The database for executing queries was not defined. + chain executor + + + + + The database for executing queries was not open. + chain executor + + + + + Could not start a database transaction. Details: %1 + chain executor + + + + + Interrupted + chain executor + + + + + Could not commit a database transaction. Details: %1 + chain executor + + + + + CompletionHelper + + + New row reference + + + + + Old row reference + + + + + New table name + + + + + New index name + + + + + New view name + + + + + New trigger name + + + + + Table or column alias + + + + + transaction name + + + + + New column name + + + + + Column data type + + + + + Constraint name + + + + + Error message + + + + + Collation name + + + + + Any word + + + + + Default database + + + + + Temporary objects database + + + + + DbManagerImpl + + + Could not add database %1: %2 + + + + + Database %1 could not be updated, because of an error: %2 + + + + + + Database file doesn't exist. + + + + + + + No supporting plugin loaded. + + + + + Database could not be initialized. + + + + + No suitable database driver plugin found. + + + + + DbObjectOrganizer + + + + Error while creating table in target database: %1 + + + + + Could not parse table. + + + + + Database %1 could not be attached to database %2, so the data of table %3 will be copied with SQLiteStudio as a mediator. This method can be slow for huge tables, so please be patient. + + + + + Error while copying data for table %1: %2 + + + + + + + Error while copying data to table %1: %2 + + + + + Error while dropping source view %1: %2 +Tables, indexes, triggers and views copied to database %3 will remain. + + + + + Error while creating view in target database: %1 + + + + + Error while creating index in target database: %1 + + + + + Error while creating trigger in target database: %1 + + + + + DbVersionConverter + + + Target file exists, but could not be overwritten. + + + + + Could not find proper database plugin to create target database. + + + + + Error while converting database: %1 + + + + + DdlHistoryModel + + + Database name + ddl history header + + + + + Database file + ddl history header + + + + + Date of execution + ddl history header + + + + + Changes + ddl history header + + + + + ExportManager + + + Export plugin %1 doesn't support exporing query results. + + + + + Export plugin %1 doesn't support exporing tables. + + + + + Export plugin %1 doesn't support exporing databases. + + + + + Export format '%1' is not supported. Supported formats are: %2. + + + + + Export to the clipboard was successful. + + + + + Export to the file '%1' was successful. + + + + + Export was successful. + + + + + Could not export to file %1. File cannot be open for writting. + + + + + ExportWorker + + + Error while exporting query results: %1 + + + + + Error while counting data column width to export from query results: %1 + + + + + + Could not parse %1 in order to export it. It will be excluded from the export output. + + + + + Error while reading data to export from table %1: %2 + + + + + Error while counting data to export from table %1: %2 + + + + + Error while counting data column width to export from table %1: %2 + + + + + FunctionManagerImpl + + + Invalid number of arguments to function '%1'. Expected %2, but got %3. + + + + + No such function registered in SQLiteStudio: %1(%2) + + + + + Function %1(%2) was registered with language %3, but the plugin supporting that language is not currently loaded. + + + + + Invalid regular expression pattern: %1 + + + + + + Could not open file %1 for reading: %2 + + + + + Could not open file %1 for writting: %2 + + + + + Error while writting to file %1: %2 + + + + + Unsupported scripting language: %1 + + + + + GenericExportPlugin + + + Could not initialize text codec for exporting. Using default codec: %1 + + + + + ImportManager + + + Imported data to the table '%1' successfully. + + + + + ImportWorker + + + No columns provided by the import plugin. + + + + + Could not start transaction in order to import a data: %1 + + + + + Could not commit transaction for imported data: %1 + + + + + Table '%1' has less columns than there are columns in the data to be imported. Excessive data columns will be ignored. + + + + + Table '%1' has more columns than there are columns in the data to be imported. Some columns in the table will be left empty. + + + + + Could not create table to import to: %1 + + + + + + + Error while importing data: %1 + + + + + + Interrupted. + import process status update + + + + + PluginManagerImpl + + + Cannot load plugin %1, because it's in conflict with plugin %2. + + + + + Cannot load plugin %1, because its dependency was not loaded: %2. + + + + + Cannot load plugin %1. Error details: %2 + + + + + Cannot load plugin %1 (error while initializing plugin). + + + + + min: %1 + plugin dependency version + + + + + max: %1 + plugin dependency version + + + + + PopulateConstant + + + Constant + populate constant plugin name + + + + + PopulateConstantConfig + + + Constant value: + + + + + PopulateDictionary + + + Dictionary + dictionary populating plugin name + + + + + PopulateDictionaryConfig + + + Dictionary file + + + + + Pick dictionary file + + + + + Word separator + + + + + Whitespace + + + + + Line break + + + + + Method of using words + + + + + Ordered + + + + + Randomly + + + + + PopulateManager + + + Table '%1' populated successfully. + + + + + PopulateRandom + + + Random number + + + + + PopulateRandomConfig + + + Constant prefix + + + + + No prefix + + + + + Minimum value + + + + + Maximum value + + + + + Constant suffix + + + + + No suffix + + + + + PopulateRandomText + + + Random text + + + + + PopulateRandomTextConfig + + + Use characters from common sets: + + + + + Minimum length + + + + + Letters from a to z. + + + + + Alpha + + + + + Numbers from 0 to 9. + + + + + Numeric + + + + + A whitespace, a tab and a new line character. + + + + + Whitespace + + + + + Includes all above and all others. + + + + + Binary + + + + + Use characters from my custom set: + + + + + Maximum length + + + + + If you type some character multiple times, it's more likely to be used. + + + + + PopulateScript + + + Script + + + + + PopulateScriptConfig + + + Initialization code (optional) + + + + + Per step code + + + + + Language + + + + + Help + + + + + PopulateSequence + + + Sequence + + + + + PopulateSequenceConfig + + + Start value: + + + + + Step: + + + + + PopulateWorker + + + Could not start transaction in order to perform table populating. Error details: %1 + + + + + Error while populating table: %1 + + + + + Could not commit transaction after table populating. Error details: %1 + + + + + QObject + + + + Could not open database: %1 + + + + + + Result set expired or no row available. + + + + + Could not close database: %1 + + + + + + + + + + + SQLite %1 does not support '%2' statement. + + + + + SQLite %1 does not support '%2' statement, but the regular table can be created instead if you proceed. + + + + + Could not parse statement: %1 +Error details: %2 + + + + + + + + SQLite %1 does not support the '%2' clause. Cannot convert '%3' statement with that clause. + + + + + SQLite %1 does not support the '%2' clause in the '%3' statement. + + + + + SQLite %1 does not support current date or time clauses in expressions. + + + + + + + SQLite %1 does not support '%2' clause in expressions. + + + + + Could not attach database %1: %2 + + + + + + Incomplete query. + + + + + + Parser stack overflow + + + + + + Syntax error + + + + + Could not open dictionary file %1 for reading. + + + + + Dictionary file must exist and be readable. + + + + + Maximum value cannot be less than minimum value. + + + + + Maximum length cannot be less than minimum length. + + + + + Custom character set cannot be empty. + + + + + Could not find plugin to support scripting language: %1 + + + + + Error while executing populating initial code: %1 + + + + + Error while executing populating code: %1 + + + + + Select implementation language. + + + + + Implementation code cannot be empty. + + + + + Could not resolve data source for column: %1 + + + + + Could not initialize configuration file. Any configuration changes and queries history will be lost after application restart. Tried to initialize the file at following localizations: %1. + + + + + General purpose + plugin category name + + + + + Database support + plugin category name + + + + + Code formatter + plugin category name + + + + + Scripting languages + plugin category name + + + + + Exporting + plugin category name + + + + + Importing + plugin category name + + + + + Table populating + plugin category name + + + + + Table %1 is referencing table %2, but the foreign key definition will not be updated for new table definition due to problems while parsing DDL of the table %3. + + + + + All columns indexed by the index %1 are gone. The index will not be recreated after table modification. + + + + + There is problem with proper processing trigger %1. It may be not fully updated afterwards and will need your attention. + + + + + Cannot not update trigger %1 according to table %2 modification. + + + + + All columns covered by the trigger %1 are gone. The trigger will not be recreated after table modification. + + + + + Cannot not update view %1 according to table %2 modifications. +The view will remain as it is. + + + + + + + There is a problem with updating an %1 statement within %2 trigger. One of the SELECT substatements which might be referring to table %3 cannot be properly modified. Manual update of the trigger may be necessary. + + + + + Could not parse DDL of the view to be created. Details: %1 + + + + + Parsed query is not CREATE VIEW. It's: %1 + + + + + SQLiteStudio was unable to resolve columns returned by the new view, therefore it won't be able to tell which triggers might fail during the recreation process. + + + + + QueryExecutor + + + Execution interrupted. + + + + + Database is not open. + + + + + Only one query can be executed simultaneously. + + + + + + An error occured while executing the count(*) query, thus data paging will be disabled. Error details from the database: %1 + + + + + SQLiteStudio was unable to extract metadata from the query. Results won't be editable. + + + + + ScriptingQtDbProxy + + + No database available in current context, while called QtScript's %1 command. + + + + + Error from %1: %2 + + + + + SqlHistoryModel + + + Database + sql history header + + + + + Execution date + sql history header + + + + + Time spent + sql history header + + + + + Rows affected + sql history header + + + + + SQL + sql history header + + + + + UpdateManager + + + An error occurred while checking for updates: %1. + + + + + Could not check available updates, because server responded with invalid message format. It is safe to ignore this warning. + + + + + An error occurred while reading updates metadata: %1. + + + + + Could not download updates, because server responded with invalid message format. You can try again later or download and install updates manually. See <a href="%1">User Manual</a> for details. + + + + + Could not create temporary directory for downloading the update. Updating aborted. + + + + + There was no updates to download. Updating aborted. + + + + + Downloading: %1 + + + + + Could not determinate file name from update URL: %1. Updating aborted. + + + + + Failed to open file '%1' for writting: %2. Updating aborted. + + + + + Installing updates. + + + + + Could not copy current application directory into %1 directory. + + + + + Could not create directory %1. + + + + + Could not rename directory %1 to %2. +Details: %3 + + + + + Cannot not rename directory %1 to %2. +Details: %3 + + + + + Could not move directory %1 to %2 and also failed to restore original directory, so the original SQLiteStudio directory is now located at: %3 + + + + + Could not rename directory %1 to %2. Rolled back to the original SQLiteStudio version. + + + + + Could not unpack component %1 into %2 directory. + + + + + Could not find permissions elevator application to run update as a root. Looked for: %1 + + + + + Could not execute final updating steps as root: %1 + + + + + + + + Could not execute final updating steps as admin: %1 + + + + + Cannot create temporary directory for updater. + + + + + Cannot create updater script file. + + + + + Updating canceled. + + + + + Could not execute final updating steps as administrator. + + + + + Could not execute final updating steps as administrator. Updater startup timed out. + + + + + Could not execute final updating steps as administrator. Updater operation timed out. + + + + + Could not clean up temporary directory %1. You can delete it manually at any time. + + + + + Could not run new version for continuing update. + + + + + Package not in tar.gz format, cannot install: %1 + + + + + Package %1 cannot be installed, because cannot move it to directory: %2 + + + + + Package %1 cannot be installed, because cannot unpack it: %2 + + + + + Package not in zip format, cannot install: %1 + + + + + Package %1 cannot be installed, because cannot unzip it to directory %2: %3 + + + + + Package %1 cannot be installed, because cannot unzip it to directory: %2 + + + + + + Could not rename directory %1 to %2. + + + + + Could not delete directory %1. + + + + + Error executing update command: %1 +Error message: %2 + + + + + An error occurred while downloading updates: %1. Updating aborted. + + + + diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_es.qm b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_es.qm differ diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_es.ts b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_es.ts new file mode 100644 index 0000000..420d0bb --- /dev/null +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_es.ts @@ -0,0 +1,1278 @@ + + + + + AbstractDb + + + + Cannot execute query on closed database. + + + + + Error attaching database %1: %2 + + + + + BugReporter + + + Invalid login or password + + + + + ChainExecutor + + + The database for executing queries was not defined. + chain executor + + + + + The database for executing queries was not open. + chain executor + + + + + Could not start a database transaction. Details: %1 + chain executor + + + + + Interrupted + chain executor + + + + + Could not commit a database transaction. Details: %1 + chain executor + + + + + CompletionHelper + + + New row reference + + + + + Old row reference + + + + + New table name + + + + + New index name + + + + + New view name + + + + + New trigger name + + + + + Table or column alias + + + + + transaction name + + + + + New column name + + + + + Column data type + + + + + Constraint name + + + + + Error message + + + + + Collation name + + + + + Any word + + + + + Default database + + + + + Temporary objects database + + + + + DbManagerImpl + + + Could not add database %1: %2 + + + + + Database %1 could not be updated, because of an error: %2 + + + + + + Database file doesn't exist. + + + + + + + No supporting plugin loaded. + + + + + Database could not be initialized. + + + + + No suitable database driver plugin found. + + + + + DbObjectOrganizer + + + + Error while creating table in target database: %1 + + + + + Could not parse table. + + + + + Database %1 could not be attached to database %2, so the data of table %3 will be copied with SQLiteStudio as a mediator. This method can be slow for huge tables, so please be patient. + + + + + Error while copying data for table %1: %2 + + + + + + + Error while copying data to table %1: %2 + + + + + Error while dropping source view %1: %2 +Tables, indexes, triggers and views copied to database %3 will remain. + + + + + Error while creating view in target database: %1 + + + + + Error while creating index in target database: %1 + + + + + Error while creating trigger in target database: %1 + + + + + DbVersionConverter + + + Target file exists, but could not be overwritten. + + + + + Could not find proper database plugin to create target database. + + + + + Error while converting database: %1 + + + + + DdlHistoryModel + + + Database name + ddl history header + + + + + Database file + ddl history header + + + + + Date of execution + ddl history header + + + + + Changes + ddl history header + + + + + ExportManager + + + Export plugin %1 doesn't support exporing query results. + + + + + Export plugin %1 doesn't support exporing tables. + + + + + Export plugin %1 doesn't support exporing databases. + + + + + Export format '%1' is not supported. Supported formats are: %2. + + + + + Export to the clipboard was successful. + + + + + Export to the file '%1' was successful. + + + + + Export was successful. + + + + + Could not export to file %1. File cannot be open for writting. + + + + + ExportWorker + + + Error while exporting query results: %1 + + + + + Error while counting data column width to export from query results: %1 + + + + + + Could not parse %1 in order to export it. It will be excluded from the export output. + + + + + Error while reading data to export from table %1: %2 + + + + + Error while counting data to export from table %1: %2 + + + + + Error while counting data column width to export from table %1: %2 + + + + + FunctionManagerImpl + + + Invalid number of arguments to function '%1'. Expected %2, but got %3. + + + + + No such function registered in SQLiteStudio: %1(%2) + + + + + Function %1(%2) was registered with language %3, but the plugin supporting that language is not currently loaded. + + + + + Invalid regular expression pattern: %1 + + + + + + Could not open file %1 for reading: %2 + + + + + Could not open file %1 for writting: %2 + + + + + Error while writting to file %1: %2 + + + + + Unsupported scripting language: %1 + + + + + GenericExportPlugin + + + Could not initialize text codec for exporting. Using default codec: %1 + + + + + ImportManager + + + Imported data to the table '%1' successfully. + + + + + ImportWorker + + + No columns provided by the import plugin. + + + + + Could not start transaction in order to import a data: %1 + + + + + Could not commit transaction for imported data: %1 + + + + + Table '%1' has less columns than there are columns in the data to be imported. Excessive data columns will be ignored. + + + + + Table '%1' has more columns than there are columns in the data to be imported. Some columns in the table will be left empty. + + + + + Could not create table to import to: %1 + + + + + + + Error while importing data: %1 + + + + + + Interrupted. + import process status update + + + + + PluginManagerImpl + + + Cannot load plugin %1, because it's in conflict with plugin %2. + + + + + Cannot load plugin %1, because its dependency was not loaded: %2. + + + + + Cannot load plugin %1. Error details: %2 + + + + + Cannot load plugin %1 (error while initializing plugin). + + + + + min: %1 + plugin dependency version + + + + + max: %1 + plugin dependency version + + + + + PopulateConstant + + + Constant + populate constant plugin name + + + + + PopulateConstantConfig + + + Constant value: + + + + + PopulateDictionary + + + Dictionary + dictionary populating plugin name + + + + + PopulateDictionaryConfig + + + Dictionary file + + + + + Pick dictionary file + + + + + Word separator + + + + + Whitespace + + + + + Line break + + + + + Method of using words + + + + + Ordered + + + + + Randomly + + + + + PopulateManager + + + Table '%1' populated successfully. + + + + + PopulateRandom + + + Random number + + + + + PopulateRandomConfig + + + Constant prefix + + + + + No prefix + + + + + Minimum value + + + + + Maximum value + + + + + Constant suffix + + + + + No suffix + + + + + PopulateRandomText + + + Random text + + + + + PopulateRandomTextConfig + + + Use characters from common sets: + + + + + Minimum length + + + + + Letters from a to z. + + + + + Alpha + + + + + Numbers from 0 to 9. + + + + + Numeric + + + + + A whitespace, a tab and a new line character. + + + + + Whitespace + + + + + Includes all above and all others. + + + + + Binary + + + + + Use characters from my custom set: + + + + + Maximum length + + + + + If you type some character multiple times, it's more likely to be used. + + + + + PopulateScript + + + Script + + + + + PopulateScriptConfig + + + Initialization code (optional) + + + + + Per step code + + + + + Language + + + + + Help + + + + + PopulateSequence + + + Sequence + + + + + PopulateSequenceConfig + + + Start value: + + + + + Step: + + + + + PopulateWorker + + + Could not start transaction in order to perform table populating. Error details: %1 + + + + + Error while populating table: %1 + + + + + Could not commit transaction after table populating. Error details: %1 + + + + + QObject + + + + Could not open database: %1 + + + + + + Result set expired or no row available. + + + + + Could not close database: %1 + + + + + + + + + + + SQLite %1 does not support '%2' statement. + + + + + SQLite %1 does not support '%2' statement, but the regular table can be created instead if you proceed. + + + + + Could not parse statement: %1 +Error details: %2 + + + + + + + + SQLite %1 does not support the '%2' clause. Cannot convert '%3' statement with that clause. + + + + + SQLite %1 does not support the '%2' clause in the '%3' statement. + + + + + SQLite %1 does not support current date or time clauses in expressions. + + + + + + + SQLite %1 does not support '%2' clause in expressions. + + + + + Could not attach database %1: %2 + + + + + + Incomplete query. + + + + + + Parser stack overflow + + + + + + Syntax error + + + + + Could not open dictionary file %1 for reading. + + + + + Dictionary file must exist and be readable. + + + + + Maximum value cannot be less than minimum value. + + + + + Maximum length cannot be less than minimum length. + + + + + Custom character set cannot be empty. + + + + + Could not find plugin to support scripting language: %1 + + + + + Error while executing populating initial code: %1 + + + + + Error while executing populating code: %1 + + + + + Select implementation language. + + + + + Implementation code cannot be empty. + + + + + Could not resolve data source for column: %1 + + + + + Could not initialize configuration file. Any configuration changes and queries history will be lost after application restart. Tried to initialize the file at following localizations: %1. + + + + + General purpose + plugin category name + + + + + Database support + plugin category name + + + + + Code formatter + plugin category name + + + + + Scripting languages + plugin category name + + + + + Exporting + plugin category name + + + + + Importing + plugin category name + + + + + Table populating + plugin category name + + + + + Table %1 is referencing table %2, but the foreign key definition will not be updated for new table definition due to problems while parsing DDL of the table %3. + + + + + All columns indexed by the index %1 are gone. The index will not be recreated after table modification. + + + + + There is problem with proper processing trigger %1. It may be not fully updated afterwards and will need your attention. + + + + + Cannot not update trigger %1 according to table %2 modification. + + + + + All columns covered by the trigger %1 are gone. The trigger will not be recreated after table modification. + + + + + Cannot not update view %1 according to table %2 modifications. +The view will remain as it is. + + + + + + + There is a problem with updating an %1 statement within %2 trigger. One of the SELECT substatements which might be referring to table %3 cannot be properly modified. Manual update of the trigger may be necessary. + + + + + Could not parse DDL of the view to be created. Details: %1 + + + + + Parsed query is not CREATE VIEW. It's: %1 + + + + + SQLiteStudio was unable to resolve columns returned by the new view, therefore it won't be able to tell which triggers might fail during the recreation process. + + + + + QueryExecutor + + + Execution interrupted. + + + + + Database is not open. + + + + + Only one query can be executed simultaneously. + + + + + + An error occured while executing the count(*) query, thus data paging will be disabled. Error details from the database: %1 + + + + + SQLiteStudio was unable to extract metadata from the query. Results won't be editable. + + + + + ScriptingQtDbProxy + + + No database available in current context, while called QtScript's %1 command. + + + + + Error from %1: %2 + + + + + SqlHistoryModel + + + Database + sql history header + + + + + Execution date + sql history header + + + + + Time spent + sql history header + + + + + Rows affected + sql history header + + + + + SQL + sql history header + + + + + UpdateManager + + + An error occurred while checking for updates: %1. + + + + + Could not check available updates, because server responded with invalid message format. It is safe to ignore this warning. + + + + + An error occurred while reading updates metadata: %1. + + + + + Could not download updates, because server responded with invalid message format. You can try again later or download and install updates manually. See <a href="%1">User Manual</a> for details. + + + + + Could not create temporary directory for downloading the update. Updating aborted. + + + + + There was no updates to download. Updating aborted. + + + + + Downloading: %1 + + + + + Could not determinate file name from update URL: %1. Updating aborted. + + + + + Failed to open file '%1' for writting: %2. Updating aborted. + + + + + Installing updates. + + + + + Could not copy current application directory into %1 directory. + + + + + Could not create directory %1. + + + + + Could not rename directory %1 to %2. +Details: %3 + + + + + Cannot not rename directory %1 to %2. +Details: %3 + + + + + Could not move directory %1 to %2 and also failed to restore original directory, so the original SQLiteStudio directory is now located at: %3 + + + + + Could not rename directory %1 to %2. Rolled back to the original SQLiteStudio version. + + + + + Could not unpack component %1 into %2 directory. + + + + + Could not find permissions elevator application to run update as a root. Looked for: %1 + + + + + Could not execute final updating steps as root: %1 + + + + + + + + Could not execute final updating steps as admin: %1 + + + + + Cannot create temporary directory for updater. + + + + + Cannot create updater script file. + + + + + Updating canceled. + + + + + Could not execute final updating steps as administrator. + + + + + Could not execute final updating steps as administrator. Updater startup timed out. + + + + + Could not execute final updating steps as administrator. Updater operation timed out. + + + + + Could not clean up temporary directory %1. You can delete it manually at any time. + + + + + Could not run new version for continuing update. + + + + + Package not in tar.gz format, cannot install: %1 + + + + + Package %1 cannot be installed, because cannot move it to directory: %2 + + + + + Package %1 cannot be installed, because cannot unpack it: %2 + + + + + Package not in zip format, cannot install: %1 + + + + + Package %1 cannot be installed, because cannot unzip it to directory %2: %3 + + + + + Package %1 cannot be installed, because cannot unzip it to directory: %2 + + + + + + Could not rename directory %1 to %2. + + + + + Could not delete directory %1. + + + + + Error executing update command: %1 +Error message: %2 + + + + + An error occurred while downloading updates: %1. Updating aborted. + + + + diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_fr.qm b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_fr.qm new file mode 100644 index 0000000..a0b0a53 Binary files /dev/null and b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_fr.qm differ diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_fr.ts b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_fr.ts new file mode 100644 index 0000000..46e3abc --- /dev/null +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_fr.ts @@ -0,0 +1,1283 @@ + + + + + AbstractDb + + + + Cannot execute query on closed database. + Impossible d'exécuter la requête sur une base de données fermée. + + + + Error attaching database %1: %2 + Erreur base de données attachée %1:%2 + + + + BugReporter + + + Invalid login or password + Identifiant ou mot de passe incorrect + + + + ChainExecutor + + + The database for executing queries was not defined. + chain executor + La base de données pour exécuter des requêtes n'était pas définie. + + + + The database for executing queries was not open. + chain executor + La base de données pour exécuter des requêtes n'est pas ouverte. + + + + Could not start a database transaction. Details: %1 + chain executor + Impossible d'initialiser une transaction de la base de données:%1 + + + + Interrupted + chain executor + Interruption + + + + Could not commit a database transaction. Details: %1 + chain executor + Impossible d'enregistrer la transaction de la base de données:%1 + + + + CompletionHelper + + + New row reference + Nouvelle référence de ligne + + + + Old row reference + Anncienne référence de ligne + + + + New table name + Nouveau nom de table + + + + New index name + Nouveau nom d'index + + + + New view name + Nouveau nom de vue + + + + New trigger name + Nouveau nom de déclencheur + + + + Table or column alias + Table ou alias colonne + + + + transaction name + Nom de transaction + + + + New column name + Nouveau nom de colonne + + + + Column data type + Type de données de la colonne + + + + Constraint name + Nom de la contrainte + + + + Error message + Message d'erreur + + + + Collation name + Nom de la collation + + + + Any word + N'importe quel mot + + + + Default database + Base de données par défaut + + + + Temporary objects database + Objets temporaires de base de données + + + + DbManagerImpl + + + Could not add database %1: %2 + Impossible d'ajouter une base de données %1: %2 + + + + Database %1 could not be updated, because of an error: %2 + La base de données %1 ne peut ëtre mise à jour à cause de l'erreur: %2 + + + + + Database file doesn't exist. + Le fichier de la base de données n'existe pas. + + + + + + No supporting plugin loaded. + Aucun plugin supporté chargé. + + + + Database could not be initialized. + La base de données ne peut être initialisée. + + + + No suitable database driver plugin found. + Aucun pilote de base de données approprié trouvé. + + + + DbObjectOrganizer + + + + Error while creating table in target database: %1 + Erreur lors de la creation de la table de la base de données: %1 + + + + Could not parse table. + Impossible d'analyser la table. + + + + Database %1 could not be attached to database %2, so the data of table %3 will be copied with SQLiteStudio as a mediator. This method can be slow for huge tables, so please be patient. + La base de données %1 ne peut être attachée à la base de données %2, aussi les données de la table %3 seront copiées avec SQLiteStudio comme interpréteur. Cette méthode est lente pour des tables importantes, SVP soyer patient. + + + + Error while copying data for table %1: %2 + Erreur lors de la copie des données vers la table %1: %2 + + + + + + Error while copying data to table %1: %2 + Erreur lors de la copie des données de la table %1: %2 + + + + Error while dropping source view %1: %2 +Tables, indexes, triggers and views copied to database %3 will remain. + Erreur à la création de la vue %1: %2 +Tables, index, déclencheurs et vues copiés de la base de données %3 seront maintenus. + + + + Error while creating view in target database: %1 + Erreur lors de la création de la vue de la base de données:%1 + + + + Error while creating index in target database: %1 + Erreur lors de la création de l'index de la base de données:%1 + + + + Error while creating trigger in target database: %1 + Erreur lors de la création du déclencheur de la base de données:%1 + + + + DbVersionConverter + + + Target file exists, but could not be overwritten. + Le fichier cible existe, mais ne peut être remplacé. + + + + Could not find proper database plugin to create target database. + Impossible de trouver le plugin correct pour créer la base de données cible. + + + + Error while converting database: %1 + Erreur lors de la conversion de la base de données: %1 + + + + DdlHistoryModel + + + Database name + ddl history header + Nom de la base + + + + Database file + ddl history header + Fichier de la base + + + + Date of execution + ddl history header + Date d'exécution + + + + Changes + ddl history header + Modifications + + + + ExportManager + + + Export plugin %1 doesn't support exporing query results. + Plugin d'export %1 ne supporte pas l'exportation de la requête. + + + + Export plugin %1 doesn't support exporing tables. + Plugin d'export %1 ne supporte pas l'exportation de la table. + + + + Export plugin %1 doesn't support exporing databases. + Plugin d'export %1 ne supporte pas l'exportation de la base de données. + + + + Export format '%1' is not supported. Supported formats are: %2. + Format d'export %1 n'est pas supporté. Les formats supportés sont: %2. + + + + Export to the clipboard was successful. + Export vers le presse-papier avec succés. + + + + Export to the file '%1' was successful. + Export vers le fichier '%1' avec succès. + + + + Export was successful. + Export avec succès. + + + + Could not export to file %1. File cannot be open for writting. + Impossible d'exporter vers le fichier '%1'. Le fichier ne peut être ouvert en écriture. + + + + ExportWorker + + + Error while exporting query results: %1 + Erreur lors de l'exportation des résultats de la requête:%1 + + + + Error while counting data column width to export from query results: %1 + Erreur lors de la totalisation des données de colonne issu de la requête: %1 + + + + + Could not parse %1 in order to export it. It will be excluded from the export output. + Impossible d'analyser %1 afin de l'exporter. Celle-ci sera excluse de l'exportation. + + + + Error while reading data to export from table %1: %2 + Erreur lors de la lecture des données à exporter de la table %1: %2 + + + + Error while counting data to export from table %1: %2 + Erreur lors du comptage des données à exporter de la table %1: %2 + + + + Error while counting data column width to export from table %1: %2 + Erreur lors de la totalisation des données à exporter de la table %1: %2 + + + + FunctionManagerImpl + + + Invalid number of arguments to function '%1'. Expected %2, but got %3. + Nombre de paramètres invalide de la fonction%1. Attendu %2, obtenu %3. + + + + No such function registered in SQLiteStudio: %1(%2) + Fonction inconnue avec SQLiteStudio: %1(%2) + + + + Function %1(%2) was registered with language %3, but the plugin supporting that language is not currently loaded. + La fonction %1(%2) est référencée avec le langage %3, mais le plugin supportant ce langage n'est actuellement pas chargé. + + + + Invalid regular expression pattern: %1 + Expression invalide: %1 + + + + + Could not open file %1 for reading: %2 + Impossible d'ouvrir en lecture le ficher %1:%2 + + + + Could not open file %1 for writting: %2 + Impossible d'ouvrir en écriture le ficher %1:%2 + + + + Error while writting to file %1: %2 + Erreur lors de l'écriture du fichier %1:%2 + + + + Unsupported scripting language: %1 + Langage script non supporté: %1 + + + + GenericExportPlugin + + + Could not initialize text codec for exporting. Using default codec: %1 + Impossible d'initialiser le paramètre texte por l'export. Utulisation du paramètre par défaut: %1 + + + + ImportManager + + + Imported data to the table '%1' successfully. + Importation des données de la table '%1' réussie. + + + + ImportWorker + + + No columns provided by the import plugin. + Aucune colonne fournie par le plugin d'importation. + + + + Could not start transaction in order to import a data: %1 + Impossible d'initialiser la transaction d'import de données: %1 + + + + Could not commit transaction for imported data: %1 + Impossible d'enregistrer la transaction d'import de données: %1 + + + + Table '%1' has less columns than there are columns in the data to be imported. Excessive data columns will be ignored. + La table %1 a moins de colonnes que de données à importer. Les colonnes supplèmentaires seront ignorées. + + + + Table '%1' has more columns than there are columns in the data to be imported. Some columns in the table will be left empty. + La table %1 a plus de colonnes que de colonnes de données à importer. Certaines colonnes de la table seront vides. + + + + Could not create table to import to: %1 + Impossible de créer la table d'import: %1 + + + + + + Error while importing data: %1 + Erreur lors de l'import des données: %1 + + + + + Interrupted. + import process status update + Transaction interrompue. + + + + PluginManagerImpl + + + Cannot load plugin %1, because it's in conflict with plugin %2. + Chargement impossible du plugin %1 celui-ci est en conflit avec le plugin %2. + + + + Cannot load plugin %1, because its dependency was not loaded: %2. + Chargement impossible du plugin %1, les dépendances n'ont pa été chargées: %2. + + + + Cannot load plugin %1. Error details: %2 + Chargement impossible du plugin %1, Détails de l'erreur: %2 + + + + Cannot load plugin %1 (error while initializing plugin). + Chargement impossible du plugin %1 (erreur à initialisation du plugin). + + + + min: %1 + plugin dependency version + min %1 + + + + max: %1 + plugin dependency version + max %1 + + + + PopulateConstant + + + Constant + populate constant plugin name + Constante + + + + PopulateConstantConfig + + + Constant value: + Valeur constante: + + + + PopulateDictionary + + + Dictionary + dictionary populating plugin name + Dictionnaire + + + + PopulateDictionaryConfig + + + Dictionary file + Fichier du dictionnaire + + + + Pick dictionary file + Extrait du dictionnaire + + + + Word separator + Mot séparateur + + + + Whitespace + Espace + + + + Line break + Fin de ligne + + + + Method of using words + Méthode d'utilisation des mots + + + + Ordered + Trié + + + + Randomly + Aléatoire + + + + PopulateManager + + + Table '%1' populated successfully. + Table '%1' remplie avec succès. + + + + PopulateRandom + + + Random number + Nombre aléatoire + + + + PopulateRandomConfig + + + Constant prefix + Préfixe constant + + + + No prefix + Aucun préfixe + + + + Minimum value + Valeur minimale + + + + Maximum value + Valeur maximale + + + + Constant suffix + Suffixe constant + + + + No suffix + Aucun suffixe + + + + PopulateRandomText + + + Random text + Text aléatoire + + + + PopulateRandomTextConfig + + + Use characters from common sets: + Utilisez des caractères de la table standard: + + + + Minimum length + Longueur minimun + + + + Letters from a to z. + Caractères de a à z. + + + + Alpha + Caractère alpha + + + + Numbers from 0 to 9. + Carctères numériques de 0 à 9. + + + + Numeric + Numérique + + + + A whitespace, a tab and a new line character. + Espace, tabulation et retour chariot. + + + + Whitespace + Espace + + + + Includes all above and all others. + Inclus ci dessus et tous les autres. + + + + Binary + Binaire + + + + Use characters from my custom set: + Utilisez les catactères de ma table personalisée: + + + + Maximum length + Longueur maximum + + + + If you type some character multiple times, it's more likely to be used. + Si vous saisissez plusieurs fois le même caractère, la sécurité est faible. + + + + PopulateScript + + + Script + Script + + + + PopulateScriptConfig + + + Initialization code (optional) + Code d'initialisation (optionel) + + + + Per step code + Code par étape + + + + Language + Langage + + + + Help + Aide + + + + PopulateSequence + + + Sequence + Séquence + + + + PopulateSequenceConfig + + + Start value: + Valeur de départ: + + + + Step: + Incrément: + + + + PopulateWorker + + + Could not start transaction in order to perform table populating. Error details: %1 + Impossible d'initialiser la transaction pour remplir la table.Détails de l'erreur %1 + + + + Error while populating table: %1 + Erreur lors du remplissage de la table: %1 + + + + Could not commit transaction after table populating. Error details: %1 + Impossible d'enregistrer la transaction après le remplissage de la table. Erreur %1 + + + + QObject + + + + Could not open database: %1 + Impossible d'ouvrir la base de données: %1 + + + + + Result set expired or no row available. + Terminé ou aucune ligne valide. + + + + Could not close database: %1 + Impossible de clore la base de bonnées: %1 + + + + + + + + + + SQLite %1 does not support '%2' statement. + SQLite %1 ne supporte pas l'instruction '%2'. + + + + SQLite %1 does not support '%2' statement, but the regular table can be created instead if you proceed. + SQLite %1 ne supporte pas l'instruction '%2', mais la table normale peut être créée à la place si vous confirmez. + + + + Could not parse statement: %1 +Error details: %2 + Impossible d'analyser l'instruction: %1 +Détails erreur: %2 + + + + + + + SQLite %1 does not support the '%2' clause. Cannot convert '%3' statement with that clause. + SQLite %1 ne supporte pas la clause '%2'. Impossible de convertir l'instruction '%3' avec cette clause. + + + + SQLite %1 does not support the '%2' clause in the '%3' statement. + SQLite %1 ne supporte pas la clause '%2' de l'instruction '%3'. + + + + SQLite %1 does not support current date or time clauses in expressions. + SQLite %1 ne supporte pas la clause date ou l'heure actuelle dans l'expression. + + + + + + SQLite %1 does not support '%2' clause in expressions. + SQLite %1 ne supporte pas la clause '%2' dans l'expression. + + + + Could not attach database %1: %2 + Impossible d'attacher la base de données %1: %2 + + + + + Incomplete query. + Requête imcomplète. + + + + + Parser stack overflow + Analyse dépassement pile + + + + + Syntax error + Erreur de syntaxe + + + + Could not open dictionary file %1 for reading. + Impossible d'ouvrir en lecture le fichier dictionnaire %1. + + + + Dictionary file must exist and be readable. + Le fichier dictionnaire doit exister et être en lecture. + + + + Maximum value cannot be less than minimum value. + La valeur maximum ne peut être inférieure à la valeur minimum. + + + + Maximum length cannot be less than minimum length. + Longueur maximum ne peut être inférieure à la longueur minimum. + + + + Custom character set cannot be empty. + La table des caractères personalisés ne peut être vide. + + + + Could not find plugin to support scripting language: %1 + Impossible de trouver le plugin supportant le script: %1 + + + + Error while executing populating initial code: %1 + Erreur à l'initialisation du code de remplissage: %1 + + + + Error while executing populating code: %1 + Erreur à l'exécution du code de remplissage: %1 + + + + Select implementation language. + Sélectionnez l'application langage. + + + + Implementation code cannot be empty. + L'application de code ne peut être vide. + + + + Could not resolve data source for column: %1 + Impossible de résoudre la source de données pour la colonnes: %1 + + + + Could not initialize configuration file. Any configuration changes and queries history will be lost after application restart. Tried to initialize the file at following localizations: %1. + Impossible d'initialiser le fichier de configuration. Aucune modification et les requêtes seront perdues après redémarrage. Essayez d'initialiser le fichier avec cette localisation: %1. + + + + General purpose + plugin category name + Objectif général + + + + Database support + plugin category name + Support base de données + + + + Code formatter + plugin category name + Format code + + + + Scripting languages + plugin category name + Langages script + + + + Exporting + plugin category name + Export + + + + Importing + plugin category name + Import + + + + Table populating + plugin category name + Peuplement de la table + + + + Table %1 is referencing table %2, but the foreign key definition will not be updated for new table definition due to problems while parsing DDL of the table %3. + La table %1 référence la table %2, mais la clé étrangère ne pourra être mise à jour pour la nouvelle table à cause de problèmes lors de l'analyse DDL de la table %3. + + + + All columns indexed by the index %1 are gone. The index will not be recreated after table modification. + Toutes les colonnes indéxées par l'indexe %1 sont faites. L'indexe ne sera pas recréé après la modification de la table. + + + + There is problem with proper processing trigger %1. It may be not fully updated afterwards and will need your attention. + + + + + Cannot not update trigger %1 according to table %2 modification. + Impossible de mettre à jour le déclencheur%1 selon la modification de la table %2. + + + + All columns covered by the trigger %1 are gone. The trigger will not be recreated after table modification. + Toutes les colonnes couvertes par le déclencheur %1 sont faites. Le déclencheur ne sera pas recréé après la modification de la table. + + + + Cannot not update view %1 according to table %2 modifications. +The view will remain as it is. + Impossible de mettre à jour les modifications de la vue %1 issue de la table %2 +La vue restera telque. + + + + + + There is a problem with updating an %1 statement within %2 trigger. One of the SELECT substatements which might be referring to table %3 cannot be properly modified. Manual update of the trigger may be necessary. + Il y a un problème à la mise à jour l'instruction %1 avec le déclencheur %2. Une partie de l'instruction SELECT référençant la table %3 ne ppermet pas sa modification. La mise à jour manuelle du déclencheur est nécessaire. + + + + Could not parse DDL of the view to be created. Details: %1 + Impossible d'analyser le DDL de création de vue. Détails: %1 + + + + Parsed query is not CREATE VIEW. It's: %1 + L'expression CREATE VIEW est fausse. C'est: %1 + + + + SQLiteStudio was unable to resolve columns returned by the new view, therefore it won't be able to tell which triggers might fail during the recreation process. + SQLiteStudio ne peut résoudre les colonnes résultant de la nouvelle vue, d'où le déclencheur en cause ne pourra être indiqué pendant le process. + + + + QueryExecutor + + + Execution interrupted. + Exécution interrompue. + + + + Database is not open. + La base de données n'est ouverte. + + + + Only one query can be executed simultaneously. + Une seule requête peut être exécutée à la fois. + + + + + An error occured while executing the count(*) query, thus data paging will be disabled. Error details from the database: %1 + Une erreur s'est produite à l'exécution de la requête count(*), la recherche des données est arrêtée. Erreur de la base de données:%1 + + + + SQLiteStudio was unable to extract metadata from the query. Results won't be editable. + SQLiteStudio ne peut extraire des métadonnées d'une requête. Les résultats ne peut être affichés. + + + + ScriptingQtDbProxy + + + No database available in current context, while called QtScript's %1 command. + Aucune base de données validedans le context actuel, plutôtutiliser la commande QtScript %1. + + + + Error from %1: %2 + Erreur de %1: %2 + + + + SqlHistoryModel + + + Database + sql history header + Base de données + + + + Execution date + sql history header + Date d'exécution + + + + Time spent + sql history header + Temps passé + + + + Rows affected + sql history header + Lignes affectées + + + + SQL + sql history header + SQL + + + + UpdateManager + + + An error occurred while checking for updates: %1. + Une erreur est apparue lors du contrôle pour la mise à jour:%1. + + + + + Could not check available updates, because server responded with invalid message format. It is safe to ignore this warning. + Impossible de vérifier la mise à jour, car le serveur a répondu avec un message invalide. Il est possible d'ignorer le warning. + + + + An error occurred while reading updates metadata: %1. + Erreur lors de la lecture de mise des méta données: %1. + + + + Could not download updates, because server responded with invalid message format. You can try again later or download and install updates manually. See <a href="%1">User Manual</a> for details. + Impossibles de télécharger les mises à jour, car le serveur répond avec un format de message invalide. Vous pover essayer plus tard ou télécharger et mettre à jour manuellement. Voir <a href="%1">User Manual</a> for details. + + + + Could not create temporary directory for downloading the update. Updating aborted. + Impossible de créer un répertoire temporaire pour télécharger la mise à jour. Mise à jour abandonnée. + + + + There was no updates to download. Updating aborted. + Il n'y a aucune mise à jour à télécharger. Mise à jour abandonnée. + + + + Downloading: %1 + Téléchargement: %1 + + + + Could not determinate file name from update URL: %1. Updating aborted. + Impossible de déterminer le fichier de mise à jour URL: %1.Mise à jour abandonnée. + + + + Failed to open file '%1' for writting: %2. Updating aborted. + Erreur à l'ouverture du fichier %1 pour l'écriture: %2. Mise à jour abandonnée. + + + + Installing updates. + Installation des mises jour. + + + + Could not copy current application directory into %1 directory. + Impossible de copier le répertoire de l'application courante dans %1. + + + + Could not create directory %1. + Impossible de créer le répertoire: %1. + + + + Could not rename directory %1 to %2. +Details: %3 + Impossible de renommer le répertoire %1 en %2. Détails: %3 + + + + Cannot not rename directory %1 to %2. +Details: %3 + Impossible de renommer le répertoire %1 en %2.Détails: %3 + + + + Could not move directory %1 to %2 and also failed to restore original directory, so the original SQLiteStudio directory is now located at: %3 + Impossible de déplacer le répertoire %1 vers %2 d'où l'impossibilité de restaurer le répertoire original. SQLiteStudio est maintenant localisé: %3 + + + + Could not rename directory %1 to %2. Rolled back to the original SQLiteStudio version. + Impossible de renommer le répertoire %1 en %2, retour vers la version originale SQLiteStudio. + + + + Could not unpack component %1 into %2 directory. + Impossible d'extraire le composant %1 dans le répertoire %2. + + + + Could not find permissions elevator application to run update as a root. Looked for: %1 + Impossible d'élever les autorisations pour lancer la mise à jour en tantque root. Bloqué: %1 + + + + Could not execute final updating steps as root: %1 + Impossible de finaliser la mis à jour en tant que root: %1 + + + + + + + Could not execute final updating steps as admin: %1 + Impossible de finaliser la mis à jour en tant que admin: %1 + + + + Cannot create temporary directory for updater. + Impossible de créer un répertoire temporaire pour la mise à jour. + + + + Cannot create updater script file. + impossible de créer le fichier du scripte de mise à jour. + + + + Updating canceled. + Mise à jour suspendue. + + + + Could not execute final updating steps as administrator. + Impossible de finaliser la mis à jour en tant qu'administrateur. + + + + Could not execute final updating steps as administrator. Updater startup timed out. + Impossible de finaliser la mis à jour en tant qu'administrateur. Délai d'attente de lancement dépassé. + + + + Could not execute final updating steps as administrator. Updater operation timed out. + Impossible de finaliser la mis à jour en tant qu'administrateur. Délai d'attente d'opération dépassé. + + + + Could not clean up temporary directory %1. You can delete it manually at any time. + Impossible de nettoyer le répertoire temporaire %1. Vous pouver le supprimer manuellement plutard. + + + + Could not run new version for continuing update. + Impossible de lancer la nouvelle version afin de continuer la mise à jour. + + + + Package not in tar.gz format, cannot install: %1 + Installation impossible un paquet n'est pas au format tar.zg: %1 + + + + Package %1 cannot be installed, because cannot move it to directory: %2 + Le paquet %1 ne peut être installé, celui-ci ne pouvant déplacé dans le répertoire: %2 + + + + Package %1 cannot be installed, because cannot unpack it: %2 + Le paquet %1 ne peut être installé, celui-ci ne pouvant décompressé: %2 + + + + Package not in zip format, cannot install: %1 + Installation impossible, un paquet est manquant: %1 + + + + Package %1 cannot be installed, because cannot unzip it to directory %2: %3 + Le paquet %1 ne peut être installé, celui-ci ne pouvant décompressé dans le répertoire %2: %3 + + + + Package %1 cannot be installed, because cannot unzip it to directory: %2 + Le paquet %1 ne peut être installé, celui-ci ne pouvant décompressé dans le répertoire: %2 + + + + + Could not rename directory %1 to %2. + Impossible de renommer le répertoire %1 en %2. + + + + Could not delete directory %1. + Impossible de supprimer le répertoire %1. + + + + Error executing update command: %1 +Error message: %2 + Erreur d'exécution de la commande de mise à jour: %1 +Message d'erreur: %2 + + + + An error occurred while downloading updates: %1. Updating aborted. + Erreur lors du téléchargement de la mise à jour: %1. Mise à jour abandonnée. + + + diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pl.qm b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pl.qm index 8011cf1..8d09cfa 100644 Binary files a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pl.qm and b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pl.qm differ diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pl.ts b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pl.ts index dc64023..9ca5ff5 100644 --- a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pl.ts +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pl.ts @@ -5,12 +5,12 @@ AbstractDb - + Cannot execute query on closed database. Nie można wykonać zapytania na zamkniętej bazie danych. - + Error attaching database %1: %2 Błąd podczas dołączania bazy danych %1: %2 @@ -142,35 +142,35 @@ DbManagerImpl - + Could not add database %1: %2 Nie udało się dodać bazę danych %1: %2 - + Database %1 could not be updated, because of an error: %2 Nie udało się zaktualizować baza danych %1 z powodu błędu: %2 - - + + Database file doesn't exist. Plik bazy danych nie istnieje. - - - + + + No supporting plugin loaded. Nie załadowano obsługującej wtyczki. - + Database could not be initialized. Nie udało się zainicjalizować bazy danych. - + No suitable database driver plugin found. Nie znaleziono odpowiedniej wtyczki sterownika. @@ -830,14 +830,14 @@ Szczegóły błędu: %2 Niekompletne zapytanie. - - + + Parser stack overflow Przeciążenie stosu analizatora. - - + + Syntax error Błąd składni @@ -897,7 +897,7 @@ Szczegóły błędu: %2 Nie znaleziono źródła danych dla kolumny: %1 - + Could not initialize configuration file. Any configuration changes and queries history will be lost after application restart. Tried to initialize the file at following localizations: %1. Nie udało się zainicjalizować pliku konfiguracyjnego. Jakiekolwiek zmiany w konfiguracji i historia zapytań będą utracone po zrestartowaniu aplikacji. Próbowano zainicjalizować plik konfiguracyjny w następujących lokalizacjach: %1. @@ -944,36 +944,41 @@ Szczegóły błędu: %2 Zaludnianie tabel - + Table %1 is referencing table %2, but the foreign key definition will not be updated for new table definition due to problems while parsing DDL of the table %3. Tabela %1 odwołuje się do tabeli %2, ale definicja klucza obcego nie zostanie zaktualizowane dla definicji nowej tabeli w związku z problemami przy analizowaniu DDL tabeli %3. - + All columns indexed by the index %1 are gone. The index will not be recreated after table modification. Wszystkie kolumny indeksowane przez indeks %1 już nie istnieją. Indeks ten nie będzie odtworzony po modyfikacji tabeli. - + + There is problem with proper processing trigger %1. It may be not fully updated afterwards and will need your attention. + Wystąpił problem z poprawnym przetworzeniem wyzwalacza %1. Może on zostać zaktualizowany tylko częściowo i będzie wymagał twojej uwagi. + + + Cannot not update trigger %1 according to table %2 modification. Nie można zaktualizować wyzwalacza %1 zgodnie z modyfikacjami tabeli %2. - + All columns covered by the trigger %1 are gone. The trigger will not be recreated after table modification. Wszystkie kolumny obsługiwane przez wyzwalacz %1 już nie istnieją. Wyzwalacz ten nie będzie odtworzony po modyfikacji tabeli. - + Cannot not update view %1 according to table %2 modifications. The view will remain as it is. Nie można zaktualizować widoku %1 w związku z modyfikacjami tabeli %2. Widok pozostanie nienaruszony. - - - + + + There is a problem with updating an %1 statement within %2 trigger. One of the SELECT substatements which might be referring to table %3 cannot be properly modified. Manual update of the trigger may be necessary. Jest problem ze zaktualizowaniem zapytania %1 w wyzwalaczu %2. Jedeno z podzapytań SELECT, które może odwoływać się do tabeli %2 nie może być poprawnie zmodyfikowane. Ręczna aktualizacja tego wyzwalacza może być niezbędna. @@ -993,19 +998,19 @@ Widok pozostanie nienaruszony. SQLiteStudio nie było w stanie określić kolumn zwracanych przez nowy widok, w związku z czym nie może określić które wyzwalacze mogą się nie powieść podczas procesu odtwarzania. - - + + Could not open database: %1 Nie udało się otworzyć bazy danych: %1 - + Could not close database: %1 Nie udało się zamknąć bazy danych: %1 - - + + Result set expired or no row available. Wyniki zapytania są nieaktualne, lub nie ma dostępnych wierszy. @@ -1020,28 +1025,28 @@ Widok pozostanie nienaruszony. QueryExecutor - + Execution interrupted. Wykonywanie przerwane. - + Database is not open. Baza danych nie jest otwarta. - + Only one query can be executed simultaneously. Tylko jedno zapytanie może być wykonywane w danym momencie. - - + + An error occured while executing the count(*) query, thus data paging will be disabled. Error details from the database: %1 Wystąpił błąd podczas wykonywania zapytania count(*), przez co stronicowanie danych będzie wyłączone. Szczegóły błędy z bazy danych: %1 - + SQLiteStudio was unable to extract metadata from the query. Results won't be editable. SQLiteStudio nie mogło uzyskać metadanych z zapytania. Nie będzie można edytować wyników zapytania. diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pt_BR.qm b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pt_BR.qm differ diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pt_BR.ts b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pt_BR.ts new file mode 100644 index 0000000..5c08361 --- /dev/null +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_pt_BR.ts @@ -0,0 +1,1278 @@ + + + + + AbstractDb + + + + Cannot execute query on closed database. + + + + + Error attaching database %1: %2 + + + + + BugReporter + + + Invalid login or password + + + + + ChainExecutor + + + The database for executing queries was not defined. + chain executor + + + + + The database for executing queries was not open. + chain executor + + + + + Could not start a database transaction. Details: %1 + chain executor + + + + + Interrupted + chain executor + + + + + Could not commit a database transaction. Details: %1 + chain executor + + + + + CompletionHelper + + + New row reference + + + + + Old row reference + + + + + New table name + + + + + New index name + + + + + New view name + + + + + New trigger name + + + + + Table or column alias + + + + + transaction name + + + + + New column name + + + + + Column data type + + + + + Constraint name + + + + + Error message + + + + + Collation name + + + + + Any word + + + + + Default database + + + + + Temporary objects database + + + + + DbManagerImpl + + + Could not add database %1: %2 + + + + + Database %1 could not be updated, because of an error: %2 + + + + + + Database file doesn't exist. + + + + + + + No supporting plugin loaded. + + + + + Database could not be initialized. + + + + + No suitable database driver plugin found. + + + + + DbObjectOrganizer + + + + Error while creating table in target database: %1 + + + + + Could not parse table. + + + + + Database %1 could not be attached to database %2, so the data of table %3 will be copied with SQLiteStudio as a mediator. This method can be slow for huge tables, so please be patient. + + + + + Error while copying data for table %1: %2 + + + + + + + Error while copying data to table %1: %2 + + + + + Error while dropping source view %1: %2 +Tables, indexes, triggers and views copied to database %3 will remain. + + + + + Error while creating view in target database: %1 + + + + + Error while creating index in target database: %1 + + + + + Error while creating trigger in target database: %1 + + + + + DbVersionConverter + + + Target file exists, but could not be overwritten. + + + + + Could not find proper database plugin to create target database. + + + + + Error while converting database: %1 + + + + + DdlHistoryModel + + + Database name + ddl history header + + + + + Database file + ddl history header + + + + + Date of execution + ddl history header + + + + + Changes + ddl history header + + + + + ExportManager + + + Export plugin %1 doesn't support exporing query results. + + + + + Export plugin %1 doesn't support exporing tables. + + + + + Export plugin %1 doesn't support exporing databases. + + + + + Export format '%1' is not supported. Supported formats are: %2. + + + + + Export to the clipboard was successful. + + + + + Export to the file '%1' was successful. + + + + + Export was successful. + + + + + Could not export to file %1. File cannot be open for writting. + + + + + ExportWorker + + + Error while exporting query results: %1 + + + + + Error while counting data column width to export from query results: %1 + + + + + + Could not parse %1 in order to export it. It will be excluded from the export output. + + + + + Error while reading data to export from table %1: %2 + + + + + Error while counting data to export from table %1: %2 + + + + + Error while counting data column width to export from table %1: %2 + + + + + FunctionManagerImpl + + + Invalid number of arguments to function '%1'. Expected %2, but got %3. + + + + + No such function registered in SQLiteStudio: %1(%2) + + + + + Function %1(%2) was registered with language %3, but the plugin supporting that language is not currently loaded. + + + + + Invalid regular expression pattern: %1 + + + + + + Could not open file %1 for reading: %2 + + + + + Could not open file %1 for writting: %2 + + + + + Error while writting to file %1: %2 + + + + + Unsupported scripting language: %1 + + + + + GenericExportPlugin + + + Could not initialize text codec for exporting. Using default codec: %1 + + + + + ImportManager + + + Imported data to the table '%1' successfully. + + + + + ImportWorker + + + No columns provided by the import plugin. + + + + + Could not start transaction in order to import a data: %1 + + + + + Could not commit transaction for imported data: %1 + + + + + Table '%1' has less columns than there are columns in the data to be imported. Excessive data columns will be ignored. + + + + + Table '%1' has more columns than there are columns in the data to be imported. Some columns in the table will be left empty. + + + + + Could not create table to import to: %1 + + + + + + + Error while importing data: %1 + + + + + + Interrupted. + import process status update + + + + + PluginManagerImpl + + + Cannot load plugin %1, because it's in conflict with plugin %2. + + + + + Cannot load plugin %1, because its dependency was not loaded: %2. + + + + + Cannot load plugin %1. Error details: %2 + + + + + Cannot load plugin %1 (error while initializing plugin). + + + + + min: %1 + plugin dependency version + + + + + max: %1 + plugin dependency version + + + + + PopulateConstant + + + Constant + populate constant plugin name + + + + + PopulateConstantConfig + + + Constant value: + + + + + PopulateDictionary + + + Dictionary + dictionary populating plugin name + + + + + PopulateDictionaryConfig + + + Dictionary file + + + + + Pick dictionary file + + + + + Word separator + + + + + Whitespace + + + + + Line break + + + + + Method of using words + + + + + Ordered + + + + + Randomly + + + + + PopulateManager + + + Table '%1' populated successfully. + + + + + PopulateRandom + + + Random number + + + + + PopulateRandomConfig + + + Constant prefix + + + + + No prefix + + + + + Minimum value + + + + + Maximum value + + + + + Constant suffix + + + + + No suffix + + + + + PopulateRandomText + + + Random text + + + + + PopulateRandomTextConfig + + + Use characters from common sets: + + + + + Minimum length + + + + + Letters from a to z. + + + + + Alpha + + + + + Numbers from 0 to 9. + + + + + Numeric + + + + + A whitespace, a tab and a new line character. + + + + + Whitespace + + + + + Includes all above and all others. + + + + + Binary + + + + + Use characters from my custom set: + + + + + Maximum length + + + + + If you type some character multiple times, it's more likely to be used. + + + + + PopulateScript + + + Script + + + + + PopulateScriptConfig + + + Initialization code (optional) + + + + + Per step code + + + + + Language + + + + + Help + + + + + PopulateSequence + + + Sequence + + + + + PopulateSequenceConfig + + + Start value: + + + + + Step: + + + + + PopulateWorker + + + Could not start transaction in order to perform table populating. Error details: %1 + + + + + Error while populating table: %1 + + + + + Could not commit transaction after table populating. Error details: %1 + + + + + QObject + + + + Could not open database: %1 + + + + + + Result set expired or no row available. + + + + + Could not close database: %1 + + + + + + + + + + + SQLite %1 does not support '%2' statement. + + + + + SQLite %1 does not support '%2' statement, but the regular table can be created instead if you proceed. + + + + + Could not parse statement: %1 +Error details: %2 + + + + + + + + SQLite %1 does not support the '%2' clause. Cannot convert '%3' statement with that clause. + + + + + SQLite %1 does not support the '%2' clause in the '%3' statement. + + + + + SQLite %1 does not support current date or time clauses in expressions. + + + + + + + SQLite %1 does not support '%2' clause in expressions. + + + + + Could not attach database %1: %2 + + + + + + Incomplete query. + + + + + + Parser stack overflow + + + + + + Syntax error + + + + + Could not open dictionary file %1 for reading. + + + + + Dictionary file must exist and be readable. + + + + + Maximum value cannot be less than minimum value. + + + + + Maximum length cannot be less than minimum length. + + + + + Custom character set cannot be empty. + + + + + Could not find plugin to support scripting language: %1 + + + + + Error while executing populating initial code: %1 + + + + + Error while executing populating code: %1 + + + + + Select implementation language. + + + + + Implementation code cannot be empty. + + + + + Could not resolve data source for column: %1 + + + + + Could not initialize configuration file. Any configuration changes and queries history will be lost after application restart. Tried to initialize the file at following localizations: %1. + + + + + General purpose + plugin category name + + + + + Database support + plugin category name + + + + + Code formatter + plugin category name + + + + + Scripting languages + plugin category name + + + + + Exporting + plugin category name + + + + + Importing + plugin category name + + + + + Table populating + plugin category name + + + + + Table %1 is referencing table %2, but the foreign key definition will not be updated for new table definition due to problems while parsing DDL of the table %3. + + + + + All columns indexed by the index %1 are gone. The index will not be recreated after table modification. + + + + + There is problem with proper processing trigger %1. It may be not fully updated afterwards and will need your attention. + + + + + Cannot not update trigger %1 according to table %2 modification. + + + + + All columns covered by the trigger %1 are gone. The trigger will not be recreated after table modification. + + + + + Cannot not update view %1 according to table %2 modifications. +The view will remain as it is. + + + + + + + There is a problem with updating an %1 statement within %2 trigger. One of the SELECT substatements which might be referring to table %3 cannot be properly modified. Manual update of the trigger may be necessary. + + + + + Could not parse DDL of the view to be created. Details: %1 + + + + + Parsed query is not CREATE VIEW. It's: %1 + + + + + SQLiteStudio was unable to resolve columns returned by the new view, therefore it won't be able to tell which triggers might fail during the recreation process. + + + + + QueryExecutor + + + Execution interrupted. + + + + + Database is not open. + + + + + Only one query can be executed simultaneously. + + + + + + An error occured while executing the count(*) query, thus data paging will be disabled. Error details from the database: %1 + + + + + SQLiteStudio was unable to extract metadata from the query. Results won't be editable. + + + + + ScriptingQtDbProxy + + + No database available in current context, while called QtScript's %1 command. + + + + + Error from %1: %2 + + + + + SqlHistoryModel + + + Database + sql history header + + + + + Execution date + sql history header + + + + + Time spent + sql history header + + + + + Rows affected + sql history header + + + + + SQL + sql history header + + + + + UpdateManager + + + An error occurred while checking for updates: %1. + + + + + Could not check available updates, because server responded with invalid message format. It is safe to ignore this warning. + + + + + An error occurred while reading updates metadata: %1. + + + + + Could not download updates, because server responded with invalid message format. You can try again later or download and install updates manually. See <a href="%1">User Manual</a> for details. + + + + + Could not create temporary directory for downloading the update. Updating aborted. + + + + + There was no updates to download. Updating aborted. + + + + + Downloading: %1 + + + + + Could not determinate file name from update URL: %1. Updating aborted. + + + + + Failed to open file '%1' for writting: %2. Updating aborted. + + + + + Installing updates. + + + + + Could not copy current application directory into %1 directory. + + + + + Could not create directory %1. + + + + + Could not rename directory %1 to %2. +Details: %3 + + + + + Cannot not rename directory %1 to %2. +Details: %3 + + + + + Could not move directory %1 to %2 and also failed to restore original directory, so the original SQLiteStudio directory is now located at: %3 + + + + + Could not rename directory %1 to %2. Rolled back to the original SQLiteStudio version. + + + + + Could not unpack component %1 into %2 directory. + + + + + Could not find permissions elevator application to run update as a root. Looked for: %1 + + + + + Could not execute final updating steps as root: %1 + + + + + + + + Could not execute final updating steps as admin: %1 + + + + + Cannot create temporary directory for updater. + + + + + Cannot create updater script file. + + + + + Updating canceled. + + + + + Could not execute final updating steps as administrator. + + + + + Could not execute final updating steps as administrator. Updater startup timed out. + + + + + Could not execute final updating steps as administrator. Updater operation timed out. + + + + + Could not clean up temporary directory %1. You can delete it manually at any time. + + + + + Could not run new version for continuing update. + + + + + Package not in tar.gz format, cannot install: %1 + + + + + Package %1 cannot be installed, because cannot move it to directory: %2 + + + + + Package %1 cannot be installed, because cannot unpack it: %2 + + + + + Package not in zip format, cannot install: %1 + + + + + Package %1 cannot be installed, because cannot unzip it to directory %2: %3 + + + + + Package %1 cannot be installed, because cannot unzip it to directory: %2 + + + + + + Could not rename directory %1 to %2. + + + + + Could not delete directory %1. + + + + + Error executing update command: %1 +Error message: %2 + + + + + An error occurred while downloading updates: %1. Updating aborted. + + + + diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_ru.qm b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_ru.qm new file mode 100644 index 0000000..0b3d737 Binary files /dev/null and b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_ru.qm differ diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_ru.ts b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_ru.ts new file mode 100644 index 0000000..6890ba9 --- /dev/null +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_ru.ts @@ -0,0 +1,1284 @@ + + + + + AbstractDb + + + + Cannot execute query on closed database. + Невозможно выполнить запрос при закрытой базе данных. + + + + Error attaching database %1: %2 + Ошибка во время присоединения базы данных %1: %2 + + + + BugReporter + + + Invalid login or password + Неправильный логин или пароль + + + + ChainExecutor + + + The database for executing queries was not defined. + chain executor + Не указана база данных для выполнения запросов. + + + + The database for executing queries was not open. + chain executor + Не открыта база данных для выполнения запросов. + + + + Could not start a database transaction. Details: %1 + chain executor + Невозможно начать транзакцию. Подробности: %1 + + + + Interrupted + chain executor + Прервано + + + + Could not commit a database transaction. Details: %1 + chain executor + Невозможно завершить транзакцию. Подробности: %1 + + + + CompletionHelper + + + New row reference + Новая ссылка на строку + + + + Old row reference + Старая ссылка на строку + + + + New table name + Новое имя таблицы + + + + New index name + Новое имя индекса + + + + New view name + + + + + New trigger name + Новое имя триггера + + + + Table or column alias + Псевдоним таблицы или столбца + + + + transaction name + имя транзакции + + + + New column name + Новое имя столбца + + + + Column data type + Тип данных столбца + + + + Constraint name + Имя ограничения + + + + Error message + Сообщение об ошибке + + + + Collation name + Имя сравнения + + + + Any word + Любое слово + + + + Default database + База данных по умолчанию + + + + Temporary objects database + База данных временных объектов + + + + DbManagerImpl + + + Could not add database %1: %2 + Не удалось добавить базу данных %1: %2 + + + + Database %1 could not be updated, because of an error: %2 + Невозможно обновить базу данных %1 из-за ошибки: %2 + + + + + Database file doesn't exist. + Файл базы данных не существует. + + + + + + No supporting plugin loaded. + Unclear error string. Checking the source didn't help. + Модуль поддержки не загружен. + + + + Database could not be initialized. + Невозможно инициализировать базу данных. + + + + No suitable database driver plugin found. + Не найден подходящий драйвер базы данных. + + + + DbObjectOrganizer + + + + Error while creating table in target database: %1 + Ошибка при создании таблицы в целевой базе данных: %1 + + + + Could not parse table. + Невозможно проанализировать структуру таблицы. + + + + Database %1 could not be attached to database %2, so the data of table %3 will be copied with SQLiteStudio as a mediator. This method can be slow for huge tables, so please be patient. + Невозможно присоединить базу данных %1 к базе данных %2, поэтому данные таблицы %3 будут скопированы при посредничестве SQLiteStudio. Этот метод может быть медленным для больших таблиц, так что наберитесь терпения. + + + + Error while copying data for table %1: %2 + Ошибка при копировании данных из таблицы %1: %2 + + + + + + Error while copying data to table %1: %2 + Ошибка при копировании данных в таблицу %1: %2 + + + + Error while dropping source view %1: %2 +Tables, indexes, triggers and views copied to database %3 will remain. + Ошибка при удалении исходного представления %1: %2 +Таблицы, индексы, триггеры и представления, скопированные в базу данных %3, сохранятся. + + + + Error while creating view in target database: %1 + Ошибка при создании представления в целевой базе данных: %1 + + + + Error while creating index in target database: %1 + Ошибка при создании индекса в целевой базе данных: %1 + + + + Error while creating trigger in target database: %1 + Ошибка при создании триггера в целевой базе данных: %1 + + + + DbVersionConverter + + + Target file exists, but could not be overwritten. + Целевой файл существует, но не может быть перезаписан. + + + + Could not find proper database plugin to create target database. + Невозможно найти подходящий модуль для создания целевой базы данных. + + + + Error while converting database: %1 + Ошибка при конвертации базы данных: %1 + + + + DdlHistoryModel + + + Database name + ddl history header + Имя базы данных + + + + Database file + ddl history header + Файл базы данных + + + + Date of execution + ddl history header + Дата выполнения + + + + Changes + ddl history header + Изменения + + + + ExportManager + + + Export plugin %1 doesn't support exporing query results. + Модуль экспорта %1 не поддерживает экспорт результатов запроса. + + + + Export plugin %1 doesn't support exporing tables. + Модуль экспорта %1 не поддерживает экспорт таблиц. + + + + Export plugin %1 doesn't support exporing databases. + Модуль экспорта %1 не поддерживает экспорт баз данных. + + + + Export format '%1' is not supported. Supported formats are: %2. + Формат экспорта %1 не поддерживается. Поддерживаемые форматы: %2 + + + + Export to the clipboard was successful. + Экспорт в буфер обмена успешно выполнен. + + + + Export to the file '%1' was successful. + Экспорт в файл %1 успешно выполнен. + + + + Export was successful. + Экспорт успешно выполнен. + + + + Could not export to file %1. File cannot be open for writting. + Невозможно выполнить экспорт в файл %1. Не удалось открыть файл для записи. + + + + ExportWorker + + + Error while exporting query results: %1 + Ошибка при экспорте результатов запроса: %1 + + + + Error while counting data column width to export from query results: %1 + Ошибка при подсчёте ширины столбца данных для экспорта результатов запроса: %1 + + + + + Could not parse %1 in order to export it. It will be excluded from the export output. + Невозможно проанализировать структуру %1. Данный объект будет исключён при выполнении экспорта. + + + + Error while reading data to export from table %1: %2 + Ошибка при считывании данных для экспорта из таблицы %1: %2 + + + + Error while counting data to export from table %1: %2 + Ошибка при подсчёте количества данных для экспорта из таблицы %1: %2 + + + + Error while counting data column width to export from table %1: %2 + Ошибка при подсчёте ширины столбца данных для экспорта из таблицы %1: %2 + + + + FunctionManagerImpl + + + Invalid number of arguments to function '%1'. Expected %2, but got %3. + Неверное количество аргументов для функции '%1'. Ожидаемое количество: %2, передано: %3. + + + + No such function registered in SQLiteStudio: %1(%2) + Функция не зарегистрирована в SQLiteStudio: %1(%2) + + + + Function %1(%2) was registered with language %3, but the plugin supporting that language is not currently loaded. + Функция %1(%2) зарегистрирована для языка %3, однако модуль поддержки этого языка на данный момент не загружен. + + + + Invalid regular expression pattern: %1 + Неверный шаблон регулярного выражения: %1 + + + + + Could not open file %1 for reading: %2 + Невозможно открыть файл %1 для чтения: %2 + + + + Could not open file %1 for writting: %2 + Невозможно открыть файл %1 для записи: %2 + + + + Error while writting to file %1: %2 + Ошибка при записи в файл %1: %2 + + + + Unsupported scripting language: %1 + Неподдерживаемый скриптовый язык: %1 + + + + GenericExportPlugin + + + Could not initialize text codec for exporting. Using default codec: %1 + Невозможно инициализировать текстовый кодек для экспорта. Используется кодек по умолчанию: %1 + + + + ImportManager + + + Imported data to the table '%1' successfully. + Импорт данных в таблицу '%1' выполнен успешно. + + + + ImportWorker + + + No columns provided by the import plugin. + Модуль импорта не обнаружил ни одного столбца. + + + + Could not start transaction in order to import a data: %1 + Невозможно начать транзакцию для импорта данных: %1 + + + + Could not commit transaction for imported data: %1 + Невозможно завершить транзакцию для импортированных данных: %1 + + + + Table '%1' has less columns than there are columns in the data to be imported. Excessive data columns will be ignored. + В таблице '%1' столбцов меньше, чем в импортируемых данных. Лишние столбцы будут проигнорированы. + + + + Table '%1' has more columns than there are columns in the data to be imported. Some columns in the table will be left empty. + В таблице '%1' столбцов больше, чем в импортируемых данных. Недостающие столбцы будут оставлены пустыми. + + + + Could not create table to import to: %1 + Невозможно создать таблицу для импорта: %1 + + + + + + Error while importing data: %1 + Ошибка при импорте данных: %1 + + + + + Interrupted. + import process status update + Прервано. + + + + PluginManagerImpl + + + Cannot load plugin %1, because it's in conflict with plugin %2. + Невозможно загрузить модуль %1, так как он конфликтует с модулем %2. + + + + Cannot load plugin %1, because its dependency was not loaded: %2. + Невозможно загрузить модуль %1, так как не загружен необходимый ему модуль: %2. + + + + Cannot load plugin %1. Error details: %2 + Невозможно загрузить модуль %1. Подробности ошибки: %2 + + + + Cannot load plugin %1 (error while initializing plugin). + Невозможно загрузить модуль %1 (ошибка при инициализации модуля). + + + + min: %1 + plugin dependency version + минимальная: %1 + + + + max: %1 + plugin dependency version + максимальная: %1 + + + + PopulateConstant + + + Constant + populate constant plugin name + Константа + + + + PopulateConstantConfig + + + Constant value: + Значение константы: + + + + PopulateDictionary + + + Dictionary + dictionary populating plugin name + Словарь + + + + PopulateDictionaryConfig + + + Dictionary file + Файл словаря + + + + Pick dictionary file + Выберите файл словаря + + + + Word separator + Разделитель слов + + + + Whitespace + Пробел + + + + Line break + Перенос строки + + + + Method of using words + Способ использования слов + + + + Ordered + По порядку + + + + Randomly + Случайным образом + + + + PopulateManager + + + Table '%1' populated successfully. + Таблица '%1' успешно заполнена. + + + + PopulateRandom + + + Random number + Случайное число + + + + PopulateRandomConfig + + + Constant prefix + Префикс константы + + + + No prefix + Без префикса + + + + Minimum value + Минимальное значение + + + + Maximum value + Максимальное значение + + + + Constant suffix + Суффикс константы + + + + No suffix + Без суффикса + + + + PopulateRandomText + + + Random text + Случайный текст + + + + PopulateRandomTextConfig + + + Use characters from common sets: + Использовать символы из стандартных наборов: + + + + Minimum length + Минимальная длина + + + + Letters from a to z. + Буквы от a до z. + + + + Alpha + Буквенный + + + + Numbers from 0 to 9. + Цифры от 0 до 9. + + + + Numeric + Цифровой + + + + A whitespace, a tab and a new line character. + Пробел, табуляция и символ переноса строки. + + + + Whitespace + Непечатаемые символы + + + + Includes all above and all others. + Включает все вышеперечисленные и все остальные. + + + + Binary + Бинарный + + + + Use characters from my custom set: + Использовать символы из моего набора: + + + + Maximum length + Максимальная длина + + + + If you type some character multiple times, it's more likely to be used. + При указании одного символа несколько раз, вероятность его использования увеличивается. + + + + PopulateScript + + + Script + Скрипт + + + + PopulateScriptConfig + + + Initialization code (optional) + Инициализирующий код (необязательно) + + + + Per step code + Код для каждого шага + + + + Language + Язык + + + + Help + Помощь + + + + PopulateSequence + + + Sequence + Последовательность + + + + PopulateSequenceConfig + + + Start value: + Начальное значение: + + + + Step: + Шаг: + + + + PopulateWorker + + + Could not start transaction in order to perform table populating. Error details: %1 + Невозможно начать транзакцию для заполнения таблицы. Подробности ошибки: %1 + + + + Error while populating table: %1 + Ошибка при заполнении таблицы: %1 + + + + Could not commit transaction after table populating. Error details: %1 + Невозможно завершить транзакцию после заполнения таблицы. Подробности ошибки: %1 + + + + QObject + + + + Could not open database: %1 + Невозможно открыть базу данных: %1 + + + + + Result set expired or no row available. + Результирующая выборка устарела или ни одна строка не доступна. + + + + Could not close database: %1 + Невозможно закрыть базу данных: %1 + + + + + + + + + + SQLite %1 does not support '%2' statement. + SQLite %1 не поддерживает конструкцию '%2'. + + + + SQLite %1 does not support '%2' statement, but the regular table can be created instead if you proceed. + SQLite %1 не поддерживает конструкцию '%2', однако можно создать обычную таблицу, если вы продолжите. + + + + Could not parse statement: %1 +Error details: %2 + Невозможно проанализировать структуру конструкции: %1 Подробности ошибки: %2 + + + + + + + SQLite %1 does not support the '%2' clause. Cannot convert '%3' statement with that clause. + SQLite %1 не поддерживает оператор '%2'. Невозможно сконвертировать конструкцию '%3' с этим оператором. + + + + SQLite %1 does not support the '%2' clause in the '%3' statement. + SQLite %1 не поддерживает оператор '%2' в конструкции '%3'. + + + + SQLite %1 does not support current date or time clauses in expressions. + SQLite %1 не поддерживает операторы текущей даты и текущего времени в выражениях. + + + + + + SQLite %1 does not support '%2' clause in expressions. + SQLite %1 не поддерживает оператор '%2' в выражениях. + + + + Could not attach database %1: %2 + Не удалось присоединить базу данных %1: %2 + + + + + Incomplete query. + Незавершённый запрос. + + + + + Parser stack overflow + Переполнение стека анализатора + + + + + Syntax error + Синтаксическая ошибка + + + + Could not open dictionary file %1 for reading. + Невозможно открыть файл словаря %1 для чтения. + + + + Dictionary file must exist and be readable. + Файл словаря должен существовать и быть доступным для чтения. + + + + Maximum value cannot be less than minimum value. + Максимальное значение не может быть меньше минимального. + + + + Maximum length cannot be less than minimum length. + Максимальная длина не может быть меньше минимальной. + + + + Custom character set cannot be empty. + Произвольный набор символов не может быть пустым. + + + + Could not find plugin to support scripting language: %1 + Невозможно найти модуль поддержки скриптового языка: %1 + + + + Error while executing populating initial code: %1 + Ошибка при выполнении инициализирующего кода заполнения: %1 + + + + Error while executing populating code: %1 + Ошибка при выполнении кода заполнения: %1 + + + + Select implementation language. + Выберите язык реализации. + + + + Implementation code cannot be empty. + Заполняющий код не может быть пустым. + + + + Could not resolve data source for column: %1 + Невозможно определить источник данных для столбца: %1 + + + + Could not initialize configuration file. Any configuration changes and queries history will be lost after application restart. Tried to initialize the file at following localizations: %1. + Невозможно инициализировать файл конфигурации. Любые изменения конфигурации и история запросов будут утеряны после перезапуска приложения. Попытки инициализации файла предпринимались в следующих местах: %1. + + + + General purpose + plugin category name + Общего назначения + + + + Database support + plugin category name + Поддержка баз данных + + + + Code formatter + plugin category name + Форматирование кода + + + + Scripting languages + plugin category name + Скриптовые языки + + + + Exporting + plugin category name + Экспорт + + + + Importing + plugin category name + Импорт + + + + Table populating + plugin category name + Заполнение таблиц + + + + Table %1 is referencing table %2, but the foreign key definition will not be updated for new table definition due to problems while parsing DDL of the table %3. + Таблица %1 ссылается на таблицу %2, но описание внешнего ключа не будет обновлено для описания новой таблицы из-за проблем с анализом DDL таблицы %3. + + + + All columns indexed by the index %1 are gone. The index will not be recreated after table modification. + Все столбцы, проиндексированные индексом %1, удалены. Индекс не будет воссоздан после модификации таблицы. + + + + There is problem with proper processing trigger %1. It may be not fully updated afterwards and will need your attention. + + + + + Cannot not update trigger %1 according to table %2 modification. + Невозможно обновить триггер %1 в соответствии с модификацией таблицы %2. + + + + All columns covered by the trigger %1 are gone. The trigger will not be recreated after table modification. + Все столбцы, затронутые в триггере %1, удалены. Триггер не будет воссоздан после модификации таблицы. + + + + Cannot not update view %1 according to table %2 modifications. +The view will remain as it is. + Невозможно обновить представление %1 в соответствии с модификациями таблицы %2. +Представление останется как есть. + + + + + + There is a problem with updating an %1 statement within %2 trigger. One of the SELECT substatements which might be referring to table %3 cannot be properly modified. Manual update of the trigger may be necessary. + Возникла проблема при обновлении конструкции %1 внутри триггера %2. Одна из вложенных конструкций SELECT, которая возможно ссылается на таблицу %3, не может быть корректно модифицирована. Возможно необходима ручная правка триггера. + + + + Could not parse DDL of the view to be created. Details: %1 + Невозможно проанализировать DDL создаваемого представления. Подробности: %1 + + + + Parsed query is not CREATE VIEW. It's: %1 + Проанализированный запрос не является запросом CREATE VIEW. Тип запроса: %1 + + + + SQLiteStudio was unable to resolve columns returned by the new view, therefore it won't be able to tell which triggers might fail during the recreation process. + SQLiteStudio не удалось определить столбцы, возвращаемые новым представлением, поэтому невозможно указать, какие триггеры могут сломаться в процессе воссоздания. + + + + QueryExecutor + + + Execution interrupted. + Выполнение прервано. + + + + Database is not open. + База данных не открыта. + + + + Only one query can be executed simultaneously. + Одновременно может быть выполнен только один запрос. + + + + + An error occured while executing the count(*) query, thus data paging will be disabled. Error details from the database: %1 + Возникла ошибка при выполнении запроса count(*), поэтому разбивка данных по страницам отключена. Детали ошибки из базы данных: %1 + + + + SQLiteStudio was unable to extract metadata from the query. Results won't be editable. + SQLiteStudio не удалось извлечь метаданные из запроса. Результаты нельзя будет редактировать. + + + + ScriptingQtDbProxy + + + No database available in current context, while called QtScript's %1 command. + При вызове команды QtScript %1 в текущем контексте нет доступных баз данных. + + + + Error from %1: %2 + Ошибка в команде %1: %2 + + + + SqlHistoryModel + + + Database + sql history header + База данных + + + + Execution date + sql history header + Дата выполнения + + + + Time spent + sql history header + Затраченное время + + + + Rows affected + sql history header + Затронуто строк + + + + SQL + sql history header + SQL + + + + UpdateManager + + + An error occurred while checking for updates: %1. + При проверке обновлений возникла ошибка: %1 + + + + Could not check available updates, because server responded with invalid message format. It is safe to ignore this warning. + Невозможно проверить наличие обновлений, так как ответ сервера имеет некорректный формат. Это предупреждение можно проигнорировать. + + + + An error occurred while reading updates metadata: %1. + При чтении метаданных об обновлениях возникла ошибка: %1 + + + + Could not download updates, because server responded with invalid message format. You can try again later or download and install updates manually. See <a href="%1">User Manual</a> for details. + Невозможно загрузить обновления, так как ответ сервера имеет некорректный формат. Вы можете попробовать снова позже или скачать и установить обновления вручную. Подробности смотрите в <a href="%1">Руководстве пользователя</a>. + + + + Could not create temporary directory for downloading the update. Updating aborted. + Невозможно создать временный каталог для загрузки обновления. Обновление прервано. + + + + There was no updates to download. Updating aborted. + Нет обновлений для загрузки. Обновление прервано. + + + + Downloading: %1 + Загрузка: %1 + + + + Could not determinate file name from update URL: %1. Updating aborted. + Невозможно определить имя файла из URL обновления. Обновление прервано. + + + + Failed to open file '%1' for writting: %2. Updating aborted. + Не удалось открыть файл %1 для записи: %2. Обновление прервано. + + + + Installing updates. + Установка обновлений. + + + + Could not copy current application directory into %1 directory. + Невозможно скопировать текущий каталог приложения в каталог %1. + + + + Could not create directory %1. + Невозможно создать каталог %1. + + + + Could not rename directory %1 to %2. +Details: %3 + Невозможно переименовать каталог %1 в %2. +Подробности: %3 + + + + Cannot not rename directory %1 to %2. +Details: %3 + Невозможно переименовать каталог %1 в %2. +Подробности: %3 + + + + Could not move directory %1 to %2 and also failed to restore original directory, so the original SQLiteStudio directory is now located at: %3 + Невозможно переместить каталог %1 в %2, а также не удалось восстановить оригинальный каталог, поэтому оригинальный каталог SQLiteStudio теперь расположен в: %3 + + + + Could not rename directory %1 to %2. Rolled back to the original SQLiteStudio version. + Невозможно переименовать каталог %1 в %2. Восстановлена изначальная версия SQLiteStudio. + + + + Could not unpack component %1 into %2 directory. + Невозможно распаковать компонент %1 в каталог %2. + + + + Could not find permissions elevator application to run update as a root. Looked for: %1 + Невозможно найти приложение повышения привилегий для запуска обновления с правами root. Были испробованы: %1 + + + + Could not execute final updating steps as root: %1 + Невозможно выполнить финальные шаги обновления с правами root: %1 + + + + + + + Could not execute final updating steps as admin: %1 + Невозможно выполнить финальные шаги обновления с правами администратора: %1 + + + + Cannot create temporary directory for updater. + Невозможно создать временный каталог для установщика обновлений. + + + + Cannot create updater script file. + Невозможно создать файл скрипта обновления. + + + + Updating canceled. + Обновление отменено. + + + + Could not execute final updating steps as administrator. + Невозможно выполнить финальные шаги обновления с правами администратора. + + + + Could not execute final updating steps as administrator. Updater startup timed out. + Невозможно выполнить финальные шаги обновления с правами администратора. Превышен тайм-аут запуска программы обновления. + + + + Could not execute final updating steps as administrator. Updater operation timed out. + Невозможно выполнить финальные шаги обновления с правами администратора. Превышен тайм-аут операции программы обновления. + + + + Could not clean up temporary directory %1. You can delete it manually at any time. + Невозможно очистить временный каталог %1. Вы можете удалить его вручную в любое время. + + + + Could not run new version for continuing update. + Невозможно запустить новую версию приложения для продолжения обновления. + + + + Package not in tar.gz format, cannot install: %1 + Пакет не в формате tar.gz, установка невозможна: %1 + + + + Package %1 cannot be installed, because cannot move it to directory: %2 + Пакет %1 не может быть установлен, так как невозможно перенести его в каталог: %2 + + + + Package %1 cannot be installed, because cannot unpack it: %2 + Пакет %1 не может быть установлен, так как его невозможно распаковать: %2 + + + + Package not in zip format, cannot install: %1 + Пакет не в формате zip, установка невозможна: %1 + + + + Package %1 cannot be installed, because cannot unzip it to directory %2: %3 + Пакет %1 не может быть установлен, так как его невозможно распаковать в каталог %2: %3 + + + + Package %1 cannot be installed, because cannot unzip it to directory: %2 + Пакет %1 не может быть установлен, так как его невозможно распаковать в каталог: %2 + + + + + Could not rename directory %1 to %2. + Невозможно переименовать каталог %1 в %2. + + + + Could not delete directory %1. + Невозможно удалить каталог %1. + + + + Error executing update command: %1 +Error message: %2 + Ошибка при выполнении команды обновления: %1 +Сообщение об ошибке: %2 + + + + An error occurred while downloading updates: %1. Updating aborted. + При загрузке обновлений произошла ошибка: %1. Обновление прервано. + + + diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.qm b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.qm differ diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.ts b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.ts new file mode 100644 index 0000000..497b7fe --- /dev/null +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_sk.ts @@ -0,0 +1,1278 @@ + + + + + AbstractDb + + + + Cannot execute query on closed database. + + + + + Error attaching database %1: %2 + + + + + BugReporter + + + Invalid login or password + + + + + ChainExecutor + + + The database for executing queries was not defined. + chain executor + + + + + The database for executing queries was not open. + chain executor + + + + + Could not start a database transaction. Details: %1 + chain executor + + + + + Interrupted + chain executor + + + + + Could not commit a database transaction. Details: %1 + chain executor + + + + + CompletionHelper + + + New row reference + + + + + Old row reference + + + + + New table name + + + + + New index name + + + + + New view name + + + + + New trigger name + + + + + Table or column alias + + + + + transaction name + + + + + New column name + + + + + Column data type + + + + + Constraint name + + + + + Error message + + + + + Collation name + + + + + Any word + + + + + Default database + + + + + Temporary objects database + + + + + DbManagerImpl + + + Could not add database %1: %2 + + + + + Database %1 could not be updated, because of an error: %2 + + + + + + Database file doesn't exist. + + + + + + + No supporting plugin loaded. + + + + + Database could not be initialized. + + + + + No suitable database driver plugin found. + + + + + DbObjectOrganizer + + + + Error while creating table in target database: %1 + + + + + Could not parse table. + + + + + Database %1 could not be attached to database %2, so the data of table %3 will be copied with SQLiteStudio as a mediator. This method can be slow for huge tables, so please be patient. + + + + + Error while copying data for table %1: %2 + + + + + + + Error while copying data to table %1: %2 + + + + + Error while dropping source view %1: %2 +Tables, indexes, triggers and views copied to database %3 will remain. + + + + + Error while creating view in target database: %1 + + + + + Error while creating index in target database: %1 + + + + + Error while creating trigger in target database: %1 + + + + + DbVersionConverter + + + Target file exists, but could not be overwritten. + + + + + Could not find proper database plugin to create target database. + + + + + Error while converting database: %1 + + + + + DdlHistoryModel + + + Database name + ddl history header + + + + + Database file + ddl history header + + + + + Date of execution + ddl history header + + + + + Changes + ddl history header + + + + + ExportManager + + + Export plugin %1 doesn't support exporing query results. + + + + + Export plugin %1 doesn't support exporing tables. + + + + + Export plugin %1 doesn't support exporing databases. + + + + + Export format '%1' is not supported. Supported formats are: %2. + + + + + Export to the clipboard was successful. + + + + + Export to the file '%1' was successful. + + + + + Export was successful. + + + + + Could not export to file %1. File cannot be open for writting. + + + + + ExportWorker + + + Error while exporting query results: %1 + + + + + Error while counting data column width to export from query results: %1 + + + + + + Could not parse %1 in order to export it. It will be excluded from the export output. + + + + + Error while reading data to export from table %1: %2 + + + + + Error while counting data to export from table %1: %2 + + + + + Error while counting data column width to export from table %1: %2 + + + + + FunctionManagerImpl + + + Invalid number of arguments to function '%1'. Expected %2, but got %3. + + + + + No such function registered in SQLiteStudio: %1(%2) + + + + + Function %1(%2) was registered with language %3, but the plugin supporting that language is not currently loaded. + + + + + Invalid regular expression pattern: %1 + + + + + + Could not open file %1 for reading: %2 + + + + + Could not open file %1 for writting: %2 + + + + + Error while writting to file %1: %2 + + + + + Unsupported scripting language: %1 + + + + + GenericExportPlugin + + + Could not initialize text codec for exporting. Using default codec: %1 + + + + + ImportManager + + + Imported data to the table '%1' successfully. + + + + + ImportWorker + + + No columns provided by the import plugin. + + + + + Could not start transaction in order to import a data: %1 + + + + + Could not commit transaction for imported data: %1 + + + + + Table '%1' has less columns than there are columns in the data to be imported. Excessive data columns will be ignored. + + + + + Table '%1' has more columns than there are columns in the data to be imported. Some columns in the table will be left empty. + + + + + Could not create table to import to: %1 + + + + + + + Error while importing data: %1 + + + + + + Interrupted. + import process status update + + + + + PluginManagerImpl + + + Cannot load plugin %1, because it's in conflict with plugin %2. + + + + + Cannot load plugin %1, because its dependency was not loaded: %2. + + + + + Cannot load plugin %1. Error details: %2 + + + + + Cannot load plugin %1 (error while initializing plugin). + + + + + min: %1 + plugin dependency version + + + + + max: %1 + plugin dependency version + + + + + PopulateConstant + + + Constant + populate constant plugin name + + + + + PopulateConstantConfig + + + Constant value: + + + + + PopulateDictionary + + + Dictionary + dictionary populating plugin name + + + + + PopulateDictionaryConfig + + + Dictionary file + + + + + Pick dictionary file + + + + + Word separator + + + + + Whitespace + + + + + Line break + + + + + Method of using words + + + + + Ordered + + + + + Randomly + + + + + PopulateManager + + + Table '%1' populated successfully. + + + + + PopulateRandom + + + Random number + + + + + PopulateRandomConfig + + + Constant prefix + + + + + No prefix + + + + + Minimum value + + + + + Maximum value + + + + + Constant suffix + + + + + No suffix + + + + + PopulateRandomText + + + Random text + + + + + PopulateRandomTextConfig + + + Use characters from common sets: + + + + + Minimum length + + + + + Letters from a to z. + + + + + Alpha + + + + + Numbers from 0 to 9. + + + + + Numeric + + + + + A whitespace, a tab and a new line character. + + + + + Whitespace + + + + + Includes all above and all others. + + + + + Binary + + + + + Use characters from my custom set: + + + + + Maximum length + + + + + If you type some character multiple times, it's more likely to be used. + + + + + PopulateScript + + + Script + + + + + PopulateScriptConfig + + + Initialization code (optional) + + + + + Per step code + + + + + Language + + + + + Help + + + + + PopulateSequence + + + Sequence + + + + + PopulateSequenceConfig + + + Start value: + + + + + Step: + + + + + PopulateWorker + + + Could not start transaction in order to perform table populating. Error details: %1 + + + + + Error while populating table: %1 + + + + + Could not commit transaction after table populating. Error details: %1 + + + + + QObject + + + + Could not open database: %1 + + + + + + Result set expired or no row available. + + + + + Could not close database: %1 + + + + + + + + + + + SQLite %1 does not support '%2' statement. + + + + + SQLite %1 does not support '%2' statement, but the regular table can be created instead if you proceed. + + + + + Could not parse statement: %1 +Error details: %2 + + + + + + + + SQLite %1 does not support the '%2' clause. Cannot convert '%3' statement with that clause. + + + + + SQLite %1 does not support the '%2' clause in the '%3' statement. + + + + + SQLite %1 does not support current date or time clauses in expressions. + + + + + + + SQLite %1 does not support '%2' clause in expressions. + + + + + Could not attach database %1: %2 + + + + + + Incomplete query. + + + + + + Parser stack overflow + + + + + + Syntax error + + + + + Could not open dictionary file %1 for reading. + + + + + Dictionary file must exist and be readable. + + + + + Maximum value cannot be less than minimum value. + + + + + Maximum length cannot be less than minimum length. + + + + + Custom character set cannot be empty. + + + + + Could not find plugin to support scripting language: %1 + + + + + Error while executing populating initial code: %1 + + + + + Error while executing populating code: %1 + + + + + Select implementation language. + + + + + Implementation code cannot be empty. + + + + + Could not resolve data source for column: %1 + + + + + Could not initialize configuration file. Any configuration changes and queries history will be lost after application restart. Tried to initialize the file at following localizations: %1. + + + + + General purpose + plugin category name + + + + + Database support + plugin category name + + + + + Code formatter + plugin category name + + + + + Scripting languages + plugin category name + + + + + Exporting + plugin category name + + + + + Importing + plugin category name + + + + + Table populating + plugin category name + + + + + Table %1 is referencing table %2, but the foreign key definition will not be updated for new table definition due to problems while parsing DDL of the table %3. + + + + + All columns indexed by the index %1 are gone. The index will not be recreated after table modification. + + + + + There is problem with proper processing trigger %1. It may be not fully updated afterwards and will need your attention. + + + + + Cannot not update trigger %1 according to table %2 modification. + + + + + All columns covered by the trigger %1 are gone. The trigger will not be recreated after table modification. + + + + + Cannot not update view %1 according to table %2 modifications. +The view will remain as it is. + + + + + + + There is a problem with updating an %1 statement within %2 trigger. One of the SELECT substatements which might be referring to table %3 cannot be properly modified. Manual update of the trigger may be necessary. + + + + + Could not parse DDL of the view to be created. Details: %1 + + + + + Parsed query is not CREATE VIEW. It's: %1 + + + + + SQLiteStudio was unable to resolve columns returned by the new view, therefore it won't be able to tell which triggers might fail during the recreation process. + + + + + QueryExecutor + + + Execution interrupted. + + + + + Database is not open. + + + + + Only one query can be executed simultaneously. + + + + + + An error occured while executing the count(*) query, thus data paging will be disabled. Error details from the database: %1 + + + + + SQLiteStudio was unable to extract metadata from the query. Results won't be editable. + + + + + ScriptingQtDbProxy + + + No database available in current context, while called QtScript's %1 command. + + + + + Error from %1: %2 + + + + + SqlHistoryModel + + + Database + sql history header + + + + + Execution date + sql history header + + + + + Time spent + sql history header + + + + + Rows affected + sql history header + + + + + SQL + sql history header + + + + + UpdateManager + + + An error occurred while checking for updates: %1. + + + + + Could not check available updates, because server responded with invalid message format. It is safe to ignore this warning. + + + + + An error occurred while reading updates metadata: %1. + + + + + Could not download updates, because server responded with invalid message format. You can try again later or download and install updates manually. See <a href="%1">User Manual</a> for details. + + + + + Could not create temporary directory for downloading the update. Updating aborted. + + + + + There was no updates to download. Updating aborted. + + + + + Downloading: %1 + + + + + Could not determinate file name from update URL: %1. Updating aborted. + + + + + Failed to open file '%1' for writting: %2. Updating aborted. + + + + + Installing updates. + + + + + Could not copy current application directory into %1 directory. + + + + + Could not create directory %1. + + + + + Could not rename directory %1 to %2. +Details: %3 + + + + + Cannot not rename directory %1 to %2. +Details: %3 + + + + + Could not move directory %1 to %2 and also failed to restore original directory, so the original SQLiteStudio directory is now located at: %3 + + + + + Could not rename directory %1 to %2. Rolled back to the original SQLiteStudio version. + + + + + Could not unpack component %1 into %2 directory. + + + + + Could not find permissions elevator application to run update as a root. Looked for: %1 + + + + + Could not execute final updating steps as root: %1 + + + + + + + + Could not execute final updating steps as admin: %1 + + + + + Cannot create temporary directory for updater. + + + + + Cannot create updater script file. + + + + + Updating canceled. + + + + + Could not execute final updating steps as administrator. + + + + + Could not execute final updating steps as administrator. Updater startup timed out. + + + + + Could not execute final updating steps as administrator. Updater operation timed out. + + + + + Could not clean up temporary directory %1. You can delete it manually at any time. + + + + + Could not run new version for continuing update. + + + + + Package not in tar.gz format, cannot install: %1 + + + + + Package %1 cannot be installed, because cannot move it to directory: %2 + + + + + Package %1 cannot be installed, because cannot unpack it: %2 + + + + + Package not in zip format, cannot install: %1 + + + + + Package %1 cannot be installed, because cannot unzip it to directory %2: %3 + + + + + Package %1 cannot be installed, because cannot unzip it to directory: %2 + + + + + + Could not rename directory %1 to %2. + + + + + Could not delete directory %1. + + + + + Error executing update command: %1 +Error message: %2 + + + + + An error occurred while downloading updates: %1. Updating aborted. + + + + diff --git a/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_zh_CN.qm b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/SQLiteStudio3/coreSQLiteStudio/translations/coreSQLiteStudio_zh_CN.qm @@ -0,0 +1 @@ + + + + + AbstractDb + + + + Cannot execute query on closed database. + + + + + Error attaching database %1: %2 + + + + + BugReporter + + + Invalid login or password + + + + + ChainExecutor + + + The database for executing queries was not defined. + chain executor + + + + + The database for executing queries was not open. + chain executor + + + + + Could not start a database transaction. Details: %1 + chain executor + + + + + Interrupted + chain executor + + + + + Could not commit a database transaction. Details: %1 + chain executor + + + + + CompletionHelper + + + New row reference + + + + + Old row reference + + + + + New table name + + + + + New index name + + + + + New view name + + + + + New trigger name + + + + + Table or column alias + + + + + transaction name + + + + + New column name + + + + + Column data type + + + + + Constraint name + + + + + Error message + + + + + Collation name + + + + + Any word + + + + + Default database + + + + + Temporary objects database + + + + + DbManagerImpl + + + Could not add database %1: %2 + + + + + Database %1 could not be updated, because of an error: %2 + + + + + + Database file doesn't exist. + + + + + + + No supporting plugin loaded. + + + + + Database could not be initialized. + + + + + No suitable database driver plugin found. + + + + + DbObjectOrganizer + + + + Error while creating table in target database: %1 + + + + + Could not parse table. + + + + + Database %1 could not be attached to database %2, so the data of table %3 will be copied with SQLiteStudio as a mediator. This method can be slow for huge tables, so please be patient. + + + + + Error while copying data for table %1: %2 + + + + + + + Error while copying data to table %1: %2 + + + + + Error while dropping source view %1: %2 +Tables, indexes, triggers and views copied to database %3 will remain. + + + + + Error while creating view in target database: %1 + + + + + Error while creating index in target database: %1 + + + + + Error while creating trigger in target database: %1 + + + + + DbVersionConverter + + + Target file exists, but could not be overwritten. + + + + + Could not find proper database plugin to create target database. + + + + + Error while converting database: %1 + + + + + DdlHistoryModel + + + Database name + ddl history header + + + + + Database file + ddl history header + + + + + Date of execution + ddl history header + + + + + Changes + ddl history header + + + + + ExportManager + + + Export plugin %1 doesn't support exporing query results. + + + + + Export plugin %1 doesn't support exporing tables. + + + + + Export plugin %1 doesn't support exporing databases. + + + + + Export format '%1' is not supported. Supported formats are: %2. + + + + + Export to the clipboard was successful. + + + + + Export to the file '%1' was successful. + + + + + Export was successful. + + + + + Could not export to file %1. File cannot be open for writting. + + + + + ExportWorker + + + Error while exporting query results: %1 + + + + + Error while counting data column width to export from query results: %1 + + + + + + Could not parse %1 in order to export it. It will be excluded from the export output. + + + + + Error while reading data to export from table %1: %2 + + + + + Error while counting data to export from table %1: %2 + + + + + Error while counting data column width to export from table %1: %2 + + + + + FunctionManagerImpl + + + Invalid number of arguments to function '%1'. Expected %2, but got %3. + + + + + No such function registered in SQLiteStudio: %1(%2) + + + + + Function %1(%2) was registered with language %3, but the plugin supporting that language is not currently loaded. + + + + + Invalid regular expression pattern: %1 + + + + + + Could not open file %1 for reading: %2 + + + + + Could not open file %1 for writting: %2 + + + + + Error while writting to file %1: %2 + + + + + Unsupported scripting language: %1 + + + + + GenericExportPlugin + + + Could not initialize text codec for exporting. Using default codec: %1 + + + + + ImportManager + + + Imported data to the table '%1' successfully. + + + + + ImportWorker + + + No columns provided by the import plugin. + + + + + Could not start transaction in order to import a data: %1 + + + + + Could not commit transaction for imported data: %1 + + + + + Table '%1' has less columns than there are columns in the data to be imported. Excessive data columns will be ignored. + + + + + Table '%1' has more columns than there are columns in the data to be imported. Some columns in the table will be left empty. + + + + + Could not create table to import to: %1 + + + + + + + Error while importing data: %1 + + + + + + Interrupted. + import process status update + + + + + PluginManagerImpl + + + Cannot load plugin %1, because it's in conflict with plugin %2. + + + + + Cannot load plugin %1, because its dependency was not loaded: %2. + + + + + Cannot load plugin %1. Error details: %2 + + + + + Cannot load plugin %1 (error while initializing plugin). + + + + + min: %1 + plugin dependency version + + + + + max: %1 + plugin dependency version + + + + + PopulateConstant + + + Constant + populate constant plugin name + + + + + PopulateConstantConfig + + + Constant value: + + + + + PopulateDictionary + + + Dictionary + dictionary populating plugin name + + + + + PopulateDictionaryConfig + + + Dictionary file + + + + + Pick dictionary file + + + + + Word separator + + + + + Whitespace + + + + + Line break + + + + + Method of using words + + + + + Ordered + + + + + Randomly + + + + + PopulateManager + + + Table '%1' populated successfully. + + + + + PopulateRandom + + + Random number + + + + + PopulateRandomConfig + + + Constant prefix + + + + + No prefix + + + + + Minimum value + + + + + Maximum value + + + + + Constant suffix + + + + + No suffix + + + + + PopulateRandomText + + + Random text + + + + + PopulateRandomTextConfig + + + Use characters from common sets: + + + + + Minimum length + + + + + Letters from a to z. + + + + + Alpha + + + + + Numbers from 0 to 9. + + + + + Numeric + + + + + A whitespace, a tab and a new line character. + + + + + Whitespace + + + + + Includes all above and all others. + + + + + Binary + + + + + Use characters from my custom set: + + + + + Maximum length + + + + + If you type some character multiple times, it's more likely to be used. + + + + + PopulateScript + + + Script + + + + + PopulateScriptConfig + + + Initialization code (optional) + + + + + Per step code + + + + + Language + + + + + Help + + + + + PopulateSequence + + + Sequence + + + + + PopulateSequenceConfig + + + Start value: + + + + + Step: + + + + + PopulateWorker + + + Could not start transaction in order to perform table populating. Error details: %1 + + + + + Error while populating table: %1 + + + + + Could not commit transaction after table populating. Error details: %1 + + + + + QObject + + + + Could not open database: %1 + + + + + + Result set expired or no row available. + + + + + Could not close database: %1 + + + + + + + + + + + SQLite %1 does not support '%2' statement. + + + + + SQLite %1 does not support '%2' statement, but the regular table can be created instead if you proceed. + + + + + Could not parse statement: %1 +Error details: %2 + + + + + + + + SQLite %1 does not support the '%2' clause. Cannot convert '%3' statement with that clause. + + + + + SQLite %1 does not support the '%2' clause in the '%3' statement. + + + + + SQLite %1 does not support current date or time clauses in expressions. + + + + + + + SQLite %1 does not support '%2' clause in expressions. + + + + + Could not attach database %1: %2 + + + + + + Incomplete query. + + + + + + Parser stack overflow + + + + + + Syntax error + + + + + Could not open dictionary file %1 for reading. + + + + + Dictionary file must exist and be readable. + + + + + Maximum value cannot be less than minimum value. + + + + + Maximum length cannot be less than minimum length. + + + + + Custom character set cannot be empty. + + + + + Could not find plugin to support scripting language: %1 + + + + + Error while executing populating initial code: %1 + + + + + Error while executing populating code: %1 + + + + + Select implementation language. + + + + + Implementation code cannot be empty. + + + + + Could not resolve data source for column: %1 + + + + + Could not initialize configuration file. Any configuration changes and queries history will be lost after application restart. Tried to initialize the file at following localizations: %1. + + + + + General purpose + plugin category name + + + + + Database support + plugin category name + + + + + Code formatter + plugin category name + + + + + Scripting languages + plugin category name + + + + + Exporting + plugin category name + + + + + Importing + plugin category name + + + + + Table populating + plugin category name + + + + + Table %1 is referencing table %2, but the foreign key definition will not be updated for new table definition due to problems while parsing DDL of the table %3. + + + + + All columns indexed by the index %1 are gone. The index will not be recreated after table modification. + + + + + There is problem with proper processing trigger %1. It may be not fully updated afterwards and will need your attention. + + + + + Cannot not update trigger %1 according to table %2 modification. + + + + + All columns covered by the trigger %1 are gone. The trigger will not be recreated after table modification. + + + + + Cannot not update view %1 according to table %2 modifications. +The view will remain as it is. + + + + + + + There is a problem with updating an %1 statement within %2 trigger. One of the SELECT substatements which might be referring to table %3 cannot be properly modified. Manual update of the trigger may be necessary. + + + + + Could not parse DDL of the view to be created. Details: %1 + + + + + Parsed query is not CREATE VIEW. It's: %1 + + + + + SQLiteStudio was unable to resolve columns returned by the new view, therefore it won't be able to tell which triggers might fail during the recreation process. + + + + + QueryExecutor + + + Execution interrupted. + + + + + Database is not open. + + + + + Only one query can be executed simultaneously. + + + + + + An error occured while executing the count(*) query, thus data paging will be disabled. Error details from the database: %1 + + + + + SQLiteStudio was unable to extract metadata from the query. Results won't be editable. + + + + + ScriptingQtDbProxy + + + No database available in current context, while called QtScript's %1 command. + + + + + Error from %1: %2 + + + + + SqlHistoryModel + + + Database + sql history header + + + + + Execution date + sql history header + + + + + Time spent + sql history header + + + + + Rows affected + sql history header + + + + + SQL + sql history header + + + + + UpdateManager + + + An error occurred while checking for updates: %1. + + + + + Could not check available updates, because server responded with invalid message format. It is safe to ignore this warning. + + + + + An error occurred while reading updates metadata: %1. + + + + + Could not download updates, because server responded with invalid message format. You can try again later or download and install updates manually. See <a href="%1">User Manual</a> for details. + + + + + Could not create temporary directory for downloading the update. Updating aborted. + + + + + There was no updates to download. Updating aborted. + + + + + Downloading: %1 + + + + + Could not determinate file name from update URL: %1. Updating aborted. + + + + + Failed to open file '%1' for writting: %2. Updating aborted. + + + + + Installing updates. + + + + + Could not copy current application directory into %1 directory. + + + + + Could not create directory %1. + + + + + Could not rename directory %1 to %2. +Details: %3 + + + + + Cannot not rename directory %1 to %2. +Details: %3 + + + + + Could not move directory %1 to %2 and also failed to restore original directory, so the original SQLiteStudio directory is now located at: %3 + + + + + Could not rename directory %1 to %2. Rolled back to the original SQLiteStudio version. + + + + + Could not unpack component %1 into %2 directory. + + + + + Could not find permissions elevator application to run update as a root. Looked for: %1 + + + + + Could not execute final updating steps as root: %1 + + + + + + + + Could not execute final updating steps as admin: %1 + + + + + Cannot create temporary directory for updater. + + + + + Cannot create updater script file. + + + + + Updating canceled. + + + + + Could not execute final updating steps as administrator. + + + + + Could not execute final updating steps as administrator. Updater startup timed out. + + + + + Could not execute final updating steps as administrator. Updater operation timed out. + + + + + Could not clean up temporary directory %1. You can delete it manually at any time. + + + + + Could not run new version for continuing update. + + + + + Package not in tar.gz format, cannot install: %1 + + + + + Package %1 cannot be installed, because cannot move it to directory: %2 + + + + + Package %1 cannot be installed, because cannot unpack it: %2 + + + + + Package not in zip format, cannot install: %1 + + + + + Package %1 cannot be installed, because cannot unzip it to directory %2: %3 + + + + + Package %1 cannot be installed, because cannot unzip it to directory: %2 + + + + + + Could not rename directory %1 to %2. + + + + + Could not delete directory %1. + + + + + Error executing update command: %1 +Error message: %2 + + + + + An error occurred while downloading updates: %1. Updating aborted. + + + + diff --git a/SQLiteStudio3/create_linux_portable.sh b/SQLiteStudio3/create_linux_portable.sh index 8b7b8fe..3bcb87d 100644 --- a/SQLiteStudio3/create_linux_portable.sh +++ b/SQLiteStudio3/create_linux_portable.sh @@ -9,7 +9,7 @@ if [ "$#" -lt 2 ] || [ "$#" -gt 3 ]; then exit 1 fi -if [ "$#" -eq 3 ] && [ "$3" != "tgz" ] && [ "$3" != "dist" ]; then +if [ "$#" -eq 3 ] && [ "$3" != "tgz" ] && [ "$3" != "dist" ] && [ "$3" != "dist_plugins" ]; then printUsage exit 1 fi @@ -106,31 +106,33 @@ VERSION=`SQLiteStudio/sqlitestudiocli -v | awk '{print $2}'` if [ "$3" == "tgz" ]; then tar cf sqlitestudio-$VERSION.tar SQLiteStudio xz -z sqlitestudio-$VERSION.tar -elif [ "$3" == "dist" ]; then - # Complete - echo "Building complete package: sqlitestudio-$VERSION.tar.xz" - tar cf sqlitestudio-$VERSION.tar SQLiteStudio - xz -z sqlitestudio-$VERSION.tar +elif [ "$3" == "dist" ] || [ "$3" == "dist_plugins" ]; then + if [ "$3" == "dist" ]; then + # Complete + echo "Building complete package: sqlitestudio-$VERSION.tar.xz" + tar cf sqlitestudio-$VERSION.tar SQLiteStudio + xz -z sqlitestudio-$VERSION.tar - # App - echo "Building incremental update package: sqlitestudio-$VERSION.tar.gz" - cp -R SQLiteStudio app - cd app - rm -rf plugins - rm -f lib/libQ* - rm -rf iconengines - rm -rf imageformats - rm -rf platforms - rm -rf platformthemes - rm -rf printsupport - rm -f lib/libicu* - rm -f lib/libsqlite.so.0 ;# this is for SQLite 2 - find . -type l -exec rm -f {} \; - tar cf sqlitestudio-$VERSION.tar * - gzip -9 sqlitestudio-$VERSION.tar - mv sqlitestudio-$VERSION.tar.gz .. - cd .. - rm -rf app + # App + echo "Building incremental update package: sqlitestudio-$VERSION.tar.gz" + cp -R SQLiteStudio app + cd app + rm -rf plugins + rm -f lib/libQ* + rm -rf iconengines + rm -rf imageformats + rm -rf platforms + rm -rf platformthemes + rm -rf printsupport + rm -f lib/libicu* + rm -f lib/libsqlite.so.0 ;# this is for SQLite 2 + find . -type l -exec rm -f {} \; + tar cf sqlitestudio-$VERSION.tar * + gzip -9 sqlitestudio-$VERSION.tar + mv sqlitestudio-$VERSION.tar.gz .. + cd .. + rm -rf app + fi # Plugins mkdir plugins diff --git a/SQLiteStudio3/create_macosx_bundle.sh b/SQLiteStudio3/create_macosx_bundle.sh index eb7d537..bdad545 100755 --- a/SQLiteStudio3/create_macosx_bundle.sh +++ b/SQLiteStudio3/create_macosx_bundle.sh @@ -9,7 +9,7 @@ if [ "$#" -lt 2 ] || [ "$#" -gt 3 ]; then exit 1 fi -if [ "$#" -eq 3 ] && [ "$3" != "dmg" ] && [ "$3" != "dist" ]; then +if [ "$#" -eq 3 ] && [ "$3" != "dmg" ] && [ "$3" != "dist" ] && [ "$3" != "dist_plugins" ]; then printUsage exit 1 fi @@ -46,26 +46,30 @@ cp -RP ../../../lib/*.dylib SQLiteStudio.app/Contents/Frameworks if [ "$3" == "dmg" ]; then $qt_deploy_bin SQLiteStudio.app -dmg -elif [ "$3" == "dist" ]; then - $qt_deploy_bin SQLiteStudio.app -dmg - - cd $1/SQLiteStudio - VERSION=`SQLiteStudio.app/Contents/MacOS/sqlitestudiocli -v | awk '{print $2}'` - - mv SQLiteStudio.dmg sqlitestudio-$VERSION.dmg - - # App - echo "Building incremental update package: sqlitestudio-$VERSION.zip" - cp -R SQLiteStudio.app app - cd app/Contents - rm -rf PlugIns - rm -rf Frameworks/Qt*.framework - find Frameworks -type l -exec rm -f {} \; - cd .. - zip -r sqlitestudio-$VERSION.zip * - mv sqlitestudio-$VERSION.zip .. - cd .. - rm -rf app +elif [ "$3" == "dist" ] || [ "$3" == "dist_plugins" ]; then + if [ "$3" == "dist" ]; then + $qt_deploy_bin SQLiteStudio.app -dmg + + cd $1/SQLiteStudio + VERSION=`SQLiteStudio.app/Contents/MacOS/sqlitestudiocli -v | awk '{print $2}'` + + mv SQLiteStudio.dmg sqlitestudio-$VERSION.dmg + + # App + echo "Building incremental update package: sqlitestudio-$VERSION.zip" + cp -R SQLiteStudio.app app + cd app/Contents + rm -rf PlugIns + rm -rf Frameworks/Qt*.framework + find Frameworks -type l -exec rm -f {} \; + cd .. + zip -r sqlitestudio-$VERSION.zip * + mv sqlitestudio-$VERSION.zip .. + cd .. + rm -rf app + else + $qt_deploy_bin SQLiteStudio.app + fi # Plugins mkdir Contents Contents/PlugIns @@ -81,7 +85,6 @@ elif [ "$3" == "dist" ]; then rm -f Contents/PlugIns/* done rm -rf Contents - echo "Done." else $qt_deploy_bin SQLiteStudio.app diff --git a/SQLiteStudio3/create_win32_portable.bat b/SQLiteStudio3/create_win32_portable.bat index daf89d6..5602947 100644 --- a/SQLiteStudio3/create_win32_portable.bat +++ b/SQLiteStudio3/create_win32_portable.bat @@ -48,6 +48,7 @@ set QT_LIB_LIST=Qt5Core Qt5Gui Qt5Network Qt5PrintSupport Qt5Script Qt5Svg Qt5Wi for %%i in (%QT_LIB_LIST%) do ( copy "%%i.dll" %PORTABLE% > nul ) +copy qt.conf %PORTABLE% > nul mkdir %PORTABLE%\iconengines %PORTABLE%\imageformats %PORTABLE%\platforms %PORTABLE%\printsupport cd %QT_DIR%\..\plugins diff --git a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp index 15bf926..9d983a8 100644 --- a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp @@ -164,6 +164,18 @@ QAction* ExtActionContainer::getAction(int action) return actionMap.value(action); } +void ExtActionContainer::refreshShortcutTranslations() +{ + static const QString metaName = CFG_SHORTCUTS_METANAME; + for (CfgMain* cfgMain : CfgMain::getInstances()) + { + if (cfgMain->getMetaName() != metaName) + continue; + + cfgMain->translateTitle(); + } +} + void ExtActionContainer::handleActionInsert(int toolbar, ActionDetails* details) { if (details->position > -1 && !actionMap.contains(details->position)) diff --git a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h index 808af3e..b9dadb9 100644 --- a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h +++ b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h @@ -83,6 +83,8 @@ class GUI_API_EXPORT ExtActionContainer QAction* getAction(int action); virtual const QMetaObject* metaObject() const = 0; + static void refreshShortcutTranslations(); + template static void insertAction(ExtActionPrototype* action, int toolbar = -1); diff --git a/SQLiteStudio3/guiSQLiteStudio/constraints/columnnotnullpanel.cpp b/SQLiteStudio3/guiSQLiteStudio/constraints/columnnotnullpanel.cpp index 9da20db..5362a0e 100644 --- a/SQLiteStudio3/guiSQLiteStudio/constraints/columnnotnullpanel.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/constraints/columnnotnullpanel.cpp @@ -9,5 +9,5 @@ ColumnNotNullPanel::ColumnNotNullPanel(QWidget *parent) : void ColumnNotNullPanel::storeType() { SqliteCreateTable::Column::Constraint* constr = dynamic_cast(constraint.data()); - constr->type = SqliteCreateTable::Column::Constraint::UNIQUE; + constr->type = SqliteCreateTable::Column::Constraint::NOT_NULL; } diff --git a/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlqueryitem.cpp b/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlqueryitem.cpp index d631899..53227fd 100644 --- a/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlqueryitem.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlqueryitem.cpp @@ -213,14 +213,6 @@ QVariant SqlQueryItem::adjustVariantType(const QVariant& value) { QVariant newValue; bool ok; - newValue = value.toInt(&ok); - if (ok) - { - ok = (value.toString() == newValue.toString()); - if (ok) - return newValue; - } - newValue = value.toLongLong(&ok); if (ok) { diff --git a/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.cpp b/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.cpp index cb0f27a..7fe3a68 100644 --- a/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.cpp @@ -10,6 +10,7 @@ #include "uiconfig.h" #include "datagrid/sqlqueryview.h" #include "datagrid/sqlqueryrownummodel.h" +#include "services/dbmanager.h" #include #include #include @@ -341,6 +342,31 @@ void SqlQueryModel::commitInternal(const QList& items) return; } + dbNameToAttachNameMapForCommit.clear(); + QList dbListToDetach; + QString attachName; + for (const QString& reqAttach : queryExecutor->getRequiredDbAttaches()) + { + Db* attachDb = DBLIST->getByName(reqAttach, Qt::CaseInsensitive); + if (!attachDb) + { + qCritical() << "Could not resolve database" << reqAttach << ", while it's a required attach name for SqlQueryModel to commit edited data!" + << "This may result in errors when commiting some data modifications."; + continue; + } + + attachName = db->attach(attachDb); + if (attachName.isNull()) + { + qCritical() << "Could not attach database" << reqAttach << ", while it's a required attach name for SqlQueryModel to commit edited data!" + << "This may result in errors when commiting some data modifications."; + continue; + } + + dbNameToAttachNameMapForCommit[reqAttach] = attachName; + dbListToDetach << attachDb; + } + if (!db->begin()) { notifyError(tr("Could not begin transaction on the database. Details: %1").arg(db->getErrorText())); @@ -403,6 +429,10 @@ void SqlQueryModel::commitInternal(const QList& items) // Nothing else we can do about it, but it should not happen. } } + + dbNameToAttachNameMapForCommit.clear(); + for (Db* dbToDetach : dbListToDetach) + db->detach(dbToDetach); } void SqlQueryModel::rollbackInternal(const QList& items) @@ -503,7 +533,10 @@ bool SqlQueryModel::commitEditedRow(const QList& itemsInRow) // Database and table queryBuilder.setTable(wrapObjIfNeeded(table.getTable(), dialect)); if (!table.getDatabase().isNull()) - queryBuilder.setDatabase(wrapObjIfNeeded(table.getDatabase(), dialect)); + { + QString tableDb = getDatabaseForCommit(table.getDatabase()); + queryBuilder.setDatabase(wrapObjIfNeeded(tableDb, dialect)); + } for (SqlQueryItem* item : items) { @@ -633,11 +666,11 @@ void SqlQueryModel::loadData(SqlQueryPtr results) SqlResultsRowPtr row; int rowIdx = 0; int rowsPerPage = CFG_UI.General.NumberOfRowsPerPage.get(); - int refreshEvery = rowsPerPage / 10; rowNumBase = getCurrentPage() * rowsPerPage + 1; updateColumnHeaderLabels(); QList itemList; + QList> rowList; while (results->hasNext() && rowIdx < rowsPerPage) { row = results->next(); @@ -645,13 +678,18 @@ void SqlQueryModel::loadData(SqlQueryPtr results) break; itemList = loadRow(row); - insertRow(rowIdx, itemList); + //insertRow(rowIdx, itemList); + rowList << itemList; - if ((rowIdx % refreshEvery) == 0) + if ((rowIdx % 50) == 0) qApp->processEvents(); rowIdx++; } + + rowIdx = 0; + for (const QList& row : rowList) + insertRow(rowIdx++, row); } QList SqlQueryModel::loadRow(SqlResultsRowPtr row) @@ -789,7 +827,7 @@ void SqlQueryModel::readColumns() Table table; foreach (const QueryExecutor::ResultRowIdColumnPtr& resCol, queryExecutor->getRowIdResultColumns()) { - table.setDatabase(resCol->database); + table.setDatabase(resCol->dbName); table.setTable(resCol->table); tableToRowIdColumn[table] = resCol->queryExecutorAliasToColumn; totalRowIdCols += resCol->queryExecutorAliasToColumn.size(); @@ -983,6 +1021,7 @@ void SqlQueryModel::handleExecFinished(SqlQueryPtr results) loadData(results); storeStep2NumbersFromExecution(); + requiredDbAttaches = queryExecutor->getRequiredDbAttaches(); reloadAvailable = true; emit loadingEnded(true); @@ -1328,6 +1367,14 @@ void SqlQueryModel::detachDatabases() queryExecutor->releaseResultsAndCleanup(); } +QString SqlQueryModel::getDatabaseForCommit(const QString& database) +{ + if (dbNameToAttachNameMapForCommit.contains(database, Qt::CaseInsensitive)) + return dbNameToAttachNameMapForCommit[database]; + + return database; +} + void SqlQueryModel::addNewRow() { int row = rowCount(); diff --git a/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.h b/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.h index cbdd606..bdba29b 100644 --- a/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.h +++ b/SQLiteStudio3/guiSQLiteStudio/datagrid/sqlquerymodel.h @@ -10,6 +10,7 @@ #include "guiSQLiteStudio_global.h" #include #include +#include class SqlQueryItem; class FormView; @@ -256,6 +257,7 @@ class GUI_API_EXPORT SqlQueryModel : public QStandardItemModel void addNewRowInternal(int rowIdx); Icon& getIconForIdx(int idx) const; void detachDatabases(); + QString getDatabaseForCommit(const QString& database); QString query; bool explain = false; @@ -326,6 +328,8 @@ class GUI_API_EXPORT SqlQueryModel : public QStandardItemModel int rowNumBase = 0; SqlQueryView* view = nullptr; quint32 resultsCountingAsyncId = 0; + QStringList requiredDbAttaches; + StrHash dbNameToAttachNameMapForCommit; /** * @brief rowIdColumns diff --git a/SQLiteStudio3/guiSQLiteStudio/datagrid/sqltablemodel.cpp b/SQLiteStudio3/guiSQLiteStudio/datagrid/sqltablemodel.cpp index b0da325..7b858e6 100644 --- a/SQLiteStudio3/guiSQLiteStudio/datagrid/sqltablemodel.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/datagrid/sqltablemodel.cpp @@ -392,10 +392,10 @@ void SqlTableModel::updateColumnsAndValuesWithDefaultValues(const QListcolumn, dialect); QString tableName = wrapObjIfNeeded(table, dialect); SqlQueryPtr results = db->exec("SELECT max("+colName+") FROM "+tableName); - int rowid = 0; + qint64 rowid = 0; QVariant cellValue = results->getSingleCell(); if (!cellValue.isNull()) - rowid = cellValue.toInt(); + rowid = cellValue.toLongLong(); colNameList << wrapObjIfNeeded(modelColumn->column, dialect); sqlValues << ":defValue"; diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.cpp index 0d291e5..82d5e14 100644 --- a/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.cpp @@ -9,6 +9,8 @@ #include "iconmanager.h" #include #include +#include +#include AboutDialog::AboutDialog(InitialMode initialMode, QWidget *parent) : QDialog(parent), @@ -73,16 +75,21 @@ void AboutDialog::init(InitialMode initialMode) licenseContents.clear(); // Environment - copyAct = new QAction(tr("Copy"), this); ui->appDirEdit->setText(qApp->applicationDirPath()); ui->cfgDirEdit->setText(CFG->getConfigDir()); ui->pluginDirList->addItems(filterResourcePaths(PLUGINS->getPluginDirs())); ui->iconDirList->addItems(filterResourcePaths(ICONMANAGER->getIconDirs())); ui->formDirList->addItems(filterResourcePaths(FORMS->getFormDirs())); ui->qtVerEdit->setText(QT_VERSION_STR); - ui->pluginDirList->addAction(copyAct); - ui->iconDirList->addAction(copyAct); - ui->formDirList->addAction(copyAct); + ui->sqlite3Edit->setText(CFG->getSqlite3Version()); + + QAction* copyAct; + for (QListWidget* w : {ui->pluginDirList, ui->iconDirList, ui->formDirList}) + { + copyAct = new QAction(tr("Copy"), w); + w->addAction(copyAct); + connect(copyAct, SIGNAL(triggered()), this, SLOT(copy())); + } } void AboutDialog::buildIndex() @@ -132,3 +139,20 @@ QStringList AboutDialog::filterResourcePaths(const QStringList& paths) } return output; } + +void AboutDialog::copy() +{ + QListWidget* list = dynamic_cast(sender()->parent()); + if (!list) + return; + + QList items = list->selectedItems(); + if (items.size() == 0) + return; + + QStringList lines; + for (QListWidgetItem* item : items) + lines << item->text(); + + QApplication::clipboard()->setText(lines.join("\n")); +} diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.h b/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.h index 4d49145..a43daec 100644 --- a/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.h +++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.h @@ -34,7 +34,9 @@ class GUI_API_EXPORT AboutDialog : public QDialog Ui::AboutDialog *ui = nullptr; QStringList indexContents; QString licenseContents; - QAction* copyAct = nullptr; + + private slots: + void copy(); }; #endif // ABOUTDIALOG_H diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.ui b/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.ui index 1239cf5..179ee3b 100644 --- a/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.ui +++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.ui @@ -60,6 +60,9 @@ Icon directories + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + @@ -67,6 +70,9 @@ Qt::ActionsContextMenu + + QAbstractItemView::ExtendedSelection + @@ -74,6 +80,9 @@ Form directories + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + @@ -81,6 +90,9 @@ Qt::ActionsContextMenu + + QAbstractItemView::ExtendedSelection + @@ -88,6 +100,19 @@ Plugin directories + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Configuration directory + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + @@ -95,6 +120,19 @@ Application directory + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Qt::ActionsContextMenu + + + QAbstractItemView::ExtendedSelection + @@ -104,17 +142,20 @@ - - + + - Configuration directory + Qt version: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - Qt::ActionsContextMenu + + + + @@ -125,15 +166,18 @@ - - + + - Qt version: + SQLite 3 version: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - + + diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/dbdialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/dbdialog.cpp index c9a7f28..a2a9c36 100644 --- a/SQLiteStudio3/guiSQLiteStudio/dialogs/dbdialog.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/dbdialog.cpp @@ -446,17 +446,55 @@ bool DbDialog::testDatabase() bool DbDialog::validate() { + // Name + if (!ui->generateCheckBox->isChecked()) + { + if (ui->nameEdit->text().isEmpty()) + { + setValidState(ui->nameEdit, false, tr("Enter an unique database name.")); + return false; + } + } + + Db* registeredDb = DBLIST->getByName(ui->nameEdit->text()); + if (registeredDb && (mode == Mode::ADD || registeredDb != db)) + { + qDebug() << ui->generateCheckBox->isChecked(); + setValidState(ui->nameEdit, false, tr("This name is already in use. Please enter unique name.")); + return false; + } + setValidState(ui->nameEdit, true); + + // File if (ui->fileEdit->text().isEmpty()) + { + setValidState(ui->fileEdit, false, tr("Enter a database file path.")); return false; + } - if (ui->nameEdit->text().isEmpty()) + registeredDb = DBLIST->getByPath(ui->fileEdit->text()); + if (registeredDb && (mode == Mode::ADD || registeredDb != db)) + { + setValidState(ui->fileEdit, false, tr("This database is already on the list under name: %1").arg(registeredDb->getName())); return false; + } + setValidState(ui->fileEdit, true); + // Type if (ui->typeCombo->count() == 0) + { + // No need to set validation message here. SQLite3 plugin is built in, + // so if this happens, something is really, really wrong. + qCritical() << "No db plugins loaded in db dialog!"; return false; + } if (ui->typeCombo->currentIndex() < 0) + { + setValidState(ui->typeCombo, false, tr("Select a database type.")); return false; + } + setValidState(ui->typeCombo, true); return true; } @@ -480,11 +518,9 @@ void DbDialog::typeChanged(int index) void DbDialog::valueForNameGenerationChanged() { + updateState(); if (!ui->generateCheckBox->isChecked()) - { - updateState(); return; - } DbPlugin* plugin = nullptr; if (dbPlugins.count() > 0) diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/indexdialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/indexdialog.cpp index d835dd1..efb2e6c 100644 --- a/SQLiteStudio3/guiSQLiteStudio/dialogs/indexdialog.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/indexdialog.cpp @@ -309,6 +309,7 @@ void IndexDialog::applyIndex() { applyColumnValues(); + ui->uniqueCheck->setChecked(createIndex->uniqueKw); ui->partialIndexCheck->setChecked(createIndex->where != nullptr); if (createIndex->where) ui->partialIndexEdit->setPlainText(createIndex->where->detokenize()); diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/languagedialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/languagedialog.cpp index 38f6fe0..d9f05ff 100644 --- a/SQLiteStudio3/guiSQLiteStudio/dialogs/languagedialog.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/languagedialog.cpp @@ -1,5 +1,6 @@ #include "languagedialog.h" #include "ui_languagedialog.h" +#include "uiconfig.h" LanguageDialog::LanguageDialog(QWidget *parent) : QDialog(parent), @@ -32,3 +33,13 @@ void LanguageDialog::setSelectedLang(const QString& lang) ui->comboBox->setCurrentIndex(idx); } + +bool LanguageDialog::didAskForDefaultLanguage() +{ + return CFG_UI.General.LanguageAsked.get(); +} + +void LanguageDialog::askedForDefaultLanguage() +{ + CFG_UI.General.LanguageAsked.set(true); +} diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/languagedialog.h b/SQLiteStudio3/guiSQLiteStudio/dialogs/languagedialog.h index 7fc0607..d5fbed4 100644 --- a/SQLiteStudio3/guiSQLiteStudio/dialogs/languagedialog.h +++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/languagedialog.h @@ -1,6 +1,7 @@ #ifndef LANGUAGEDIALOG_H #define LANGUAGEDIALOG_H +#include "guiSQLiteStudio_global.h" #include #include @@ -8,7 +9,7 @@ namespace Ui { class LanguageDialog; } -class LanguageDialog : public QDialog +class GUI_API_EXPORT LanguageDialog : public QDialog { Q_OBJECT @@ -20,6 +21,9 @@ class LanguageDialog : public QDialog QString getSelectedLang() const; void setSelectedLang(const QString& lang); + static bool didAskForDefaultLanguage(); + static void askedForDefaultLanguage(); + private: Ui::LanguageDialog *ui; }; diff --git a/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.pro b/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.pro index 93796ea..55b7380 100644 --- a/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.pro +++ b/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.pro @@ -27,7 +27,14 @@ QMAKE_CXXFLAGS += -pedantic DEFINES += GUISQLITESTUDIO_LIBRARY -TRANSLATIONS += translations/guiSQLiteStudio_pl.ts +TRANSLATIONS += translations/guiSQLiteStudio_zh_CN.ts \ + translations/guiSQLiteStudio_sk.ts \ + translations/guiSQLiteStudio_de.ts \ + translations/guiSQLiteStudio_ru.ts \ + translations/guiSQLiteStudio_pt_BR.ts \ + translations/guiSQLiteStudio_fr.ts \ + translations/guiSQLiteStudio_es.ts \ + translations/guiSQLiteStudio_pl.ts SOURCES +=\ mainwindow.cpp \ @@ -373,3 +380,14 @@ unix: { } LIBS += -lcoreSQLiteStudio + + + + + + + + + + + diff --git a/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.qrc b/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.qrc index 31e0f16..40dfe53 100644 --- a/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.qrc +++ b/SQLiteStudio3/guiSQLiteStudio/guiSQLiteStudio.qrc @@ -1,5 +1,7 @@ translations/guiSQLiteStudio_pl.qm + translations/guiSQLiteStudio_ru.qm + translations/guiSQLiteStudio_fr.qm diff --git a/SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp b/SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp index bc492df..fe61b95 100644 --- a/SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp @@ -571,6 +571,10 @@ FormManager* MainWindow::getFormManager() const void MainWindow::setupDefShortcuts() { BIND_SHORTCUTS(MainWindow, Action); + + QList bindings = QKeySequence::keyBindings(QKeySequence::Close); + if (bindings.size() > 0) + actionMap[Action::CLOSE_WINDOW]->setShortcut(bindings.first()); } void MainWindow::openSqlEditorSlot() @@ -831,11 +835,18 @@ QToolBar* MainWindow::getToolBar(int toolbar) const void MainWindow::openDb(const QString& path) { + Db* db = DBLIST->getByPath(path); + if (db) + { + notifyInfo(tr("Database passed in command line parameters (%1) was already on the list under name: %2").arg(path, db->getName())); + return; + } + QString name = DBLIST->quickAddDb(path, QHash()); if (!name.isNull()) { notifyInfo(tr("Database passed in command line parameters (%1) has been temporarily added to the list under name: %2").arg(path, name)); - Db* db = DBLIST->getByName(name); + db = DBLIST->getByName(name); db->open(); } else diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_de.qm b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_de.qm differ diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_de.ts b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_de.ts new file mode 100644 index 0000000..6790149 --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_de.ts @@ -0,0 +1,5961 @@ + + + + + AboutDialog + + + About SQLiteStudio and licenses + + + + + About + + + + + <html><head/><body><p align="center"><span style=" font-size:11pt; font-weight:600;">SQLiteStudio v%1</span></p><p align="center">Free, open-source, cross-platform SQLite database manager.<br/><a href="http://sqlitestudio.pl"><span style=" text-decoration: underline; color:#0000ff;">http://sqlitestudio.pl</span></a><br/></p><p align="center">%2<br/></p><p align="center">Author and active maintainer:<br/>SalSoft (<a href="http://salsoft.com.pl"><span style=" text-decoration: underline; color:#0000ff;">http://salsoft.com.pl</span></a>)<br/></p></body></html> + + + + + Licenses + + + + + Environment + + + + + Icon directories + + + + + Form directories + + + + + Plugin directories + + + + + Application directory + + + + + SQLite 3 version: + + + + + Configuration directory + + + + + Qt version: + + + + + Portable distribution. + + + + + MacOS X application boundle distribution. + + + + + Operating system managed distribution. + + + + + Copy + + + + + <h3>Table of contents:</h3><ol>%2</ol> + + + + + BugDialog + + + Bugs and ideas + + + + + Reporter + + + + + E-mail address + + + + + + Log in + + + + + Short description + + + + + Detailed description + + + + + Show more details + + + + + SQLiteStudio version + + + + + Operating system + + + + + Loaded plugins + + + + + Send + + + + + You can see all your reported bugs and ideas by selecting menu '%1' and then '%2'. + + + + + A bug report sent successfully. + + + + + An error occurred while sending a bug report: %1 +%2 + + + + + + You can retry sending. The contents will be restored when you open a report dialog after an error like this. + + + + + An idea proposal sent successfully. + + + + + An error occurred while sending an idea proposal: %1 +%2 + + + + + A bug report + + + + + Describe problem in few words + + + + + Describe problem and how to reproduce it + + + + + A new feature idea + + + + + A title for your idea + + + + + Describe your idea in more details + + + + + Reporting as an unregistered user, using e-mail address. + + + + + Reporting as a registered user. + + + + + Log out + + + + + Providing true email address will make it possible to contact you regarding your report. To learn more, press 'help' button on the right side. + + + + + Enter vaild e-mail address, or log in. + + + + + Short description requires at least 10 characters, but not more than 100. Longer description can be entered in the field below. + + + + + Long description requires at least 30 characters. + + + + + BugReportHistoryWindow + + + + Title + + + + + + Reported at + + + + + + URL + + + + + Reports history + + + + + Clear reports history + + + + + Delete selected entry + + + + + Invalid response from server. + + + + + BugReportLoginDialog + + + Log in + + + + + Credentials + + + + + Login: + + + + + Password: + + + + + Validation + + + + + Validate + + + + + Validation result message + + + + + Abort + + + + + A login must be at least 2 characters long. + + + + + A password must be at least 5 characters long. + + + + + Valid + + + + + CollationsEditor + + + Filter collations + + + + + Collation name: + + + + + Implementation language: + + + + + Databases + + + + + Register in all databases + + + + + Register in following databases: + + + + + Implementation code: + + + + + Collations editor + + + + + Commit all collation changes + + + + + Rollback all collation changes + + + + + Create new collation + + + + + Delete selected collation + + + + + Editing collations manual + + + + + Enter a non-empty, unique name of the collation. + + + + + Pick the implementation language. + + + + + Enter a non-empty implementation code. + + + + + Collations editor window has uncommited modifications. + + + + + ColorButton + + + Pick a color + + + + + ColumnCollatePanel + + + Collation name: + + + + + Named constraint: + + + + + Enter a name of the constraint. + + + + + Enter a collation name. + + + + + ColumnDefaultPanel + + + Default value: + + + + + Named constraint: + + + + + Enter a default value expression. + + + + + Invalid default value expression: %1 + + + + + Enter a name of the constraint. + + + + + ColumnDialog + + + Column + + + + + Name and type + + + + + Data type: + + + + + Column name: + + + + + Size: + + + + + Constraints + + + + + Unique + + + + + + + + + + + Configure + + + + + Foreign Key + + + + + Collate + + + + + Not NULL + + + + + Check condition + + + + + Primary Key + + + + + Default + + + + + Advanced mode + + + + + Add constraint + column dialog + + + + + Edit constraint + column dialog + + + + + + Delete constraint + column dialog + + + + + Move constraint up + column dialog + + + + + Move constraint down + column dialog + + + + + Add a primary key + column dialog + + + + + Add a foreign key + column dialog + + + + + Add an unique constraint + column dialog + + + + + Add a check constraint + column dialog + + + + + Add a not null constraint + column dialog + + + + + Add a collate constraint + column dialog + + + + + Add a default constraint + column dialog + + + + + Are you sure you want to delete constraint '%1'? + column dialog + + + + + Correct the constraint's configuration. + + + + + This constraint is not officially supported by SQLite 2, +but it's okay to use it. + + + + + ColumnDialogConstraintsModel + + + Type + column dialog constraints + + + + + Name + column dialog constraints + + + + + Details + column dialog constraints + + + + + ColumnForeignKeyPanel + + + Foreign table: + + + + + Foreign column: + + + + + Reactions + + + + + Deferred foreign key + + + + + Named constraint + + + + + Constraint name + + + + + Pick the foreign table. + + + + + Pick the foreign column. + + + + + Enter a name of the constraint. + + + + + ColumnPrimaryKeyPanel + + + Autoincrement + + + + + Sort order: + + + + + Named constraint: + + + + + On conflict: + + + + + Enter a name of the constraint. + + + + + Autoincrement (only for %1 type columns) + column primary key + + + + + ColumnUniqueAndNotNullPanel + + + Named constraint: + + + + + On conflict: + + + + + Enter a name of the constraint. + + + + + CompleterWindow + + + Column: %1 + completer statusbar + + + + + Table: %1 + completer statusbar + + + + + Index: %1 + completer statusbar + + + + + Trigger: %1 + completer statusbar + + + + + View: %1 + completer statusbar + + + + + Database: %1 + completer statusbar + + + + + Keyword: %1 + completer statusbar + + + + + Function: %1 + completer statusbar + + + + + Operator: %1 + completer statusbar + + + + + String + completer statusbar + + + + + Number + completer statusbar + + + + + Binary data + completer statusbar + + + + + Collation: %1 + completer statusbar + + + + + Pragma function: %1 + completer statusbar + + + + + ConfigDialog + + + + Configuration + + + + + Search + + + + + General + + + + + Keyboard shortcuts + + + + + Look & feel + + + + + Style + + + + + Fonts + + + + + Colors + + + + + Plugins + + + + + Code formatters + + + + + Data browsing + + + + + Data editors + + + + + Data browsing and editing + + + + + Number of data rows per page: + + + + + + <p>When the data is read into grid view columns width is automatically adjusted. This value limits the initial width for the adjustment, but user can still resize the column manually over this limit.</p> + + + + + Limit initial data column width to (in pixels): + + + + + Data types + + + + + Available editors: + + + + + Editors selected for this data type: + + + + + Schema editing + + + + + Number of DDL changes kept in history. + + + + + DDL history size: + + + + + Don't show DDL preview dialog when commiting schema changes + + + + + SQL queries + + + + + + Number of queries kept in the history. + + + + + History size: + + + + + <p>If there is more than one query in the SQL editor window, then (if this option is enabled) only a single query will be executed - the one under the keyboard insertion cursor. Otherwise all queries will be executed. You can always limit queries to be executed by selecting those queries before calling to execute.</p> + + + + + Execute only the query under the cursor + + + + + Updates + + + + + Automatically check for updates at startup + + + + + Session + + + + + Restore last session (active MDI windows) after startup + + + + + Filter shortcuts by name or key combination + + + + + Action + + + + + Key combination + + + + + + Language + + + + + Changing language requires application restart to take effect. + + + + + Database list + + + + + If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement. + + + + + Sort table columns alphabetically + + + + + Expand tables node when connected to a database + + + + + <p>Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.<p> + + + + + Display additional labels on the list + + + + + For regular tables labels will show number of columns, indexes and triggers for each of tables. + + + + + Display labels for regular tables + + + + + Virtual tables will be marked with a 'virtual' label. + + + + + Display labels for virtual tables + + + + + Expand views node when connected to a database + + + + + If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created) + + + + + Sort objects (tables, indexes, triggers and views) alphabetically + + + + + Display system tables and indexes on the list + + + + + Table windows + + + + + When enabled, Table Windows will show up with the data tab, instead of the structure tab. + + + + + Open Table Windows with the data tab for start + + + + + View windows + + + + + When enabled, View Windows will show up with the data tab, instead of the structure tab. + + + + + Open View Windows with the data tab for start + + + + + Hide built-in plugins + + + + + Current style: + + + + + Preview + + + + + Enabled + + + + + Disabled + + + + + Active formatter plugin + + + + + SQL editor font + + + + + Database list font + + + + + Database list additional label font + + + + + Data view font + + + + + Status field font + + + + + SQL editor colors + + + + + Current line background + + + + + <p>SQL strings are enclosed with single quote characters.</p> + + + + + String foreground + + + + + <p>Bind parameters are placeholders for values yet to be provided by the user. They have one of the forms:</p><ul><li>:param_name</li><li>$param_name</li><li>@param_name</li><li>?</li></ul> + + + + + Bind parameter foreground + + + + + Highlighted parenthesis background + + + + + <p>BLOB values are binary values represented as hexadecimal numbers, like:</p><ul><li>X'12B4'</li><li>x'46A2F4'</li></ul> + + + + + BLOB value foreground + + + + + Regular foreground + + + + + Line numbers area background + + + + + Keyword foreground + + + + + Number foreground + + + + + Comment foreground + + + + + <p>Valid objects are name of tables, indexes, triggers, or views that exist in the SQLite database.</p> + + + + + Valid objects foreground + + + + + Data view colors + + + + + <p>Any data changes will be outlined with this color, until they're commited to the database.</p> + + + + + Uncommited data outline color + + + + + <p>In case of error while commiting data changes, the problematic cell will be outlined with this color.</p> + + + + + Commit error outline color + + + + + NULL value foreground + + + + + Deleted row background + + + + + Database list colors + + + + + <p>Additional labels are those which tell you SQLite version, number of objects deeper in the tree, etc.</p> + + + + + Additional labels foreground + + + + + Status field colors + + + + + Information message foreground + + + + + Warning message foreground + + + + + Error message foreground + + + + + Description: + plugin details + + + + + Category: + plugin details + + + + + Version: + plugin details + + + + + Author: + plugin details + + + + + Internal name: + plugin details + + + + + Dependencies: + plugin details + + + + + Conflicts: + plugin details + + + + + Plugin details + + + + + Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog. + + + + + %1 (built-in) + plugins manager in configuration dialog + + + + + Details + + + + + No plugins in this category. + + + + + Add new data type + + + + + Rename selected data type + + + + + Delete selected data type + + + + + Help for configuring data type editors + + + + + ConstraintCheckPanel + + + The condition + + + + + Named constraint: + + + + + On conflict + + + + + Enter a valid condition. + + + + + Enter a name of the constraint. + + + + + ConstraintDialog + + + New constraint + constraint dialog + + + + + Create + constraint dialog + + + + + Edit constraint + dialog window + + + + + Apply + constraint dialog + + + + + Primary key + table constraints + + + + + Foreign key + table constraints + + + + + Unique + table constraints + + + + + Not NULL + table constraints + + + + + Check + table constraints + + + + + Collate + table constraints + + + + + Default + table constraints + + + + + ConstraintTabModel + + + Table + table constraints + + + + + Column (%1) + table constraints + + + + + Scope + table constraints + + + + + Type + table constraints + + + + + Details + table constraints + + + + + Name + table constraints + + + + + DataView + + + Filter data + data view + + + + + Grid view + + + + + Form view + + + + + Refresh table data + data view + + + + + First page + data view + + + + + Previous page + data view + + + + + Next page + data view + + + + + Last page + data view + + + + + Apply filter + data view + + + + + Commit changes for selected cells + data view + + + + + Rollback changes for selected cells + data view + + + + + Show grid view of results + sql editor + + + + + Show form view of results + sql editor + + + + + Filter by text + data view + + + + + Filter by the Regular Expression + data view + + + + + Filter by SQL expression + data view + + + + + Tabs on top + data view + + + + + Tabs at bottom + data view + + + + + Total number of rows is being counted. +Browsing other pages will be possible after the row counting is done. + + + + + Row: %1 + + + + + DbConverterDialog + + + Convert database + + + + + Source database + + + + + Source database version: + + + + + Target database + + + + + Target version: + + + + + This is the file that will be created as a result of the conversion. + + + + + Target file: + + + + + Name of the new database: + + + + + This is the name that the converted database will be added to SQLiteStudio with. + + + + + Select source database + + + + + Enter valid and writable file path. + + + + + Entered file exists and will be overwritten. + + + + + Enter a not empty, unique name (as in the list of databases on the left). + + + + + No valid target dialect available. Conversion not possible. + + + + + Select valid target dialect. + + + + + Database %1 has been successfully converted and now is available under new name: %2 + + + + + SQL statements conversion + + + + + Following error occurred while converting SQL statements to the target SQLite version: + + + + + Would you like to ignore those errors and proceed? + + + + + DbDialog + + + Database + + + + + Database driver + + + + + Name + + + + + Type + + + + + Browse for database file on local computer + + + + + File + + + + + Generate name basing on file path + + + + + Permanent + + + + + <p>Enable this if you want the database to be stored in configuration file and restored every time SQLiteStudio is started.</p> + aasfd + + + + + Test database connection + + + + + Browse + + + + + Enter an unique database name. + + + + + This name is already in use. Please enter unique name. + + + + + Enter a database file path. + + + + + This database is already on the list under name: %1 + + + + + Select a database type. + + + + + The name will be auto-generated + + + + + Type the name + + + + + DbObjectDialogs + + + Delete table + + + + + Are you sure you want to delete table %1? + + + + + Delete index + + + + + Are you sure you want to delete index %1? + + + + + Delete trigger + + + + + Are you sure you want to delete trigger %1? + + + + + Delete view + + + + + Are you sure you want to delete view %1? + + + + + Error while dropping %1: %2 + + + + + DbTree + + + Databases + + + + + Filter by name + + + + + Copy + + + + + Paste + + + + + Select all + + + + + Create a group + + + + + Delete the group + + + + + Rename the group + + + + + Add a database + + + + + Edit the database + + + + + Remove the database + + + + + Connect to the database + + + + + Disconnect from the database + + + + + Import + + + + + Export the database + + + + + Convert database type + + + + + Vacuum + + + + + Integrity check + + + + + Create a table + + + + + Edit the table + + + + + Delete the table + + + + + Export the table + + + + + Import into the table + + + + + Populate table + + + + + Create similar table + + + + + Reset autoincrement sequence + + + + + Create an index + + + + + Edit the index + + + + + Delete the index + + + + + Create a trigger + + + + + Edit the trigger + + + + + Delete the trigger + + + + + Create a view + + + + + Edit the view + + + + + Delete the view + + + + + Add a column + + + + + Edit the column + + + + + Delete the column + + + + + Delete selected items + + + + + Clear filter + + + + + Refresh all database schemas + + + + + Refresh selected database schema + + + + + + Database + + + + + Grouping + + + + + + Create group + + + + + Group name + + + + + Entry with name %1 already exists in group %2. + + + + + Delete group + + + + + Are you sure you want to delete group %1? +All objects from this group will be moved to parent group. + + + + + Delete database + + + + + Are you sure you want to delete database '%1'? + + + + + + Cannot import, because no import plugin is loaded. + + + + + + Cannot export, because no export plugin is loaded. + + + + + Error while executing VACUUM on the database %1: %2 + + + + + VACUUM execution finished successfully. + + + + + Integrity check (%1) + + + + + Reset autoincrement + + + + + Are you sure you want to reset autoincrement value for table '%1'? + + + + + An error occurred while trying to reset autoincrement value for table '%1': %2 + + + + + Autoincrement value for table '%1' has been reset successfly. + + + + + Following objects will be deleted: %1. + + + + + Following databases will be removed from list: %1. + + + + + Remainig objects from deleted group will be moved in place where the group used to be. + + + + + %1<br><br>Are you sure you want to continue? + + + + + Delete objects + + + + + DbTreeItemDelegate + + + error + dbtree labels + + + + + (system table) + database tree label + + + + + (virtual) + virtual table label + + + + + (system index) + database tree label + + + + + DbTreeModel + + + Database: %1 + dbtree tooltip + + + + + Version: + dbtree tooltip + + + + + File size: + dbtree tooltip + + + + + Encoding: + dbtree tooltip + + + + + Error details: + dbtree tooltip + + + + + Table : %1 + dbtree tooltip + + + + + Columns (%1): + dbtree tooltip + + + + + Indexes (%1): + dbtree tooltip + + + + + Triggers (%1): + dbtree tooltip + + + + + Copy + + + + + Move + + + + + Include data + + + + + Include indexes + + + + + Include triggers + + + + + Abort + + + + + Referenced tables + + + + + Do you want to include following referenced tables as well: +%1 + + + + + Name conflict + + + + + Following object already exists in the target database. +Please enter new, unique name, or press '%1' to abort the operation: + + + + + SQL statements conversion + + + + + Following error occurred while converting SQL statements to the target SQLite version: + + + + + Would you like to ignore those errors and proceed? + + + + + DdlHistoryWindow + + + Filter by database: + + + + + -- Queries executed on database %1 (%2) +-- Date and time of execution: %3 +%4 + + + + + DDL history + + + + + DdlPreviewDialog + + + Queries to be executed + + + + + Don't show again + + + + + DebugConsole + + + SQLiteStudio Debug Console + + + + + EditorWindow + + + Query + + + + + History + + + + + Results in the separate tab + + + + + Results below the query + + + + + + SQL editor %1 + + + + + Results + + + + + Execute query + + + + + Explain query + + + + + Clear execution history + sql editor + + + + + Export results + sql editor + + + + + Create view from query + sql editor + + + + + Previous database + + + + + Next database + + + + + Show next tab + sql editor + + + + + Show previous tab + sql editor + + + + + Focus results below + sql editor + + + + + Focus SQL editor above + sql editor + + + + + Active database (%1/%2) + + + + + Query finished in %1 second(s). Rows affected: %2 + + + + + Query finished in %1 second(s). + + + + + Clear execution history + + + + + Are you sure you want to erase the entire SQL execution history? This cannot be undone. + + + + + Cannot export, because no export plugin is loaded. + + + + + No database selected in the SQL editor. Cannot create a view for unknown database. + + + + + Editor window "%1" has uncommited data. + + + + + ErrorsConfirmDialog + + + Errors + + + + + Following errors occured: + + + + + Would you like to proceed? + + + + + ExportDialog + + + Export + + + + + What do you want to export? + + + + + A database + + + + + A single table + + + + + Query results + + + + + Table to export + + + + + Database + + + + + Table + + + + + Options + + + + + When this option is unchecked, then only table DDL (CREATE TABLE statement) is exported. + + + + + Export table data + + + + + Export table indexes + + + + + Export table triggers + + + + + Note, that exporting table indexes and triggers may be unsupported by some output formats. + + + + + Select database objects to export + + + + + Export data from tables + + + + + Select all + + + + + Deselect all + + + + + + Database: + + + + + Query to export results for + + + + + Query to be executed for results: + + + + + Export format and options + + + + + Export format + + + + + Output + + + + + Exported file path + + + + + Clipboard + + + + + File + + + + + Exported text encoding: + + + + + Export format options + + + + + Cancel + + + + + + + Select database to export. + + + + + Select table to export. + + + + + Enter valid query to export. + + + + + Select at least one object to export. + + + + + You must provide a file name to export to. + + + + + Path you provided is an existing directory. You cannot overwrite it. + + + + + The directory '%1' does not exist. + + + + + The file '%1' exists and will be overwritten. + + + + + All files (*) + + + + + Pick file to export to + + + + + Internal error during export. This is a bug. Please report it. + + + + + FontEdit + + + Choose font + font configuration + + + + + Form + + + Active SQL formatter plugin + + + + + FormView + + + Commit row + form view + + + + + Rollback row + form view + + + + + First row + form view + + + + + Previous row + form view + + + + + Next row + form view + + + + + Last row + form view + + + + + Insert new row + form view + + + + + Delete current row + form view + + + + + FunctionsEditor + + + Filter funtions + + + + + Function name: + + + + + Implementation language: + + + + + Type: + + + + + Input arguments + + + + + Undefined + + + + + Databases + + + + + Register in all databases + + + + + Register in following databases: + + + + + Initialization code: + + + + + + Function implementation code: + + + + + Final step implementation code: + + + + + SQL function editor + + + + + Commit all function changes + + + + + Rollback all function changes + + + + + Create new function + + + + + Delete selected function + + + + + Custom SQL functions manual + + + + + Add function argument + + + + + Rename function argument + + + + + Delete function argument + + + + + Move function argument up + + + + + Move function argument down + + + + + Scalar + + + + + Aggregate + + + + + Enter a non-empty, unique name of the function. + + + + + Pick the implementation language. + + + + + Per step code: + + + + + Enter a non-empty implementation code. + + + + + argument + new function argument name in function editor window + + + + + Functions editor window has uncommited modifications. + + + + + ImportDialog + + + Import data + + + + + Table to import to + + + + + Table + + + + + Database + + + + + Data source to import from + + + + + Data source type + + + + + Options + + + + + Input file: + + + + + Text encoding: + + + + + Data source options + + + + + Cancel + + + + + If you type table name that doesn't exist, it will be created. + + + + + Enter the table name + + + + + Select import plugin. + + + + + You must provide a file to import from. + + + + + The file '%1' does not exist. + + + + + Path you provided is a directory. A regular file is required. + + + + + Pick file to import from + + + + + IndexDialog + + + + Index + + + + + On table: + + + + + Index name: + + + + + Partial index condition + + + + + Unique index + + + + + Column + + + + + Collation + + + + + Sort + + + + + DDL + + + + + Tried to open index dialog for closed or inexisting database. + + + + + Could not process index %1 correctly. Unable to open an index dialog. + + + + + Pick the table for the index. + + + + + Select at least one column. + + + + + Enter a valid condition. + + + + + default + index dialog + + + + + Sort order + table constraints + + + + + + Error + index dialog + + + + + Cannot create unique index, because values in selected columns are not unique. Would you like to execute SELECT query to see problematic values? + + + + + An error occurred while executing SQL statements: +%1 + + + + + LanguageDialog + + + Language + + + + + Please choose language: + + + + + MainWindow + + + Database toolbar + + + + + Structure toolbar + + + + + Tools + + + + + Window list + + + + + View toolbar + + + + + Configuration widgets + + + + + Syntax highlighting engines + + + + + Data editors + + + + + Running in debug mode. Press %1 or use 'Help / Open debug console' menu entry to open the debug console. + + + + + Running in debug mode. Debug messages are printed to the standard output. + + + + + You need to restart application to make the language change take effect. + + + + + Open SQL editor + + + + + Open DDL history + + + + + Open SQL functions editor + + + + + Open collations editor + + + + + Import + + + + + Export + + + + + Open configuration dialog + + + + + Tile windows + + + + + Tile windows horizontally + + + + + Tile windows vertically + + + + + Cascade windows + + + + + Next window + + + + + Previous window + + + + + Hide status field + + + + + Close selected window + + + + + Close all windows but selected + + + + + Close all windows + + + + + Restore recently closed window + + + + + Rename selected window + + + + + Open Debug Console + + + + + Report a bug + + + + + Propose a new feature + + + + + About + + + + + Licenses + + + + + Open home page + + + + + Open forum page + + + + + User Manual + + + + + SQLite documentation + + + + + Report history + + + + + Check for updates + + + + + Database + menubar + + + + + Structure + menubar + + + + + View + menubar + + + + + Window list + menubar view menu + + + + + Tools + menubar + + + + + Help + + + + + Could not set style: %1 + main window + + + + + Cannot export, because no export plugin is loaded. + + + + + Cannot import, because no import plugin is loaded. + + + + + Rename window + + + + + Enter new name for the window: + + + + + New updates are available. <a href="%1">Click here for details</a>. + + + + + You're running the most recent version. No updates are available. + + + + + Database passed in command line parameters (%1) was already on the list under name: %2 + + + + + Database passed in command line parameters (%1) has been temporarily added to the list under name: %2 + + + + + Could not add database %1 to list. + + + + + MdiWindow + + + Uncommited changes + + + + + Close anyway + + + + + Don't close + + + + + MultiEditor + + + Null value + multieditor + + + + + Configure editors for this data type + + + + + Data editor plugin '%1' not loaded, while it is defined for editing '%1' data type. + + + + + Deleted + multieditor + + + + + Read only + multieditor + + + + + MultiEditorBool + + + Boolean + + + + + MultiEditorDate + + + Date + + + + + MultiEditorDateTime + + + Date & time + + + + + MultiEditorHex + + + Hex + + + + + MultiEditorNumeric + + + Number + numeric multi editor tab name + + + + + MultiEditorText + + + Text + + + + + Tab changes focus + + + + + Cut + + + + + Copy + + + + + Paste + + + + + Delete + + + + + Undo + + + + + Redo + + + + + MultiEditorTime + + + Time + + + + + NewConstraintDialog + + + New constraint + + + + + + Primary Key + new constraint dialog + + + + + + Foreign Key + new constraint dialog + + + + + + Unique + new constraint dialog + + + + + + Check + new constraint dialog + + + + + Not NULL + new constraint dialog + + + + + Collate + new constraint dialog + + + + + Default + new constraint dialog + + + + + NewVersionDialog + + + SQLiteStudio updates + + + + + New updates are available! + + + + + Component + + + + + Current version + + + + + Update version + + + + + Check for updates on startup + + + + + Update to new version! + + + + + The update will be automatically downloaded and installed. This will also restart application at the end. + + + + + Not now. + + + + + Don't install the update and close this window. + + + + + PopulateConfigDialog + + + Populating configuration + + + + + Configuring <b>%1</b> for column <b>%2</b> + + + + + PopulateDialog + + + Populate table + + + + + Database + + + + + Table + + + + + Columns + + + + + Number of rows to populate: + + + + + Populate + populate dialog button + + + + + Configure + + + + + Populating configuration for this column is invalid or incomplete. + + + + + Select database with table to populate + + + + + Select table to populate + + + + + You have to select at least one column. + + + + + QObject + + + Cannot edit columns that are result of compound %1 statements (one that includes %2, %3 or %4 keywords). + + + + + The query execution mechanism had problems with extracting ROWID's properly. This might be a bug in the application. You may want to report this. + + + + + Requested column is a result of SQL expression, instead of a simple column selection. Such columns cannot be edited. + + + + + Requested column belongs to restricted SQLite table. Those tables cannot be edited directly. + + + + + Cannot edit results of query other than %1. + + + + + Cannot edit columns that are result of aggregated %1 statements. + + + + + Cannot edit columns that are result of %1 statement. + + + + + Cannot edit columns that are result of common table expression statement (%1). + + + + + + + + on conflict: %1 + data view tooltip + + + + + references table %1, column %2 + data view tooltip + + + + + condition: %1 + data view tooltip + + + + + collation name: %1 + data view tooltip + + + + + Data grid view + + + + + Copy cell(s) contents to clipboard + + + + + Paste cell(s) contents from clipboard + + + + + Set empty value to selected cell(s) + + + + + Set NULL value to selected cell(s) + + + + + Commit changes to cell(s) contents + + + + + Rollback changes to cell(s) contents + + + + + Delete selected data row + + + + + Insert new data row + + + + + Open contents of selected cell in a separate editor + + + + + Total pages available: %1 + + + + + Total rows loaded: %1 + + + + + Data view (both grid and form) + + + + + Refresh data + + + + + Switch to grid view of the data + + + + + Switch to form view of the data + + + + + Database list + + + + + Delete selected item + + + + + Clear filter contents + + + + + Refresh schema + + + + + Refresh all schemas + + + + + Add database + + + + + Select all items + + + + + Copy selected item(s) + + + + + + + Paste from clipboard + + + + + Tables + + + + + Indexes + + + + + Triggers + + + + + Views + + + + + Columns + + + + + Data form view + + + + + Commit changes for current row + + + + + Rollback changes for current row + + + + + Go to first row on current page + + + + + Go to next row + + + + + Go to previous row + + + + + Go to last row on current page + + + + + Insert new row + + + + + Delete current row + + + + + Main window + + + + + Open SQL editor + + + + + Previous window + + + + + Next window + + + + + Hide status area + + + + + Open configuration dialog + + + + + Open Debug Console + + + + + Cell text value editor + + + + + + Cut selected text + + + + + + Copy selected text + + + + + + Delete selected text + + + + + + Undo + + + + + + Redo + + + + + SQL editor input field + + + + + Select whole editor contents + + + + + Save contents into a file + + + + + Load contents from a file + + + + + Find in text + + + + + Find next + + + + + Find previous + + + + + Replace in text + + + + + Delete current line + + + + + Request code assistant + + + + + Format contents + + + + + Move selected block of text one line down + + + + + Move selected block of text one line up + + + + + Copy selected block of text and paste it a line below + + + + + Copy selected block of text and paste it a line above + + + + + All SQLite databases + + + + + All files + + + + + Database file + + + + + Reports history window + + + + + Delete selected entry + + + + + SQL editor window + + + + + Execute query + + + + + Execute "%1" query + + + + + Switch current working database to previous on the list + + + + + Switch current working database to next on the list + + + + + Go to next editor tab + + + + + Go to previous editor tab + + + + + Move keyboard input focus to the results view below + + + + + Move keyboard input focus to the SQL editor above + + + + + Table window + + + + + Refresh table structure + + + + + Add new column + + + + + Edit selected column + + + + + Delete selected column + + + + + Export table data + + + + + Import data to the table + + + + + Add new table constraint + + + + + Edit selected table constraint + + + + + Delete selected table constraint + + + + + Refresh table index list + + + + + Add new index + + + + + Edit selected index + + + + + Delete selected index + + + + + Refresh table trigger list + + + + + + Add new trigger + + + + + + Edit selected trigger + + + + + + Delete selected trigger + + + + + + Go to next tab + + + + + + Go to previous tab + + + + + A view window + + + + + Refresh view trigger list + + + + + QuitConfirmDialog + + + Uncommited changes + + + + + Are you sure you want to quit the application? + +Following items are pending: + + + + + SearchTextDialog + + + Find or replace + + + + + Find: + + + + + Case sensitive + + + + + Search backwards + + + + + Regular expression matching + + + + + Replace && +find next + + + + + Replace with: + + + + + Replace all + + + + + Find + + + + + SortDialog + + + Sort by columns + + + + + + Column + + + + + + Order + + + + + Sort by: %1 + + + + + Move column up + + + + + Move column down + + + + + SqlEditor + + + Cut + sql editor + + + + + Copy + sql editor + + + + + Paste + sql editor + + + + + Delete + sql editor + + + + + Select all + sql editor + + + + + Undo + sql editor + + + + + Redo + sql editor + + + + + Complete + sql editor + + + + + Format SQL + sql editor + + + + + Save SQL to file + sql editor + + + + + Load SQL from file + sql editor + + + + + Delete line + sql editor + + + + + Move block down + sql editor + + + + + Move block up + sql editor + + + + + Copy block down + sql editor + + + + + Copy up down + sql editor + + + + + Find + sql editor + + + + + Find next + sql editor + + + + + Find previous + sql editor + + + + + Replace + sql editor + + + + + Syntax completion can be used only when a valid database is set for the SQL editor. + + + + + Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled. + + + + + Save to file + + + + + Could not open file '%1' for writing: %2 + + + + + SQL scripts (*.sql);;All files (*) + + + + + Open file + + + + + Could not open file '%1' for reading: %2 + + + + + Reached the end of document. Hit the find again to restart the search. + + + + + SqlQueryItem + + + Column: + data view tooltip + + + + + Data type: + data view + + + + + Table: + data view tooltip + + + + + Constraints: + data view tooltip + + + + + This cell is not editable, because: %1 + + + + + Cannot load the data for a cell that refers to the already closed database. + + + + + SqlQueryItemDelegate + + + + Cannot edit this cell. Details: %2 + + + + + The row is marked for deletion. + + + + + SqlQueryModel + + + + Only one query can be executed simultaneously. + + + + + Uncommited data + + + + + There are uncommited data changes. Do you want to proceed anyway? All uncommited changes will be lost. + + + + + Cannot commit the data for a cell that refers to the already closed database. + + + + + Could not begin transaction on the database. Details: %1 + + + + + An error occurred while commiting the transaction: %1 + + + + + An error occurred while rolling back the transaction: %1 + + + + + Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it. + + + + + An error occurred while commiting the data: %1 + + + + + + Error while executing SQL query on database '%1': %2 + + + + + Error while loading query results: %1 + + + + + Insert multiple rows + + + + + Number of rows to insert: + + + + + SqlQueryView + + + Copy + + + + + Copy as... + + + + + Paste + + + + + Paste as... + + + + + Set NULL values + + + + + Erase values + + + + + Edit value in editor + + + + + Commit + + + + + Rollback + + + + + Commit selected cells + + + + + Rollback selected cells + + + + + Define columns to sort by + + + + + Remove custom sorting + + + + + Insert row + + + + + Insert multiple rows + + + + + Delete selected row + + + + + Edit value + + + + + SqlTableModel + + + Error while commiting new row: %1 + + + + + Error while deleting row from table %1: %2 + + + + + StatusField + + + Status + + + + + Copy + + + + + Clear + + + + + TableConstraintsModel + + + Type + table constraints + + + + + Details + table constraints + + + + + Name + table constraints + + + + + TableForeignKeyPanel + + + Foreign table: + + + + + SQLite 2 does not support foreign keys officially, +but it's okay to use them anyway. + + + + + Columns + + + + + Local column + + + + + Foreign column + + + + + Reactions + + + + + Deferred foreign key + + + + + Named constraint + + + + + Constraint name + + + + + Pick the foreign column. + + + + + Pick the foreign table. + + + + + Select at least one foreign column. + + + + + Enter a name of the constraint. + + + + + Foreign column + table constraints + + + + + TablePrimaryKeyAndUniquePanel + + + Columns + + + + + Column + + + + + Collation + + + + + Sort + + + + + Valid only for a single column with INTEGER data type + + + + + Autoincrement + + + + + Named constraint + + + + + Constraint name + + + + + On conflict + + + + + Collate + table constraints + + + + + Sort order + table constraints + + + + + Select at least one column. + + + + + Enter a name of the constraint. + + + + + TableStructureModel + + + Name + table structure columns + + + + + Data type + table structure columns + + + + + Default value + table structure columns + + + + + TableWindow + + + Structure + + + + + Table name: + + + + + Data + + + + + Constraints + + + + + Indexes + + + + + Triggers + + + + + DDL + + + + + Export table + table window + + + + + Import data to table + table window + + + + + Populate table + table window + + + + + Refresh structure + table window + + + + + Commit structure changes + table window + + + + + Rollback structure changes + table window + + + + + Add column + table window + + + + + Edit column + table window + + + + + + Delete column + table window + + + + + Move column up + table window + + + + + Move column down + table window + + + + + Create similar table + table window + + + + + Reset autoincrement value + table window + + + + + Add table constraint + table window + + + + + Edit table constraint + table window + + + + + Delete table constraint + table window + + + + + Move table constraint up + table window + + + + + Move table constraint down + table window + + + + + Add table primary key + table window + + + + + Add table foreign key + table window + + + + + Add table unique constraint + table window + + + + + Add table check constraint + table window + + + + + Refresh index list + table window + + + + + Create index + table window + + + + + Edit index + table window + + + + + Delete index + table window + + + + + Refresh trigger list + table window + + + + + Create trigger + table window + + + + + Edit trigger + table window + + + + + Delete trigger + table window + + + + + Are you sure you want to delete column '%1'? + table window + + + + + Following problems will take place while modifying the table. +Would you like to proceed? + table window + + + + + Table modification + table window + + + + + Could not load data for table %1. Error details: %2 + + + + + Could not process the %1 table correctly. Unable to open a table window. + + + + + Could not restore window, because database %1 could not be resolved. + + + + + Could not restore window, because the table %1 doesn't exist in the database %2. + + + + + + New table %1 + + + + + Could not commit table structure. Error message: %1 + table window + + + + + Reset autoincrement + + + + + Are you sure you want to reset autoincrement value for table '%1'? + + + + + An error occurred while trying to reset autoincrement value for table '%1': %2 + + + + + Autoincrement value for table '%1' has been reset successfly. + + + + + Empty name + + + + + A blank name for the table is allowed in SQLite, but it is not recommended. +Are you sure you want to create a table with blank name? + + + + + Cannot create a table without at least one column. + + + + + Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key. + + + + + Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key. + + + + + Are you sure you want to delete table constraint '%1'? + table window + + + + + Delete constraint + table window + + + + + Cannot export, because no export plugin is loaded. + + + + + Cannot import, because no import plugin is loaded. + + + + + Uncommited changes + + + + + There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled. +Do you want to commit the structure, or do you want to go back to the structure tab? + + + + + Go back to structure tab + + + + + Commit modifications and browse data. + + + + + Name + table window indexes + + + + + Unique + table window indexes + + + + + Columns + table window indexes + + + + + Partial index condition + table window indexes + + + + + Name + table window triggers + + + + + Event + table window triggers + + + + + Condition + table window triggers + + + + + Details + table window triggers + + + + + Table window "%1" has uncommited structure modifications and data. + + + + + Table window "%1" has uncommited data. + + + + + Table window "%1" has uncommited structure modifications. + + + + + TriggerColumnsDialog + + + Trigger columns + + + + + Triggering columns: + + + + + TriggerDialog + + + + Trigger + + + + + On table: + + + + + Action: + + + + + + <p>SQL condition that will be evaluated before the actual trigger code. In case the condition returns false, the trigger will not be fired for that row.</p> + + + + + Pre-condition: + + + + + The scope is still not fully supported by the SQLite database. + + + + + Trigger name: + + + + + When: + + + + + List of columns for UPDATE OF action. + + + + + Scope: + + + + + Code: + + + + + Trigger statements to be executed. + + + + + DDL + + + + + On view: + + + + + Could not process trigger %1 correctly. Unable to open a trigger dialog. + + + + + Enter a valid condition. + + + + + Enter a valid trigger code. + + + + + Error + trigger dialog + + + + + An error occurred while executing SQL statements: +%1 + + + + + VersionConvertSummaryDialog + + + Database version convert + + + + + Following changes to the SQL statements will be made: + + + + + Before + + + + + After + + + + + ViewWindow + + + Query + + + + + View name: + + + + + Data + + + + + Triggers + + + + + DDL + + + + + Could not restore window, because database %1 could not be resolved. + + + + + Could not restore window, because database %1 could not be open. + + + + + Could not restore window, because the view %1 doesn't exist in the database %2. + + + + + + New view %1 + + + + + Refresh the view + view window + + + + + Commit the view changes + view window + + + + + Rollback the view changes + view window + + + + + Refresh trigger list + view window + + + + + Create new trigger + view window + + + + + Edit selected trigger + view window + + + + + Delete selected trigger + view window + + + + + View window "%1" has uncommited structure modifications and data. + + + + + View window "%1" has uncommited data. + + + + + View window "%1" has uncommited structure modifications. + + + + + Could not load data for view %1. Error details: %2 + + + + + Uncommited changes + + + + + There are uncommited structure modifications. You cannot browse or edit data until you have the view structure settled. +Do you want to commit the structure, or do you want to go back to the structure tab? + + + + + Go back to structure tab + + + + + Commit modifications and browse data. + + + + + Could not commit view changes. Error message: %1 + view window + + + + + Name + view window triggers + + + + + Instead of + view window triggers + + + + + Condition + view window triggers + + + + + Details + table window triggers + + + + + Could not process the %1 view correctly. Unable to open a view window. + + + + + Empty name + + + + + A blank name for the view is allowed in SQLite, but it is not recommended. +Are you sure you want to create a view with blank name? + + + + + The SELECT statement could not be parsed. Please correct the query and retry. +Details: %1 + + + + + The view could not be modified due to internal SQLiteStudio error. Please report this! + + + + + The view code could not be parsed properly for execution. This is a SQLiteStudio's bug. Please report it. + + + + + Following problems will take place while modifying the view. +Would you like to proceed? + view window + + + + + View modification + view window + + + + + WidgetCover + + + Interrupt + + + + diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_es.qm b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_es.qm differ diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_es.ts b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_es.ts new file mode 100644 index 0000000..edc3e21 --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_es.ts @@ -0,0 +1,5961 @@ + + + + + AboutDialog + + + About SQLiteStudio and licenses + + + + + About + + + + + <html><head/><body><p align="center"><span style=" font-size:11pt; font-weight:600;">SQLiteStudio v%1</span></p><p align="center">Free, open-source, cross-platform SQLite database manager.<br/><a href="http://sqlitestudio.pl"><span style=" text-decoration: underline; color:#0000ff;">http://sqlitestudio.pl</span></a><br/></p><p align="center">%2<br/></p><p align="center">Author and active maintainer:<br/>SalSoft (<a href="http://salsoft.com.pl"><span style=" text-decoration: underline; color:#0000ff;">http://salsoft.com.pl</span></a>)<br/></p></body></html> + + + + + Licenses + + + + + Environment + + + + + Icon directories + + + + + Form directories + + + + + Plugin directories + + + + + Application directory + + + + + SQLite 3 version: + + + + + Configuration directory + + + + + Qt version: + + + + + Portable distribution. + + + + + MacOS X application boundle distribution. + + + + + Operating system managed distribution. + + + + + Copy + + + + + <h3>Table of contents:</h3><ol>%2</ol> + + + + + BugDialog + + + Bugs and ideas + + + + + Reporter + + + + + E-mail address + + + + + + Log in + + + + + Short description + + + + + Detailed description + + + + + Show more details + + + + + SQLiteStudio version + + + + + Operating system + + + + + Loaded plugins + + + + + Send + + + + + You can see all your reported bugs and ideas by selecting menu '%1' and then '%2'. + + + + + A bug report sent successfully. + + + + + An error occurred while sending a bug report: %1 +%2 + + + + + + You can retry sending. The contents will be restored when you open a report dialog after an error like this. + + + + + An idea proposal sent successfully. + + + + + An error occurred while sending an idea proposal: %1 +%2 + + + + + A bug report + + + + + Describe problem in few words + + + + + Describe problem and how to reproduce it + + + + + A new feature idea + + + + + A title for your idea + + + + + Describe your idea in more details + + + + + Reporting as an unregistered user, using e-mail address. + + + + + Reporting as a registered user. + + + + + Log out + + + + + Providing true email address will make it possible to contact you regarding your report. To learn more, press 'help' button on the right side. + + + + + Enter vaild e-mail address, or log in. + + + + + Short description requires at least 10 characters, but not more than 100. Longer description can be entered in the field below. + + + + + Long description requires at least 30 characters. + + + + + BugReportHistoryWindow + + + + Title + + + + + + Reported at + + + + + + URL + + + + + Reports history + + + + + Clear reports history + + + + + Delete selected entry + + + + + Invalid response from server. + + + + + BugReportLoginDialog + + + Log in + + + + + Credentials + + + + + Login: + + + + + Password: + + + + + Validation + + + + + Validate + + + + + Validation result message + + + + + Abort + + + + + A login must be at least 2 characters long. + + + + + A password must be at least 5 characters long. + + + + + Valid + + + + + CollationsEditor + + + Filter collations + + + + + Collation name: + + + + + Implementation language: + + + + + Databases + + + + + Register in all databases + + + + + Register in following databases: + + + + + Implementation code: + + + + + Collations editor + + + + + Commit all collation changes + + + + + Rollback all collation changes + + + + + Create new collation + + + + + Delete selected collation + + + + + Editing collations manual + + + + + Enter a non-empty, unique name of the collation. + + + + + Pick the implementation language. + + + + + Enter a non-empty implementation code. + + + + + Collations editor window has uncommited modifications. + + + + + ColorButton + + + Pick a color + + + + + ColumnCollatePanel + + + Collation name: + + + + + Named constraint: + + + + + Enter a name of the constraint. + + + + + Enter a collation name. + + + + + ColumnDefaultPanel + + + Default value: + + + + + Named constraint: + + + + + Enter a default value expression. + + + + + Invalid default value expression: %1 + + + + + Enter a name of the constraint. + + + + + ColumnDialog + + + Column + + + + + Name and type + + + + + Data type: + + + + + Column name: + + + + + Size: + + + + + Constraints + + + + + Unique + + + + + + + + + + + Configure + + + + + Foreign Key + + + + + Collate + + + + + Not NULL + + + + + Check condition + + + + + Primary Key + + + + + Default + + + + + Advanced mode + + + + + Add constraint + column dialog + + + + + Edit constraint + column dialog + + + + + + Delete constraint + column dialog + + + + + Move constraint up + column dialog + + + + + Move constraint down + column dialog + + + + + Add a primary key + column dialog + + + + + Add a foreign key + column dialog + + + + + Add an unique constraint + column dialog + + + + + Add a check constraint + column dialog + + + + + Add a not null constraint + column dialog + + + + + Add a collate constraint + column dialog + + + + + Add a default constraint + column dialog + + + + + Are you sure you want to delete constraint '%1'? + column dialog + + + + + Correct the constraint's configuration. + + + + + This constraint is not officially supported by SQLite 2, +but it's okay to use it. + + + + + ColumnDialogConstraintsModel + + + Type + column dialog constraints + + + + + Name + column dialog constraints + + + + + Details + column dialog constraints + + + + + ColumnForeignKeyPanel + + + Foreign table: + + + + + Foreign column: + + + + + Reactions + + + + + Deferred foreign key + + + + + Named constraint + + + + + Constraint name + + + + + Pick the foreign table. + + + + + Pick the foreign column. + + + + + Enter a name of the constraint. + + + + + ColumnPrimaryKeyPanel + + + Autoincrement + + + + + Sort order: + + + + + Named constraint: + + + + + On conflict: + + + + + Enter a name of the constraint. + + + + + Autoincrement (only for %1 type columns) + column primary key + + + + + ColumnUniqueAndNotNullPanel + + + Named constraint: + + + + + On conflict: + + + + + Enter a name of the constraint. + + + + + CompleterWindow + + + Column: %1 + completer statusbar + + + + + Table: %1 + completer statusbar + + + + + Index: %1 + completer statusbar + + + + + Trigger: %1 + completer statusbar + + + + + View: %1 + completer statusbar + + + + + Database: %1 + completer statusbar + + + + + Keyword: %1 + completer statusbar + + + + + Function: %1 + completer statusbar + + + + + Operator: %1 + completer statusbar + + + + + String + completer statusbar + + + + + Number + completer statusbar + + + + + Binary data + completer statusbar + + + + + Collation: %1 + completer statusbar + + + + + Pragma function: %1 + completer statusbar + + + + + ConfigDialog + + + + Configuration + + + + + Search + + + + + General + + + + + Keyboard shortcuts + + + + + Look & feel + + + + + Style + + + + + Fonts + + + + + Colors + + + + + Plugins + + + + + Code formatters + + + + + Data browsing + + + + + Data editors + + + + + Data browsing and editing + + + + + Number of data rows per page: + + + + + + <p>When the data is read into grid view columns width is automatically adjusted. This value limits the initial width for the adjustment, but user can still resize the column manually over this limit.</p> + + + + + Limit initial data column width to (in pixels): + + + + + Data types + + + + + Available editors: + + + + + Editors selected for this data type: + + + + + Schema editing + + + + + Number of DDL changes kept in history. + + + + + DDL history size: + + + + + Don't show DDL preview dialog when commiting schema changes + + + + + SQL queries + + + + + + Number of queries kept in the history. + + + + + History size: + + + + + <p>If there is more than one query in the SQL editor window, then (if this option is enabled) only a single query will be executed - the one under the keyboard insertion cursor. Otherwise all queries will be executed. You can always limit queries to be executed by selecting those queries before calling to execute.</p> + + + + + Execute only the query under the cursor + + + + + Updates + + + + + Automatically check for updates at startup + + + + + Session + + + + + Restore last session (active MDI windows) after startup + + + + + Filter shortcuts by name or key combination + + + + + Action + + + + + Key combination + + + + + + Language + + + + + Changing language requires application restart to take effect. + + + + + Database list + + + + + If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement. + + + + + Sort table columns alphabetically + + + + + Expand tables node when connected to a database + + + + + <p>Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.<p> + + + + + Display additional labels on the list + + + + + For regular tables labels will show number of columns, indexes and triggers for each of tables. + + + + + Display labels for regular tables + + + + + Virtual tables will be marked with a 'virtual' label. + + + + + Display labels for virtual tables + + + + + Expand views node when connected to a database + + + + + If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created) + + + + + Sort objects (tables, indexes, triggers and views) alphabetically + + + + + Display system tables and indexes on the list + + + + + Table windows + + + + + When enabled, Table Windows will show up with the data tab, instead of the structure tab. + + + + + Open Table Windows with the data tab for start + + + + + View windows + + + + + When enabled, View Windows will show up with the data tab, instead of the structure tab. + + + + + Open View Windows with the data tab for start + + + + + Hide built-in plugins + + + + + Current style: + + + + + Preview + + + + + Enabled + + + + + Disabled + + + + + Active formatter plugin + + + + + SQL editor font + + + + + Database list font + + + + + Database list additional label font + + + + + Data view font + + + + + Status field font + + + + + SQL editor colors + + + + + Current line background + + + + + <p>SQL strings are enclosed with single quote characters.</p> + + + + + String foreground + + + + + <p>Bind parameters are placeholders for values yet to be provided by the user. They have one of the forms:</p><ul><li>:param_name</li><li>$param_name</li><li>@param_name</li><li>?</li></ul> + + + + + Bind parameter foreground + + + + + Highlighted parenthesis background + + + + + <p>BLOB values are binary values represented as hexadecimal numbers, like:</p><ul><li>X'12B4'</li><li>x'46A2F4'</li></ul> + + + + + BLOB value foreground + + + + + Regular foreground + + + + + Line numbers area background + + + + + Keyword foreground + + + + + Number foreground + + + + + Comment foreground + + + + + <p>Valid objects are name of tables, indexes, triggers, or views that exist in the SQLite database.</p> + + + + + Valid objects foreground + + + + + Data view colors + + + + + <p>Any data changes will be outlined with this color, until they're commited to the database.</p> + + + + + Uncommited data outline color + + + + + <p>In case of error while commiting data changes, the problematic cell will be outlined with this color.</p> + + + + + Commit error outline color + + + + + NULL value foreground + + + + + Deleted row background + + + + + Database list colors + + + + + <p>Additional labels are those which tell you SQLite version, number of objects deeper in the tree, etc.</p> + + + + + Additional labels foreground + + + + + Status field colors + + + + + Information message foreground + + + + + Warning message foreground + + + + + Error message foreground + + + + + Description: + plugin details + + + + + Category: + plugin details + + + + + Version: + plugin details + + + + + Author: + plugin details + + + + + Internal name: + plugin details + + + + + Dependencies: + plugin details + + + + + Conflicts: + plugin details + + + + + Plugin details + + + + + Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog. + + + + + %1 (built-in) + plugins manager in configuration dialog + + + + + Details + + + + + No plugins in this category. + + + + + Add new data type + + + + + Rename selected data type + + + + + Delete selected data type + + + + + Help for configuring data type editors + + + + + ConstraintCheckPanel + + + The condition + + + + + Named constraint: + + + + + On conflict + + + + + Enter a valid condition. + + + + + Enter a name of the constraint. + + + + + ConstraintDialog + + + New constraint + constraint dialog + + + + + Create + constraint dialog + + + + + Edit constraint + dialog window + + + + + Apply + constraint dialog + + + + + Primary key + table constraints + + + + + Foreign key + table constraints + + + + + Unique + table constraints + + + + + Not NULL + table constraints + + + + + Check + table constraints + + + + + Collate + table constraints + + + + + Default + table constraints + + + + + ConstraintTabModel + + + Table + table constraints + + + + + Column (%1) + table constraints + + + + + Scope + table constraints + + + + + Type + table constraints + + + + + Details + table constraints + + + + + Name + table constraints + + + + + DataView + + + Filter data + data view + + + + + Grid view + + + + + Form view + + + + + Refresh table data + data view + + + + + First page + data view + + + + + Previous page + data view + + + + + Next page + data view + + + + + Last page + data view + + + + + Apply filter + data view + + + + + Commit changes for selected cells + data view + + + + + Rollback changes for selected cells + data view + + + + + Show grid view of results + sql editor + + + + + Show form view of results + sql editor + + + + + Filter by text + data view + + + + + Filter by the Regular Expression + data view + + + + + Filter by SQL expression + data view + + + + + Tabs on top + data view + + + + + Tabs at bottom + data view + + + + + Total number of rows is being counted. +Browsing other pages will be possible after the row counting is done. + + + + + Row: %1 + + + + + DbConverterDialog + + + Convert database + + + + + Source database + + + + + Source database version: + + + + + Target database + + + + + Target version: + + + + + This is the file that will be created as a result of the conversion. + + + + + Target file: + + + + + Name of the new database: + + + + + This is the name that the converted database will be added to SQLiteStudio with. + + + + + Select source database + + + + + Enter valid and writable file path. + + + + + Entered file exists and will be overwritten. + + + + + Enter a not empty, unique name (as in the list of databases on the left). + + + + + No valid target dialect available. Conversion not possible. + + + + + Select valid target dialect. + + + + + Database %1 has been successfully converted and now is available under new name: %2 + + + + + SQL statements conversion + + + + + Following error occurred while converting SQL statements to the target SQLite version: + + + + + Would you like to ignore those errors and proceed? + + + + + DbDialog + + + Database + + + + + Database driver + + + + + Name + + + + + Type + + + + + Browse for database file on local computer + + + + + File + + + + + Generate name basing on file path + + + + + Permanent + + + + + <p>Enable this if you want the database to be stored in configuration file and restored every time SQLiteStudio is started.</p> + aasfd + + + + + Test database connection + + + + + Browse + + + + + Enter an unique database name. + + + + + This name is already in use. Please enter unique name. + + + + + Enter a database file path. + + + + + This database is already on the list under name: %1 + + + + + Select a database type. + + + + + The name will be auto-generated + + + + + Type the name + + + + + DbObjectDialogs + + + Delete table + + + + + Are you sure you want to delete table %1? + + + + + Delete index + + + + + Are you sure you want to delete index %1? + + + + + Delete trigger + + + + + Are you sure you want to delete trigger %1? + + + + + Delete view + + + + + Are you sure you want to delete view %1? + + + + + Error while dropping %1: %2 + + + + + DbTree + + + Databases + + + + + Filter by name + + + + + Copy + + + + + Paste + + + + + Select all + + + + + Create a group + + + + + Delete the group + + + + + Rename the group + + + + + Add a database + + + + + Edit the database + + + + + Remove the database + + + + + Connect to the database + + + + + Disconnect from the database + + + + + Import + + + + + Export the database + + + + + Convert database type + + + + + Vacuum + + + + + Integrity check + + + + + Create a table + + + + + Edit the table + + + + + Delete the table + + + + + Export the table + + + + + Import into the table + + + + + Populate table + + + + + Create similar table + + + + + Reset autoincrement sequence + + + + + Create an index + + + + + Edit the index + + + + + Delete the index + + + + + Create a trigger + + + + + Edit the trigger + + + + + Delete the trigger + + + + + Create a view + + + + + Edit the view + + + + + Delete the view + + + + + Add a column + + + + + Edit the column + + + + + Delete the column + + + + + Delete selected items + + + + + Clear filter + + + + + Refresh all database schemas + + + + + Refresh selected database schema + + + + + + Database + + + + + Grouping + + + + + + Create group + + + + + Group name + + + + + Entry with name %1 already exists in group %2. + + + + + Delete group + + + + + Are you sure you want to delete group %1? +All objects from this group will be moved to parent group. + + + + + Delete database + + + + + Are you sure you want to delete database '%1'? + + + + + + Cannot import, because no import plugin is loaded. + + + + + + Cannot export, because no export plugin is loaded. + + + + + Error while executing VACUUM on the database %1: %2 + + + + + VACUUM execution finished successfully. + + + + + Integrity check (%1) + + + + + Reset autoincrement + + + + + Are you sure you want to reset autoincrement value for table '%1'? + + + + + An error occurred while trying to reset autoincrement value for table '%1': %2 + + + + + Autoincrement value for table '%1' has been reset successfly. + + + + + Following objects will be deleted: %1. + + + + + Following databases will be removed from list: %1. + + + + + Remainig objects from deleted group will be moved in place where the group used to be. + + + + + %1<br><br>Are you sure you want to continue? + + + + + Delete objects + + + + + DbTreeItemDelegate + + + error + dbtree labels + + + + + (system table) + database tree label + + + + + (virtual) + virtual table label + + + + + (system index) + database tree label + + + + + DbTreeModel + + + Database: %1 + dbtree tooltip + + + + + Version: + dbtree tooltip + + + + + File size: + dbtree tooltip + + + + + Encoding: + dbtree tooltip + + + + + Error details: + dbtree tooltip + + + + + Table : %1 + dbtree tooltip + + + + + Columns (%1): + dbtree tooltip + + + + + Indexes (%1): + dbtree tooltip + + + + + Triggers (%1): + dbtree tooltip + + + + + Copy + + + + + Move + + + + + Include data + + + + + Include indexes + + + + + Include triggers + + + + + Abort + + + + + Referenced tables + + + + + Do you want to include following referenced tables as well: +%1 + + + + + Name conflict + + + + + Following object already exists in the target database. +Please enter new, unique name, or press '%1' to abort the operation: + + + + + SQL statements conversion + + + + + Following error occurred while converting SQL statements to the target SQLite version: + + + + + Would you like to ignore those errors and proceed? + + + + + DdlHistoryWindow + + + Filter by database: + + + + + -- Queries executed on database %1 (%2) +-- Date and time of execution: %3 +%4 + + + + + DDL history + + + + + DdlPreviewDialog + + + Queries to be executed + + + + + Don't show again + + + + + DebugConsole + + + SQLiteStudio Debug Console + + + + + EditorWindow + + + Query + + + + + History + + + + + Results in the separate tab + + + + + Results below the query + + + + + + SQL editor %1 + + + + + Results + + + + + Execute query + + + + + Explain query + + + + + Clear execution history + sql editor + + + + + Export results + sql editor + + + + + Create view from query + sql editor + + + + + Previous database + + + + + Next database + + + + + Show next tab + sql editor + + + + + Show previous tab + sql editor + + + + + Focus results below + sql editor + + + + + Focus SQL editor above + sql editor + + + + + Active database (%1/%2) + + + + + Query finished in %1 second(s). Rows affected: %2 + + + + + Query finished in %1 second(s). + + + + + Clear execution history + + + + + Are you sure you want to erase the entire SQL execution history? This cannot be undone. + + + + + Cannot export, because no export plugin is loaded. + + + + + No database selected in the SQL editor. Cannot create a view for unknown database. + + + + + Editor window "%1" has uncommited data. + + + + + ErrorsConfirmDialog + + + Errors + + + + + Following errors occured: + + + + + Would you like to proceed? + + + + + ExportDialog + + + Export + + + + + What do you want to export? + + + + + A database + + + + + A single table + + + + + Query results + + + + + Table to export + + + + + Database + + + + + Table + + + + + Options + + + + + When this option is unchecked, then only table DDL (CREATE TABLE statement) is exported. + + + + + Export table data + + + + + Export table indexes + + + + + Export table triggers + + + + + Note, that exporting table indexes and triggers may be unsupported by some output formats. + + + + + Select database objects to export + + + + + Export data from tables + + + + + Select all + + + + + Deselect all + + + + + + Database: + + + + + Query to export results for + + + + + Query to be executed for results: + + + + + Export format and options + + + + + Export format + + + + + Output + + + + + Exported file path + + + + + Clipboard + + + + + File + + + + + Exported text encoding: + + + + + Export format options + + + + + Cancel + + + + + + + Select database to export. + + + + + Select table to export. + + + + + Enter valid query to export. + + + + + Select at least one object to export. + + + + + You must provide a file name to export to. + + + + + Path you provided is an existing directory. You cannot overwrite it. + + + + + The directory '%1' does not exist. + + + + + The file '%1' exists and will be overwritten. + + + + + All files (*) + + + + + Pick file to export to + + + + + Internal error during export. This is a bug. Please report it. + + + + + FontEdit + + + Choose font + font configuration + + + + + Form + + + Active SQL formatter plugin + + + + + FormView + + + Commit row + form view + + + + + Rollback row + form view + + + + + First row + form view + + + + + Previous row + form view + + + + + Next row + form view + + + + + Last row + form view + + + + + Insert new row + form view + + + + + Delete current row + form view + + + + + FunctionsEditor + + + Filter funtions + + + + + Function name: + + + + + Implementation language: + + + + + Type: + + + + + Input arguments + + + + + Undefined + + + + + Databases + + + + + Register in all databases + + + + + Register in following databases: + + + + + Initialization code: + + + + + + Function implementation code: + + + + + Final step implementation code: + + + + + SQL function editor + + + + + Commit all function changes + + + + + Rollback all function changes + + + + + Create new function + + + + + Delete selected function + + + + + Custom SQL functions manual + + + + + Add function argument + + + + + Rename function argument + + + + + Delete function argument + + + + + Move function argument up + + + + + Move function argument down + + + + + Scalar + + + + + Aggregate + + + + + Enter a non-empty, unique name of the function. + + + + + Pick the implementation language. + + + + + Per step code: + + + + + Enter a non-empty implementation code. + + + + + argument + new function argument name in function editor window + + + + + Functions editor window has uncommited modifications. + + + + + ImportDialog + + + Import data + + + + + Table to import to + + + + + Table + + + + + Database + + + + + Data source to import from + + + + + Data source type + + + + + Options + + + + + Input file: + + + + + Text encoding: + + + + + Data source options + + + + + Cancel + + + + + If you type table name that doesn't exist, it will be created. + + + + + Enter the table name + + + + + Select import plugin. + + + + + You must provide a file to import from. + + + + + The file '%1' does not exist. + + + + + Path you provided is a directory. A regular file is required. + + + + + Pick file to import from + + + + + IndexDialog + + + + Index + + + + + On table: + + + + + Index name: + + + + + Partial index condition + + + + + Unique index + + + + + Column + + + + + Collation + + + + + Sort + + + + + DDL + + + + + Tried to open index dialog for closed or inexisting database. + + + + + Could not process index %1 correctly. Unable to open an index dialog. + + + + + Pick the table for the index. + + + + + Select at least one column. + + + + + Enter a valid condition. + + + + + default + index dialog + + + + + Sort order + table constraints + + + + + + Error + index dialog + + + + + Cannot create unique index, because values in selected columns are not unique. Would you like to execute SELECT query to see problematic values? + + + + + An error occurred while executing SQL statements: +%1 + + + + + LanguageDialog + + + Language + + + + + Please choose language: + + + + + MainWindow + + + Database toolbar + + + + + Structure toolbar + + + + + Tools + + + + + Window list + + + + + View toolbar + + + + + Configuration widgets + + + + + Syntax highlighting engines + + + + + Data editors + + + + + Running in debug mode. Press %1 or use 'Help / Open debug console' menu entry to open the debug console. + + + + + Running in debug mode. Debug messages are printed to the standard output. + + + + + You need to restart application to make the language change take effect. + + + + + Open SQL editor + + + + + Open DDL history + + + + + Open SQL functions editor + + + + + Open collations editor + + + + + Import + + + + + Export + + + + + Open configuration dialog + + + + + Tile windows + + + + + Tile windows horizontally + + + + + Tile windows vertically + + + + + Cascade windows + + + + + Next window + + + + + Previous window + + + + + Hide status field + + + + + Close selected window + + + + + Close all windows but selected + + + + + Close all windows + + + + + Restore recently closed window + + + + + Rename selected window + + + + + Open Debug Console + + + + + Report a bug + + + + + Propose a new feature + + + + + About + + + + + Licenses + + + + + Open home page + + + + + Open forum page + + + + + User Manual + + + + + SQLite documentation + + + + + Report history + + + + + Check for updates + + + + + Database + menubar + + + + + Structure + menubar + + + + + View + menubar + + + + + Window list + menubar view menu + + + + + Tools + menubar + + + + + Help + + + + + Could not set style: %1 + main window + + + + + Cannot export, because no export plugin is loaded. + + + + + Cannot import, because no import plugin is loaded. + + + + + Rename window + + + + + Enter new name for the window: + + + + + New updates are available. <a href="%1">Click here for details</a>. + + + + + You're running the most recent version. No updates are available. + + + + + Database passed in command line parameters (%1) was already on the list under name: %2 + + + + + Database passed in command line parameters (%1) has been temporarily added to the list under name: %2 + + + + + Could not add database %1 to list. + + + + + MdiWindow + + + Uncommited changes + + + + + Close anyway + + + + + Don't close + + + + + MultiEditor + + + Null value + multieditor + + + + + Configure editors for this data type + + + + + Data editor plugin '%1' not loaded, while it is defined for editing '%1' data type. + + + + + Deleted + multieditor + + + + + Read only + multieditor + + + + + MultiEditorBool + + + Boolean + + + + + MultiEditorDate + + + Date + + + + + MultiEditorDateTime + + + Date & time + + + + + MultiEditorHex + + + Hex + + + + + MultiEditorNumeric + + + Number + numeric multi editor tab name + + + + + MultiEditorText + + + Text + + + + + Tab changes focus + + + + + Cut + + + + + Copy + + + + + Paste + + + + + Delete + + + + + Undo + + + + + Redo + + + + + MultiEditorTime + + + Time + + + + + NewConstraintDialog + + + New constraint + + + + + + Primary Key + new constraint dialog + + + + + + Foreign Key + new constraint dialog + + + + + + Unique + new constraint dialog + + + + + + Check + new constraint dialog + + + + + Not NULL + new constraint dialog + + + + + Collate + new constraint dialog + + + + + Default + new constraint dialog + + + + + NewVersionDialog + + + SQLiteStudio updates + + + + + New updates are available! + + + + + Component + + + + + Current version + + + + + Update version + + + + + Check for updates on startup + + + + + Update to new version! + + + + + The update will be automatically downloaded and installed. This will also restart application at the end. + + + + + Not now. + + + + + Don't install the update and close this window. + + + + + PopulateConfigDialog + + + Populating configuration + + + + + Configuring <b>%1</b> for column <b>%2</b> + + + + + PopulateDialog + + + Populate table + + + + + Database + + + + + Table + + + + + Columns + + + + + Number of rows to populate: + + + + + Populate + populate dialog button + + + + + Configure + + + + + Populating configuration for this column is invalid or incomplete. + + + + + Select database with table to populate + + + + + Select table to populate + + + + + You have to select at least one column. + + + + + QObject + + + Cannot edit columns that are result of compound %1 statements (one that includes %2, %3 or %4 keywords). + + + + + The query execution mechanism had problems with extracting ROWID's properly. This might be a bug in the application. You may want to report this. + + + + + Requested column is a result of SQL expression, instead of a simple column selection. Such columns cannot be edited. + + + + + Requested column belongs to restricted SQLite table. Those tables cannot be edited directly. + + + + + Cannot edit results of query other than %1. + + + + + Cannot edit columns that are result of aggregated %1 statements. + + + + + Cannot edit columns that are result of %1 statement. + + + + + Cannot edit columns that are result of common table expression statement (%1). + + + + + + + + on conflict: %1 + data view tooltip + + + + + references table %1, column %2 + data view tooltip + + + + + condition: %1 + data view tooltip + + + + + collation name: %1 + data view tooltip + + + + + Data grid view + + + + + Copy cell(s) contents to clipboard + + + + + Paste cell(s) contents from clipboard + + + + + Set empty value to selected cell(s) + + + + + Set NULL value to selected cell(s) + + + + + Commit changes to cell(s) contents + + + + + Rollback changes to cell(s) contents + + + + + Delete selected data row + + + + + Insert new data row + + + + + Open contents of selected cell in a separate editor + + + + + Total pages available: %1 + + + + + Total rows loaded: %1 + + + + + Data view (both grid and form) + + + + + Refresh data + + + + + Switch to grid view of the data + + + + + Switch to form view of the data + + + + + Database list + + + + + Delete selected item + + + + + Clear filter contents + + + + + Refresh schema + + + + + Refresh all schemas + + + + + Add database + + + + + Select all items + + + + + Copy selected item(s) + + + + + + + Paste from clipboard + + + + + Tables + + + + + Indexes + + + + + Triggers + + + + + Views + + + + + Columns + + + + + Data form view + + + + + Commit changes for current row + + + + + Rollback changes for current row + + + + + Go to first row on current page + + + + + Go to next row + + + + + Go to previous row + + + + + Go to last row on current page + + + + + Insert new row + + + + + Delete current row + + + + + Main window + + + + + Open SQL editor + + + + + Previous window + + + + + Next window + + + + + Hide status area + + + + + Open configuration dialog + + + + + Open Debug Console + + + + + Cell text value editor + + + + + + Cut selected text + + + + + + Copy selected text + + + + + + Delete selected text + + + + + + Undo + + + + + + Redo + + + + + SQL editor input field + + + + + Select whole editor contents + + + + + Save contents into a file + + + + + Load contents from a file + + + + + Find in text + + + + + Find next + + + + + Find previous + + + + + Replace in text + + + + + Delete current line + + + + + Request code assistant + + + + + Format contents + + + + + Move selected block of text one line down + + + + + Move selected block of text one line up + + + + + Copy selected block of text and paste it a line below + + + + + Copy selected block of text and paste it a line above + + + + + All SQLite databases + + + + + All files + + + + + Database file + + + + + Reports history window + + + + + Delete selected entry + + + + + SQL editor window + + + + + Execute query + + + + + Execute "%1" query + + + + + Switch current working database to previous on the list + + + + + Switch current working database to next on the list + + + + + Go to next editor tab + + + + + Go to previous editor tab + + + + + Move keyboard input focus to the results view below + + + + + Move keyboard input focus to the SQL editor above + + + + + Table window + + + + + Refresh table structure + + + + + Add new column + + + + + Edit selected column + + + + + Delete selected column + + + + + Export table data + + + + + Import data to the table + + + + + Add new table constraint + + + + + Edit selected table constraint + + + + + Delete selected table constraint + + + + + Refresh table index list + + + + + Add new index + + + + + Edit selected index + + + + + Delete selected index + + + + + Refresh table trigger list + + + + + + Add new trigger + + + + + + Edit selected trigger + + + + + + Delete selected trigger + + + + + + Go to next tab + + + + + + Go to previous tab + + + + + A view window + + + + + Refresh view trigger list + + + + + QuitConfirmDialog + + + Uncommited changes + + + + + Are you sure you want to quit the application? + +Following items are pending: + + + + + SearchTextDialog + + + Find or replace + + + + + Find: + + + + + Case sensitive + + + + + Search backwards + + + + + Regular expression matching + + + + + Replace && +find next + + + + + Replace with: + + + + + Replace all + + + + + Find + + + + + SortDialog + + + Sort by columns + + + + + + Column + + + + + + Order + + + + + Sort by: %1 + + + + + Move column up + + + + + Move column down + + + + + SqlEditor + + + Cut + sql editor + + + + + Copy + sql editor + + + + + Paste + sql editor + + + + + Delete + sql editor + + + + + Select all + sql editor + + + + + Undo + sql editor + + + + + Redo + sql editor + + + + + Complete + sql editor + + + + + Format SQL + sql editor + + + + + Save SQL to file + sql editor + + + + + Load SQL from file + sql editor + + + + + Delete line + sql editor + + + + + Move block down + sql editor + + + + + Move block up + sql editor + + + + + Copy block down + sql editor + + + + + Copy up down + sql editor + + + + + Find + sql editor + + + + + Find next + sql editor + + + + + Find previous + sql editor + + + + + Replace + sql editor + + + + + Syntax completion can be used only when a valid database is set for the SQL editor. + + + + + Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled. + + + + + Save to file + + + + + Could not open file '%1' for writing: %2 + + + + + SQL scripts (*.sql);;All files (*) + + + + + Open file + + + + + Could not open file '%1' for reading: %2 + + + + + Reached the end of document. Hit the find again to restart the search. + + + + + SqlQueryItem + + + Column: + data view tooltip + + + + + Data type: + data view + + + + + Table: + data view tooltip + + + + + Constraints: + data view tooltip + + + + + This cell is not editable, because: %1 + + + + + Cannot load the data for a cell that refers to the already closed database. + + + + + SqlQueryItemDelegate + + + + Cannot edit this cell. Details: %2 + + + + + The row is marked for deletion. + + + + + SqlQueryModel + + + + Only one query can be executed simultaneously. + + + + + Uncommited data + + + + + There are uncommited data changes. Do you want to proceed anyway? All uncommited changes will be lost. + + + + + Cannot commit the data for a cell that refers to the already closed database. + + + + + Could not begin transaction on the database. Details: %1 + + + + + An error occurred while commiting the transaction: %1 + + + + + An error occurred while rolling back the transaction: %1 + + + + + Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it. + + + + + An error occurred while commiting the data: %1 + + + + + + Error while executing SQL query on database '%1': %2 + + + + + Error while loading query results: %1 + + + + + Insert multiple rows + + + + + Number of rows to insert: + + + + + SqlQueryView + + + Copy + + + + + Copy as... + + + + + Paste + + + + + Paste as... + + + + + Set NULL values + + + + + Erase values + + + + + Edit value in editor + + + + + Commit + + + + + Rollback + + + + + Commit selected cells + + + + + Rollback selected cells + + + + + Define columns to sort by + + + + + Remove custom sorting + + + + + Insert row + + + + + Insert multiple rows + + + + + Delete selected row + + + + + Edit value + + + + + SqlTableModel + + + Error while commiting new row: %1 + + + + + Error while deleting row from table %1: %2 + + + + + StatusField + + + Status + + + + + Copy + + + + + Clear + + + + + TableConstraintsModel + + + Type + table constraints + + + + + Details + table constraints + + + + + Name + table constraints + + + + + TableForeignKeyPanel + + + Foreign table: + + + + + SQLite 2 does not support foreign keys officially, +but it's okay to use them anyway. + + + + + Columns + + + + + Local column + + + + + Foreign column + + + + + Reactions + + + + + Deferred foreign key + + + + + Named constraint + + + + + Constraint name + + + + + Pick the foreign column. + + + + + Pick the foreign table. + + + + + Select at least one foreign column. + + + + + Enter a name of the constraint. + + + + + Foreign column + table constraints + + + + + TablePrimaryKeyAndUniquePanel + + + Columns + + + + + Column + + + + + Collation + + + + + Sort + + + + + Valid only for a single column with INTEGER data type + + + + + Autoincrement + + + + + Named constraint + + + + + Constraint name + + + + + On conflict + + + + + Collate + table constraints + + + + + Sort order + table constraints + + + + + Select at least one column. + + + + + Enter a name of the constraint. + + + + + TableStructureModel + + + Name + table structure columns + + + + + Data type + table structure columns + + + + + Default value + table structure columns + + + + + TableWindow + + + Structure + + + + + Table name: + + + + + Data + + + + + Constraints + + + + + Indexes + + + + + Triggers + + + + + DDL + + + + + Export table + table window + + + + + Import data to table + table window + + + + + Populate table + table window + + + + + Refresh structure + table window + + + + + Commit structure changes + table window + + + + + Rollback structure changes + table window + + + + + Add column + table window + + + + + Edit column + table window + + + + + + Delete column + table window + + + + + Move column up + table window + + + + + Move column down + table window + + + + + Create similar table + table window + + + + + Reset autoincrement value + table window + + + + + Add table constraint + table window + + + + + Edit table constraint + table window + + + + + Delete table constraint + table window + + + + + Move table constraint up + table window + + + + + Move table constraint down + table window + + + + + Add table primary key + table window + + + + + Add table foreign key + table window + + + + + Add table unique constraint + table window + + + + + Add table check constraint + table window + + + + + Refresh index list + table window + + + + + Create index + table window + + + + + Edit index + table window + + + + + Delete index + table window + + + + + Refresh trigger list + table window + + + + + Create trigger + table window + + + + + Edit trigger + table window + + + + + Delete trigger + table window + + + + + Are you sure you want to delete column '%1'? + table window + + + + + Following problems will take place while modifying the table. +Would you like to proceed? + table window + + + + + Table modification + table window + + + + + Could not load data for table %1. Error details: %2 + + + + + Could not process the %1 table correctly. Unable to open a table window. + + + + + Could not restore window, because database %1 could not be resolved. + + + + + Could not restore window, because the table %1 doesn't exist in the database %2. + + + + + + New table %1 + + + + + Could not commit table structure. Error message: %1 + table window + + + + + Reset autoincrement + + + + + Are you sure you want to reset autoincrement value for table '%1'? + + + + + An error occurred while trying to reset autoincrement value for table '%1': %2 + + + + + Autoincrement value for table '%1' has been reset successfly. + + + + + Empty name + + + + + A blank name for the table is allowed in SQLite, but it is not recommended. +Are you sure you want to create a table with blank name? + + + + + Cannot create a table without at least one column. + + + + + Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key. + + + + + Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key. + + + + + Are you sure you want to delete table constraint '%1'? + table window + + + + + Delete constraint + table window + + + + + Cannot export, because no export plugin is loaded. + + + + + Cannot import, because no import plugin is loaded. + + + + + Uncommited changes + + + + + There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled. +Do you want to commit the structure, or do you want to go back to the structure tab? + + + + + Go back to structure tab + + + + + Commit modifications and browse data. + + + + + Name + table window indexes + + + + + Unique + table window indexes + + + + + Columns + table window indexes + + + + + Partial index condition + table window indexes + + + + + Name + table window triggers + + + + + Event + table window triggers + + + + + Condition + table window triggers + + + + + Details + table window triggers + + + + + Table window "%1" has uncommited structure modifications and data. + + + + + Table window "%1" has uncommited data. + + + + + Table window "%1" has uncommited structure modifications. + + + + + TriggerColumnsDialog + + + Trigger columns + + + + + Triggering columns: + + + + + TriggerDialog + + + + Trigger + + + + + On table: + + + + + Action: + + + + + + <p>SQL condition that will be evaluated before the actual trigger code. In case the condition returns false, the trigger will not be fired for that row.</p> + + + + + Pre-condition: + + + + + The scope is still not fully supported by the SQLite database. + + + + + Trigger name: + + + + + When: + + + + + List of columns for UPDATE OF action. + + + + + Scope: + + + + + Code: + + + + + Trigger statements to be executed. + + + + + DDL + + + + + On view: + + + + + Could not process trigger %1 correctly. Unable to open a trigger dialog. + + + + + Enter a valid condition. + + + + + Enter a valid trigger code. + + + + + Error + trigger dialog + + + + + An error occurred while executing SQL statements: +%1 + + + + + VersionConvertSummaryDialog + + + Database version convert + + + + + Following changes to the SQL statements will be made: + + + + + Before + + + + + After + + + + + ViewWindow + + + Query + + + + + View name: + + + + + Data + + + + + Triggers + + + + + DDL + + + + + Could not restore window, because database %1 could not be resolved. + + + + + Could not restore window, because database %1 could not be open. + + + + + Could not restore window, because the view %1 doesn't exist in the database %2. + + + + + + New view %1 + + + + + Refresh the view + view window + + + + + Commit the view changes + view window + + + + + Rollback the view changes + view window + + + + + Refresh trigger list + view window + + + + + Create new trigger + view window + + + + + Edit selected trigger + view window + + + + + Delete selected trigger + view window + + + + + View window "%1" has uncommited structure modifications and data. + + + + + View window "%1" has uncommited data. + + + + + View window "%1" has uncommited structure modifications. + + + + + Could not load data for view %1. Error details: %2 + + + + + Uncommited changes + + + + + There are uncommited structure modifications. You cannot browse or edit data until you have the view structure settled. +Do you want to commit the structure, or do you want to go back to the structure tab? + + + + + Go back to structure tab + + + + + Commit modifications and browse data. + + + + + Could not commit view changes. Error message: %1 + view window + + + + + Name + view window triggers + + + + + Instead of + view window triggers + + + + + Condition + view window triggers + + + + + Details + table window triggers + + + + + Could not process the %1 view correctly. Unable to open a view window. + + + + + Empty name + + + + + A blank name for the view is allowed in SQLite, but it is not recommended. +Are you sure you want to create a view with blank name? + + + + + The SELECT statement could not be parsed. Please correct the query and retry. +Details: %1 + + + + + The view could not be modified due to internal SQLiteStudio error. Please report this! + + + + + The view code could not be parsed properly for execution. This is a SQLiteStudio's bug. Please report it. + + + + + Following problems will take place while modifying the view. +Would you like to proceed? + view window + + + + + View modification + view window + + + + + WidgetCover + + + Interrupt + + + + diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.qm b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.qm new file mode 100644 index 0000000..bdd914e Binary files /dev/null and b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.qm differ diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.ts b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.ts new file mode 100644 index 0000000..480d4ad --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_fr.ts @@ -0,0 +1,5977 @@ + + + + + AboutDialog + + + About SQLiteStudio and licenses + Apropos de SQLiteStudio et licences + + + + About + Apropos + + + + <html><head/><body><p align="center"><span style=" font-size:11pt; font-weight:600;">SQLiteStudio v%1</span></p><p align="center">Free, open-source, cross-platform SQLite database manager.<br/><a href="http://sqlitestudio.pl"><span style=" text-decoration: underline; color:#0000ff;">http://sqlitestudio.pl</span></a><br/></p><p align="center">%2<br/></p><p align="center">Author and active maintainer:<br/>SalSoft (<a href="http://salsoft.com.pl"><span style=" text-decoration: underline; color:#0000ff;">http://salsoft.com.pl</span></a>)<br/></p></body></html> + <html><head/><body><p align="center"><span style=" font-size:11pt; font-weight:600;">SQLiteStudio v%1</span></p><p align="center">Libre, open-source, cross-platform SQLite database manager.<br/><a href="http://sqlitestudio.pl"><span style=" text-decoration: underline; color:#0000ff;">http://sqlitestudio.pl</span></a><br/></p><p align="center">%2<br/></p><p align="center">Auteur et maintenance:<br/>SalSoft (<a href="http://salsoft.com.pl"><span style=" text-decoration: underline; color:#0000ff;">http://salsoft.com.pl</span></a>)<br/></p></body></html> + + + + Licenses + Licences + + + + Environment + Environnement + + + + Icon directories + Répertoires d'images + + + + Form directories + Répertoires des formulaires + + + + Plugin directories + Répertoires des plugin + + + + Application directory + Répertoire de l'application + + + + SQLite 3 version: + + + + + Configuration directory + Répertoire de configuration + + + + Qt version: + Version Qt: + + + + Portable distribution. + Portable distribution. + + + + MacOS X application boundle distribution. + MacOS X application boundle distribution. + + + + Operating system managed distribution. + Operating system managed distribution. + + + + Copy + Copie + + + + <h3>Table of contents:</h3><ol>%2</ol> + <h3>Table des matières:</h3><ol>%2</ol> + + + + BugDialog + + + Bugs and ideas + Bugs et idées + + + + Reporter + Rapport + + + + E-mail address + Adresse E-mail + + + + + Log in + S'identifier + + + + Short description + Courte description + + + + Detailed description + Description détaillée + + + + Show more details + Montrer plus de détails + + + + SQLiteStudio version + Version SQLiteStudio + + + + Operating system + Système d'exploitation + + + + Loaded plugins + Plugins chargés + + + + Send + Envoyez + + + + You can see all your reported bugs and ideas by selecting menu '%1' and then '%2'. + Vous pouvez voir tous bugs et idées que vous avez rapportées en sélectionnant le menu '%1' puis '%2'. + + + + A bug report sent successfully. + Rapport de bug envoyé avec succès. + + + + An error occurred while sending a bug report: %1 +%2 + Une erreur est survenue lors de l'envoi du rapport de bug: %1 +%2 + + + + + You can retry sending. The contents will be restored when you open a report dialog after an error like this. + Vous pouvez réexpédier. Le contenu sera restoré lorsque vous ouvrirez le dialogue du rapport après une telle erreur. + + + + An idea proposal sent successfully. + L'idée proposée à été envoyée avec succès. + + + + An error occurred while sending an idea proposal: %1 +%2 + Une erreeur est survenu lors de l'envoi de l'idée proposée: %1 %2 + + + + A bug report + Rapport de bug + + + + Describe problem in few words + Décrivez le problème en queques mots + + + + Describe problem and how to reproduce it + Décriver le problem et comment le reproduire + + + + A new feature idea + Une nouvelle idée de fonctionalité + + + + A title for your idea + Un titre pour votre idée + + + + Describe your idea in more details + Décrivez votre idée avec plus de détails + + + + Reporting as an unregistered user, using e-mail address. + Rapport comme nouvel utilisateur, avec une adresse mail. + + + + Reporting as a registered user. + Rapport comme utilisateur enregistré. + + + + Log out + Déconnexion + + + + Providing true email address will make it possible to contact you regarding your report. To learn more, press 'help' button on the right side. + En fournissant un mail existant il sera possible de vous contacterau sujet du rapport. Pour en savoir plus, clic sur le bouton 'help'sur le coté droit. + + + + Enter vaild e-mail address, or log in. + Entrez un mail valide ou connectez-vous. + + + + Short description requires at least 10 characters, but not more than 100. Longer description can be entered in the field below. + Une description courte nécessite au moins 10 caractères , mais pas plus de 100. La longueur de la description ne peut être contenue dans ce champ. + + + + Long description requires at least 30 characters. + Une descption longue require au moins 30 caractères. + + + + BugReportHistoryWindow + + + + Title + Titre + + + + + Reported at + Reporté à + + + + + URL + URL + + + + Reports history + Historique de rapports + + + + Clear reports history + Vider l'historique de rapports + + + + Delete selected entry + Supprimer l'entrée sélectionnée + + + + Invalid response from server. + Réponse invalide du serveur. + + + + BugReportLoginDialog + + + Log in + Connexion + + + + Credentials + Certifications + + + + Login: + Identification: + + + + Password: + Mot de passe: + + + + Validation + Validation + + + + Validate + Valider + + + + Validation result message + Message de validation + + + + Abort + Abandonner + + + + A login must be at least 2 characters long. + Un identifiant dois avoir au moins 2 caractères. + + + + A password must be at least 5 characters long. + Un mot de passe doit avoir au moins 5 caractères. + + + + Valid + Valide + + + + CollationsEditor + + + Filter collations + Filtre de regroupements + + + + Collation name: + Nom de regroupements: + + + + Implementation language: + Language d'implémentation: + + + + Databases + Base de données + + + + Register in all databases + Inscrire daans toutes les bases de données + + + + Register in following databases: + Inscrire dans les bases de données suivantes: + + + + Implementation code: + Code d'inplémentation: + + + + Collations editor + Editeur de regroupement + + + + Commit all collation changes + Enregistrer les motifications de regroupement + + + + Rollback all collation changes + annuler toutes les modifications de regroupement + + + + Create new collation + Création de regroupement + + + + Delete selected collation + Supprimer le regroupement sélectionné + + + + Editing collations manual + Modification manuelle de regroupement + + + + Enter a non-empty, unique name of the collation. + Saississez un nom unique, non vide, de regroupement. + + + + Pick the implementation language. + Prendre le language d'inplémentation. + + + + Enter a non-empty implementation code. + Saississez un nom, non vide, de language d'implémentation. + + + + Collations editor window has uncommited modifications. + L'éditeur de regroupement n'as pas enregistré les modifications. + + + + ColorButton + + + Pick a color + Coisir une couleur + + + + ColumnCollatePanel + + + Collation name: + Nom de la jointure: + + + + Named constraint: + Constante nomée: + + + + Enter a name of the constraint. + Saisir le nom de la contrainte. + + + + Enter a collation name. + Saisir le nom de la jointure. + + + + ColumnDefaultPanel + + + Default value: + Valeur par défaut: + + + + Named constraint: + Contrainte nommée: + + + + Enter a default value expression. + Saississez l'expression d'une valeur par défaut. + + + + Invalid default value expression: %1 + Invalide expression d'une valeur par défaut: %1 + + + + Enter a name of the constraint. + Saississez un nom de contrainte. + + + + ColumnDialog + + + Column + Colonne + + + + Name and type + Nom et type + + + + Data type: + Type de données: + + + + Column name: + Nom de colonne: + + + + Size: + Taille: + + + + Constraints + Contraintes + + + + Unique + Unique + + + + + + + + + + Configure + Configurer + + + + Foreign Key + Clé étranère + + + + Collate + Jointure + + + + Not NULL + Non NULL + + + + Check condition + Vérifiez la contition + + + + Primary Key + Clé primaire + + + + Default + Défaut + + + + Advanced mode + Mode avancé + + + + Add constraint + column dialog + Ajouter une contrainte + + + + Edit constraint + column dialog + Editer la contrainte + + + + + Delete constraint + column dialog + Supprimer la contrainte + + + + Move constraint up + column dialog + Monter la contrainte + + + + Move constraint down + column dialog + Descendre la contrainte + + + + Add a primary key + column dialog + Ajouter une clé primaire + + + + Add a foreign key + column dialog + Ajouter une clé étrangère + + + + Add an unique constraint + column dialog + Ajouter une contrainte unique + + + + Add a check constraint + column dialog + Ajouter un contrôle de la contrainte + + + + Add a not null constraint + column dialog + Ajouter une contrainte non NULL + + + + Add a collate constraint + column dialog + Ajouter un commentaire à la contrainte + + + + Add a default constraint + column dialog + Ajouter une contrainte par défaut + + + + Are you sure you want to delete constraint '%1'? + column dialog + Etes-vous sûr de vouloir supprimer la contrainte '%1'? + + + + Correct the constraint's configuration. + Corrigez la configuration de la contrainte. + + + + This constraint is not officially supported by SQLite 2, +but it's okay to use it. + Cette contrainte n'est pas supportée officiellement par SQLite 2, +mais c'est OK pour l'utiliser. + + + + ColumnDialogConstraintsModel + + + Type + column dialog constraints + Type + + + + Name + column dialog constraints + Nom + + + + Details + column dialog constraints + Details + + + + ColumnForeignKeyPanel + + + Foreign table: + Table étrangère: + + + + Foreign column: + Colonne étrangère: + + + + Reactions + Réactions + + + + Deferred foreign key + Clé étrangère refusée + + + + Named constraint + Contrainte nomée + + + + Constraint name + Nom de contrainte + + + + Pick the foreign table. + Sélectionner une table étrangère. + + + + Pick the foreign column. + Séléctionner une colonne étrangère. + + + + Enter a name of the constraint. + Saississez un nom de contraite. + + + + ColumnPrimaryKeyPanel + + + Autoincrement + Autoincrémentation + + + + Sort order: + ordre de tri: + + + + Named constraint: + Contrainte nommée: + + + + On conflict: + Sur conflit: + + + + Enter a name of the constraint. + Saississez le nom d'une contrainte. + + + + Autoincrement (only for %1 type columns) + column primary key + Autoincrémentation(seulement pour %1 colonne type) + + + + ColumnUniqueAndNotNullPanel + + + Named constraint: + + + + + On conflict: + Sur conflit: + + + + Enter a name of the constraint. + Saississez un nom de contrainte. + + + + CompleterWindow + + + Column: %1 + completer statusbar + Colonne: %1 + + + + Table: %1 + completer statusbar + Table: %1 + + + + Index: %1 + completer statusbar + Index: %1 + + + + Trigger: %1 + completer statusbar + Déclencheur: %1 + + + + View: %1 + completer statusbar + Vue %1 + + + + Database: %1 + completer statusbar + Base de données: %1 + + + + Keyword: %1 + completer statusbar + Mon clé: %1 + + + + Function: %1 + completer statusbar + Fonction: %1 + + + + Operator: %1 + completer statusbar + Opérateur: %1 + + + + String + completer statusbar + Chainge + + + + Number + completer statusbar + Nombre + + + + Binary data + completer statusbar + Données binaire + + + + Collation: %1 + completer statusbar + Regroupement: %1 + + + + Pragma function: %1 + completer statusbar + Fonction Pragma: %1 + + + + ConfigDialog + + + + Configuration + Configuration + + + + Search + Recherche + + + + General + Général + + + + Keyboard shortcuts + Raccourcis clavier + + + + Look & feel + Aspet + + + + Style + Style + + + + Fonts + Polices + + + + Colors + Couleurs + + + + Plugins + Plugins + + + + Code formatters + Formatage code + + + + Data browsing + Navigation données + + + + Data editors + Editeur données + + + + Data browsing and editing + Navigateur et editeur données + + + + Number of data rows per page: + Nombre de lignes de données par page: + + + + + <p>When the data is read into grid view columns width is automatically adjusted. This value limits the initial width for the adjustment, but user can still resize the column manually over this limit.</p> + <p>Lorsque les données sont lues dans le tableau la largeur est automatiquement ajustée. Cette valeur limite la largeur initialepour l'ajustement, mais l'utilisateur peut recadrer les colonnes manuellement audessus de cette limite.</p> + + + + Limit initial data column width to (in pixels): + Lilite initial de la largeur de la colonne de données (en pixel): + + + + Data types + Types de données + + + + Available editors: + Editeurs disponibles: + + + + Editors selected for this data type: + Editeur sélectionné pour ce type de données: + + + + Schema editing + Edition de schéma + + + + Number of DDL changes kept in history. + Nombre de DDL modifiés gardés dans l'historique. + + + + DDL history size: + Dimension de l'historique DDL: + + + + Don't show DDL preview dialog when commiting schema changes + Ne pas montrer la présualisation DDL pendant l'enregistrement de schéma modifié + + + + SQL queries + Requêtes SQL + + + + + Number of queries kept in the history. + Nombre de requêtes gardées dans l'historique. + + + + History size: + Dimension de l'historique: + + + + <p>If there is more than one query in the SQL editor window, then (if this option is enabled) only a single query will be executed - the one under the keyboard insertion cursor. Otherwise all queries will be executed. You can always limit queries to be executed by selecting those queries before calling to execute.</p> + <p>S'il y a plus d'une requête dans l'éditeur d'SQL, alors (si cette option est permise) seulement une seule requête sera exécutée -cellesous le curseur d'insertion. Autrement toutes les requêtes seront exécutées. Vous pouvez limiter le nombre de requêtes devant être exécutées en sélectionnant ces requêtes avant leur exécution.</p> + + + + Execute only the query under the cursor + Exécuter seulement la requête sous le curseur + + + + Updates + Mises à jour + + + + Automatically check for updates at startup + Contrôle automatique des mises à jour au lancement + + + + Session + Session + + + + Restore last session (active MDI windows) after startup + Restaurer la dernière session(Fenêtre MDI active) après lancement + + + + Filter shortcuts by name or key combination + Filtre par nom raccourci ou combinaison de touches + + + + Action + Action + + + + Key combination + Combinaison de touches + + + + + Language + Langage + + + + Changing language requires application restart to take effect. + Le changement de langage requiére le redemarrage de l'application pour prendre effet. + + + + Database list + Liste de base de données + + + + If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement. + Sur off, les colonnes seront triées dans l'ordre de saisie de l'instruction CREATE TABLE. + + + + Sort table columns alphabetically + Ordre de tri alpha de la colonne + + + + Expand tables node when connected to a database + Déployez le noeud des tables lors de la connexion de la base de données + + + + <p>Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.<p> + <p>Les labels supplémentaires sont ceux montrés à côté des noms dans la liste de bases de données ( bleus,sauf autre configaration). Permettre cette option aboutira aux lablels pour des bases de données, des bases de données invalides et des noeuds (colonnes, index, déclancheur). Pour plus de labels voir des options ci-dessous.<p> + + + + Display additional labels on the list + Afficher des labels supplémentairesà la liste + + + + For regular tables labels will show number of columns, indexes and triggers for each of tables. + Pour des tables courantes les labels montrerons le nombre der colonnes, index et déclencheurs pour chaque tables. + + + + Display labels for regular tables + Afficher les labels pour les tables courantes + + + + Virtual tables will be marked with a 'virtual' label. + Les tables vituelles seront marquées avec un label virtuel. + + + + Display labels for virtual tables + Afficher les labels pour les tables virtuelles + + + + Expand views node when connected to a database + Etendre le noeud des vues lorsque la base de données est connectée + + + + If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created) + Si cette option est déactivée, les objets seront triés pour qu' ils apparaissent dans la table sqlite_master (dans l'ordre de création) + + + + Sort objects (tables, indexes, triggers and views) alphabetically + Tri d'objets (tables, index, déclancheurs et vues) en alpha + + + + Display system tables and indexes on the list + Afficher les tables système et index dans la liste + + + + Table windows + Fenêtre de ta table + + + + When enabled, Table Windows will show up with the data tab, instead of the structure tab. + Lorsque c'est permis, la fenêtre des tables sera affichée avec l'onglet des données, à la place de l'onglet structure. + + + + Open Table Windows with the data tab for start + Ourerture la fenêtre de table avec l'onglet des données au départ + + + + View windows + Fenêtre de vue + + + + When enabled, View Windows will show up with the data tab, instead of the structure tab. + Lorsque c'est permis, la fenêtre des vues sera affichée avec l'onglet des données, à la place de l'onglet structure. + + + + Open View Windows with the data tab for start + Ourerture la fenêtre de vue avec l'onglet des données au départ + + + + Hide built-in plugins + Cacher des plugins incorporés + + + + Current style: + Style actuel: + + + + Preview + Aperçu + + + + Enabled + En service + + + + Disabled + Hors service + + + + Active formatter plugin + Plugin de formattage actf + + + + SQL editor font + Police de l'éditeur SQL + + + + Database list font + Liste des polices de base de données + + + + Database list additional label font + Police additionel de la liste des base de données + + + + Data view font + Police des données de vue + + + + Status field font + Police du champ status + + + + SQL editor colors + Couleurs de l'éditeur SQL + + + + Current line background + Fond actuel de la ligne + + + + <p>SQL strings are enclosed with single quote characters.</p> + <p>Les chaines SQL sont encadrées avec de caractères simple quote.</p> + + + + String foreground + Avant plan chaine + + + + <p>Bind parameters are placeholders for values yet to be provided by the user. They have one of the forms:</p><ul><li>:param_name</li><li>$param_name</li><li>@param_name</li><li>?</li></ul> + <p>Les paramètres fournis par l'utilisateur sont passés par valeur. Ils ont l'une de ces formes:</p><ul><li>:param_name</li><li>$param_name</li><li>@param_name</li><li>?</li></ul> + + + + Bind parameter foreground + Premier plan de paramètre de lien + + + + Highlighted parenthesis background + Parenthèses surlignées + + + + <p>BLOB values are binary values represented as hexadecimal numbers, like:</p><ul><li>X'12B4'</li><li>x'46A2F4'</li></ul> + <p>les valeurs BLOB sont binaire représentés comme nombres hexadécimaux, comme:</p><ul><li>X'12B4'</li><li>x'46A2F4'</li></ul> + + + + BLOB value foreground + Premier plan de valeur BLOB + + + + Regular foreground + Avant plan courant + + + + Line numbers area background + Zone des numéros de ligne en arrière plan + + + + Keyword foreground + Mot clé en avant plan + + + + Number foreground + Nombre en avant plan + + + + Comment foreground + Commentaire en avant plan + + + + <p>Valid objects are name of tables, indexes, triggers, or views that exist in the SQLite database.</p> + <p>Les objets valides sont les nom de tables, index, déclencheurs, ou vues qui existent dans la base de données SQLite.</p> + + + + Valid objects foreground + Objets valides en avant plan + + + + Data view colors + Couleurs de vue de données + + + + <p>Any data changes will be outlined with this color, until they're commited to the database.</p> + <p>Touts les modifications de données seront écrits avec cette couleur,à l'enregistrement de la base de données.</p> + + + + Uncommited data outline color + Annulation de la couleur des données + + + + <p>In case of error while commiting data changes, the problematic cell will be outlined with this color.</p> + <p>En cas de l'erreur à l'enregistrement des modifications de données, la cellule problématique sera indiquée avec cette couleur.</p> + + + + Commit error outline color + Erreur d'enregistrement du surlignage + + + + NULL value foreground + Valeur NULL au premier plan + + + + Deleted row background + Ligne supprimée en arrier plan + + + + Database list colors + Liste de couleurs des bases de données + + + + <p>Additional labels are those which tell you SQLite version, number of objects deeper in the tree, etc.</p> + <p>Des labels supplémentaires indique la version SQLITE, le nombre d'objets au nieau inférieur, etc.</p> + + + + Additional labels foreground + Labels additionels en avant plan + + + + Status field colors + Couleurs du status des champs + + + + Information message foreground + Message d'information devant + + + + Warning message foreground + Warning devant + + + + Error message foreground + Message d'erreur devant + + + + Description: + plugin details + Description: + + + + Category: + plugin details + Catégories: + + + + Version: + plugin details + Version: + + + + Author: + plugin details + Auteur: + + + + Internal name: + plugin details + Nom interne: + + + + Dependencies: + plugin details + Dépendances: + + + + Conflicts: + plugin details + Conflicts: + + + + Plugin details + Détails plugins + + + + Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog. + Les plugins sont chargés/déchargés immédiatement avec vérifié/non vérifié, mais les modifications de la liste de plugins à charger au lancement ne sont pas enregistrées avant l'enregistrement de la configuration entière. + + + + %1 (built-in) + plugins manager in configuration dialog + %1 (intégré) + + + + Details + Détails + + + + No plugins in this category. + Pas de plugins dans cette catégorie. + + + + Add new data type + Ajoutez un nouveau type de données + + + + Rename selected data type + Renommer le type de données sélectionné + + + + Delete selected data type + Supprimez le type de données sélectionnées + + + + Help for configuring data type editors + Aide à la configuration des éditeurs de type de données + + + + ConstraintCheckPanel + + + The condition + La condition + + + + Named constraint: + Contrainte nommée: + + + + On conflict + Sur conflit + + + + Enter a valid condition. + Saississez une condition valide. + + + + Enter a name of the constraint. + Saississez un nom de contrainte valide. + + + + ConstraintDialog + + + New constraint + constraint dialog + Nouvelle contrainte + + + + Create + constraint dialog + Créer + + + + Edit constraint + dialog window + Modifier la contrainte + + + + Apply + constraint dialog + Appliquer + + + + Primary key + table constraints + Clé primaire + + + + Foreign key + table constraints + Clé étrangère + + + + Unique + table constraints + Unique + + + + Not NULL + table constraints + Non NULL + + + + Check + table constraints + Contrôle + + + + Collate + table constraints + Regroupe + + + + Default + table constraints + Défaut + + + + ConstraintTabModel + + + Table + table constraints + Table + + + + Column (%1) + table constraints + Colonne(%1) + + + + Scope + table constraints + Portée + + + + Type + table constraints + Type + + + + Details + table constraints + Details + + + + Name + table constraints + Nom + + + + DataView + + + Filter data + data view + Filtre de données + + + + Grid view + Vue tableau + + + + Form view + Vue formulaire + + + + Refresh table data + data view + Actualiser les données de la table + + + + First page + data view + Première page + + + + Previous page + data view + Page précédente + + + + Next page + data view + Page suivante + + + + Last page + data view + Dernière page + + + + Apply filter + data view + Appliquer le filtre + + + + Commit changes for selected cells + data view + Enregistrer les modifications des cellules sélectionnées + + + + Rollback changes for selected cells + data view + Annuler les modifications des celulles sélectionnées + + + + Show grid view of results + sql editor + Afficache des résultats en tableau + + + + Show form view of results + sql editor + Affichage des résultat en formulaire + + + + Filter by text + data view + Filtrer par texte + + + + Filter by the Regular Expression + data view + Filtrer par une expression standard + + + + Filter by SQL expression + data view + Filtrer par une expression SQL + + + + Tabs on top + data view + Onglets en haut + + + + Tabs at bottom + data view + Onglet en bas + + + + Total number of rows is being counted. +Browsing other pages will be possible after the row counting is done. + Le total des lignes en cours de comptage. La navigation d'autres pages à la fin du comptage. + + + + Row: %1 + Lignes: %1 + + + + DbConverterDialog + + + Convert database + Base de données convertie + + + + Source database + Base de données source + + + + Source database version: + Version de la base de données source: + + + + Target database + Base de données cible + + + + Target version: + Version cible: + + + + This is the file that will be created as a result of the conversion. + Voici le fichier qui sera créé pour lles résultats de la conversion. + + + + Target file: + Fichier cible: + + + + Name of the new database: + Nom de la nouvelle base de données: + + + + This is the name that the converted database will be added to SQLiteStudio with. + Voici le nom de la base de données convertie qui sera ajoutée à SQLiteStudio. + + + + Select source database + Sélectionnez la base de données source + + + + Enter valid and writable file path. + Saississez le chemin d'un fichier valide et en écriture. + + + + Entered file exists and will be overwritten. + Le fichier remplacera l'existant. + + + + Enter a not empty, unique name (as in the list of databases on the left). + Saississez un nom unique, non vide(comme dans la liste des bases de données à gauche). + + + + No valid target dialect available. Conversion not possible. + Nom de la cible non valide. conversion impossible. + + + + Select valid target dialect. + Sélectionnez un nom cie cible valide. + + + + Database %1 has been successfully converted and now is available under new name: %2 + La base de données %1 a été convertie correctement et disponible sous le nom: %2 + + + + SQL statements conversion + Conversion des déclacrations SQL + + + + Following error occurred while converting SQL statements to the target SQLite version: + L'erreur suivante est survenue lors de la conversion des déclarations SQL dans cible version SQLite: + + + + Would you like to ignore those errors and proceed? + Souhaitez-vous ignorer ces erreurs et continuer? + + + + DbDialog + + + Database + Base de donnée + + + + Database driver + Pilote de base de données + + + + Name + Nom + + + + Type + Type + + + + Browse for database file on local computer + Navigation de la base de données en local + + + + File + Fichier + + + + Generate name basing on file path + Génération du nom basé sur le chemin du fichier + + + + Permanent + Permanent + + + + <p>Enable this if you want the database to be stored in configuration file and restored every time SQLiteStudio is started.</p> + aasfd + <p>Autorisez-ceci si vous voulez que la base de données soit stockée dans le fichier de configuration et restauré chaque fois SQLiteStudio est lancé.</p> + + + + Test database connection + Test de connexion + + + + Browse + Navigateur + + + + Enter an unique database name. + + + + + This name is already in use. Please enter unique name. + + + + + Enter a database file path. + + + + + This database is already on the list under name: %1 + + + + + Select a database type. + + + + + The name will be auto-generated + Le non sera généré automatiquement + + + + Type the name + Saississez le nom + + + + DbObjectDialogs + + + Delete table + Table supprimée + + + + Are you sure you want to delete table %1? + Confirmez la suppression de la table %1? + + + + Delete index + Index supprimé + + + + Are you sure you want to delete index %1? + Confirmez la suppression de l'indexe %1? + + + + Delete trigger + Déclencheur supprimé + + + + Are you sure you want to delete trigger %1? + Confirmez la suppression du déclencheur %1? + + + + Delete view + Vue supprimée + + + + Are you sure you want to delete view %1? + Confirmez la suppression de la vue %1? + + + + Error while dropping %1: %2 + Erreur à l'abandon %1: %2 + + + + DbTree + + + Databases + Base de données + + + + Filter by name + Filtre par nom + + + + Copy + Copier + + + + Paste + Coller + + + + Select all + Tout sélectionner + + + + Create a group + Créer un group + + + + Delete the group + Supprimer un group + + + + Rename the group + Renommerr un group + + + + Add a database + Ajout d'une base de données + + + + Edit the database + Modifier la base de données + + + + Remove the database + Enlever la base de données + + + + Connect to the database + Connecter la base de données + + + + Disconnect from the database + Déconnecter la base de données + + + + Import + Importer + + + + Export the database + Exporter la base de données + + + + Convert database type + Type de base de données à convertir + + + + Vacuum + Vaccum + + + + Integrity check + Contrôle d'intégrité + + + + Create a table + Créer une table + + + + Edit the table + Modifier une table + + + + Delete the table + Supprimer une table + + + + Export the table + Exporter une table + + + + Import into the table + Importer dans une table + + + + Populate table + Peupler une table + + + + Create similar table + Créer une table identique + + + + Reset autoincrement sequence + Réinitialise l'autoincrémentation + + + + Create an index + Créer un index + + + + Edit the index + Modifier un index + + + + Delete the index + Supprimer un index + + + + Create a trigger + Créer un déclencheur + + + + Edit the trigger + modifier un déclencheur + + + + Delete the trigger + Supprimer un déclencheur + + + + Create a view + Créer une vue + + + + Edit the view + Modier une vue + + + + Delete the view + Supprimer une vue + + + + Add a column + Ajouter une colonne + + + + Edit the column + Modifier une colonne + + + + Delete the column + Supprimer une colonne + + + + Delete selected items + Supprimer les objets sélectionnés + + + + Clear filter + Vider le filtre + + + + Refresh all database schemas + Actualiser tous les schémas de base de données + + + + Refresh selected database schema + Actualiser les schémas de la base de données sélectionnée + + + + + Database + Base de données + + + + Grouping + Groupement + + + + + Create group + Créer groupe + + + + Group name + Nom de groupe + + + + Entry with name %1 already exists in group %2. + L'entrée nommée %1 existe déjà dans le group %2. + + + + Delete group + Supprimer le groupe + + + + Are you sure you want to delete group %1? +All objects from this group will be moved to parent group. + Etes-vous certain de supprimer le groupe %1? +Tous les objets de ce groupe seront déplacés dans le groupe parent. + + + + Delete database + Suppression de la base de données + + + + Are you sure you want to delete database '%1'? + Etes-vous certain de vouloir supprimer la base de données: %1? + + + + + Cannot import, because no import plugin is loaded. + Import impossible, car aucun plugin d'import n'est chargé. + + + + + Cannot export, because no export plugin is loaded. + Export impossible, car aucun plugin d'import n'est chargé. + + + + Error while executing VACUUM on the database %1: %2 + Erreur pendant l'exécution de VACCUM sur la base de données %1: %2 + + + + VACUUM execution finished successfully. + Exécution de VACCUM terminé avec succès. + + + + Integrity check (%1) + Contrôle d'intégrité (%1) + + + + Reset autoincrement + Remise à zéro de l'autoincrément + + + + Are you sure you want to reset autoincrement value for table '%1'? + Etes-vous certain de vouloir réinitialiser l'outoincrémentation de la table %1? + + + + An error occurred while trying to reset autoincrement value for table '%1': %2 + Une erreur est survenue pendant la réinitialisation de la valeur de l'autoincrémentation de la table '%1': %2 + + + + Autoincrement value for table '%1' has been reset successfly. + La valeur de l'autoincrémentaion de la table %1 a été réinitialisé avec succès. + + + + Following objects will be deleted: %1. + Les objets suivant vont être supprimés: %1. + + + + Following databases will be removed from list: %1. + Les bases de données suivantes seront enlevées de la liste: %1. + + + + Remainig objects from deleted group will be moved in place where the group used to be. + Les objets restants du groupe supprimé seront déplacés où le groupe a eu l'habitude d'être. + + + + %1<br><br>Are you sure you want to continue? + %1<br><br>Etes-vous certain de vouloir continuer? + + + + Delete objects + Objets supprimés + + + + DbTreeItemDelegate + + + error + dbtree labels + erreur + + + + (system table) + database tree label + (Table système) + + + + (virtual) + virtual table label + (virtuel) + + + + (system index) + database tree label + (index système) + + + + DbTreeModel + + + Database: %1 + dbtree tooltip + Base de données: %1 + + + + Version: + dbtree tooltip + Version: + + + + File size: + dbtree tooltip + Taille fichier: + + + + Encoding: + dbtree tooltip + Codage: + + + + Error details: + dbtree tooltip + Détails erreur: + + + + Table : %1 + dbtree tooltip + Table: %1 + + + + Columns (%1): + dbtree tooltip + Colonnes:(%1): + + + + Indexes (%1): + dbtree tooltip + Index (%1): + + + + Triggers (%1): + dbtree tooltip + Déclencheurs (%1): + + + + Copy + Copier + + + + Move + Déplcer + + + + Include data + Données incluses + + + + Include indexes + Index inclus + + + + Include triggers + Déclencheurs inclus + + + + Abort + Abandonner + + + + Referenced tables + Tables référencées + + + + Do you want to include following referenced tables as well: +%1 + Vous voulez inclure des tables référencées suivantes aussi : +%1 + + + + Name conflict + Conflit de nom + + + + Following object already exists in the target database. +Please enter new, unique name, or press '%1' to abort the operation: + L'objet suivant existe déjà dans la base de données cible. +Entrez SVP un nouveau nom, unique, ou cliquez '%1' pour d'interrompre l'opération : + + + + SQL statements conversion + Conversion des déclarations SQL + + + + Following error occurred while converting SQL statements to the target SQLite version: + L'erreur suivante est survenue en convertissant des déclarations de SQL de la version cible SQLite : + + + + Would you like to ignore those errors and proceed? + Voulez-vous ignorer ces erreurs et procéder? + + + + DdlHistoryWindow + + + Filter by database: + Filtre par base de données: + + + + -- Queries executed on database %1 (%2) +-- Date and time of execution: %3 +%4 + -- Requête éxécutée sur la base de données %1(%2) +-- Date et heure d'exécution: %3 +%4 + + + + DDL history + Historique DDL + + + + DdlPreviewDialog + + + Queries to be executed + Requêtes à exécuter + + + + Don't show again + Ne plus afficher + + + + DebugConsole + + + SQLiteStudio Debug Console + Console SQLiteStudio de débogage + + + + EditorWindow + + + Query + Requête + + + + History + Historique + + + + Results in the separate tab + Résultats dans un onglet séparé + + + + Results below the query + Résultats après la requête + + + + + SQL editor %1 + Editeur SQL %1 + + + + Results + Résultats + + + + Execute query + Exécuter la requête + + + + Explain query + Explication de la requête + + + + Clear execution history + sql editor + Vider l'historique d'exécution + + + + Export results + sql editor + Exporter résultats + + + + Create view from query + sql editor + Créer une vue à partir d'une requête + + + + Previous database + Base de données précédente + + + + Next database + Base de données suivante + + + + Show next tab + sql editor + Afficher l'onglet suivant + + + + Show previous tab + sql editor + Afficher l'onget précédent + + + + Focus results below + sql editor + + + + + Focus SQL editor above + sql editor + Focus sur l'éditeur SQL ci-dessus + + + + Active database (%1/%2) + Base de données active (%1/%2) + + + + Query finished in %1 second(s). Rows affected: %2 + Requête terminée en %1 secondes. Nombre de lignes: %2 + + + + Query finished in %1 second(s). + Requête terminée en %1 seconde(s). + + + + Clear execution history + Supprimer l'historique d'exécution + + + + Are you sure you want to erase the entire SQL execution history? This cannot be undone. + Etes vous certain de vouloir supprimer la totalité de l'historique d'exécution SQL? Aucun retour possible. + + + + Cannot export, because no export plugin is loaded. + Impossible d'exporter, car aucun plugin d'expertation n'est chargés. + + + + No database selected in the SQL editor. Cannot create a view for unknown database. + Aucune base de données den sélectionnée dans l'éditeur SQL. Impossible de créer une vue sur une base de données inconnue. + + + + Editor window "%1" has uncommited data. + Fenêtre d'éditeur "%1" n'a pas enregistrer les données. + + + + ErrorsConfirmDialog + + + Errors + Erreurs + + + + Following errors occured: + Les erreurs suivantes sont arrivées: + + + + Would you like to proceed? + Désirez-vous traiter? + + + + ExportDialog + + + Export + Exporter + + + + What do you want to export? + Que voulez-vous exporter? + + + + A database + Une base de données + + + + A single table + une simple table + + + + Query results + Résultats de requête + + + + Table to export + Table à exporter + + + + Database + Base de données + + + + Table + Table + + + + Options + Options + + + + When this option is unchecked, then only table DDL (CREATE TABLE statement) is exported. + Lorsque cette option n'est contrôlée, alors seulement le DDL de la table (CREATE TABLE...) est exporté. + + + + Export table data + Exporter les données de la table + + + + Export table indexes + Exporter les index de la table + + + + Export table triggers + Exporter les déclencheurs de la table + + + + Note, that exporting table indexes and triggers may be unsupported by some output formats. + Notez, ces index de table d'exportation et les déclencheurs peuvent être non supportées par quelques formats de sortie. + + + + Select database objects to export + Sélectionnez les objets de la base de données à exporter + + + + Export data from tables + Exporter les données des tables + + + + Select all + Tout sélectionner + + + + Deselect all + Tout désélectionner + + + + + Database: + Base de données: + + + + Query to export results for + Résultats de la requête + + + + Query to be executed for results: + Requête à exécuter pour des résultats: + + + + Export format and options + Exporter formatset options + + + + Export format + Format d'exportation + + + + Output + Sortie + + + + Exported file path + Chemin du fichier d'exportation + + + + Clipboard + presse-papier + + + + File + Fichier + + + + Exported text encoding: + Texte encodé exporté: + + + + Export format options + Exporter options de format + + + + Cancel + annuler + + + + + + Select database to export. + Sélecctionnez la base de données à exporter. + + + + Select table to export. + Sélectionnez la table à exporter. + + + + Enter valid query to export. + Saississez une requête valide à exporter. + + + + Select at least one object to export. + Sélectionnez au moins un objet à exporter. + + + + You must provide a file name to export to. + Vous devez fournir le nom d'un fichier à exporter. + + + + Path you provided is an existing directory. You cannot overwrite it. + Le chemin fourni est un répertoire existant. Vous ne pouvez pas l'écraser. + + + + The directory '%1' does not exist. + Le répertoire %1 n'existe pas. + + + + The file '%1' exists and will be overwritten. + Le fichier '%1' existe et sera écrasé. + + + + All files (*) + tous les fichiers(*) + + + + Pick file to export to + Sélectionnez un fichier à exporter + + + + Internal error during export. This is a bug. Please report it. + Erreur interne pendant l'exportation. c'est un bug. SVP veuillez le reporter. + + + + FontEdit + + + Choose font + font configuration + Choisir la police + + + + Form + + + Active SQL formatter plugin + Activer le plugin de formattage SQL + + + + FormView + + + Commit row + form view + Enregistrer ligne + + + + Rollback row + form view + Annuler ligne + + + + First row + form view + Première ligne + + + + Previous row + form view + Ligne précédente + + + + Next row + form view + Ligne suivante + + + + Last row + form view + Dernière ligne + + + + Insert new row + form view + Insérer nouvelle ligne + + + + Delete current row + form view + Supprimer ligne courante + + + + FunctionsEditor + + + Filter funtions + Fonctions de filtrations + + + + Function name: + Nom fonction: + + + + Implementation language: + Langage: + + + + Type: + Type: + + + + Input arguments + Entrez arguments + + + + Undefined + Non défini + + + + Databases + Bases de données + + + + Register in all databases + Enregistre toutes les bases de données + + + + Register in following databases: + Enregistre les bases de données suivantes: + + + + Initialization code: + Code d'initialisation: + + + + + Function implementation code: + Fonction de code d'implémentation: + + + + Final step implementation code: + Etape finale de code d'implémentaion: + + + + SQL function editor + Fonction éditeur SQL + + + + Commit all function changes + Enregistre toutes les fonctions modifiées + + + + Rollback all function changes + Annule toutes les fonctions modifiées + + + + Create new function + Crée une nouvelle fonction + + + + Delete selected function + Supprime une fonction sélectionnée + + + + Custom SQL functions manual + Personalisation des fonctions SQL + + + + Add function argument + Ajoute un argument à la fonction + + + + Rename function argument + Renomme l'argument de la fonction + + + + Delete function argument + Supprime l'argument de la fonction + + + + Move function argument up + Monte l'argument de la fonction + + + + Move function argument down + Descend l'argument de la fonction + + + + Scalar + Scalaire + + + + Aggregate + Agregate + + + + Enter a non-empty, unique name of the function. + Saississez un nom unique de fonction. + + + + Pick the implementation language. + Choississez un langage. + + + + Per step code: + Code par étape: + + + + Enter a non-empty implementation code. + Saississez un code d'implémentation non vide. + + + + argument + new function argument name in function editor window + argument + + + + Functions editor window has uncommited modifications. + L'éditeur de fonction n'a pas enregistré les modifications. + + + + ImportDialog + + + Import data + Import données + + + + Table to import to + Table à importer vers + + + + Table + Table + + + + Database + Base de données + + + + Data source to import from + Source de données à importer de + + + + Data source type + Type de données source + + + + Options + Options + + + + Input file: + Fichier: + + + + Text encoding: + Texte codé: + + + + Data source options + Optrions de source de données + + + + Cancel + Annuler + + + + If you type table name that doesn't exist, it will be created. + Si vous saississez un nom de table inexistant, celle-ci sera créée. + + + + Enter the table name + Saississez un nom de table + + + + Select import plugin. + Sélectionnez un plugin d'importation. + + + + You must provide a file to import from. + Vous devez fournir un fichier à importer. + + + + The file '%1' does not exist. + Le fichier '%1' n'existe pas. + + + + Path you provided is a directory. A regular file is required. + Le chemin indiqué est un répertoire. Un fichier est requis. + + + + Pick file to import from + Sélectionnez le fichier d'importation + + + + IndexDialog + + + + Index + Index + + + + On table: + De la table: + + + + Index name: + Nom index: + + + + Partial index condition + Condition partielle d'index + + + + Unique index + Index unique + + + + Column + Colonne + + + + Collation + Regroupement + + + + Sort + Tri + + + + DDL + DDL + + + + Tried to open index dialog for closed or inexisting database. + Vous tentez d'ouvrir le dialogue de l'index d'une base de données fermée ou inexistante. + + + + Could not process index %1 correctly. Unable to open an index dialog. + Impossible de définir l'index %1 correctement. Ouvrir un dialogue d'index valide. + + + + Pick the table for the index. + Sélectionnez la table pour l'index. + + + + Select at least one column. + Selectionnez au moins une colonne. + + + + Enter a valid condition. + Saississez une condition valide. + + + + default + index dialog + defaut + + + + Sort order + table constraints + ordre de tri + + + + + Error + index dialog + Erreur + + + + Cannot create unique index, because values in selected columns are not unique. Would you like to execute SELECT query to see problematic values? + Impossible de créer un index, car les valeurs des colonnes sélectionnées ne sont pas uniques. Voulez-vous exécuter une requête SELECT pour voir les valeurs problématiques? + + + + An error occurred while executing SQL statements: +%1 + Une erreur survenue à l'exécution de l'SQL: +%1 + + + + LanguageDialog + + + Language + Langage + + + + Please choose language: + SVP choississez un langage: + + + + MainWindow + + + Database toolbar + Barre d'outils de base de données + + + + Structure toolbar + Barre d'outils de structure + + + + Tools + outils + + + + Window list + liste fenêtre + + + + View toolbar + Barre d'outils vues + + + + Configuration widgets + Configuration widgets + + + + Syntax highlighting engines + Syntaxe surlignée des moteurs + + + + Data editors + Editeur s de données + + + + Running in debug mode. Press %1 or use 'Help / Open debug console' menu entry to open the debug console. + Passage en mode débogue. Cliquez %1 ou utilisez l'entrée du menu ' l'Aide / Ouvrir la console de débogage'. + + + + Running in debug mode. Debug messages are printed to the standard output. + Passage en mode débogue. Les messages de débogage sont imprimés dans la sortie standard. + + + + You need to restart application to make the language change take effect. + Vous devez relancer l'application pour que le langage prenne effet. + + + + Open SQL editor + Ouvrir éditeur SQL + + + + Open DDL history + Ouvrir Historique DDL + + + + Open SQL functions editor + Editeur de fonctions SQL + + + + Open collations editor + Ouvrir editeur de collections + + + + Import + Importer + + + + Export + Exporter + + + + Open configuration dialog + Ouvrir dialogue de configuration + + + + Tile windows + Organisation des fenêtres + + + + Tile windows horizontally + Organisation des fenêtres horizontalement + + + + Tile windows vertically + Organisation des fenêtres verticalement + + + + Cascade windows + Organisation des fenêtres en cascade + + + + Next window + Fenêtre suivante + + + + Previous window + Fenêtre précédante + + + + Hide status field + Ca + + + + Close selected window + Fermeture fenêtre sélectionnée + + + + Close all windows but selected + Fermeture de toutes les fenêtres sélectionnées + + + + Close all windows + Fermeture de toutes les fenêtres + + + + Restore recently closed window + Restaure une fenêtre récemment fermée + + + + Rename selected window + Renomme la fenêtre sélectionnée + + + + Open Debug Console + Ouvrir la console de debogage + + + + Report a bug + Rapport de bug + + + + Propose a new feature + Proposer une nouvelle fonction + + + + About + Apropos + + + + Licenses + Licences + + + + Open home page + Ouvrir la home page + + + + Open forum page + Ouvrir la page des forums + + + + User Manual + Manuel utilisateurs + + + + SQLite documentation + Documentation SQLite + + + + Report history + Raport d'historique + + + + Check for updates + Vérification de mises à jour + + + + Database + menubar + Base de données + + + + Structure + menubar + Structure + + + + View + menubar + Vue + + + + Window list + menubar view menu + Liste de fenêtres + + + + Tools + menubar + Outils + + + + Help + Aide + + + + Could not set style: %1 + main window + Impossible de positionner le style: %1 + + + + Cannot export, because no export plugin is loaded. + Exportation impossible, aucun plugin d'exportation n'est chargé. + + + + Cannot import, because no import plugin is loaded. + Importation impossible, aucun plugin d'importation n'est chargé. + + + + Rename window + Renommer la fenêtre + + + + Enter new name for the window: + Saississez un nouveau nom de fenêtre: + + + + New updates are available. <a href="%1">Click here for details</a>. + Une nouvelle mise à jour est disponible. <a href="%1"> cliquez ici pour détails</a>. + + + + You're running the most recent version. No updates are available. + Vous utilisez la dernière version. Aucune mise à jour de disponible. + + + + Database passed in command line parameters (%1) was already on the list under name: %2 + + + + + Database passed in command line parameters (%1) has been temporarily added to the list under name: %2 + La base de données passée en paramètre dans la ligne de commande (%1)a été temporaire ajoutée à la liste sous le nom: %2 + + + + Could not add database %1 to list. + Impossible d'ajouter la base de données %1 à la liste. + + + + MdiWindow + + + Uncommited changes + Modification non enregistrées + + + + Close anyway + Fermer + + + + Don't close + Ne pas fermer + + + + MultiEditor + + + Null value + multieditor + Valeur NULL + + + + Configure editors for this data type + Configurer l'éditeur pour ce type de données + + + + Data editor plugin '%1' not loaded, while it is defined for editing '%1' data type. + Plugin d"éditeur de données '%1' non chargé, ausii il n'ai pas défini pourle type de données '%1'. + + + + Deleted + multieditor + Suppression + + + + Read only + multieditor + Lecture seule + + + + MultiEditorBool + + + Boolean + booleen + + + + MultiEditorDate + + + Date + Datee + + + + MultiEditorDateTime + + + Date & time + Heure & date + + + + MultiEditorHex + + + Hex + Hex + + + + MultiEditorNumeric + + + Number + numeric multi editor tab name + Nombre + + + + MultiEditorText + + + Text + Texte + + + + Tab changes focus + Tab modifie le focus + + + + Cut + Couper + + + + Copy + Copier + + + + Paste + Coller + + + + Delete + Supprimer + + + + Undo + Défaire + + + + Redo + refaire + + + + MultiEditorTime + + + Time + Heure + + + + NewConstraintDialog + + + New constraint + Nouvelle contrainte + + + + + Primary Key + new constraint dialog + Clé primaire + + + + + Foreign Key + new constraint dialog + Clé étrangère + + + + + Unique + new constraint dialog + Unique + + + + + Check + new constraint dialog + Contrôle + + + + Not NULL + new constraint dialog + Non NULL + + + + Collate + new constraint dialog + Regrouper + + + + Default + new constraint dialog + Défault + + + + NewVersionDialog + + + SQLiteStudio updates + Mises à jour SQLiteStudio + + + + New updates are available! + Les nouvelles mises à jours sont valides! + + + + Component + Composant + + + + Current version + Version courante + + + + Update version + Version de mise à jour + + + + Check for updates on startup + Contrôle de nouvelles version au lancement + + + + Update to new version! + Mettre à jour la nouvelle version! + + + + The update will be automatically downloaded and installed. This will also restart application at the end. + La mise à jour sera automatiquement téléchargée et installée. Un redémarrage de l'application sera aussi effectué à la fin. + + + + Not now. + Paas maintenant. + + + + Don't install the update and close this window. + Ne pas installer la mise à jour maintenant et fermer cette fenêtre. + + + + PopulateConfigDialog + + + Populating configuration + Remplir la configuration + + + + Configuring <b>%1</b> for column <b>%2</b> + Configuration <b>%1</b> pour colonne <b>%2</b> + + + + PopulateDialog + + + Populate table + Peupler la table + + + + Database + Base de données + + + + Table + Table + + + + Columns + Colonnes + + + + Number of rows to populate: + Nombre de lignes à peupler: + + + + Populate + populate dialog button + Peupler + + + + Configure + Configurer + + + + Populating configuration for this column is invalid or incomplete. + La configuration du peuplement pour cette colonne est invalide ou incomplète. + + + + Select database with table to populate + Sélectionner la base de données avec la table à peupler + + + + Select table to populate + Sélectionner la table à peupler + + + + You have to select at least one column. + Vous devez sélectionner au moins une colonne. + + + + QObject + + + Cannot edit columns that are result of compound %1 statements (one that includes %2, %3 or %4 keywords). + impossible d'éditer les colonnes qui ont le résultat composé des déclarations %1 (inclus %2, %3 ou %4 mots-clés). + + + + The query execution mechanism had problems with extracting ROWID's properly. This might be a bug in the application. You may want to report this. + Le mécanisme d'exécution de la requête a eu des problèmes avec l'extraction du ROWID'S. Ceci pourrait être un bogue de l'application. Vous pouvez le rapporter. + + + + Requested column is a result of SQL expression, instead of a simple column selection. Such columns cannot be edited. + La colonne demandée est un résultat d'expression de SQL, au lieu d'une sélection de colonne simple. De telles colonnes ne peuvent pas être éditées. + + + + Requested column belongs to restricted SQLite table. Those tables cannot be edited directly. + La colonne demandée appartient à une table limitée SQLite. Ces tables ne peuvent pas être éditées directement. + + + + Cannot edit results of query other than %1. + Impossible d'éditer les résultats de la requëte autrement que %1. + + + + Cannot edit columns that are result of aggregated %1 statements. + Impossible d'éditer les colonnes qui sont le résultat de déclarations agrégées %1. + + + + Cannot edit columns that are result of %1 statement. + Impossible d'éditer les colonnesqui sont le résultat de déclaration %1. + + + + Cannot edit columns that are result of common table expression statement (%1). + Impossible d'éditer les colonnes qui sont le résultat de table commune de déclaration (%1). + + + + + + + on conflict: %1 + data view tooltip + Sur conflit %1 + + + + references table %1, column %2 + data view tooltip + Références table %1, colonne %2 + + + + condition: %1 + data view tooltip + Condition: %1 + + + + collation name: %1 + data view tooltip + Nom de collation: %1 + + + + Data grid view + Vue de tableau de données + + + + Copy cell(s) contents to clipboard + Copie le contenu de cellule(s) dans le presse-papier + + + + Paste cell(s) contents from clipboard + Colle + + + + Set empty value to selected cell(s) + Efface le contenu de cellule(s) + + + + Set NULL value to selected cell(s) + Met à NULL les cellules séléctionnées + + + + Commit changes to cell(s) contents + Enregistre les modifications de cellule(s) + + + + Rollback changes to cell(s) contents + Annule les modifications de cellule(s) + + + + Delete selected data row + Supprimeles données de la ligne sélectionnée + + + + Insert new data row + Insére une nouvelle ligne de données + + + + Open contents of selected cell in a separate editor + Contenu ouvert de cellule choisie dans un éditeur séparé + + + + Total pages available: %1 + Total de pages: %1 + + + + Total rows loaded: %1 + Total dee lignes chargées: %1 + + + + Data view (both grid and form) + Vue de données (tableau et formulaire) + + + + Refresh data + Actualisation des données + + + + Switch to grid view of the data + Basculer sur la vue tableau de données + + + + Switch to form view of the data + Basculer sur la vue formulaire de données + + + + Database list + Liste de bases de données + + + + Delete selected item + Suppression de l'item sélectionné + + + + Clear filter contents + Effacer le contenu du filtre + + + + Refresh schema + Actualiser le schéma + + + + Refresh all schemas + Actualiser tous les schémas + + + + Add database + Ajouter une base de donnés + + + + Select all items + Séléctionner tous les items + + + + Copy selected item(s) + Copie d'item(s) sélectionné(s) + + + + + + Paste from clipboard + Collé dans le presse-papier + + + + Tables + Tables + + + + Indexes + Index + + + + Triggers + Déclencheurs + + + + Views + Vues + + + + Columns + Colonnes + + + + Data form view + Formulaire vue de données + + + + Commit changes for current row + Enregistrement de la ligne courante + + + + Rollback changes for current row + Annulation de la ligne courante + + + + Go to first row on current page + Aller à la première ligne de la page courante + + + + Go to next row + Aller à la ligne suivante + + + + Go to previous row + Aller à la ligne précédente + + + + Go to last row on current page + Aller à la dernière ligne de la page courante + + + + Insert new row + Insérer une nouvelle ligne + + + + Delete current row + Supprimer la ligne courante + + + + Main window + Fenêtre principale + + + + Open SQL editor + Ouvrir l'éditeur SQL + + + + Previous window + Fenêtre précédente + + + + Next window + Fenêtre suivante + + + + Hide status area + Cacher la barre de status + + + + Open configuration dialog + Ouvrir le dialogue de configuration + + + + Open Debug Console + Ouvrir la console de débogage + + + + Cell text value editor + Editeur de texte de cellule + + + + + Cut selected text + Couper le texte sélectionné + + + + + Copy selected text + Copie du texte sélectionné + + + + + Delete selected text + Suppression du texte sélectionné + + + + + Undo + Défaire + + + + + Redo + Refaire + + + + SQL editor input field + Editeur SQL saisie de champ + + + + Select whole editor contents + Sélectionnez le contenu entier de l'éditeur + + + + Save contents into a file + Sauver le contenu dans un fichier + + + + Load contents from a file + Charger le contenu d'un fichier + + + + Find in text + Rechercher un texte + + + + Find next + Recherche suivante + + + + Find previous + Recherche précédente + + + + Replace in text + Remplacer dans le texte + + + + Delete current line + Supprimer la ligne courante + + + + Request code assistant + Assistant de code nécessaire + + + + Format contents + Format de contenu + + + + Move selected block of text one line down + Déplacer le block de texte sélectionné à la ligne inférieure + + + + Move selected block of text one line up + Déplacer le block de texte sélectionné à la ligne supérieure + + + + Copy selected block of text and paste it a line below + Copier le block de texte sélectionné à la ligne au dessus + + + + Copy selected block of text and paste it a line above + Copier le block de texte sélectionné à la ligne au dessous + + + + All SQLite databases + Tius les bases de données SQLite + + + + All files + Tous les fichiers + + + + Database file + Fichier base de données + + + + Reports history window + Fenêtre d'historique + + + + Delete selected entry + Effacer l'entrée sélectionnée + + + + SQL editor window + Fenêtre de l'éditeur SQL + + + + Execute query + Exécution de la requête + + + + Execute "%1" query + Exécution de la requête %1 + + + + Switch current working database to previous on the list + Basculer de la base de données actuelle à la précédente de la liste + + + + Switch current working database to next on the list + Basculer de la base de données actuelle à la suivante de la liste + + + + Go to next editor tab + Aller à l'onglet d'éditeur suivant + + + + Go to previous editor tab + Aller à l'onglet d'éditeur précédent + + + + Move keyboard input focus to the results view below + Déplacement au-dessus du focus des résultats de vue par les touches + + + + Move keyboard input focus to the SQL editor above + Déplacement au-dessous du focus des résultats de vue par les touches + + + + Table window + Fenêtre de table + + + + Refresh table structure + Actualiser la structure de la table + + + + Add new column + Ajout nouvelle colonne + + + + Edit selected column + Modifier la colonne sélectionnée + + + + Delete selected column + Supprime la colonne sélectionnée + + + + Export table data + Exporte les données de table + + + + Import data to the table + Importe les données de table + + + + Add new table constraint + Ajoute une nouvelle contrainte à la table + + + + Edit selected table constraint + Modifie la contrainte de la table sélectionnée + + + + Delete selected table constraint + Supprime la contrainte de la table sélectionnée + + + + Refresh table index list + Actualise la liste des index de table + + + + Add new index + Ajoute un nouvel index + + + + Edit selected index + Modifie l'index sélectionné + + + + Delete selected index + Supprime l'index sélectionné + + + + Refresh table trigger list + Actualise la liste des déclencheurs de la table + + + + + Add new trigger + Ajoute un nouveau déclencheur + + + + + Edit selected trigger + Modifie le déclencheur sélectionné + + + + + Delete selected trigger + Supprime le déclencheur sélectionné + + + + + Go to next tab + Aller à l'onglet suivant + + + + + Go to previous tab + Aller à l'onglet précédent + + + + A view window + Fenêtre de vue + + + + Refresh view trigger list + Actualise l'affichage de la liste des déclencheur + + + + QuitConfirmDialog + + + Uncommited changes + modifications non enregistrées + + + + Are you sure you want to quit the application? + +Following items are pending: + Confirmez la fermeture de l'application: + + + + SearchTextDialog + + + Find or replace + Chercher et remplacer + + + + Find: + Trouvé: + + + + Case sensitive + Case sensiible + + + + Search backwards + Recherches en arrière + + + + Regular expression matching + Correspondance d'expression régulière + + + + Replace && +find next + Remplace && +recherche suivant + + + + Replace with: + Remplacer par: + + + + Replace all + Remplacer tout + + + + Find + Rechercher + + + + SortDialog + + + Sort by columns + Tri par colonnes + + + + + Column + Colonne + + + + + Order + Ordre + + + + Sort by: %1 + Tri par %1 + + + + Move column up + Monter colonne + + + + Move column down + Descendre colonne + + + + SqlEditor + + + Cut + sql editor + Couper + + + + Copy + sql editor + Copier + + + + Paste + sql editor + Coller + + + + Delete + sql editor + Supprimer + + + + Select all + sql editor + Tout sélectionner + + + + Undo + sql editor + Défaire + + + + Redo + sql editor + Refaire + + + + Complete + sql editor + Complet + + + + Format SQL + sql editor + Format SQL + + + + Save SQL to file + sql editor + Enregistrer le SQL + + + + Load SQL from file + sql editor + Charger le SQL + + + + Delete line + sql editor + Ligne suppimée + + + + Move block down + sql editor + Descendre le block + + + + Move block up + sql editor + Monter le block + + + + Copy block down + sql editor + Copier block au-dessus + + + + Copy up down + sql editor + Copier block au-dessous + + + + Find + sql editor + Chercher + + + + Find next + sql editor + Chercher suivant + + + + Find previous + sql editor + Chercher précédent + + + + Replace + sql editor + Remplacer + + + + Syntax completion can be used only when a valid database is set for the SQL editor. + L'achèvement de syntaxe peut être utilisé seulement quand une base de données valable est utilisée dans l'éditeur SQL. + + + + Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled. + Le contenu l'éditeur SQL est important, aussi la détectiond'objets en erreur est temporairement mise hors de service. + + + + Save to file + Sauvegarder + + + + Could not open file '%1' for writing: %2 + Impossible d'ouvrir en écriture le fichier '%1': %2 + + + + SQL scripts (*.sql);;All files (*) + Scripts SQL (*.sql);;tous fichiers (*) + + + + Open file + Fichier ouvert + + + + Could not open file '%1' for reading: %2 + Impossible d'ouvrir en lecture le fichier '%1': %2 + + + + Reached the end of document. Hit the find again to restart the search. + Fin de document atteint. Saississez de nouveau la recherche pour relancer la recherche. + + + + SqlQueryItem + + + Column: + data view tooltip + Colonne: + + + + Data type: + data view + Type de données: + + + + Table: + data view tooltip + Table: + + + + Constraints: + data view tooltip + Contrainte: + + + + This cell is not editable, because: %1 + Cette cellule n'est pas modifiable: %1 + + + + Cannot load the data for a cell that refers to the already closed database. + Impossible de charger les données pour une cellule référantà une base de données fermée. + + + + SqlQueryItemDelegate + + + + Cannot edit this cell. Details: %2 + impossible de modifier cette cellule. détails: %2 + + + + The row is marked for deletion. + La ligne est marquée poureffacement. + + + + SqlQueryModel + + + + Only one query can be executed simultaneously. + Uniquement une seule requête peut être exécutée à la fois. + + + + Uncommited data + Données non enregistrées + + + + There are uncommited data changes. Do you want to proceed anyway? All uncommited changes will be lost. + + + + + Cannot commit the data for a cell that refers to the already closed database. + Impossible d'enregistrer les données pour la cell qui référe à une base de données déjà fermée. + + + + Could not begin transaction on the database. Details: %1 + Impossible de lancer la transaction sur la base de données. Détails: %1 + + + + An error occurred while commiting the transaction: %1 + Une erreur est survenuelors de l'enregistrement de la transaction: %1 + + + + An error occurred while rolling back the transaction: %1 + Une erreur est survenuelors de l'annulation de la transaction: %1 + + + + Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it. + Tentative d'enregistrement d'une une cellule qui n'est pas modifiable! Ceci est un bogue. Rapportez-le SVP. + + + + An error occurred while commiting the data: %1 + Une erreur est survenuelors de l'enregistrement des données: %1 + + + + + Error while executing SQL query on database '%1': %2 + Erreur pendant l'exécution de la requête sur la base de données %1: %2 + + + + Error while loading query results: %1 + Erreur lors du chargement des résultats de la requête: %1 + + + + Insert multiple rows + Insérer plusieurs lignes + + + + Number of rows to insert: + Nombre de lignes à inserrer: + + + + SqlQueryView + + + Copy + Copier + + + + Copy as... + Copier comme ... + + + + Paste + Coller + + + + Paste as... + Coller comme ... + + + + Set NULL values + Valeurs NULL positionnées + + + + Erase values + valeurs écrasées + + + + Edit value in editor + Valeur modifiée par l'éditeur + + + + Commit + Enregistrer + + + + Rollback + Annuler + + + + Commit selected cells + Enregistrer les cellules sélectionnées + + + + Rollback selected cells + Annuler les modifications des cellules sélectionnées + + + + Define columns to sort by + Définit les colonnes triées par + + + + Remove custom sorting + Enléve le tri personnalisé + + + + Insert row + Insérer une ligne + + + + Insert multiple rows + Insérer plusieurs lignes + + + + Delete selected row + Supprimer les lignes sélectionnées + + + + Edit value + Modifier la valeur + + + + SqlTableModel + + + Error while commiting new row: %1 + Erreur à l'nregistrement d'une nouvelle ligne: %1 + + + + Error while deleting row from table %1: %2 + Erreur à la suppression d'une ligne de la table %1: %2 + + + + StatusField + + + Status + Status + + + + Copy + Cipier + + + + Clear + Vider + + + + TableConstraintsModel + + + Type + table constraints + Type + + + + Details + table constraints + Détails + + + + Name + table constraints + Nom + + + + TableForeignKeyPanel + + + Foreign table: + Table étrangère: + + + + SQLite 2 does not support foreign keys officially, +but it's okay to use them anyway. + SQLite 2 ne supporte pas officielement les clés étrangères, mais vous pouvez les utilisées tout de même. + + + + Columns + Colonnes + + + + Local column + Colonne locale + + + + Foreign column + Colonne étrangère + + + + Reactions + Réactions + + + + Deferred foreign key + + + + + Named constraint + Nommer la contrainte + + + + Constraint name + Nom de la contrainte + + + + Pick the foreign column. + Choisir la colonne étrangère. + + + + Pick the foreign table. + Choisir la table étrangère. + + + + Select at least one foreign column. + Sélectionner au moins une colonne étrangère. + + + + Enter a name of the constraint. + Saisissez un nom de contrainte. + + + + Foreign column + table constraints + Colonne étrangère + + + + TablePrimaryKeyAndUniquePanel + + + Columns + Colonnes + + + + Column + Colonne + + + + Collation + Collation + + + + Sort + Tri + + + + Valid only for a single column with INTEGER data type + Valide seulement pour une simple colonne avecun type de données INTEGER + + + + Autoincrement + Autoincrémentation + + + + Named constraint + Contrainte nommée + + + + Constraint name + Nom de la contrainte + + + + On conflict + Sur conflit + + + + Collate + table constraints + Collationne + + + + Sort order + table constraints + Ordre de tri + + + + Select at least one column. + Sélectionnez au moins une colonne. + + + + Enter a name of the constraint. + Saisissez le nom de la contrainte. + + + + TableStructureModel + + + Name + table structure columns + Nom + + + + Data type + table structure columns + Type de données + + + + Default value + table structure columns + Valeur par défaut + + + + TableWindow + + + Structure + Structure + + + + Table name: + Nom de la table: + + + + Data + Données + + + + Constraints + Contraintes + + + + Indexes + Index + + + + Triggers + Déclencheurs + + + + DDL + DDL + + + + Export table + table window + Exporter une table + + + + Import data to table + table window + Importer les données d'une table + + + + Populate table + table window + Peupler une table + + + + Refresh structure + table window + Actualiser la structure + + + + Commit structure changes + table window + Enregistrer les modification de la structure + + + + Rollback structure changes + table window + Annuler les modification de la structure + + + + Add column + table window + Ajouter une colonne + + + + Edit column + table window + Modifier une colonne + + + + + Delete column + table window + Supprimer une colonne + + + + Move column up + table window + Monter la colonne + + + + Move column down + table window + Descendre la colonne + + + + Create similar table + table window + Créer une table identique + + + + Reset autoincrement value + table window + Réinitialisation de l'incrémentatio, + + + + Add table constraint + table window + Ajouter une contrainte de table + + + + Edit table constraint + table window + Modifier la contrainte de table + + + + Delete table constraint + table window + Supprimer la contrainte de table + + + + Move table constraint up + table window + Monter la contrainte de table + + + + Move table constraint down + table window + Descendre la contrainte de table + + + + Add table primary key + table window + Ajouter une clé primaire à la table + + + + Add table foreign key + table window + Ajouter une clé étrangère à la table + + + + Add table unique constraint + table window + Ajouter une contrainte clé unique à la table + + + + Add table check constraint + table window + Ajouter une contrainte de contrôle à la table + + + + Refresh index list + table window + Actualiser la liste d'index + + + + Create index + table window + Créer un index + + + + Edit index + table window + Modifier un index + + + + Delete index + table window + Supprimer un index + + + + Refresh trigger list + table window + Actualiser la liste d'index + + + + Create trigger + table window + Créer un déclencheur + + + + Edit trigger + table window + Modifier un déclencheur + + + + Delete trigger + table window + Supprimer un déclencheur + + + + Are you sure you want to delete column '%1'? + table window + Etes-vous certain de vouloir supprimer lla colonne: %1? + + + + Following problems will take place while modifying the table. +Would you like to proceed? + table window + Des problèmes suivants auront lieu en modifiant la table. +Voudriez-vous procéder? + + + + Table modification + table window + Modification de la table + + + + Could not load data for table %1. Error details: %2 + Impossible de charger les données de table %1. Détails d' erreur: %2 + + + + Could not process the %1 table correctly. Unable to open a table window. + Impossible de lancer correctement la table %1. Impossible d'ouvrir la fenêtre de table. + + + + Could not restore window, because database %1 could not be resolved. + Impossible de restaurer la fenêtre, car la base de données %1 ne peut ëtre résolue. + + + + Could not restore window, because the table %1 doesn't exist in the database %2. + Impossible de restaurer la fenêtre, car la vue %1 n'existe pas dans la base de données %2.. + + + + + New table %1 + Nouvelle table %1 + + + + Could not commit table structure. Error message: %1 + table window + Impossible d'enregistrer la structure de table. Message d'erreur: %1 + + + + Reset autoincrement + Réinitialisation de l'incrémentation + + + + Are you sure you want to reset autoincrement value for table '%1'? + Etes-vous certain de vouloir réinitialiser l'autoincrémentation de la table %1? + + + + An error occurred while trying to reset autoincrement value for table '%1': %2 + Une erreur est survenue pendant la réinitialisation de la valeur de l'autoincrémentation de la table '%1': %2 + + + + Autoincrement value for table '%1' has been reset successfly. + La valeur de l'autoincrémentaion de la table %1 a été réinitialisé avec succès. + + + + Empty name + Nom vide + + + + A blank name for the table is allowed in SQLite, but it is not recommended. +Are you sure you want to create a table with blank name? + Un nom vide pour la vue dans SQLITE est admis, mais on ne le recommande pas. +Êtes-vous sûrs que vous voulez créer une vue avec le nom vide ? + + + + Cannot create a table without at least one column. + Impossible de créer une table sans au moins une colonne. + + + + Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key. + Impossible de créer la table %1, s'l n'y a pas de clé primaire de définie. Toute fois ne pas contrôler %2 ou définir une clé primaire. + + + + Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key. + Impossible d'utiliser l'autoincrémentation pour une clé primaire quand la clause %1 est utilisée. Toute fois ne pas contrôler %2, ou utiliser l'autoincrémentation sur une clé primaire. + + + + Are you sure you want to delete table constraint '%1'? + table window + Etes-vous sûr de vouloir supprimer la contrainte '%1'? + + + + Delete constraint + table window + Supprimer la contrainte + + + + Cannot export, because no export plugin is loaded. + Export impossible, car aucun plugin d'import n'est chargé. + + + + Cannot import, because no import plugin is loaded. + Import impossible, car aucun plugin d'import n'est chargé. + + + + Uncommited changes + Modification non enregistrées + + + + There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled. +Do you want to commit the structure, or do you want to go back to the structure tab? + Il ya des modifications de structure non enregistrées. Vous ne pouvez pas naviguer ou modifier des données jusqu'à ce que vous ailliez installer la structure de table. +Voulez-vous enregistrer la structure, ou voulez-vous retourner à l'onglet de structure ? + + + + Go back to structure tab + Retour à l'onglet de structure + + + + Commit modifications and browse data. + Enregistrer les modifications et naviger dans les données. + + + + Name + table window indexes + Nom + + + + Unique + table window indexes + Unique + + + + Columns + table window indexes + Colonnes + + + + Partial index condition + table window indexes + Condition partielle d'index + + + + Name + table window triggers + Nom + + + + Event + table window triggers + Événement + + + + Condition + table window triggers + Condition + + + + Details + table window triggers + Details + + + + Table window "%1" has uncommited structure modifications and data. + La fenêtre de table "%1" n'a pas enregistré les modifications de structure et de données. + + + + Table window "%1" has uncommited data. + La fenêtre de table "%1" n'a pas enregistrer les données. + + + + Table window "%1" has uncommited structure modifications. + La fenêtre de table "%1" n'a pas enregistré les modifications de structure. + + + + TriggerColumnsDialog + + + Trigger columns + Colonnes de déclencheur + + + + Triggering columns: + Colonnes avec déclencheurs: + + + + TriggerDialog + + + + Trigger + Déclencheur + + + + On table: + Sur table: + + + + Action: + Action: + + + + + <p>SQL condition that will be evaluated before the actual trigger code. In case the condition returns false, the trigger will not be fired for that row.</p> + <p> La condition SQL sera évaluée avant le code du déclencheur réel. Dans le cas où le retour de condition est faux, le déclencheur ne sera pas utilisé pour cette ligne.</p > + + + + Pre-condition: + Précondition: + + + + The scope is still not fully supported by the SQLite database. + La portée n'est toujours pas entièrement supportée par la base de données SQLITE. + + + + Trigger name: + Nom du déclencheur: + + + + When: + Quand: + + + + List of columns for UPDATE OF action. + Liste des colonnes pour l'action UPDATE OF. + + + + Scope: + Portée: + + + + Code: + Code: + + + + Trigger statements to be executed. + Déclaration du déclencheur devant être exécutée. + + + + DDL + DDL + + + + On view: + Sur vue: + + + + Could not process trigger %1 correctly. Unable to open a trigger dialog. + Impossible d'exécuter correctement le déclencheur %1. Ouverture invalide du dialogue de déclencheur. + + + + Enter a valid condition. + Saisissez une condition valide. + + + + Enter a valid trigger code. + Saisissez un code de déclencheur valide. + + + + Error + trigger dialog + Erreur + + + + An error occurred while executing SQL statements: +%1 + Une erreur survenue lors de l'exécution de l'intruction SQL: %1 + + + + VersionConvertSummaryDialog + + + Database version convert + Version de convertion de la base de données + + + + Following changes to the SQL statements will be made: + Des modifications suivantes aux déclarations SQL seront faits: + + + + Before + Avant + + + + After + Après + + + + ViewWindow + + + Query + Requête + + + + View name: + Nom de la vue: + + + + Data + Données + + + + Triggers + Déclencheur + + + + DDL + DDL + + + + Could not restore window, because database %1 could not be resolved. + Impossible de restaurer la fenêtre, car la base de données %1 ne peut ëtre résolue. + + + + Could not restore window, because database %1 could not be open. + Impossible de restaurer la fenêtre, car la base de données %1 ne peut ëtre ouverte. + + + + Could not restore window, because the view %1 doesn't exist in the database %2. + Impossible de restaurer la fenêtre, car la vue %1 n'existe pas dans la base de données %2.. + + + + + New view %1 + Nouvelle vue %1 + + + + Refresh the view + view window + Actualisation de la vue + + + + Commit the view changes + view window + Enregistrement des changements dans la vue + + + + Rollback the view changes + view window + Annulation des changements dans la vue + + + + Refresh trigger list + view window + Actualisation de la liste des déclencheurs + + + + Create new trigger + view window + Création d'un nouveau déclencheur + + + + Edit selected trigger + view window + Modification du déclencheur sélectionné + + + + Delete selected trigger + view window + Suppression du déclencheur sélectionné + + + + View window "%1" has uncommited structure modifications and data. + La fenêtre de la vue "%1" n'a pas enregistré les modifications de structure et de données. + + + + View window "%1" has uncommited data. + La fenêtre de la vue "%1" n'a pas enregistré les modifications de données. + + + + View window "%1" has uncommited structure modifications. + La fenêtre de la vue "%1" n'a pas enregistré les modifications de structure. + + + + Could not load data for view %1. Error details: %2 + Impossible de charher les données de vue %1. Détails d' erreur: %2 + + + + Uncommited changes + Modifications non enregistrées + + + + There are uncommited structure modifications. You cannot browse or edit data until you have the view structure settled. +Do you want to commit the structure, or do you want to go back to the structure tab? + Des modifications de structure n'ont pa été enregistrées. Vous ne pouvez pas naviger ou éditer des données jusqu'à ce que vous installliez la structure de vue. +Voulez-vousenregistrere la structure, ou voulez-vous retourner à l'onglet de structure? + + + + Go back to structure tab + Retour à l'onlet de structure + + + + Commit modifications and browse data. + Enregistrement des modifications et navigation des données. + + + + Could not commit view changes. Error message: %1 + view window + Impossible d'enregistrer les modifivations de vue. Message d'erreur: %1 + + + + Name + view window triggers + Nom + + + + Instead of + view window triggers + A la place de + + + + Condition + view window triggers + Condition + + + + Details + table window triggers + Détails + + + + Could not process the %1 view correctly. Unable to open a view window. + Impossible de lancer correctement la vue %1. Impossible d'ouvrir la fenêtre de vue. + + + + Empty name + Nom vode + + + + A blank name for the view is allowed in SQLite, but it is not recommended. +Are you sure you want to create a view with blank name? + Un nom vide pour la vue dans SQLITE est admis, mais on ne le recommande pas. +Êtes-vous sûrs que vous voulez créer une vue avec le nom vide ? + + + + The SELECT statement could not be parsed. Please correct the query and retry. +Details: %1 + La déclaration SELECT ne peut être analysé. SVP corrigez la requête et réessayez. +Details: %1 + + + + The view could not be modified due to internal SQLiteStudio error. Please report this! + La vue ne peut être modifiée a cause d'une erreur interne de SQLiteStudio. SVP repportez l'erreur! + + + + The view code could not be parsed properly for execution. This is a SQLiteStudio's bug. Please report it. + La vue ne être correctement analysée avant exécution.Cest un bug SQLiteStudion. SVP reporter le. + + + + Following problems will take place while modifying the view. +Would you like to proceed? + view window + Des problèmes suivants auront lieu en modifiant la vue. +Voudriez-vous procéder? + + + + View modification + view window + Fenêtre vue + + + + WidgetCover + + + Interrupt + Inperruption + + + diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.qm b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.qm index 61124ad..c8c85a8 100644 Binary files a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.qm and b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.qm differ diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.ts b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.ts index ca582d3..48ff371 100644 --- a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.ts +++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pl.ts @@ -34,52 +34,57 @@ Katalogi ikon - + Form directories Katalogi formularzy - + Plugin directories Katalogi wtyczek - + Application directory Katalog aplikacji - + + SQLite 3 version: + Wersja SQLite 3: + + + Configuration directory Katalog konfiguracji - + Qt version: Wersja Qt: - + Portable distribution. Dystrybucja przenośna. - + MacOS X application boundle distribution. Dytrybucja aplikacji MacOS X. - + Operating system managed distribution. Dystrybucja zarządzana przez system operacyjny. - + Copy Kopiuj - + <h3>Table of contents:</h3><ol>%2</ol> <h3>Zawartość:</h3><ol>%2</ol> @@ -1875,12 +1880,37 @@ Przeglądanie pozostałych stron będzie możliwe kiedy liczenie wierszy zostani Przeglądaj - + + Enter an unique database name. + Wprowadź unikalną nazwę bazy danych. + + + + This name is already in use. Please enter unique name. + Ta nazwa jest już w użyciu. Proszę wprowadzić unikalną nazwę. + + + + Enter a database file path. + Wprowadź ścieżkę do pliku bazy danych. + + + + This database is already on the list under name: %1 + Ta baza jest już na liście pod nazwą: %1 + + + + Select a database type. + Wybierz typ bazy danych. + + + The name will be auto-generated Nazwa będzie generowana automatycznie - + Type the name Wprowadź nazwę @@ -3255,19 +3285,19 @@ Proszę podać nową, unikalną nazwę, lub nacisnąć '%1', aby przer Kierunek sortowania - - + + Error index dialog Błąd - + Cannot create unique index, because values in selected columns are not unique. Would you like to execute SELECT query to see problematic values? Nie można utworzyć indeksu, ponieważ wartości w wybranych kolumnach nie są unikalne. Czy chcesz wykonać zapytanie SELECT, aby zobaczyć wartości stwarzające problem? - + An error occurred while executing SQL statements: %1 Wystąpił błąd podczas wykonywania zapytań SQL: @@ -3536,42 +3566,47 @@ Proszę podać nową, unikalną nazwę, lub nacisnąć '%1', aby przer Nie udało się ustawić stylu: %1 - + Cannot export, because no export plugin is loaded. Nie można wyeksportować, ponieważ żadna wtyczka eksportu nie została załadowana. - + Cannot import, because no import plugin is loaded. Nie można zaimportować, ponieważ żadna wtyczka importu nie została załadowana. - + Rename window Zmień nazwę okna - + Enter new name for the window: Wprowadź nową nazwę dla okna: - + New updates are available. <a href="%1">Click here for details</a>. Nowe aktualizacje są dostępne: <a href="%1">Kliknij aby poznać szczegóły</a>. - + You're running the most recent version. No updates are available. Uruchomiona jest najnowsza wersja. Nie ma dostępnych aktualizacji. - + + Database passed in command line parameters (%1) was already on the list under name: %2 + Baza danych podana w parametrach linii poleceń (%1) była już na liście pod nazwą: %2 + + + Database passed in command line parameters (%1) has been temporarily added to the list under name: %2 Baza danych podana w linii poleceń (%1) jest tymczasowo dodana do listy pod nazwą: %2 - + Could not add database %1 to list. Nie udało się dodać bazy danych %1 do listy. @@ -4765,36 +4800,36 @@ znajdź następny SqlQueryItem - + Column: data view tooltip Kolumna: - + Data type: data view Typ danych: - + Table: data view tooltip Tabela: - + Constraints: data view tooltip Ograniczenie: - + This cell is not editable, because: %1 Tej komórki nie można edytować, ponieważ: %1 - + Cannot load the data for a cell that refers to the already closed database. Nie można załadować danych dla komórki, która odwołuje się do zamkniętej już bazy danych. @@ -4816,54 +4851,54 @@ znajdź następny SqlQueryModel - - + + Only one query can be executed simultaneously. Tylko jedno zapytanie może być wykonywane w danym momencie. - + Uncommited data Niezatwierdzone dane - + There are uncommited data changes. Do you want to proceed anyway? All uncommited changes will be lost. Niektóre zmiany w danych nie zostały zatwierdzone. Czy na pewno chcesz kontynuować? Wszystkie niezatwierdzone zmiany zostaną utracone. - + Cannot commit the data for a cell that refers to the already closed database. Nie można zatwierdzić danych dla komórki, która odnosi się do zamkniętej już bazy danych. - + Could not begin transaction on the database. Details: %1 Nie udało się rozpocząć transakcji na bazie danych. Szczegóły: %1 - + An error occurred while commiting the transaction: %1 Wystąpił błąd podczas zatwierdzania transakcji: %1 - + An error occurred while rolling back the transaction: %1 Wystąpił błąd podczas wycofywania transakcji: %1 - + Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it. Próbowano zatwierdzić komórkę, której nie można edytować (a mimo to została zmodyfikowana i czeka na zatwierdzenie)! To jest błąd. Proszę to zgłosić. - + An error occurred while commiting the data: %1 Wystąpił błąd podczas zatwierdzania danych: %1 - - + + Error while executing SQL query on database '%1': %2 Błąd podczas wykonywania zapytania SQL na bazie '%1': %2 @@ -4872,17 +4907,17 @@ znajdź następny Błąd podczas wykonywania zapytania SQL: %1 - + Error while loading query results: %1 Błąd podczas wczytywania wyników zapytania: %1 - + Insert multiple rows Wstaw wiele wierszy - + Number of rows to insert: Liczba wierszy do wstawienia: @@ -5465,156 +5500,156 @@ Czy chcesz kontynuować? Nie udało się zatwierdzić struktury tabeli. Treść błędu: %1 - + Reset autoincrement Wyzeruj autoinkrementację - + Are you sure you want to reset autoincrement value for table '%1'? Czy na pewno chcesz wyzerować wartość autoinkrementacji dla tabeli '%1'? - + An error occurred while trying to reset autoincrement value for table '%1': %2 Wystąpił błąd podczas próby wyzerowania wartości autoinkrementacji dla tabeli '%1': %2 - + Autoincrement value for table '%1' has been reset successfly. Wartość autoinkrementacji dla tabeli '%1' została pomyślnie wyzerowana. - + Empty name Pusta nazwa - + A blank name for the table is allowed in SQLite, but it is not recommended. Are you sure you want to create a table with blank name? Pusta nazwa dla tabeli jest dozwolona w SQLite, ale nie jest zalecana. Czy na pewno chcesz utworzyć tabelę o pustej nazwie? - + Cannot create a table without at least one column. Nie można utworzyć tabeli bez przynajmniej jednej kolumny. - + Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key. Nie można utworzyć tabeli %1, jeśli nie ma zdefiniowanego klucza głównego. Albo udznacz %2, albo zdefiniuj klucz główny. - + Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key. Nie można użyć autoinkrementacji dla klucza głównego, kiedy klauzula %1 jest użyta. Albo odnacz %2, albo autonkrementację w kluczu głównym. - + Are you sure you want to delete table constraint '%1'? table window Czy na pewno chcesz usunąć ograniczenie tabeli '%1'? - + Delete constraint table window Usuń ograniczenie - + Cannot export, because no export plugin is loaded. Nie można wyeksportować, ponieważ żadna wtyczka eksportu nie została załadowana. - + Cannot import, because no import plugin is loaded. Nie można zaimportować, ponieważ żadna wtyczka importu nie została załadowana. - + Uncommited changes Niezatwierdzone dane - + There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled. Do you want to commit the structure, or do you want to go back to the structure tab? Zmiany w strukturze nie zostały zatwierdzone. Nie można przeglądać, ani edytować danych, dopóki struktura tabeli nie zostanie ustalona. Czy chcesz zatwierdzić strukturę, czy jednak chcesz wrócić do karty struktury? - + Go back to structure tab Wróć do karty struktury - + Commit modifications and browse data. Zatwierdź modyfikacje i przeglądaj dane. - + Name table window indexes Nazwa - + Unique table window indexes Wartości unikalne - + Columns table window indexes Kolumny - + Partial index condition table window indexes Warunek indeksu częściowego: - + Name table window triggers Nazwa - + Event table window triggers Zdarzenie - + Condition table window triggers Warunek - + Details table window triggers Szczegóły - + Table window "%1" has uncommited structure modifications and data. Okno tabeli "%1" ma niezatwierdzone modyfikacje struktury i danych. - + Table window "%1" has uncommited data. Okno tabeli "%1" ma niezatwierdzone dane. - + Table window "%1" has uncommited structure modifications. Okno tabeli "%1" ma niezatwierdzone modyfikacje struktury. diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pt_BR.qm b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pt_BR.qm differ diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pt_BR.ts b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pt_BR.ts new file mode 100644 index 0000000..b83a8f3 --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_pt_BR.ts @@ -0,0 +1,5961 @@ + + + + + AboutDialog + + + About SQLiteStudio and licenses + + + + + About + + + + + <html><head/><body><p align="center"><span style=" font-size:11pt; font-weight:600;">SQLiteStudio v%1</span></p><p align="center">Free, open-source, cross-platform SQLite database manager.<br/><a href="http://sqlitestudio.pl"><span style=" text-decoration: underline; color:#0000ff;">http://sqlitestudio.pl</span></a><br/></p><p align="center">%2<br/></p><p align="center">Author and active maintainer:<br/>SalSoft (<a href="http://salsoft.com.pl"><span style=" text-decoration: underline; color:#0000ff;">http://salsoft.com.pl</span></a>)<br/></p></body></html> + + + + + Licenses + + + + + Environment + + + + + Icon directories + + + + + Form directories + + + + + Plugin directories + + + + + Application directory + + + + + SQLite 3 version: + + + + + Configuration directory + + + + + Qt version: + + + + + Portable distribution. + + + + + MacOS X application boundle distribution. + + + + + Operating system managed distribution. + + + + + Copy + + + + + <h3>Table of contents:</h3><ol>%2</ol> + + + + + BugDialog + + + Bugs and ideas + + + + + Reporter + + + + + E-mail address + + + + + + Log in + + + + + Short description + + + + + Detailed description + + + + + Show more details + + + + + SQLiteStudio version + + + + + Operating system + + + + + Loaded plugins + + + + + Send + + + + + You can see all your reported bugs and ideas by selecting menu '%1' and then '%2'. + + + + + A bug report sent successfully. + + + + + An error occurred while sending a bug report: %1 +%2 + + + + + + You can retry sending. The contents will be restored when you open a report dialog after an error like this. + + + + + An idea proposal sent successfully. + + + + + An error occurred while sending an idea proposal: %1 +%2 + + + + + A bug report + + + + + Describe problem in few words + + + + + Describe problem and how to reproduce it + + + + + A new feature idea + + + + + A title for your idea + + + + + Describe your idea in more details + + + + + Reporting as an unregistered user, using e-mail address. + + + + + Reporting as a registered user. + + + + + Log out + + + + + Providing true email address will make it possible to contact you regarding your report. To learn more, press 'help' button on the right side. + + + + + Enter vaild e-mail address, or log in. + + + + + Short description requires at least 10 characters, but not more than 100. Longer description can be entered in the field below. + + + + + Long description requires at least 30 characters. + + + + + BugReportHistoryWindow + + + + Title + + + + + + Reported at + + + + + + URL + + + + + Reports history + + + + + Clear reports history + + + + + Delete selected entry + + + + + Invalid response from server. + + + + + BugReportLoginDialog + + + Log in + + + + + Credentials + + + + + Login: + + + + + Password: + + + + + Validation + + + + + Validate + + + + + Validation result message + + + + + Abort + + + + + A login must be at least 2 characters long. + + + + + A password must be at least 5 characters long. + + + + + Valid + + + + + CollationsEditor + + + Filter collations + + + + + Collation name: + + + + + Implementation language: + + + + + Databases + + + + + Register in all databases + + + + + Register in following databases: + + + + + Implementation code: + + + + + Collations editor + + + + + Commit all collation changes + + + + + Rollback all collation changes + + + + + Create new collation + + + + + Delete selected collation + + + + + Editing collations manual + + + + + Enter a non-empty, unique name of the collation. + + + + + Pick the implementation language. + + + + + Enter a non-empty implementation code. + + + + + Collations editor window has uncommited modifications. + + + + + ColorButton + + + Pick a color + + + + + ColumnCollatePanel + + + Collation name: + + + + + Named constraint: + + + + + Enter a name of the constraint. + + + + + Enter a collation name. + + + + + ColumnDefaultPanel + + + Default value: + + + + + Named constraint: + + + + + Enter a default value expression. + + + + + Invalid default value expression: %1 + + + + + Enter a name of the constraint. + + + + + ColumnDialog + + + Column + + + + + Name and type + + + + + Data type: + + + + + Column name: + + + + + Size: + + + + + Constraints + + + + + Unique + + + + + + + + + + + Configure + + + + + Foreign Key + + + + + Collate + + + + + Not NULL + + + + + Check condition + + + + + Primary Key + + + + + Default + + + + + Advanced mode + + + + + Add constraint + column dialog + + + + + Edit constraint + column dialog + + + + + + Delete constraint + column dialog + + + + + Move constraint up + column dialog + + + + + Move constraint down + column dialog + + + + + Add a primary key + column dialog + + + + + Add a foreign key + column dialog + + + + + Add an unique constraint + column dialog + + + + + Add a check constraint + column dialog + + + + + Add a not null constraint + column dialog + + + + + Add a collate constraint + column dialog + + + + + Add a default constraint + column dialog + + + + + Are you sure you want to delete constraint '%1'? + column dialog + + + + + Correct the constraint's configuration. + + + + + This constraint is not officially supported by SQLite 2, +but it's okay to use it. + + + + + ColumnDialogConstraintsModel + + + Type + column dialog constraints + + + + + Name + column dialog constraints + + + + + Details + column dialog constraints + + + + + ColumnForeignKeyPanel + + + Foreign table: + + + + + Foreign column: + + + + + Reactions + + + + + Deferred foreign key + + + + + Named constraint + + + + + Constraint name + + + + + Pick the foreign table. + + + + + Pick the foreign column. + + + + + Enter a name of the constraint. + + + + + ColumnPrimaryKeyPanel + + + Autoincrement + + + + + Sort order: + + + + + Named constraint: + + + + + On conflict: + + + + + Enter a name of the constraint. + + + + + Autoincrement (only for %1 type columns) + column primary key + + + + + ColumnUniqueAndNotNullPanel + + + Named constraint: + + + + + On conflict: + + + + + Enter a name of the constraint. + + + + + CompleterWindow + + + Column: %1 + completer statusbar + + + + + Table: %1 + completer statusbar + + + + + Index: %1 + completer statusbar + + + + + Trigger: %1 + completer statusbar + + + + + View: %1 + completer statusbar + + + + + Database: %1 + completer statusbar + + + + + Keyword: %1 + completer statusbar + + + + + Function: %1 + completer statusbar + + + + + Operator: %1 + completer statusbar + + + + + String + completer statusbar + + + + + Number + completer statusbar + + + + + Binary data + completer statusbar + + + + + Collation: %1 + completer statusbar + + + + + Pragma function: %1 + completer statusbar + + + + + ConfigDialog + + + + Configuration + + + + + Search + + + + + General + + + + + Keyboard shortcuts + + + + + Look & feel + + + + + Style + + + + + Fonts + + + + + Colors + + + + + Plugins + + + + + Code formatters + + + + + Data browsing + + + + + Data editors + + + + + Data browsing and editing + + + + + Number of data rows per page: + + + + + + <p>When the data is read into grid view columns width is automatically adjusted. This value limits the initial width for the adjustment, but user can still resize the column manually over this limit.</p> + + + + + Limit initial data column width to (in pixels): + + + + + Data types + + + + + Available editors: + + + + + Editors selected for this data type: + + + + + Schema editing + + + + + Number of DDL changes kept in history. + + + + + DDL history size: + + + + + Don't show DDL preview dialog when commiting schema changes + + + + + SQL queries + + + + + + Number of queries kept in the history. + + + + + History size: + + + + + <p>If there is more than one query in the SQL editor window, then (if this option is enabled) only a single query will be executed - the one under the keyboard insertion cursor. Otherwise all queries will be executed. You can always limit queries to be executed by selecting those queries before calling to execute.</p> + + + + + Execute only the query under the cursor + + + + + Updates + + + + + Automatically check for updates at startup + + + + + Session + + + + + Restore last session (active MDI windows) after startup + + + + + Filter shortcuts by name or key combination + + + + + Action + + + + + Key combination + + + + + + Language + + + + + Changing language requires application restart to take effect. + + + + + Database list + + + + + If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement. + + + + + Sort table columns alphabetically + + + + + Expand tables node when connected to a database + + + + + <p>Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.<p> + + + + + Display additional labels on the list + + + + + For regular tables labels will show number of columns, indexes and triggers for each of tables. + + + + + Display labels for regular tables + + + + + Virtual tables will be marked with a 'virtual' label. + + + + + Display labels for virtual tables + + + + + Expand views node when connected to a database + + + + + If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created) + + + + + Sort objects (tables, indexes, triggers and views) alphabetically + + + + + Display system tables and indexes on the list + + + + + Table windows + + + + + When enabled, Table Windows will show up with the data tab, instead of the structure tab. + + + + + Open Table Windows with the data tab for start + + + + + View windows + + + + + When enabled, View Windows will show up with the data tab, instead of the structure tab. + + + + + Open View Windows with the data tab for start + + + + + Hide built-in plugins + + + + + Current style: + + + + + Preview + + + + + Enabled + + + + + Disabled + + + + + Active formatter plugin + + + + + SQL editor font + + + + + Database list font + + + + + Database list additional label font + + + + + Data view font + + + + + Status field font + + + + + SQL editor colors + + + + + Current line background + + + + + <p>SQL strings are enclosed with single quote characters.</p> + + + + + String foreground + + + + + <p>Bind parameters are placeholders for values yet to be provided by the user. They have one of the forms:</p><ul><li>:param_name</li><li>$param_name</li><li>@param_name</li><li>?</li></ul> + + + + + Bind parameter foreground + + + + + Highlighted parenthesis background + + + + + <p>BLOB values are binary values represented as hexadecimal numbers, like:</p><ul><li>X'12B4'</li><li>x'46A2F4'</li></ul> + + + + + BLOB value foreground + + + + + Regular foreground + + + + + Line numbers area background + + + + + Keyword foreground + + + + + Number foreground + + + + + Comment foreground + + + + + <p>Valid objects are name of tables, indexes, triggers, or views that exist in the SQLite database.</p> + + + + + Valid objects foreground + + + + + Data view colors + + + + + <p>Any data changes will be outlined with this color, until they're commited to the database.</p> + + + + + Uncommited data outline color + + + + + <p>In case of error while commiting data changes, the problematic cell will be outlined with this color.</p> + + + + + Commit error outline color + + + + + NULL value foreground + + + + + Deleted row background + + + + + Database list colors + + + + + <p>Additional labels are those which tell you SQLite version, number of objects deeper in the tree, etc.</p> + + + + + Additional labels foreground + + + + + Status field colors + + + + + Information message foreground + + + + + Warning message foreground + + + + + Error message foreground + + + + + Description: + plugin details + + + + + Category: + plugin details + + + + + Version: + plugin details + + + + + Author: + plugin details + + + + + Internal name: + plugin details + + + + + Dependencies: + plugin details + + + + + Conflicts: + plugin details + + + + + Plugin details + + + + + Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog. + + + + + %1 (built-in) + plugins manager in configuration dialog + + + + + Details + + + + + No plugins in this category. + + + + + Add new data type + + + + + Rename selected data type + + + + + Delete selected data type + + + + + Help for configuring data type editors + + + + + ConstraintCheckPanel + + + The condition + + + + + Named constraint: + + + + + On conflict + + + + + Enter a valid condition. + + + + + Enter a name of the constraint. + + + + + ConstraintDialog + + + New constraint + constraint dialog + + + + + Create + constraint dialog + + + + + Edit constraint + dialog window + + + + + Apply + constraint dialog + + + + + Primary key + table constraints + + + + + Foreign key + table constraints + + + + + Unique + table constraints + + + + + Not NULL + table constraints + + + + + Check + table constraints + + + + + Collate + table constraints + + + + + Default + table constraints + + + + + ConstraintTabModel + + + Table + table constraints + + + + + Column (%1) + table constraints + + + + + Scope + table constraints + + + + + Type + table constraints + + + + + Details + table constraints + + + + + Name + table constraints + + + + + DataView + + + Filter data + data view + + + + + Grid view + + + + + Form view + + + + + Refresh table data + data view + + + + + First page + data view + + + + + Previous page + data view + + + + + Next page + data view + + + + + Last page + data view + + + + + Apply filter + data view + + + + + Commit changes for selected cells + data view + + + + + Rollback changes for selected cells + data view + + + + + Show grid view of results + sql editor + + + + + Show form view of results + sql editor + + + + + Filter by text + data view + + + + + Filter by the Regular Expression + data view + + + + + Filter by SQL expression + data view + + + + + Tabs on top + data view + + + + + Tabs at bottom + data view + + + + + Total number of rows is being counted. +Browsing other pages will be possible after the row counting is done. + + + + + Row: %1 + + + + + DbConverterDialog + + + Convert database + + + + + Source database + + + + + Source database version: + + + + + Target database + + + + + Target version: + + + + + This is the file that will be created as a result of the conversion. + + + + + Target file: + + + + + Name of the new database: + + + + + This is the name that the converted database will be added to SQLiteStudio with. + + + + + Select source database + + + + + Enter valid and writable file path. + + + + + Entered file exists and will be overwritten. + + + + + Enter a not empty, unique name (as in the list of databases on the left). + + + + + No valid target dialect available. Conversion not possible. + + + + + Select valid target dialect. + + + + + Database %1 has been successfully converted and now is available under new name: %2 + + + + + SQL statements conversion + + + + + Following error occurred while converting SQL statements to the target SQLite version: + + + + + Would you like to ignore those errors and proceed? + + + + + DbDialog + + + Database + + + + + Database driver + + + + + Name + + + + + Type + + + + + Browse for database file on local computer + + + + + File + + + + + Generate name basing on file path + + + + + Permanent + + + + + <p>Enable this if you want the database to be stored in configuration file and restored every time SQLiteStudio is started.</p> + aasfd + + + + + Test database connection + + + + + Browse + + + + + Enter an unique database name. + + + + + This name is already in use. Please enter unique name. + + + + + Enter a database file path. + + + + + This database is already on the list under name: %1 + + + + + Select a database type. + + + + + The name will be auto-generated + + + + + Type the name + + + + + DbObjectDialogs + + + Delete table + + + + + Are you sure you want to delete table %1? + + + + + Delete index + + + + + Are you sure you want to delete index %1? + + + + + Delete trigger + + + + + Are you sure you want to delete trigger %1? + + + + + Delete view + + + + + Are you sure you want to delete view %1? + + + + + Error while dropping %1: %2 + + + + + DbTree + + + Databases + + + + + Filter by name + + + + + Copy + + + + + Paste + + + + + Select all + + + + + Create a group + + + + + Delete the group + + + + + Rename the group + + + + + Add a database + + + + + Edit the database + + + + + Remove the database + + + + + Connect to the database + + + + + Disconnect from the database + + + + + Import + + + + + Export the database + + + + + Convert database type + + + + + Vacuum + + + + + Integrity check + + + + + Create a table + + + + + Edit the table + + + + + Delete the table + + + + + Export the table + + + + + Import into the table + + + + + Populate table + + + + + Create similar table + + + + + Reset autoincrement sequence + + + + + Create an index + + + + + Edit the index + + + + + Delete the index + + + + + Create a trigger + + + + + Edit the trigger + + + + + Delete the trigger + + + + + Create a view + + + + + Edit the view + + + + + Delete the view + + + + + Add a column + + + + + Edit the column + + + + + Delete the column + + + + + Delete selected items + + + + + Clear filter + + + + + Refresh all database schemas + + + + + Refresh selected database schema + + + + + + Database + + + + + Grouping + + + + + + Create group + + + + + Group name + + + + + Entry with name %1 already exists in group %2. + + + + + Delete group + + + + + Are you sure you want to delete group %1? +All objects from this group will be moved to parent group. + + + + + Delete database + + + + + Are you sure you want to delete database '%1'? + + + + + + Cannot import, because no import plugin is loaded. + + + + + + Cannot export, because no export plugin is loaded. + + + + + Error while executing VACUUM on the database %1: %2 + + + + + VACUUM execution finished successfully. + + + + + Integrity check (%1) + + + + + Reset autoincrement + + + + + Are you sure you want to reset autoincrement value for table '%1'? + + + + + An error occurred while trying to reset autoincrement value for table '%1': %2 + + + + + Autoincrement value for table '%1' has been reset successfly. + + + + + Following objects will be deleted: %1. + + + + + Following databases will be removed from list: %1. + + + + + Remainig objects from deleted group will be moved in place where the group used to be. + + + + + %1<br><br>Are you sure you want to continue? + + + + + Delete objects + + + + + DbTreeItemDelegate + + + error + dbtree labels + + + + + (system table) + database tree label + + + + + (virtual) + virtual table label + + + + + (system index) + database tree label + + + + + DbTreeModel + + + Database: %1 + dbtree tooltip + + + + + Version: + dbtree tooltip + + + + + File size: + dbtree tooltip + + + + + Encoding: + dbtree tooltip + + + + + Error details: + dbtree tooltip + + + + + Table : %1 + dbtree tooltip + + + + + Columns (%1): + dbtree tooltip + + + + + Indexes (%1): + dbtree tooltip + + + + + Triggers (%1): + dbtree tooltip + + + + + Copy + + + + + Move + + + + + Include data + + + + + Include indexes + + + + + Include triggers + + + + + Abort + + + + + Referenced tables + + + + + Do you want to include following referenced tables as well: +%1 + + + + + Name conflict + + + + + Following object already exists in the target database. +Please enter new, unique name, or press '%1' to abort the operation: + + + + + SQL statements conversion + + + + + Following error occurred while converting SQL statements to the target SQLite version: + + + + + Would you like to ignore those errors and proceed? + + + + + DdlHistoryWindow + + + Filter by database: + + + + + -- Queries executed on database %1 (%2) +-- Date and time of execution: %3 +%4 + + + + + DDL history + + + + + DdlPreviewDialog + + + Queries to be executed + + + + + Don't show again + + + + + DebugConsole + + + SQLiteStudio Debug Console + + + + + EditorWindow + + + Query + + + + + History + + + + + Results in the separate tab + + + + + Results below the query + + + + + + SQL editor %1 + + + + + Results + + + + + Execute query + + + + + Explain query + + + + + Clear execution history + sql editor + + + + + Export results + sql editor + + + + + Create view from query + sql editor + + + + + Previous database + + + + + Next database + + + + + Show next tab + sql editor + + + + + Show previous tab + sql editor + + + + + Focus results below + sql editor + + + + + Focus SQL editor above + sql editor + + + + + Active database (%1/%2) + + + + + Query finished in %1 second(s). Rows affected: %2 + + + + + Query finished in %1 second(s). + + + + + Clear execution history + + + + + Are you sure you want to erase the entire SQL execution history? This cannot be undone. + + + + + Cannot export, because no export plugin is loaded. + + + + + No database selected in the SQL editor. Cannot create a view for unknown database. + + + + + Editor window "%1" has uncommited data. + + + + + ErrorsConfirmDialog + + + Errors + + + + + Following errors occured: + + + + + Would you like to proceed? + + + + + ExportDialog + + + Export + + + + + What do you want to export? + + + + + A database + + + + + A single table + + + + + Query results + + + + + Table to export + + + + + Database + + + + + Table + + + + + Options + + + + + When this option is unchecked, then only table DDL (CREATE TABLE statement) is exported. + + + + + Export table data + + + + + Export table indexes + + + + + Export table triggers + + + + + Note, that exporting table indexes and triggers may be unsupported by some output formats. + + + + + Select database objects to export + + + + + Export data from tables + + + + + Select all + + + + + Deselect all + + + + + + Database: + + + + + Query to export results for + + + + + Query to be executed for results: + + + + + Export format and options + + + + + Export format + + + + + Output + + + + + Exported file path + + + + + Clipboard + + + + + File + + + + + Exported text encoding: + + + + + Export format options + + + + + Cancel + + + + + + + Select database to export. + + + + + Select table to export. + + + + + Enter valid query to export. + + + + + Select at least one object to export. + + + + + You must provide a file name to export to. + + + + + Path you provided is an existing directory. You cannot overwrite it. + + + + + The directory '%1' does not exist. + + + + + The file '%1' exists and will be overwritten. + + + + + All files (*) + + + + + Pick file to export to + + + + + Internal error during export. This is a bug. Please report it. + + + + + FontEdit + + + Choose font + font configuration + + + + + Form + + + Active SQL formatter plugin + + + + + FormView + + + Commit row + form view + + + + + Rollback row + form view + + + + + First row + form view + + + + + Previous row + form view + + + + + Next row + form view + + + + + Last row + form view + + + + + Insert new row + form view + + + + + Delete current row + form view + + + + + FunctionsEditor + + + Filter funtions + + + + + Function name: + + + + + Implementation language: + + + + + Type: + + + + + Input arguments + + + + + Undefined + + + + + Databases + + + + + Register in all databases + + + + + Register in following databases: + + + + + Initialization code: + + + + + + Function implementation code: + + + + + Final step implementation code: + + + + + SQL function editor + + + + + Commit all function changes + + + + + Rollback all function changes + + + + + Create new function + + + + + Delete selected function + + + + + Custom SQL functions manual + + + + + Add function argument + + + + + Rename function argument + + + + + Delete function argument + + + + + Move function argument up + + + + + Move function argument down + + + + + Scalar + + + + + Aggregate + + + + + Enter a non-empty, unique name of the function. + + + + + Pick the implementation language. + + + + + Per step code: + + + + + Enter a non-empty implementation code. + + + + + argument + new function argument name in function editor window + + + + + Functions editor window has uncommited modifications. + + + + + ImportDialog + + + Import data + + + + + Table to import to + + + + + Table + + + + + Database + + + + + Data source to import from + + + + + Data source type + + + + + Options + + + + + Input file: + + + + + Text encoding: + + + + + Data source options + + + + + Cancel + + + + + If you type table name that doesn't exist, it will be created. + + + + + Enter the table name + + + + + Select import plugin. + + + + + You must provide a file to import from. + + + + + The file '%1' does not exist. + + + + + Path you provided is a directory. A regular file is required. + + + + + Pick file to import from + + + + + IndexDialog + + + + Index + + + + + On table: + + + + + Index name: + + + + + Partial index condition + + + + + Unique index + + + + + Column + + + + + Collation + + + + + Sort + + + + + DDL + + + + + Tried to open index dialog for closed or inexisting database. + + + + + Could not process index %1 correctly. Unable to open an index dialog. + + + + + Pick the table for the index. + + + + + Select at least one column. + + + + + Enter a valid condition. + + + + + default + index dialog + + + + + Sort order + table constraints + + + + + + Error + index dialog + + + + + Cannot create unique index, because values in selected columns are not unique. Would you like to execute SELECT query to see problematic values? + + + + + An error occurred while executing SQL statements: +%1 + + + + + LanguageDialog + + + Language + + + + + Please choose language: + + + + + MainWindow + + + Database toolbar + + + + + Structure toolbar + + + + + Tools + + + + + Window list + + + + + View toolbar + + + + + Configuration widgets + + + + + Syntax highlighting engines + + + + + Data editors + + + + + Running in debug mode. Press %1 or use 'Help / Open debug console' menu entry to open the debug console. + + + + + Running in debug mode. Debug messages are printed to the standard output. + + + + + You need to restart application to make the language change take effect. + + + + + Open SQL editor + + + + + Open DDL history + + + + + Open SQL functions editor + + + + + Open collations editor + + + + + Import + + + + + Export + + + + + Open configuration dialog + + + + + Tile windows + + + + + Tile windows horizontally + + + + + Tile windows vertically + + + + + Cascade windows + + + + + Next window + + + + + Previous window + + + + + Hide status field + + + + + Close selected window + + + + + Close all windows but selected + + + + + Close all windows + + + + + Restore recently closed window + + + + + Rename selected window + + + + + Open Debug Console + + + + + Report a bug + + + + + Propose a new feature + + + + + About + + + + + Licenses + + + + + Open home page + + + + + Open forum page + + + + + User Manual + + + + + SQLite documentation + + + + + Report history + + + + + Check for updates + + + + + Database + menubar + + + + + Structure + menubar + + + + + View + menubar + + + + + Window list + menubar view menu + + + + + Tools + menubar + + + + + Help + + + + + Could not set style: %1 + main window + + + + + Cannot export, because no export plugin is loaded. + + + + + Cannot import, because no import plugin is loaded. + + + + + Rename window + + + + + Enter new name for the window: + + + + + New updates are available. <a href="%1">Click here for details</a>. + + + + + You're running the most recent version. No updates are available. + + + + + Database passed in command line parameters (%1) was already on the list under name: %2 + + + + + Database passed in command line parameters (%1) has been temporarily added to the list under name: %2 + + + + + Could not add database %1 to list. + + + + + MdiWindow + + + Uncommited changes + + + + + Close anyway + + + + + Don't close + + + + + MultiEditor + + + Null value + multieditor + + + + + Configure editors for this data type + + + + + Data editor plugin '%1' not loaded, while it is defined for editing '%1' data type. + + + + + Deleted + multieditor + + + + + Read only + multieditor + + + + + MultiEditorBool + + + Boolean + + + + + MultiEditorDate + + + Date + + + + + MultiEditorDateTime + + + Date & time + + + + + MultiEditorHex + + + Hex + + + + + MultiEditorNumeric + + + Number + numeric multi editor tab name + + + + + MultiEditorText + + + Text + + + + + Tab changes focus + + + + + Cut + + + + + Copy + + + + + Paste + + + + + Delete + + + + + Undo + + + + + Redo + + + + + MultiEditorTime + + + Time + + + + + NewConstraintDialog + + + New constraint + + + + + + Primary Key + new constraint dialog + + + + + + Foreign Key + new constraint dialog + + + + + + Unique + new constraint dialog + + + + + + Check + new constraint dialog + + + + + Not NULL + new constraint dialog + + + + + Collate + new constraint dialog + + + + + Default + new constraint dialog + + + + + NewVersionDialog + + + SQLiteStudio updates + + + + + New updates are available! + + + + + Component + + + + + Current version + + + + + Update version + + + + + Check for updates on startup + + + + + Update to new version! + + + + + The update will be automatically downloaded and installed. This will also restart application at the end. + + + + + Not now. + + + + + Don't install the update and close this window. + + + + + PopulateConfigDialog + + + Populating configuration + + + + + Configuring <b>%1</b> for column <b>%2</b> + + + + + PopulateDialog + + + Populate table + + + + + Database + + + + + Table + + + + + Columns + + + + + Number of rows to populate: + + + + + Populate + populate dialog button + + + + + Configure + + + + + Populating configuration for this column is invalid or incomplete. + + + + + Select database with table to populate + + + + + Select table to populate + + + + + You have to select at least one column. + + + + + QObject + + + Cannot edit columns that are result of compound %1 statements (one that includes %2, %3 or %4 keywords). + + + + + The query execution mechanism had problems with extracting ROWID's properly. This might be a bug in the application. You may want to report this. + + + + + Requested column is a result of SQL expression, instead of a simple column selection. Such columns cannot be edited. + + + + + Requested column belongs to restricted SQLite table. Those tables cannot be edited directly. + + + + + Cannot edit results of query other than %1. + + + + + Cannot edit columns that are result of aggregated %1 statements. + + + + + Cannot edit columns that are result of %1 statement. + + + + + Cannot edit columns that are result of common table expression statement (%1). + + + + + + + + on conflict: %1 + data view tooltip + + + + + references table %1, column %2 + data view tooltip + + + + + condition: %1 + data view tooltip + + + + + collation name: %1 + data view tooltip + + + + + Data grid view + + + + + Copy cell(s) contents to clipboard + + + + + Paste cell(s) contents from clipboard + + + + + Set empty value to selected cell(s) + + + + + Set NULL value to selected cell(s) + + + + + Commit changes to cell(s) contents + + + + + Rollback changes to cell(s) contents + + + + + Delete selected data row + + + + + Insert new data row + + + + + Open contents of selected cell in a separate editor + + + + + Total pages available: %1 + + + + + Total rows loaded: %1 + + + + + Data view (both grid and form) + + + + + Refresh data + + + + + Switch to grid view of the data + + + + + Switch to form view of the data + + + + + Database list + + + + + Delete selected item + + + + + Clear filter contents + + + + + Refresh schema + + + + + Refresh all schemas + + + + + Add database + + + + + Select all items + + + + + Copy selected item(s) + + + + + + + Paste from clipboard + + + + + Tables + + + + + Indexes + + + + + Triggers + + + + + Views + + + + + Columns + + + + + Data form view + + + + + Commit changes for current row + + + + + Rollback changes for current row + + + + + Go to first row on current page + + + + + Go to next row + + + + + Go to previous row + + + + + Go to last row on current page + + + + + Insert new row + + + + + Delete current row + + + + + Main window + + + + + Open SQL editor + + + + + Previous window + + + + + Next window + + + + + Hide status area + + + + + Open configuration dialog + + + + + Open Debug Console + + + + + Cell text value editor + + + + + + Cut selected text + + + + + + Copy selected text + + + + + + Delete selected text + + + + + + Undo + + + + + + Redo + + + + + SQL editor input field + + + + + Select whole editor contents + + + + + Save contents into a file + + + + + Load contents from a file + + + + + Find in text + + + + + Find next + + + + + Find previous + + + + + Replace in text + + + + + Delete current line + + + + + Request code assistant + + + + + Format contents + + + + + Move selected block of text one line down + + + + + Move selected block of text one line up + + + + + Copy selected block of text and paste it a line below + + + + + Copy selected block of text and paste it a line above + + + + + All SQLite databases + + + + + All files + + + + + Database file + + + + + Reports history window + + + + + Delete selected entry + + + + + SQL editor window + + + + + Execute query + + + + + Execute "%1" query + + + + + Switch current working database to previous on the list + + + + + Switch current working database to next on the list + + + + + Go to next editor tab + + + + + Go to previous editor tab + + + + + Move keyboard input focus to the results view below + + + + + Move keyboard input focus to the SQL editor above + + + + + Table window + + + + + Refresh table structure + + + + + Add new column + + + + + Edit selected column + + + + + Delete selected column + + + + + Export table data + + + + + Import data to the table + + + + + Add new table constraint + + + + + Edit selected table constraint + + + + + Delete selected table constraint + + + + + Refresh table index list + + + + + Add new index + + + + + Edit selected index + + + + + Delete selected index + + + + + Refresh table trigger list + + + + + + Add new trigger + + + + + + Edit selected trigger + + + + + + Delete selected trigger + + + + + + Go to next tab + + + + + + Go to previous tab + + + + + A view window + + + + + Refresh view trigger list + + + + + QuitConfirmDialog + + + Uncommited changes + + + + + Are you sure you want to quit the application? + +Following items are pending: + + + + + SearchTextDialog + + + Find or replace + + + + + Find: + + + + + Case sensitive + + + + + Search backwards + + + + + Regular expression matching + + + + + Replace && +find next + + + + + Replace with: + + + + + Replace all + + + + + Find + + + + + SortDialog + + + Sort by columns + + + + + + Column + + + + + + Order + + + + + Sort by: %1 + + + + + Move column up + + + + + Move column down + + + + + SqlEditor + + + Cut + sql editor + + + + + Copy + sql editor + + + + + Paste + sql editor + + + + + Delete + sql editor + + + + + Select all + sql editor + + + + + Undo + sql editor + + + + + Redo + sql editor + + + + + Complete + sql editor + + + + + Format SQL + sql editor + + + + + Save SQL to file + sql editor + + + + + Load SQL from file + sql editor + + + + + Delete line + sql editor + + + + + Move block down + sql editor + + + + + Move block up + sql editor + + + + + Copy block down + sql editor + + + + + Copy up down + sql editor + + + + + Find + sql editor + + + + + Find next + sql editor + + + + + Find previous + sql editor + + + + + Replace + sql editor + + + + + Syntax completion can be used only when a valid database is set for the SQL editor. + + + + + Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled. + + + + + Save to file + + + + + Could not open file '%1' for writing: %2 + + + + + SQL scripts (*.sql);;All files (*) + + + + + Open file + + + + + Could not open file '%1' for reading: %2 + + + + + Reached the end of document. Hit the find again to restart the search. + + + + + SqlQueryItem + + + Column: + data view tooltip + + + + + Data type: + data view + + + + + Table: + data view tooltip + + + + + Constraints: + data view tooltip + + + + + This cell is not editable, because: %1 + + + + + Cannot load the data for a cell that refers to the already closed database. + + + + + SqlQueryItemDelegate + + + + Cannot edit this cell. Details: %2 + + + + + The row is marked for deletion. + + + + + SqlQueryModel + + + + Only one query can be executed simultaneously. + + + + + Uncommited data + + + + + There are uncommited data changes. Do you want to proceed anyway? All uncommited changes will be lost. + + + + + Cannot commit the data for a cell that refers to the already closed database. + + + + + Could not begin transaction on the database. Details: %1 + + + + + An error occurred while commiting the transaction: %1 + + + + + An error occurred while rolling back the transaction: %1 + + + + + Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it. + + + + + An error occurred while commiting the data: %1 + + + + + + Error while executing SQL query on database '%1': %2 + + + + + Error while loading query results: %1 + + + + + Insert multiple rows + + + + + Number of rows to insert: + + + + + SqlQueryView + + + Copy + + + + + Copy as... + + + + + Paste + + + + + Paste as... + + + + + Set NULL values + + + + + Erase values + + + + + Edit value in editor + + + + + Commit + + + + + Rollback + + + + + Commit selected cells + + + + + Rollback selected cells + + + + + Define columns to sort by + + + + + Remove custom sorting + + + + + Insert row + + + + + Insert multiple rows + + + + + Delete selected row + + + + + Edit value + + + + + SqlTableModel + + + Error while commiting new row: %1 + + + + + Error while deleting row from table %1: %2 + + + + + StatusField + + + Status + + + + + Copy + + + + + Clear + + + + + TableConstraintsModel + + + Type + table constraints + + + + + Details + table constraints + + + + + Name + table constraints + + + + + TableForeignKeyPanel + + + Foreign table: + + + + + SQLite 2 does not support foreign keys officially, +but it's okay to use them anyway. + + + + + Columns + + + + + Local column + + + + + Foreign column + + + + + Reactions + + + + + Deferred foreign key + + + + + Named constraint + + + + + Constraint name + + + + + Pick the foreign column. + + + + + Pick the foreign table. + + + + + Select at least one foreign column. + + + + + Enter a name of the constraint. + + + + + Foreign column + table constraints + + + + + TablePrimaryKeyAndUniquePanel + + + Columns + + + + + Column + + + + + Collation + + + + + Sort + + + + + Valid only for a single column with INTEGER data type + + + + + Autoincrement + + + + + Named constraint + + + + + Constraint name + + + + + On conflict + + + + + Collate + table constraints + + + + + Sort order + table constraints + + + + + Select at least one column. + + + + + Enter a name of the constraint. + + + + + TableStructureModel + + + Name + table structure columns + + + + + Data type + table structure columns + + + + + Default value + table structure columns + + + + + TableWindow + + + Structure + + + + + Table name: + + + + + Data + + + + + Constraints + + + + + Indexes + + + + + Triggers + + + + + DDL + + + + + Export table + table window + + + + + Import data to table + table window + + + + + Populate table + table window + + + + + Refresh structure + table window + + + + + Commit structure changes + table window + + + + + Rollback structure changes + table window + + + + + Add column + table window + + + + + Edit column + table window + + + + + + Delete column + table window + + + + + Move column up + table window + + + + + Move column down + table window + + + + + Create similar table + table window + + + + + Reset autoincrement value + table window + + + + + Add table constraint + table window + + + + + Edit table constraint + table window + + + + + Delete table constraint + table window + + + + + Move table constraint up + table window + + + + + Move table constraint down + table window + + + + + Add table primary key + table window + + + + + Add table foreign key + table window + + + + + Add table unique constraint + table window + + + + + Add table check constraint + table window + + + + + Refresh index list + table window + + + + + Create index + table window + + + + + Edit index + table window + + + + + Delete index + table window + + + + + Refresh trigger list + table window + + + + + Create trigger + table window + + + + + Edit trigger + table window + + + + + Delete trigger + table window + + + + + Are you sure you want to delete column '%1'? + table window + + + + + Following problems will take place while modifying the table. +Would you like to proceed? + table window + + + + + Table modification + table window + + + + + Could not load data for table %1. Error details: %2 + + + + + Could not process the %1 table correctly. Unable to open a table window. + + + + + Could not restore window, because database %1 could not be resolved. + + + + + Could not restore window, because the table %1 doesn't exist in the database %2. + + + + + + New table %1 + + + + + Could not commit table structure. Error message: %1 + table window + + + + + Reset autoincrement + + + + + Are you sure you want to reset autoincrement value for table '%1'? + + + + + An error occurred while trying to reset autoincrement value for table '%1': %2 + + + + + Autoincrement value for table '%1' has been reset successfly. + + + + + Empty name + + + + + A blank name for the table is allowed in SQLite, but it is not recommended. +Are you sure you want to create a table with blank name? + + + + + Cannot create a table without at least one column. + + + + + Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key. + + + + + Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key. + + + + + Are you sure you want to delete table constraint '%1'? + table window + + + + + Delete constraint + table window + + + + + Cannot export, because no export plugin is loaded. + + + + + Cannot import, because no import plugin is loaded. + + + + + Uncommited changes + + + + + There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled. +Do you want to commit the structure, or do you want to go back to the structure tab? + + + + + Go back to structure tab + + + + + Commit modifications and browse data. + + + + + Name + table window indexes + + + + + Unique + table window indexes + + + + + Columns + table window indexes + + + + + Partial index condition + table window indexes + + + + + Name + table window triggers + + + + + Event + table window triggers + + + + + Condition + table window triggers + + + + + Details + table window triggers + + + + + Table window "%1" has uncommited structure modifications and data. + + + + + Table window "%1" has uncommited data. + + + + + Table window "%1" has uncommited structure modifications. + + + + + TriggerColumnsDialog + + + Trigger columns + + + + + Triggering columns: + + + + + TriggerDialog + + + + Trigger + + + + + On table: + + + + + Action: + + + + + + <p>SQL condition that will be evaluated before the actual trigger code. In case the condition returns false, the trigger will not be fired for that row.</p> + + + + + Pre-condition: + + + + + The scope is still not fully supported by the SQLite database. + + + + + Trigger name: + + + + + When: + + + + + List of columns for UPDATE OF action. + + + + + Scope: + + + + + Code: + + + + + Trigger statements to be executed. + + + + + DDL + + + + + On view: + + + + + Could not process trigger %1 correctly. Unable to open a trigger dialog. + + + + + Enter a valid condition. + + + + + Enter a valid trigger code. + + + + + Error + trigger dialog + + + + + An error occurred while executing SQL statements: +%1 + + + + + VersionConvertSummaryDialog + + + Database version convert + + + + + Following changes to the SQL statements will be made: + + + + + Before + + + + + After + + + + + ViewWindow + + + Query + + + + + View name: + + + + + Data + + + + + Triggers + + + + + DDL + + + + + Could not restore window, because database %1 could not be resolved. + + + + + Could not restore window, because database %1 could not be open. + + + + + Could not restore window, because the view %1 doesn't exist in the database %2. + + + + + + New view %1 + + + + + Refresh the view + view window + + + + + Commit the view changes + view window + + + + + Rollback the view changes + view window + + + + + Refresh trigger list + view window + + + + + Create new trigger + view window + + + + + Edit selected trigger + view window + + + + + Delete selected trigger + view window + + + + + View window "%1" has uncommited structure modifications and data. + + + + + View window "%1" has uncommited data. + + + + + View window "%1" has uncommited structure modifications. + + + + + Could not load data for view %1. Error details: %2 + + + + + Uncommited changes + + + + + There are uncommited structure modifications. You cannot browse or edit data until you have the view structure settled. +Do you want to commit the structure, or do you want to go back to the structure tab? + + + + + Go back to structure tab + + + + + Commit modifications and browse data. + + + + + Could not commit view changes. Error message: %1 + view window + + + + + Name + view window triggers + + + + + Instead of + view window triggers + + + + + Condition + view window triggers + + + + + Details + table window triggers + + + + + Could not process the %1 view correctly. Unable to open a view window. + + + + + Empty name + + + + + A blank name for the view is allowed in SQLite, but it is not recommended. +Are you sure you want to create a view with blank name? + + + + + The SELECT statement could not be parsed. Please correct the query and retry. +Details: %1 + + + + + The view could not be modified due to internal SQLiteStudio error. Please report this! + + + + + The view code could not be parsed properly for execution. This is a SQLiteStudio's bug. Please report it. + + + + + Following problems will take place while modifying the view. +Would you like to proceed? + view window + + + + + View modification + view window + + + + + WidgetCover + + + Interrupt + + + + diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.qm b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.qm new file mode 100644 index 0000000..d3a90ca Binary files /dev/null and b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.qm differ diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.ts b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.ts new file mode 100644 index 0000000..a3d8093 --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_ru.ts @@ -0,0 +1,5980 @@ + + + + + AboutDialog + + + About SQLiteStudio and licenses + О программе SQLiteStudio и лицензиях + + + + About + О программе + + + + <html><head/><body><p align="center"><span style=" font-size:11pt; font-weight:600;">SQLiteStudio v%1</span></p><p align="center">Free, open-source, cross-platform SQLite database manager.<br/><a href="http://sqlitestudio.pl"><span style=" text-decoration: underline; color:#0000ff;">http://sqlitestudio.pl</span></a><br/></p><p align="center">%2<br/></p><p align="center">Author and active maintainer:<br/>SalSoft (<a href="http://salsoft.com.pl"><span style=" text-decoration: underline; color:#0000ff;">http://salsoft.com.pl</span></a>)<br/></p></body></html> + <html><head/><body><p align="center"><span style=" font-size:11pt; font-weight:600;">SQLiteStudio v%1</span></p><p align="center">Бесплатный кроссплатформенный менеджер баз данных SQLite с открытым исходным кодом.<br/><a href="http://sqlitestudio.pl"><span style=" text-decoration: underline; color:#0000ff;">http://sqlitestudio.pl</span></a><br/></p><p align="center">%2<br/></p><p align="center">Автор и активный разработчик:<br/>SalSoft (<a href="http://salsoft.com.pl"><span style=" text-decoration: underline; color:#0000ff;">http://salsoft.com.pl</span></a>)<br/></p></body></html> + + + + Licenses + Лицензии + + + + Environment + Системная среда + + + + Icon directories + Каталоги иконок + + + + Form directories + Каталоги форм + + + + Plugin directories + Каталоги модулей + + + + Application directory + Каталог программы + + + + SQLite 3 version: + + + + + Configuration directory + Каталог конфигурации + + + + Qt version: + Версия Qt: + + + + Portable distribution. + Портабельная версия. + + + + MacOS X application boundle distribution. + Пакет приложения MacOS X. + + + + Operating system managed distribution. + Версия, управляемая операционной системой. + + + + Copy + Копировать + + + + <h3>Table of contents:</h3><ol>%2</ol> + <h3>Содержание:</h3><ol>%2</ol> + + + + BugDialog + + + Bugs and ideas + Ошибки и предложения + + + + Reporter + Отправитель + + + + E-mail address + Адрес e-mail + + + + + Log in + Вход + + + + Short description + Краткое описание + + + + Detailed description + Подробное описание + + + + Show more details + Показать дополнительную информацию + + + + SQLiteStudio version + Версия SQLiteStudio + + + + Operating system + Операционная система + + + + Loaded plugins + Загруженные модули + + + + Send + Отправить + + + + You can see all your reported bugs and ideas by selecting menu '%1' and then '%2'. + Вы можете просмотреть все отправленные вами отчёты об ошибках и предложения, выбрав в меню '%1' пункт '%2'. + + + + A bug report sent successfully. + Отчёт об ошибке успешно отправлен. + + + + An error occurred while sending a bug report: %1 +%2 + При отправке отчёта об ошибке возникла проблема: %1 +%2 + + + + + You can retry sending. The contents will be restored when you open a report dialog after an error like this. + Вы можете повторить отправку. После такой ошибки содержимое полей окна отправки отчёта будет восстановлено при повторном открытии. + + + + An idea proposal sent successfully. + Предложение по улучшению было успешно отправлено. + + + + An error occurred while sending an idea proposal: %1 +%2 + При отправке предложения по улучшению возникла проблема: %1 +%2 + + + + A bug report + Отчёт об ошибке + + + + Describe problem in few words + Опишите проблему в нескольких словах + + + + Describe problem and how to reproduce it + Опишите проблему и шаги для её воспроизведения + + + + A new feature idea + Предложение по улучшению функционала + + + + A title for your idea + Название для вашего предложения + + + + Describe your idea in more details + Опишите ваше предложение более подробно + + + + Reporting as an unregistered user, using e-mail address. + Отправка от незарегистрированного пользователя, используя адрес e-mail + + + + Reporting as a registered user. + Отправка от зарегистрированного пользователя + + + + Log out + Выход + + + + Providing true email address will make it possible to contact you regarding your report. To learn more, press 'help' button on the right side. + Указание действительного адреса e-mail поможет связаться с вами касательно вашего отчёта. Для подробной информации нажмите кнопку Помощь справа. + + + + Enter vaild e-mail address, or log in. + Введите действительный адрес e-mail либо выполните вход. + + + + Short description requires at least 10 characters, but not more than 100. Longer description can be entered in the field below. + Краткое описание должно содержать от 10 до 100 символов. Более подробное описание можно ввести в поле ниже. + + + + Long description requires at least 30 characters. + Детальное описание должно содержать как минимум 30 символов. + + + + BugReportHistoryWindow + + + + Title + Заголовок + + + + + Reported at + Дата отправки + + + + + URL + URL + + + + Reports history + История отчётов + + + + Clear reports history + Очистить историю отчётов + + + + Delete selected entry + Удалить выбранную запись + + + + Invalid response from server. + Некорректный ответ сервера. + + + + BugReportLoginDialog + + + Log in + Вход + + + + Credentials + Данные для входа + + + + Login: + Имя пользователя: + + + + Password: + Пароль: + + + + Validation + Проверка + + + + Validate + Проверить + + + + Validation result message + Статус проверки + + + + Abort + Прервать + + + + A login must be at least 2 characters long. + Имя пользователя должно состоять как минимум из двух символов. + + + + A password must be at least 5 characters long. + Пароль должен состоять как минимум из пяти символов. + + + + Valid + Верно + + + + CollationsEditor + + + Filter collations + Отфильтровать сравнения + + + + Collation name: + Имя сравнения: + + + + Implementation language: + Язык реализации: + + + + Databases + Базы данных + + + + Register in all databases + Зарегистрировать во всех базах данных + + + + Register in following databases: + Зарегистрировать в следующих базах данных: + + + + Implementation code: + Код реализации: + + + + Collations editor + Редактор сравнений + + + + Commit all collation changes + Подтвердить все изменения сравнений + + + + Rollback all collation changes + Откатить все изменения сравнений + + + + Create new collation + Создать новое сравнение + + + + Delete selected collation + Удалить выбранное сравнение + + + + Editing collations manual + Руководство по редактированию сравнений + + + + Enter a non-empty, unique name of the collation. + Введите непустое уникальное имя сравнения. + + + + Pick the implementation language. + Выберите язык реализации. + + + + Enter a non-empty implementation code. + Введите непустой код реализации. + + + + Collations editor window has uncommited modifications. + В редакторе сравнений имеются неподтверждённые изменения. + + + + ColorButton + + + Pick a color + Выберите цвет + + + + ColumnCollatePanel + + + Collation name: + Имя сравнения: + + + + Named constraint: + Именованное ограничение: + + + + Enter a name of the constraint. + Введите имя ограничения. + + + + Enter a collation name. + Введите имя сравнения. + + + + ColumnDefaultPanel + + + Default value: + Значение по умолчанию: + + + + Named constraint: + Именованное ограничение: + + + + Enter a default value expression. + Введите выражение для значения по умолчанию. + + + + Invalid default value expression: %1 + Некорректное выражение для значения по умолчанию: %1 + + + + Enter a name of the constraint. + Введите имя ограничения. + + + + ColumnDialog + + + Column + Столбец + + + + Name and type + Имя и тип + + + + Data type: + Тип данных: + + + + Column name: + Имя столбца: + + + + Size: + Размер: + + + + Constraints + Ограничения + + + + Unique + Уникальность + + + + + + + + + + Configure + Настроить + + + + Foreign Key + Внешний ключ + + + + Collate + Сравнение + + + + Not NULL + Не NULL + + + + Check condition + Проверка условия + + + + Primary Key + Первичный ключ + + + + Default + + + + + Advanced mode + Расширенный режим + + + + Add constraint + column dialog + Добавить ограничение + + + + Edit constraint + column dialog + Редактировать ограничение + + + + + Delete constraint + column dialog + + + + + Move constraint up + column dialog + Переместить ограничение вверх + + + + Move constraint down + column dialog + Переместить ограничение вниз + + + + Add a primary key + column dialog + Добавить первичный ключ + + + + Add a foreign key + column dialog + Добавить внешний ключ + + + + Add an unique constraint + column dialog + Добавить ограничение на уникальность + + + + Add a check constraint + column dialog + Добавить проверочное ограничение + + + + Add a not null constraint + column dialog + Добавить ограничение на не null + + + + Add a collate constraint + column dialog + Добавить ограничение на сравнение + + + + Add a default constraint + column dialog + Добавить ограничение на значение по умочанию + + + + Are you sure you want to delete constraint '%1'? + column dialog + Вы действительно хотите удалить ограничение '%1'? + + + + Correct the constraint's configuration. + Исправьте конфигурацию ограничения. + + + + This constraint is not officially supported by SQLite 2, +but it's okay to use it. + Это ограничение официально не поддерживается SQLite 2, но его использование допустимо. + + + + ColumnDialogConstraintsModel + + + Type + column dialog constraints + Тип + + + + Name + column dialog constraints + Имя + + + + Details + column dialog constraints + Подробности + + + + ColumnForeignKeyPanel + + + Foreign table: + Внешняя таблица: + + + + Foreign column: + Внешний столбец: + + + + Reactions + Действия + + + + Deferred foreign key + Отложенный внешний ключ + + + + Named constraint + Именованное ограничение + + + + Constraint name + Имя ограничения + + + + Pick the foreign table. + Выберите внешнюю таблицу. + + + + Pick the foreign column. + Выберите внешний столбец. + + + + Enter a name of the constraint. + Введите имя ограничения. + + + + ColumnPrimaryKeyPanel + + + Autoincrement + Автоинкремент + + + + Sort order: + Порядок сортировки: + + + + Named constraint: + Именованное ограничение: + + + + On conflict: + При конфликте: + + + + Enter a name of the constraint. + Введите имя ограничения. + + + + Autoincrement (only for %1 type columns) + column primary key + Автоинкремент (только для столбцов типа %1) + + + + ColumnUniqueAndNotNullPanel + + + Named constraint: + Именованное ограничение: + + + + On conflict: + При конфликте: + + + + Enter a name of the constraint. + Введите имя ограничения. + + + + CompleterWindow + + + Column: %1 + completer statusbar + Столбец: %1 + + + + Table: %1 + completer statusbar + Таблица: %1 + + + + Index: %1 + completer statusbar + Индекс: %1 + + + + Trigger: %1 + completer statusbar + Триггер: %1 + + + + View: %1 + completer statusbar + Представление: %1 + + + + Database: %1 + completer statusbar + База данных: %1 + + + + Keyword: %1 + completer statusbar + Ключевое слово: %1 + + + + Function: %1 + completer statusbar + Функция: %1 + + + + Operator: %1 + completer statusbar + Оператор: %1 + + + + String + completer statusbar + Строка + + + + Number + completer statusbar + Число + + + + Binary data + completer statusbar + Двоичные данные + + + + Collation: %1 + completer statusbar + Сравнение: %1 + + + + Pragma function: %1 + completer statusbar + Функция pragma: %1 + + + + ConfigDialog + + + + Configuration + Конфигурация + + + + Search + Поиск + + + + General + Общие + + + + Keyboard shortcuts + Горячие клавиши + + + + Look & feel + Внешний вид + + + + Style + Стиль + + + + Fonts + Шрифты + + + + Colors + Цвета + + + + Plugins + Модули + + + + Code formatters + Средства форматирования кода + + + + Data browsing + Просмотр данных + + + + Data editors + Редакторы данных + + + + Data browsing and editing + Просмотр и редактирование данных + + + + Number of data rows per page: + Количество строк данных на странице: + + + + + <p>When the data is read into grid view columns width is automatically adjusted. This value limits the initial width for the adjustment, but user can still resize the column manually over this limit.</p> + <p>При загрузке даных в табличный вид ширина столбцов автоматически подстраивается. Этот параметр ограничивает начальную ширину для подстройки, при этом пользователь может вручную изменить ширину столбца сверх данного лимита.</p> + + + + Limit initial data column width to (in pixels): + Ограничить начальную ширину столбца данных (в пикселях): + + + + Data types + Типы данных + + + + Available editors: + Доступные редакторы: + + + + Editors selected for this data type: + Выбранные редакторы для этого типа данных: + + + + Schema editing + Редактирование схемы + + + + Number of DDL changes kept in history. + Количество сохраняемых в истории изменений DDL. + + + + DDL history size: + Размер истории DDL: + + + + Don't show DDL preview dialog when commiting schema changes + Не показывать диалог предпросмотра DDL при подтверждении изменений схемы + + + + SQL queries + SQL запросы + + + + + Number of queries kept in the history. + Количество сохраняемых в истории запросов. + + + + History size: + Размер истории: + + + + <p>If there is more than one query in the SQL editor window, then (if this option is enabled) only a single query will be executed - the one under the keyboard insertion cursor. Otherwise all queries will be executed. You can always limit queries to be executed by selecting those queries before calling to execute.</p> + <p>Если в окне редактора SQL введено более одного запроса, то (если данная опция активирована) будет выполнен лишь один запрос - тот, который находится под текстовым курсором. В противном случае будут исполнены все запросы. Вы можете ограничить выполняемые запросы, выделив их перед вызовом выполнения.</p> + + + + Execute only the query under the cursor + Выполнять только запрос под курсором + + + + Updates + Обновления + + + + Automatically check for updates at startup + Автоматически проверять обновления при запуске + + + + Session + Сессия + + + + Restore last session (active MDI windows) after startup + Восстановить предыдущую сессию (активные MDI окна) после запуска + + + + Filter shortcuts by name or key combination + Фильтруйте горячие клавиши по имени или комбинации клавиш + + + + Action + Действие + + + + Key combination + Комбинация клавиш + + + + + Language + Язык + + + + Changing language requires application restart to take effect. + Для смены языка потребуется перезапустить приложение. + + + + Database list + Список баз данных + + + + If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement. + Если опция деактивирована, столбцы будут отсортированы в том порядке, в котором они были указаны в конструкции CREATE TABLE. + + + + Sort table columns alphabetically + Сортировать столбцы таблицы в алфавитном порядке + + + + Expand tables node when connected to a database + Развернуть список таблиц после подключения к базе данных + + + + <p>Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.<p> + <p>Дополнительные метки находятся справа от имён в списке баз данных (они отображаются синим цветом, если не выбран иной). При активации этой опции будут отображены метки у баз данных, некорректных баз данных и у групповых узлов (группа столбцов, группа индексов, группа триггеров). Для отображения дополнительных меток воспользуйтесь опциями ниже.<p> + + + + Display additional labels on the list + Отображать дополнительные метки в списке + + + + For regular tables labels will show number of columns, indexes and triggers for each of tables. + Для обычных таблиц метки будут показывать количество столбцов, индексов и триггеров у каждой таблицы. + + + + Display labels for regular tables + Отображать метки у обычных таблиц + + + + Virtual tables will be marked with a 'virtual' label. + Виртуальные таблицы будут помечены как 'вирутальные'. + + + + Display labels for virtual tables + Отображать метки у виртуальных таблиц + + + + Expand views node when connected to a database + Развернуть список представлений после подключения к базе данных + + + + If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created) + Если опция деактивирована, объекты будут отсортированы в том порядке, в котором они указаны в таблице sqlite_master (т.е. в порядке создания) + + + + Sort objects (tables, indexes, triggers and views) alphabetically + Сортировать объекты (таблицы, индексы, триггеры и представления) в алфавитном порядке + + + + Display system tables and indexes on the list + Отображать в списке системные таблицы и индексы + + + + Table windows + Окна таблиц + + + + When enabled, Table Windows will show up with the data tab, instead of the structure tab. + Если опция активирована, окно таблицы будет открыто на вкладке данных вместо вкладки структуры. + + + + Open Table Windows with the data tab for start + Открывать окна таблиц на вкладке данных + + + + View windows + Окна представлений + + + + When enabled, View Windows will show up with the data tab, instead of the structure tab. + Если опция активирована, окно представления будет открыто на вкладке данных вместо вкладки структуры. + + + + Open View Windows with the data tab for start + Открывать окна представлений на вкладке данных + + + + Hide built-in plugins + Скрыть встроенные модули + + + + Current style: + Текущий стиль: + + + + Preview + Предпросмотр + + + + Enabled + Активно + + + + Disabled + Неактивно + + + + Active formatter plugin + Активный модуль форматирования + + + + SQL editor font + Шрифт редактора SQL + + + + Database list font + Шрифт списка баз данных + + + + Database list additional label font + Шрифт дополнительных меток в списке баз данных + + + + Data view font + Шрифт просмотра данных + + + + Status field font + Шрифт окна статуса + + + + SQL editor colors + Цвета редактора SQL + + + + Current line background + Фон текущей строки + + + + <p>SQL strings are enclosed with single quote characters.</p> + <p>Строки SQL обрамляются в одинарные кавычки.</p> + + + + String foreground + Цвет строки + + + + <p>Bind parameters are placeholders for values yet to be provided by the user. They have one of the forms:</p><ul><li>:param_name</li><li>$param_name</li><li>@param_name</li><li>?</li></ul> + <p>Подстановочные параметры предназначены для значений, которые будут в дальнейшем указаны пользователем. Они определяются одним из следующих способов:</p><ul><li>:имя_параметра</li><li>$имя_параметра</li><li>@имя_параметра</li><li>?</li></ul> + + + + Bind parameter foreground + Цвет подстановочных параметров + + + + Highlighted parenthesis background + Фон подсвечиваемых скобок + + + + <p>BLOB values are binary values represented as hexadecimal numbers, like:</p><ul><li>X'12B4'</li><li>x'46A2F4'</li></ul> + <p>Данные типа BLOB — это бинарные данные, представляемые в виде шестнадцатеричных чисел, например:</p><ul><li>X'12B4'</li><li>x'46A2F4'</li></ul> + + + + BLOB value foreground + Цвет данных типа BLOB + + + + Regular foreground + Стандартный цвет + + + + Line numbers area background + Фон области нумерации строк + + + + Keyword foreground + Цвет ключевого слова + + + + Number foreground + Цвет числа + + + + Comment foreground + Цвет комментария + + + + <p>Valid objects are name of tables, indexes, triggers, or views that exist in the SQLite database.</p> + <p>Распознаваемыми объектами являются имена талиц, индексов, триггеров и представлений, существующих в базе данных SQLite.</p> + + + + Valid objects foreground + Цвет распознанных объектов + + + + Data view colors + Цвета в окне просмотра данных + + + + <p>Any data changes will be outlined with this color, until they're commited to the database.</p> + <p>Все изменения данных будут обрамлены этим цветом, пока не будут записаны в базу данных.</p> + + + + Uncommited data outline color + Цвет обрамления неподтверждённых изменений + + + + <p>In case of error while commiting data changes, the problematic cell will be outlined with this color.</p> + <p>В случае ошибки при подтверждении изменений данных, этим цветом будут обрамлены проблемные ячейки.</p> + + + + Commit error outline color + Цвет обрамления ошибочных ячеек + + + + NULL value foreground + Цвет значений NULL + + + + Deleted row background + Фон удалённых строк + + + + Database list colors + Цвета списка баз данных + + + + <p>Additional labels are those which tell you SQLite version, number of objects deeper in the tree, etc.</p> + <p>Дополнительные метки содержат информацию о версии SQLite, о количестве объектов в глубине дерева и т.д.</p> + + + + Additional labels foreground + Цвет дополнительных меток + + + + Status field colors + Цвета в окне Статуса + + + + Information message foreground + Цвет информационного сообщения + + + + Warning message foreground + Цвет предупреждения + + + + Error message foreground + Цвет ошибки + + + + Description: + plugin details + Описание: + + + + Category: + plugin details + Категория: + + + + Version: + plugin details + Версия: + + + + Author: + plugin details + Автор: + + + + Internal name: + plugin details + Внутреннее имя: + + + + Dependencies: + plugin details + Зависимости: + + + + Conflicts: + plugin details + Конфликты: + + + + Plugin details + Сведения о модуле + + + + Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog. + Модули загружаются и выгружаются сразу после активации/деактивации, однако изменения в списке загружаемых при старте модулей не будут сохранены пока вы не примените изменения в окне конфигурации. + + + + %1 (built-in) + plugins manager in configuration dialog + %1 (встроенный) + + + + Details + Сведения + + + + No plugins in this category. + В этой категории модулей нет. + + + + Add new data type + Добавить новый тип данных + + + + Rename selected data type + Переименовать выбранный тип данных + + + + Delete selected data type + Удалить выбранный тип данных + + + + Help for configuring data type editors + Справка по настройке редакторов типов данных + + + + ConstraintCheckPanel + + + The condition + Условие + + + + Named constraint: + Именованное ограничение: + + + + On conflict + При конфликте + + + + Enter a valid condition. + Введите корректное условие + + + + Enter a name of the constraint. + Введите имя ограничения. + + + + ConstraintDialog + + + New constraint + constraint dialog + Новое ограничение + + + + Create + constraint dialog + Создать + + + + Edit constraint + dialog window + Редактировать ограничение + + + + Apply + constraint dialog + Применить + + + + Primary key + table constraints + Первичный ключ + + + + Foreign key + table constraints + Внешний ключ + + + + Unique + table constraints + Уникальность + + + + Not NULL + table constraints + Не NULL + + + + Check + table constraints + Проверка + + + + Collate + table constraints + Сравнение + + + + Default + table constraints + Значение по умолчанию + + + + ConstraintTabModel + + + Table + table constraints + Таблица + + + + Column (%1) + table constraints + Столбец (%1) + + + + Scope + table constraints + Область применения + + + + Type + table constraints + Тип + + + + Details + table constraints + Подробности + + + + Name + table constraints + Имя + + + + DataView + + + Filter data + data view + Отфильтровать данные + + + + Grid view + Табличный вид + + + + Form view + Форма + + + + Refresh table data + data view + Обновить данные таблицы + + + + First page + data view + Первая страница + + + + Previous page + data view + Предыдущая страница + + + + Next page + data view + Следующая страница + + + + Last page + data view + Последняя страница + + + + Apply filter + data view + Применить фильтр + + + + Commit changes for selected cells + data view + Подтвердить изменения для выбранных ячеек + + + + Rollback changes for selected cells + data view + Откатить изменения для выбранных ячеек + + + + Show grid view of results + sql editor + Показать результаты в виде таблицы + + + + Show form view of results + sql editor + Показать результаты в виде формы + + + + Filter by text + data view + Текстовый фильтр + + + + Filter by the Regular Expression + data view + Фильтр по регулярному выражению + + + + Filter by SQL expression + data view + Фильтр по выражению SQL + + + + Tabs on top + data view + Вкладки сверху + + + + Tabs at bottom + data view + Вкладки снизу + + + + Total number of rows is being counted. +Browsing other pages will be possible after the row counting is done. + Идёт подсчёт общего числа строк. +Переключение на другие страницы станет возможным после окончания подсчёта. + + + + Row: %1 + Строка: %1 + + + + DbConverterDialog + + + Convert database + Преобразовать базу данных + + + + Source database + Исходная база данных + + + + Source database version: + Версия исходной базы данных: + + + + Target database + Целевая база данных + + + + Target version: + Целевая версия: + + + + This is the file that will be created as a result of the conversion. + Это файл, который будет создан в результате конвертации. + + + + Target file: + Целевой файл: + + + + Name of the new database: + Имя новой базы данных: + + + + This is the name that the converted database will be added to SQLiteStudio with. + Это имя, под которым сконвертированная база данных будет добавлена в SQLiteStudio. + + + + Select source database + Выберите исходную базу данных + + + + Enter valid and writable file path. + Введите корректный путь к файлу, доступному для записи. + + + + Entered file exists and will be overwritten. + Указанный файл существует и будет перезаписан. + + + + Enter a not empty, unique name (as in the list of databases on the left). + Введите непустое уникальное имя (как в списке баз данных слева). + + + + No valid target dialect available. Conversion not possible. + Отсутствует корректный целевой диалект. Конвертация невозможна. + + + + Select valid target dialect. + Выберите корректный целевой диалект. + + + + Database %1 has been successfully converted and now is available under new name: %2 + База данных %1 была успешно сконвертирована и теперь доступна под новым именем: %2 + + + + SQL statements conversion + Конвертация конструкций SQL + + + + Following error occurred while converting SQL statements to the target SQLite version: + При конвертации конструкций SQL в новую версию SQLite произошла ошибка: + + + + Would you like to ignore those errors and proceed? + Вы хотите проигнорировать эти ошибки и продолжить? + + + + DbDialog + + + Database + База данных + + + + Database driver + Драйвер базы данных + + + + Name + Имя + + + + Type + Тип + + + + Browse for database file on local computer + Указать файл базы данных на локальном компьютере + + + + File + Файл + + + + Generate name basing on file path + Генерировать имя на основе пути к файлу + + + + Permanent + Запомнить + + + + <p>Enable this if you want the database to be stored in configuration file and restored every time SQLiteStudio is started.</p> + aasfd + <p>Активируйте эту опцию для сохранения базы данных в конфигурационном файле и добавления её в список при каждом запуске SQLiteStudio.</p> + + + + Test database connection + Тест соединения с базой данных + + + + Browse + Обзор + + + + Enter an unique database name. + + + + + This name is already in use. Please enter unique name. + + + + + Enter a database file path. + + + + + This database is already on the list under name: %1 + + + + + Select a database type. + + + + + The name will be auto-generated + Имя будет сгенерировано автоматически + + + + Type the name + Введите имя + + + + DbObjectDialogs + + + Delete table + Удалить таблицу + + + + Are you sure you want to delete table %1? + Вы действительно хотите удалить таблицу %1? + + + + Delete index + Удалить индекс + + + + Are you sure you want to delete index %1? + Вы действительно хотите удалить индекс %1? + + + + Delete trigger + Удалить триггер + + + + Are you sure you want to delete trigger %1? + Вы действительно хотите удалить триггер %1? + + + + Delete view + Удалить представление + + + + Are you sure you want to delete view %1? + Вы действительно хотите удалить представление %1? + + + + Error while dropping %1: %2 + Ошибка при удалении %1: %2 + + + + DbTree + + + Databases + Базы данных + + + + Filter by name + Фильтр по имени + + + + Copy + Копировать + + + + Paste + Вставить + + + + Select all + Выделить всё + + + + Create a group + Создать группу + + + + Delete the group + Удалить группу + + + + Rename the group + Переименовать группу + + + + Add a database + Добавить базу данных + + + + Edit the database + Редактировать базу данных + + + + Remove the database + Удалить базу данных + + + + Connect to the database + Подключиться к базе данных + + + + Disconnect from the database + Отключиться от базы данных + + + + Import + Импорт + + + + Export the database + Экспортировать базу данных + + + + Convert database type + Сконвертировать тип базы данных + + + + Vacuum + Выполнить VACUUM + + + + Integrity check + Проверить целостность + + + + Create a table + Создать таблицу + + + + Edit the table + Редактировать таблицу + + + + Delete the table + Удалить таблицу + + + + Export the table + Экспортировать таблицу + + + + Import into the table + Импортировать данные в таблицу + + + + Populate table + Заполнить таблицу + + + + Create similar table + Создать подобную таблицу + + + + Reset autoincrement sequence + Сбросить счётчик автоинкремента + + + + Create an index + Создать индекс + + + + Edit the index + Редактировать индекс + + + + Delete the index + Удалить индекс + + + + Create a trigger + Создать триггер + + + + Edit the trigger + Редактировать триггер + + + + Delete the trigger + Удалить триггер + + + + Create a view + Создать представление + + + + Edit the view + Редактировать представление + + + + Delete the view + Удалить представление + + + + Add a column + Добавить столбец + + + + Edit the column + Редактировать столбец + + + + Delete the column + Удалить столбец + + + + Delete selected items + Удалить выбранные элементы + + + + Clear filter + Сбросить фильтр + + + + Refresh all database schemas + Обновить структуры всех баз данных + + + + Refresh selected database schema + Обновить структуру выбранной базы данных + + + + + Database + База данных + + + + Grouping + Группировка + + + + + Create group + Создать группу + + + + Group name + Имя группы + + + + Entry with name %1 already exists in group %2. + Элемент с именем %1 уже входит в группу %2. + + + + Delete group + Удалить группу + + + + Are you sure you want to delete group %1? +All objects from this group will be moved to parent group. + Вы действительно хотите удалить группу %1? Все объекты из данной группы будут перемещены в родительскую группу. + + + + Delete database + Удалить базу данных + + + + Are you sure you want to delete database '%1'? + Вы действительно хотите удалить базу данных '%1'? + + + + + Cannot import, because no import plugin is loaded. + Невозможно произвести импорт, т.к. не загружено ни одного модуля импорта. + + + + + Cannot export, because no export plugin is loaded. + Невозможно произвести экспорт, т.к. не загружено ни одного модуля экспорта. + + + + Error while executing VACUUM on the database %1: %2 + Ошибка при выполнении команды VACUUM для базы данных %1: %2 + + + + VACUUM execution finished successfully. + Выполнение команды VACUUM успешно завершено. + + + + Integrity check (%1) + Проверка целостности (%1) + + + + Reset autoincrement + Сброс счётчика автоинкремента + + + + Are you sure you want to reset autoincrement value for table '%1'? + Вы действительно хотите сбросить счётчик автоинкремента у таблицы '%1'? + + + + An error occurred while trying to reset autoincrement value for table '%1': %2 + При попытке сброса счётчика автоинкремента у таблицы '%1' произошла ошибка: %2 + + + + Autoincrement value for table '%1' has been reset successfly. + Сброс счётчика автоинкремента у таблицы '%1' успешно выполнен. + + + + Following objects will be deleted: %1. + Будут удалены следующие объекты: %1. + + + + Following databases will be removed from list: %1. + Из списка будут удалены следующие базы данных: %1. + + + + Remainig objects from deleted group will be moved in place where the group used to be. + Оставшиеся после удаления группы объекты будут перемещены туда, где ранее располагалась группа. + + + + %1<br><br>Are you sure you want to continue? + %11<br><br>Вы действительно хотите продолжить? + + + + Delete objects + Удалить объекты + + + + DbTreeItemDelegate + + + error + dbtree labels + ошибка + + + + (system table) + database tree label + (системная таблица) + + + + (virtual) + virtual table label + (виртуальная) + + + + (system index) + database tree label + (системный индекс) + + + + DbTreeModel + + + Database: %1 + dbtree tooltip + База данных: %1 + + + + Version: + dbtree tooltip + Версия: + + + + File size: + dbtree tooltip + Размер файла: + + + + Encoding: + dbtree tooltip + Кодировка: + + + + Error details: + dbtree tooltip + Подробности ошибки: + + + + Table : %1 + dbtree tooltip + Таблица: %1 + + + + Columns (%1): + dbtree tooltip + Столбцы (%1): + + + + Indexes (%1): + dbtree tooltip + Индексы (%1): + + + + Triggers (%1): + dbtree tooltip + Триггеры (%1): + + + + Copy + Копировать + + + + Move + Переместить + + + + Include data + Включая данные + + + + Include indexes + Включая индексы + + + + Include triggers + Включая триггеры + + + + Abort + Прервать + + + + Referenced tables + Связанные таблицы + + + + Do you want to include following referenced tables as well: +%1 + Вы хотите также включить следующие связанные таблицы: +%1 + + + + Name conflict + Конфликт имён + + + + Following object already exists in the target database. +Please enter new, unique name, or press '%1' to abort the operation: + Данный объект уже существует в целевой базе данных. +Пожалуйста введите новое уникальное имя или нажмите %1 для прерывания операции: + + + + SQL statements conversion + Конвертация конструкций SQL + + + + Following error occurred while converting SQL statements to the target SQLite version: + При конвертации конструкций SQL в новую версию SQLite произошла ошибка: + + + + Would you like to ignore those errors and proceed? + Вы хотите проигнорировать эти ошибки и продолжить? + + + + DdlHistoryWindow + + + Filter by database: + Фильтр по базе данных: + + + + -- Queries executed on database %1 (%2) +-- Date and time of execution: %3 +%4 + -- Запросы, выполненные к базе данных %1 (%2) +-- Дата и время выполнения: %3 +%4 + + + + DDL history + История DDL + + + + DdlPreviewDialog + + + Queries to be executed + Запросы, которые будут выполнены + + + + Don't show again + Больше не показывать + + + + DebugConsole + + + SQLiteStudio Debug Console + Отладочная консоль SQLiteStudio + + + + EditorWindow + + + Query + Запрос + + + + History + История + + + + Results in the separate tab + Результаты в отдельной вкладке + + + + Results below the query + Результаты под запросом + + + + + SQL editor %1 + Редактор SQL %1 + + + + Results + Результаты + + + + Execute query + Выполнить запрос + + + + Explain query + План запроса + + + + Clear execution history + sql editor + Очистить историю запросов + + + + Export results + sql editor + Экспортировать результаты + + + + Create view from query + sql editor + Создать представление из запроса + + + + Previous database + Предыдущая база данных + + + + Next database + Следующая база данных + + + + Show next tab + sql editor + Открыть следующую вкладку + + + + Show previous tab + sql editor + Открыть предыдущую вкладку + + + + Focus results below + sql editor + Фокус на результатах внизу + + + + Focus SQL editor above + sql editor + Фокус на редакторе SQL сверху + + + + Active database (%1/%2) + Текущая база данных (%1/%2) + + + + Query finished in %1 second(s). Rows affected: %2 + Запрос выполнен за %1 секунд. Затронуто строк: %2 + + + + Query finished in %1 second(s). + Запрос выполнен за %1 секунд. + + + + Clear execution history + Очистка истории запросов + + + + Are you sure you want to erase the entire SQL execution history? This cannot be undone. + Вы действительно хотите удалить всю историю выполнения SQL запросов? Операцию невозможно отменить. + + + + Cannot export, because no export plugin is loaded. + Невозможно произвести экспорт, т.к. не загружено ни одного модуля экспорта. + + + + No database selected in the SQL editor. Cannot create a view for unknown database. + В редакторе SQL не выбрана база данных. Невозможно создать представление в неизвестной базе данных. + + + + Editor window "%1" has uncommited data. + В окне редактора "%1" имеются неподтверждённые данные. + + + + ErrorsConfirmDialog + + + Errors + Ошибки + + + + Following errors occured: + Возникли следующие ошибки: + + + + Would you like to proceed? + Вы хотите продолжить? + + + + ExportDialog + + + Export + Экспорт + + + + What do you want to export? + Что вы хотите экспортировать? + + + + A database + Базу данных + + + + A single table + Одну таблицу + + + + Query results + Результаты запроса + + + + Table to export + Экспортируемая таблица + + + + Database + База данных + + + + Table + Таблица + + + + Options + Опции + + + + When this option is unchecked, then only table DDL (CREATE TABLE statement) is exported. + Если данная опция деактивирована, будет экспортирован только DDL таблицы (конструкция CREATE TABLE). + + + + Export table data + Экспортировать данные таблицы + + + + Export table indexes + Экспортировать индексы таблицы + + + + Export table triggers + Экспортировать триггеры таблицы + + + + Note, that exporting table indexes and triggers may be unsupported by some output formats. + Учтите, что экспорт индексов и триггеров таблицы может не поддерживаться некоторыми выходными форматами. + + + + Select database objects to export + Выберите объекты базы данных для экспорта + + + + Export data from tables + Экспортировать данные таблиц + + + + Select all + Выбрать всё + + + + Deselect all + Снять выделение + + + + + Database: + База данных: + + + + Query to export results for + Запрос для экспорта результатов + + + + Query to be executed for results: + Выполняемый запрос для получения данных + + + + Export format and options + Формат экспорта и опции + + + + Export format + Формат экспорта + + + + Output + Вывод + + + + Exported file path + Путь к результирующему файлу + + + + Clipboard + Буфер обмена + + + + File + Файл + + + + Exported text encoding: + Кодировка экспорта + + + + Export format options + Опции формата экспорта + + + + Cancel + Отмена + + + + + + Select database to export. + Выберите базу данных для экспорта. + + + + Select table to export. + Выберите таблицу для экспорта. + + + + Enter valid query to export. + Введи корректный запрос для экспорта. + + + + Select at least one object to export. + Выберите хотя бы один объект для экспорта. + + + + You must provide a file name to export to. + Необходимо указать имя файла, в который будет произведён экспорт. + + + + Path you provided is an existing directory. You cannot overwrite it. + Указанный путь является существующим каталогом. Его невозможно перезаписать. + + + + The directory '%1' does not exist. + Каталог '%1' не существует. + + + + The file '%1' exists and will be overwritten. + Файл '%1' существует и будет перезаписан. + + + + All files (*) + Все файлы (*) + + + + Pick file to export to + Выберите файл для экспорта + + + + Internal error during export. This is a bug. Please report it. + Внутренняя ошибка во время экспорта. Пожалуйста, вышлите отчёт об этой ошибке. + + + + FontEdit + + + Choose font + font configuration + Выберите шрифт + + + + Form + + + Active SQL formatter plugin + Активный модуль форматирования SQL + + + + FormView + + + Commit row + form view + Подтвердить строку + + + + Rollback row + form view + Откатить строку + + + + First row + form view + Первая строка + + + + Previous row + form view + Предыдущая строка + + + + Next row + form view + Следующая строка + + + + Last row + form view + Последняя строка + + + + Insert new row + form view + Вставить новую строку + + + + Delete current row + form view + Удалить текущую строку + + + + FunctionsEditor + + + Filter funtions + Отфильтровать функции + + + + Function name: + Имя функции: + + + + Implementation language: + Язык реализации: + + + + Type: + Тип: + + + + Input arguments + Передаваемые аргументы + + + + Undefined + Не определено + + + + Databases + Базы данных + + + + Register in all databases + Зарегистрировать во всех базах данных + + + + Register in following databases: + Зарегистрировать в следующих базах данных: + + + + Initialization code: + Код инициализации: + + + + + Function implementation code: + Код реализации функции: + + + + Final step implementation code: + Код реализации последнего шага: + + + + SQL function editor + Редактор функций SQL + + + + Commit all function changes + Подтвердить все изменения функций + + + + Rollback all function changes + Откатить все изменения функций + + + + Create new function + Создать новую функцию + + + + Delete selected function + Удалить выбранную функцию + + + + Custom SQL functions manual + Руководство по созданию произвольных функций SQL + + + + Add function argument + Добавить аргумент функции + + + + Rename function argument + Переименовать аргумент функции + + + + Delete function argument + Удалить аргумент функции + + + + Move function argument up + Переместить аргумент функции вверх + + + + Move function argument down + Переместить аргумент функции вниз + + + + Scalar + Скалярная + + + + Aggregate + Агрегирующая + + + + Enter a non-empty, unique name of the function. + Введите непустое уникальное имя функции. + + + + Pick the implementation language. + Выберите язык реализации. + + + + Per step code: + Код на каждом шаге: + + + + Enter a non-empty implementation code. + Введите непустой код реализации. + + + + argument + new function argument name in function editor window + аргумент + + + + Functions editor window has uncommited modifications. + В окне редактора функций имеются неподтверждённые изменения. + + + + ImportDialog + + + Import data + Импорт данных + + + + Table to import to + Таблица для импорта + + + + Table + Таблица + + + + Database + База данных + + + + Data source to import from + Источник данных для импорта + + + + Data source type + Тип источника данных + + + + Options + Опции + + + + Input file: + Файл-источник: + + + + Text encoding: + Кодировка текста: + + + + Data source options + Опции источника данных + + + + Cancel + Отмена + + + + If you type table name that doesn't exist, it will be created. + Если вы введёте несуществующее имя таблицы, она будет создана. + + + + Enter the table name + Введите имя таблицы + + + + Select import plugin. + Выберите модуль импорта. + + + + You must provide a file to import from. + Необходимо указать файл, из которого осуществляется импорт. + + + + The file '%1' does not exist. + Файл '%1' не существует. + + + + Path you provided is a directory. A regular file is required. + Указанный путь является каталогом. Необходимо указать файл. + + + + Pick file to import from + Выберите файл для импорта + + + + IndexDialog + + + + Index + Индекс + + + + On table: + Для таблицы: + + + + Index name: + Имя индекса: + + + + Partial index condition + Условие для частичного индекса + + + + Unique index + Уникальный индекс + + + + Column + Столбец + + + + Collation + Сравнение + + + + Sort + Сортировка + + + + DDL + DDL + + + + Tried to open index dialog for closed or inexisting database. + Попытка вызвать диалог создания индекса для закрытой или несуществующей базы данных. + + + + Could not process index %1 correctly. Unable to open an index dialog. + Не удалось корректно обработать индекс %1. Невозможно открыть окно индекса. + + + + Pick the table for the index. + Выберите таблицу для индекса. + + + + Select at least one column. + Выберите хотя бы один столбец. + + + + Enter a valid condition. + Введите корректное условие. + + + + default + index dialog + по умолчанию + + + + Sort order + table constraints + Порядок сортировки + + + + + Error + index dialog + Ошибка + + + + Cannot create unique index, because values in selected columns are not unique. Would you like to execute SELECT query to see problematic values? + Невозможно создать уникальный индекс, т.к. данные в выбранных столбцах неуникальны. Вы хотите выполнить запрос SELECT для просмотра проблемных данных? + + + + An error occurred while executing SQL statements: +%1 + При выполнении конструкций SQL произошла ошибка: +%1 + + + + LanguageDialog + + + Language + Язык + + + + Please choose language: + Пожалйуста, выберите язык: + + + + MainWindow + + + Database toolbar + Панель базы данных + + + + Structure toolbar + Панель структуры + + + + Tools + Инструменты + + + + Window list + Список окон + + + + View toolbar + Панель отображения + + + + Configuration widgets + Виджеты конфигурации + + + + Syntax highlighting engines + Движки синтаксической подсветки + + + + Data editors + Редакторы данных + + + + Running in debug mode. Press %1 or use 'Help / Open debug console' menu entry to open the debug console. + Отладочный режим. Нажмите %1 или воспользуйтесь пунктом меню 'Справка / Открыть отладочную консоль' для открытия отладочной консоли. + + + + Running in debug mode. Debug messages are printed to the standard output. + Отладочный режим. Отладочные сообщения выводятся в стандартный выходной поток. + + + + You need to restart application to make the language change take effect. + Для смены языка необходимо перезапустить приложение. + + + + Open SQL editor + Открыть редактор SQL + + + + Open DDL history + Открыть историю DDL + + + + Open SQL functions editor + Открыть редактор функций SQL + + + + Open collations editor + Открыть редактор сравнений + + + + Import + Импорт + + + + Export + Экспорт + + + + Open configuration dialog + Открыть диалог конфигурации + + + + Tile windows + Расположить окна плиткой + + + + Tile windows horizontally + Расположить окна по горизонтали + + + + Tile windows vertically + Расположить окна по вертикали + + + + Cascade windows + Расположить окна каскадом + + + + Next window + Следующее окно + + + + Previous window + Предыдущее окно + + + + Hide status field + Скрыть окно статуса + + + + Close selected window + Закрыть выбранное окно + + + + Close all windows but selected + Закрыть все окна, кроме выбранного + + + + Close all windows + Закрыть все окна + + + + Restore recently closed window + Восстановить недавно закрытые окна + + + + Rename selected window + Переименовать выбранное окно + + + + Open Debug Console + Открыть отладочную консоль + + + + Report a bug + Сообщить об ошибке + + + + Propose a new feature + Предложить новый функционал + + + + About + О программе + + + + Licenses + Лицензии + + + + Open home page + Открыть домашнюю страницу + + + + Open forum page + Открыть страницу форума + + + + User Manual + Руководство пользователя + + + + SQLite documentation + Документация по SQLite + + + + Report history + История отчётов + + + + Check for updates + Проверить обновления + + + + Database + menubar + База данных + + + + Structure + menubar + Структура + + + + View + menubar + Вид + + + + Window list + menubar view menu + Окна + + + + Tools + menubar + Инструменты + + + + Help + Справка + + + + Could not set style: %1 + main window + Невозможно применить стиль: %1 + + + + Cannot export, because no export plugin is loaded. + Невозможно произвести экспорт, т.к. не загружено ни одного модуля экспорта. + + + + Cannot import, because no import plugin is loaded. + Невозможно произвести импорт, т.к. не загружено ни одного модуля импорта. + + + + Rename window + Переименовать окно + + + + Enter new name for the window: + Введите новое имя для окна: + + + + New updates are available. <a href="%1">Click here for details</a>. + Доступны обновления. <a href="%1">Нажмите здесь для подробностей</a>. + + + + You're running the most recent version. No updates are available. + Установлена последняя версия. Обновлений нет. + + + + Database passed in command line parameters (%1) was already on the list under name: %2 + + + + + Database passed in command line parameters (%1) has been temporarily added to the list under name: %2 + База данных, переданная через аргумент командной строки (%1), была временно добавлена в список под именем %2 + + + + Could not add database %1 to list. + Невозможно добавить базу данных %1 в список. + + + + MdiWindow + + + Uncommited changes + Неподтверждённые изменения + + + + Close anyway + Всё равно закрыть + + + + Don't close + Не закрывать + + + + MultiEditor + + + Null value + multieditor + Значение Null + + + + Configure editors for this data type + Настройте редакторы для этого типа данных + + + + Data editor plugin '%1' not loaded, while it is defined for editing '%1' data type. + Модуль редактора данных '%1' не загружен, хотя указан для редактирования типа данных '%1' + + + + Deleted + multieditor + Удалено + + + + Read only + multieditor + Только для чтения + + + + MultiEditorBool + + + Boolean + Логическое + + + + MultiEditorDate + + + Date + Дата + + + + MultiEditorDateTime + + + Date & time + Дата и время + + + + MultiEditorHex + + + Hex + Шестнадцатеричное + + + + MultiEditorNumeric + + + Number + numeric multi editor tab name + Число + + + + MultiEditorText + + + Text + Текст + + + + Tab changes focus + Tab перемещает фокус + + + + Cut + Вырезать + + + + Copy + Копировать + + + + Paste + Вставить + + + + Delete + Удалить + + + + Undo + Отменить + + + + Redo + Повторить + + + + MultiEditorTime + + + Time + Время + + + + NewConstraintDialog + + + New constraint + Новое ограничение + + + + + Primary Key + new constraint dialog + Первичный ключ + + + + + Foreign Key + new constraint dialog + Внешний ключ + + + + + Unique + new constraint dialog + Уникальность + + + + + Check + new constraint dialog + Проверка + + + + Not NULL + new constraint dialog + Не NULL + + + + Collate + new constraint dialog + Сравнение + + + + Default + new constraint dialog + Значение по умолчанию + + + + NewVersionDialog + + + SQLiteStudio updates + Обновления SQLiteStudio + + + + New updates are available! + Доступны обновления! + + + + Component + Компонент + + + + Current version + Текущая версия + + + + Update version + Новая версия + + + + Check for updates on startup + Проверять обновления при запуске + + + + Update to new version! + Обновить до новой версии! + + + + The update will be automatically downloaded and installed. This will also restart application at the end. + Обновление будет автоматически загружено и установлено. В конце процесса приложение будет перезапущено. + + + + Not now. + Не сейчас. + + + + Don't install the update and close this window. + Не устанавливать обновление и закрыть данное окно. + + + + PopulateConfigDialog + + + Populating configuration + Настройка заполнения + + + + Configuring <b>%1</b> for column <b>%2</b> + Настройка <b>%1</b> для столбца <b>%2</b> + + + + PopulateDialog + + + Populate table + Заполнить таблицу + + + + Database + База данных + + + + Table + Таблица + + + + Columns + Столбцы + + + + Number of rows to populate: + Количество заполняемых строк: + + + + Populate + populate dialog button + Заполнить + + + + Configure + Настроить + + + + Populating configuration for this column is invalid or incomplete. + Настройка заполнения для данного столбца некорректна или незавершена. + + + + Select database with table to populate + Выберите базу данных с таблицей для заполнения + + + + Select table to populate + Выберите таблицу для заполнения + + + + You have to select at least one column. + Необходимо выбрать хотя бы один столбец. + + + + QObject + + + Cannot edit columns that are result of compound %1 statements (one that includes %2, %3 or %4 keywords). + Невозможно редактировать столцбы, являющиеся результатом составных конструкций %1 (те, которые включают ключевые слова %2, %3 и %4). + + + + The query execution mechanism had problems with extracting ROWID's properly. This might be a bug in the application. You may want to report this. + В механизме выполнения запросов возникли проблемы при корректном извлечении значений ROWID. Предположительно это ошибка в приложении. Возможно стоит отправить отчёт об ошибке. + + + + Requested column is a result of SQL expression, instead of a simple column selection. Such columns cannot be edited. + Запрошенный столбец является результатом SQL выражения, а не просто выбором столбца. Такие столбцы не могут быть отредактированы. + + + + Requested column belongs to restricted SQLite table. Those tables cannot be edited directly. + Запрошенный столбец принадлежит служебной таблице SQLite. Эти таблицы нельзя редактировать напрямую. + + + + Cannot edit results of query other than %1. + Невозможно редактировать результаты запросов, отличных от %1. + + + + Cannot edit columns that are result of aggregated %1 statements. + Невозможно редактировать столцбы, являющиеся результатом агрегирующих конструкций %1. + + + + Cannot edit columns that are result of %1 statement. + Невозможно редактировать столцбы, являющиеся результатом конструкции %1. + + + + Cannot edit columns that are result of common table expression statement (%1). + Невозможно редактировать столцбы, являющиеся результатом обобщённого табличного выражения (%1). + + + + + + + on conflict: %1 + data view tooltip + при конфликте: %1 + + + + references table %1, column %2 + data view tooltip + ссылается на таблицу %1, столбец %2 + + + + condition: %1 + data view tooltip + условие: %1 + + + + collation name: %1 + data view tooltip + имя сравнения: %1 + + + + Data grid view + Табличный вид данных + + + + Copy cell(s) contents to clipboard + Копировать содержимое ячеек в буфер обмена + + + + Paste cell(s) contents from clipboard + Вставить содержимое ячеек из буфера обмена + + + + Set empty value to selected cell(s) + Установить пустое значение для выбранных ячеек + + + + Set NULL value to selected cell(s) + Установить для выбранных ячеек значение NULL + + + + Commit changes to cell(s) contents + Подтвердить изменение содержимого ячеек + + + + Rollback changes to cell(s) contents + Откатить изменения содержимого ячеек + + + + Delete selected data row + Удалить выбранную строку данных + + + + Insert new data row + Вставить новую строку данных + + + + Open contents of selected cell in a separate editor + Открыть содержимое выбранной ячейки в отдельном редакторе + + + + Total pages available: %1 + Всего доступно страниц: %1 + + + + Total rows loaded: %1 + Всего загружено строк: %1 + + + + Data view (both grid and form) + Окно данных (и табличный вид, и форма) + + + + Refresh data + Обновить данные + + + + Switch to grid view of the data + Переключиться с табличного вида на форму + + + + Switch to form view of the data + Переключиться из формы на табличный вид + + + + Database list + Список баз данных + + + + Delete selected item + Удалить выбранный элемент + + + + Clear filter contents + Сбросить содержимое фильтра + + + + Refresh schema + Обновить структуру + + + + Refresh all schemas + Обновить структуры всех баз данных + + + + Add database + Добавить базу данных + + + + Select all items + Выделить все элементы + + + + Copy selected item(s) + Копировать выбранные элементы + + + + + + Paste from clipboard + Вставить из буфера обмена + + + + Tables + Таблицы + + + + Indexes + Индексы + + + + Triggers + Триггеры + + + + Views + Представления + + + + Columns + Столбцы + + + + Data form view + Форма + + + + Commit changes for current row + Подтвердить изменения для текущей строки + + + + Rollback changes for current row + Откатить изменения для текущей строки + + + + Go to first row on current page + Перейти к первой строке текущей страницы + + + + Go to next row + Перейти к следующей строке + + + + Go to previous row + Перейти к предыдущей строке + + + + Go to last row on current page + Перейти к последней строке текущей страницы + + + + Insert new row + Вставить новую строку + + + + Delete current row + Удалить текущую строку + + + + Main window + Главное окно + + + + Open SQL editor + Открыть редактор SQL + + + + Previous window + Предыдущее окно + + + + Next window + Следующее окно + + + + Hide status area + Скрыть область статуса + + + + Open configuration dialog + Открыть диалог конфигурации + + + + Open Debug Console + Открыть отладочную консоль + + + + Cell text value editor + Редактор текстового значения чейки + + + + + Cut selected text + Вырезать выбранный текст + + + + + Copy selected text + Копировать выбранный текст + + + + + Delete selected text + Удалить выбранный текст + + + + + Undo + Отменить + + + + + Redo + Повторить + + + + SQL editor input field + Поле ввода редактора SQL + + + + Select whole editor contents + Выбрать всё содержимое редактора + + + + Save contents into a file + Сохранить содержимое в файл + + + + Load contents from a file + Загрузить содержимое из файла + + + + Find in text + Найти в тексте + + + + Find next + Найти далее + + + + Find previous + Найти предыдущее + + + + Replace in text + Замена в тексте + + + + Delete current line + Удалить текущую строчку + + + + Request code assistant + Вызвать автодополнение + + + + Format contents + Форматировать содержимое + + + + Move selected block of text one line down + Переместить выбранный блок текста на строчку вниз + + + + Move selected block of text one line up + Переместить выбранный блок текста на строчку вверх + + + + Copy selected block of text and paste it a line below + Скопировать блок текста и вставить его строчкой ниже + + + + Copy selected block of text and paste it a line above + Скопировать блок текста и вставить его строчкой выше + + + + All SQLite databases + Все базы данных SQLite + + + + All files + Все файлы + + + + Database file + Файл баз данных + + + + Reports history window + Окно истории отчётов + + + + Delete selected entry + Удалить выбранную запись + + + + SQL editor window + Окно редактора SQL + + + + Execute query + Выполнить запрос + + + + Execute "%1" query + Выполнить запрос "%1" + + + + Switch current working database to previous on the list + Переключить текущую базу данных на предыдущую в списке + + + + Switch current working database to next on the list + Переключить текущую базу данных на следующую в списке + + + + Go to next editor tab + Перейти на следующую вкладку редактора + + + + Go to previous editor tab + Перейти на предыдущую вкладку редактора + + + + Move keyboard input focus to the results view below + Переместить фокус ввода в окно результатов внизу + + + + Move keyboard input focus to the SQL editor above + Переместить фокус ввода в окно редактора SQL вверху + + + + Table window + Окно таблицы + + + + Refresh table structure + Обновить структуру таблицы + + + + Add new column + Добавить новый столбец + + + + Edit selected column + Редактировать выбранный столбец + + + + Delete selected column + Удалить выбранный столбец + + + + Export table data + Экспортировать данные таблицы + + + + Import data to the table + Импортировать данные в таблицу + + + + Add new table constraint + Добавить новое ограничение на таблицу + + + + Edit selected table constraint + Редактировать выбранное ограничение на таблицу + + + + Delete selected table constraint + Удалить выбранное ограничение на таблицу + + + + Refresh table index list + Обновить список индексов таблицы + + + + Add new index + Добавить новый индекс + + + + Edit selected index + Редактировать выбранный индекс + + + + Delete selected index + Удалить выбранный индекс + + + + Refresh table trigger list + Обновить список триггеров таблицы + + + + + Add new trigger + Добавить новый триггер + + + + + Edit selected trigger + Редактировать выбранный триггер + + + + + Delete selected trigger + Удалить выбранный триггер + + + + + Go to next tab + Перейти к следующей вкладке + + + + + Go to previous tab + Перейти к предыдущей вкладке + + + + A view window + Окно представления + + + + Refresh view trigger list + Обновить список индексов представления + + + + QuitConfirmDialog + + + Uncommited changes + Неподтверждённые изменения + + + + Are you sure you want to quit the application? + +Following items are pending: + Вы действительно хотите выйти из приложения? + +Следующие элементы ожидают подтверждения: + + + + SearchTextDialog + + + Find or replace + Найти и заменить + + + + Find: + Найти: + + + + Case sensitive + Учитывать регистр + + + + Search backwards + Поиск в обратном направлении + + + + Regular expression matching + Использовать регулярное выражение + + + + Replace && +find next + Заменить и найти далее + + + + Replace with: + Заменить на: + + + + Replace all + Заменить всё + + + + Find + Найти + + + + SortDialog + + + Sort by columns + Сортировка по столбцам + + + + + Column + Столбец + + + + + Order + Порядок + + + + Sort by: %1 + Сортировка по: %1 + + + + Move column up + Переместить столбец вверх + + + + Move column down + Переместить столбец вних + + + + SqlEditor + + + Cut + sql editor + Вырезать + + + + Copy + sql editor + Копировать + + + + Paste + sql editor + Вставить + + + + Delete + sql editor + Удалить + + + + Select all + sql editor + Выделить всё + + + + Undo + sql editor + Отменить + + + + Redo + sql editor + Повторить + + + + Complete + sql editor + Завершить + + + + Format SQL + sql editor + Форматировать SQL + + + + Save SQL to file + sql editor + Сохранить SQL в файл + + + + Load SQL from file + sql editor + Загрузить SQL из файла + + + + Delete line + sql editor + Удалить строчку + + + + Move block down + sql editor + Переместить блок вниз + + + + Move block up + sql editor + Переместить блок вверх + + + + Copy block down + sql editor + Копировать блок вниз + + + + Copy up down + sql editor + Копировать блок вверх + + + + Find + sql editor + Найти + + + + Find next + sql editor + Найти далее + + + + Find previous + sql editor + Найти предыдущее + + + + Replace + sql editor + Заменить + + + + Syntax completion can be used only when a valid database is set for the SQL editor. + Дополнение синтаксиса может быть использовано только после назначения корректной базы данных редактору SQL. + + + + Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled. + Размер содержимого редактора SQL слишком велико, поэтому обнаружение ошибок и подсветка существующих объектов временно отключена. + + + + Save to file + Сохранить в файл + + + + Could not open file '%1' for writing: %2 + Невозможно открыть файл '%1' для записи: %2 + + + + SQL scripts (*.sql);;All files (*) + Скрипты SQL (*.sql);;Все файлы (*) + + + + Open file + Открыть файл + + + + Could not open file '%1' for reading: %2 + Невозможно открыть файл '%1' для чтения: %2 + + + + Reached the end of document. Hit the find again to restart the search. + Достигнут конец документа. Нажмите Найти снова для перезапуска поиска. + + + + SqlQueryItem + + + Column: + data view tooltip + Столбец: + + + + Data type: + data view + Тип данных: + + + + Table: + data view tooltip + Таблица: + + + + Constraints: + data view tooltip + Ограничения: + + + + This cell is not editable, because: %1 + Эта ячейка нередактируема, причина: %1 + + + + Cannot load the data for a cell that refers to the already closed database. + Невозможно загрузить данные ячейки, которая ссылается на уже закрытую базу данных. + + + + SqlQueryItemDelegate + + + + Cannot edit this cell. Details: %2 + Невозможно редактировать данную ячейку. Подробности: %2 + + + + The row is marked for deletion. + Строка помечена для удаления. + + + + SqlQueryModel + + + + Only one query can be executed simultaneously. + Одновременно может быть выполнен только один запрос. + + + + Uncommited data + Неподтверждённые данные + + + + There are uncommited data changes. Do you want to proceed anyway? All uncommited changes will be lost. + Имеются неподтверждённые изменения данных. Вы действительно хотите продолжить? Все неподтверждённые изменения будут утеряны. + + + + Cannot commit the data for a cell that refers to the already closed database. + Невозможно подтвердить данные для ячейки, которая ссылается на уже закрытую базу данных. + + + + Could not begin transaction on the database. Details: %1 + Невозможно начать транзакцию в базе данных. Подробности: %1 + + + + An error occurred while commiting the transaction: %1 + При завершении транзакции возникла ошибка: %1 + + + + An error occurred while rolling back the transaction: %1 + При отмене транзакции возникла ошибка: %1 + + + + Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it. + Попытка подтверждения данных для нередактируемой ячейки (которая тем не менее была изменена и ожидает подтверждения). Это программная ошибка. Пожалуйста, отправьте о ней отчёт. + + + + An error occurred while commiting the data: %1 + При подтверждении данных произошла ошибка: %1 + + + + + Error while executing SQL query on database '%1': %2 + Ошибка при выполнении SQL запроса к базе данных '%1': %2 + + + + Error while loading query results: %1 + Ошибка при загрузке результатов запроса: %1 + + + + Insert multiple rows + Вставить несколько строк + + + + Number of rows to insert: + Количество вставляемых строк: + + + + SqlQueryView + + + Copy + Копировать + + + + Copy as... + Копировать как... + + + + Paste + Вставить + + + + Paste as... + Вставить как... + + + + Set NULL values + Установить значения на NULL + + + + Erase values + Стереть содержимое + + + + Edit value in editor + Править содержимое в редакторе + + + + Commit + Подтвердить + + + + Rollback + Откатить + + + + Commit selected cells + Подтвердить выбранные ячейки + + + + Rollback selected cells + Откатить выбранные ячейки + + + + Define columns to sort by + Определить столбцы для сортировки + + + + Remove custom sorting + Сбросить указанную сортировку + + + + Insert row + Вставить строку + + + + Insert multiple rows + Вставить несколько строк + + + + Delete selected row + Удалить выбранную строку + + + + Edit value + Править содержимое + + + + SqlTableModel + + + Error while commiting new row: %1 + Ошибка при подтверждении новой строки: %1 + + + + Error while deleting row from table %1: %2 + Ошибка при удалении строки из таблицы %1: %2 + + + + StatusField + + + Status + Статус + + + + Copy + Копировать + + + + Clear + Очистить + + + + TableConstraintsModel + + + Type + table constraints + Тип + + + + Details + table constraints + Подробности + + + + Name + table constraints + Имя + + + + TableForeignKeyPanel + + + Foreign table: + Внешняя таблица: + + + + SQLite 2 does not support foreign keys officially, +but it's okay to use them anyway. + SQLite 2 официально не поддерживает внешние ключи, +но тем не менее их можно использовать. + + + + Columns + Столбцы + + + + Local column + Локальный столбец + + + + Foreign column + Внешний столбец + + + + Reactions + Действия + + + + Deferred foreign key + Отложенный внешний ключ + + + + Named constraint + Именованное ограничение + + + + Constraint name + Имя ограничения + + + + Pick the foreign column. + Выберите внешний столбец. + + + + Pick the foreign table. + Выберите внешнюю таблицу. + + + + Select at least one foreign column. + Выберите хотя бы один внешний столбец. + + + + Enter a name of the constraint. + Введите имя ограничения. + + + + Foreign column + table constraints + Внешний столбец + + + + TablePrimaryKeyAndUniquePanel + + + Columns + Столбцы + + + + Column + Столбец + + + + Collation + Сравнение + + + + Sort + Сортировка + + + + Valid only for a single column with INTEGER data type + Применимо только к одному столбцу типа INTEGER + + + + Autoincrement + Автоинкремент + + + + Named constraint + Именованное ограничение + + + + Constraint name + Имя ограничения + + + + On conflict + При конфликте + + + + Collate + table constraints + Сравнение + + + + Sort order + table constraints + Порядок сортировки + + + + Select at least one column. + Выберите хотя бы один столбец. + + + + Enter a name of the constraint. + Введите имя ограничения. + + + + TableStructureModel + + + Name + table structure columns + Имя + + + + Data type + table structure columns + Тип данных + + + + Default value + table structure columns + Значение по умолчанию + + + + TableWindow + + + Structure + Структура + + + + Table name: + Имя таблицы: + + + + Data + Данные + + + + Constraints + Ограничения + + + + Indexes + Индексы + + + + Triggers + Триггеры + + + + DDL + DDL + + + + Export table + table window + Экспортировать таблицу + + + + Import data to table + table window + Импортировать данные в таблицу + + + + Populate table + table window + Заполнить таблицу + + + + Refresh structure + table window + Обновить структуру + + + + Commit structure changes + table window + Подтвердить изменения структуры + + + + Rollback structure changes + table window + Откатить изменения структуры + + + + Add column + table window + Добавить столбец + + + + Edit column + table window + Редактировать столбец + + + + + Delete column + table window + Удалить столбец + + + + Move column up + table window + Переместить столбец вверх + + + + Move column down + table window + Переместить столбец вних + + + + Create similar table + table window + Создать подобную таблицу + + + + Reset autoincrement value + table window + Сбросить счётчик автоинкремента + + + + Add table constraint + table window + Добавить ограничение на таблицу + + + + Edit table constraint + table window + Редактировать ограничение на таблицу + + + + Delete table constraint + table window + Удалить ограничение на таблицу + + + + Move table constraint up + table window + Переместить ограничение на таблицу вверх + + + + Move table constraint down + table window + Переместить ограничение на таблицу вниз + + + + Add table primary key + table window + Добавить первичный ключ таблицы + + + + Add table foreign key + table window + Добавить внешний ключ таблицы + + + + Add table unique constraint + table window + Добавить табличное ограничение на уникальность + + + + Add table check constraint + table window + Добавить проверочное ограничение на таблицу + + + + Refresh index list + table window + Обновить список индексов + + + + Create index + table window + Создать индекс + + + + Edit index + table window + Редактировать индекс + + + + Delete index + table window + Удалить индекс + + + + Refresh trigger list + table window + Обновить список триггеров + + + + Create trigger + table window + Создать триггер + + + + Edit trigger + table window + Редактировать триггер + + + + Delete trigger + table window + Удалить триггер + + + + Are you sure you want to delete column '%1'? + table window + Вы действительно хотите удалить столбец '%1'? + + + + Following problems will take place while modifying the table. +Would you like to proceed? + table window + При изменении таблицы возникнут нижеуказанные проблемы. +Вы хотите продолжить? + + + + Table modification + table window + Изменение таблицы + + + + Could not load data for table %1. Error details: %2 + Невозможно загрузить данные таблицы %1. Подробности ошибки: %2 + + + + Could not process the %1 table correctly. Unable to open a table window. + Не удалось корректно обработать таблицу %1. Невозможно открыть окно таблицы. + + + + Could not restore window, because database %1 could not be resolved. + Невозможно восстановить окно, так как невозможно определить базу данных %1 + + + + Could not restore window, because the table %1 doesn't exist in the database %2. + Невозможно восстановить окно, так как таблица %1 не существует в базе данных %2. + + + + + New table %1 + Новая таблица %1 + + + + Could not commit table structure. Error message: %1 + table window + Невозможно подтвердить структуру таблицы. Сообщение об ошибке: %1 + + + + Reset autoincrement + Сброс счётчика автоинкремента + + + + Are you sure you want to reset autoincrement value for table '%1'? + Вы действительно хотите сбросить счётчик автоинкремента у таблицы '%1'? + + + + An error occurred while trying to reset autoincrement value for table '%1': %2 + При попытке сброса счётчика автоинкремента у таблицы '%1' произошла ошибка: %2 + + + + Autoincrement value for table '%1' has been reset successfly. + Сброс счётчика автоинкремента у таблицы '%1' успешно выполнен. + + + + Empty name + Пустое имя + + + + A blank name for the table is allowed in SQLite, but it is not recommended. +Are you sure you want to create a table with blank name? + SQLite позволяет таблице иметь пустое имя, хотя это не рекомендуется. +Вы действительно хотите создать таблицу с пустым именем? + + + + Cannot create a table without at least one column. + Невозможно создать таблицу без хотя бы одного столбца. + + + + Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key. + Невозможно создать таблицу %1, если не определён первичный ключ. Отключите %2, либо определите первичный ключ. + + + + Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key. + Невозможно использовать автоинкремент первичного ключа при использовании оператора %1. Отключите либо %2, либо автоинкремент первичного ключа. + + + + Are you sure you want to delete table constraint '%1'? + table window + Вы действительно хотите удалить ограничение на таблицу '%1'? + + + + Delete constraint + table window + Удалить ограничение + + + + Cannot export, because no export plugin is loaded. + Невозможно произвести экспорт, т.к. не загружено ни одного модуля экспорта. + + + + Cannot import, because no import plugin is loaded. + Невозможно произвести импорт, т.к. не загружено ни одного модуля импорта. + + + + Uncommited changes + Неподтверждённые изменения + + + + There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled. +Do you want to commit the structure, or do you want to go back to the structure tab? + Имеются неподтверждённые изменения структуры. Невозможно просматривать или редактировать данные, пока структура таблицы не подтверждена. +Подтвердить структуру таблицы или вернуться на вкладку структуры? + + + + Go back to structure tab + Вернуться на вкладку структуры + + + + Commit modifications and browse data. + Подтвердить изменения и перейти к данным. + + + + Name + table window indexes + Имя + + + + Unique + table window indexes + Уникальность + + + + Columns + table window indexes + Столбцы + + + + Partial index condition + table window indexes + Условие для частичного индекса + + + + Name + table window triggers + Имя + + + + Event + table window triggers + Событие + + + + Condition + table window triggers + Условие + + + + Details + table window triggers + Подробности + + + + Table window "%1" has uncommited structure modifications and data. + В окне таблицы "%1" имеются неподтверждённые изменения структуры и данных. + + + + Table window "%1" has uncommited data. + В окне таблицы "%1" имеются неподтверждённые изменения данных. + + + + Table window "%1" has uncommited structure modifications. + В окне таблицы "%1" имеются неподтверждённые изменения структуры. + + + + TriggerColumnsDialog + + + Trigger columns + Столбцы триггера + + + + Triggering columns: + Столбцы, вызывающие триггер: + + + + TriggerDialog + + + + Trigger + Триггер + + + + On table: + Для таблицы: + + + + Action: + Действие: + + + + + <p>SQL condition that will be evaluated before the actual trigger code. In case the condition returns false, the trigger will not be fired for that row.</p> + <p>SQL-условие для проверки перед запуском кода триггера. Если условие не выполнено, для текущей строки триггер вызван не будет.</p> + + + + Pre-condition: + Предварительное условие: + + + + The scope is still not fully supported by the SQLite database. + База данных SQLite пока не полностью поддерживает область действия. + + + + Trigger name: + Имя триггера: + + + + When: + Когда: + + + + List of columns for UPDATE OF action. + Список столбцов для действия UPDATE OF. + + + + Scope: + Область действия: + + + + Code: + Код: + + + + Trigger statements to be executed. + Выполняемые конструкции триггера. + + + + DDL + DDL + + + + On view: + Для представления: + + + + Could not process trigger %1 correctly. Unable to open a trigger dialog. + Не удалось корректно обработать триггер %1. Невозможно открыть окно триггера. + + + + Enter a valid condition. + Введите корректное условие. + + + + Enter a valid trigger code. + Введите корректный код триггера. + + + + Error + trigger dialog + Ошибка + + + + An error occurred while executing SQL statements: +%1 + При выполнении конструкций SQL произошла ошибка: +%1 + + + + VersionConvertSummaryDialog + + + Database version convert + Конвертация версии базы данных + + + + Following changes to the SQL statements will be made: + В конструкции SQL будут внесены следующие изменения: + + + + Before + До + + + + After + После + + + + ViewWindow + + + Query + Запрос + + + + View name: + Имя представления: + + + + Data + Данные + + + + Triggers + Триггеры + + + + DDL + DDL + + + + Could not restore window, because database %1 could not be resolved. + Невозможно восстановить окно, так как невозможно определить базу данных %1. + + + + Could not restore window, because database %1 could not be open. + Невозможно восстановить окно, так как невозможно открыть базу данных %1. + + + + Could not restore window, because the view %1 doesn't exist in the database %2. + Невозможно восстановить окно, так как представление %1 не существует в базе данных %2. + + + + + New view %1 + Новое представление %1 + + + + Refresh the view + view window + Обновить представление + + + + Commit the view changes + view window + Подтвердить изменения представления + + + + Rollback the view changes + view window + Откатить изменения представления + + + + Refresh trigger list + view window + Обновить список триггеров + + + + Create new trigger + view window + Создать новый триггер + + + + Edit selected trigger + view window + Редактировать выбранный триггер + + + + Delete selected trigger + view window + Удалить выбранный триггер + + + + View window "%1" has uncommited structure modifications and data. + В окне представления "%1" имеются неподтверждённые изменения структуры и данных. + + + + View window "%1" has uncommited data. + В окне представления "%1" имеются неподтверждённые изменения данных. + + + + View window "%1" has uncommited structure modifications. + В окне представления "%1" имеются неподтверждённые изменения структуры. + + + + Could not load data for view %1. Error details: %2 + Невозможно загрузить данные представления %1. Подробности ошибки: %2 + + + + Uncommited changes + Неподтверждённые изменения + + + + There are uncommited structure modifications. You cannot browse or edit data until you have the view structure settled. +Do you want to commit the structure, or do you want to go back to the structure tab? + Имеются неподтверждённые изменения структуры. Невозможно просматривать или редактировать данные, пока структура представления не подтверждена. +Подтвердить структуру представления или вернуться на вкладку структуры? + + + + Go back to structure tab + Вернуться на вкладку структуры + + + + Commit modifications and browse data. + Подтвердить изменения и перейти к данным. + + + + Could not commit view changes. Error message: %1 + view window + Невозможно подтвердить изменения представления. Сообщение об ошибке: %1 + + + + Name + view window triggers + Имя + + + + Instead of + view window triggers + Вместо + + + + Condition + view window triggers + Условие + + + + Details + table window triggers + Подробности + + + + Could not process the %1 view correctly. Unable to open a view window. + Не удалось корректно обработать представление %1. Невозможно открыть окно представления. + + + + Empty name + Пустое имя + + + + A blank name for the view is allowed in SQLite, but it is not recommended. +Are you sure you want to create a view with blank name? + SQLite позволяет представлению иметь пустое имя, хотя это не рекомендуется. +Вы действительно хотите создать представление с пустым именем? + + + + The SELECT statement could not be parsed. Please correct the query and retry. +Details: %1 + Невозможно проанализировать структуру конструкции SELECT. Пожалуйста, исправьте запрос и повторите попытку. +Подробности: %1 + + + + The view could not be modified due to internal SQLiteStudio error. Please report this! + Невозможно изменить представление из-за внутренней ошибки SQLiteStudio. Пожалуйста, сообщите о ней! + + + + The view code could not be parsed properly for execution. This is a SQLiteStudio's bug. Please report it. + Невозможно корректно проанализировать структуру представления для выполнения. Это ошибка SQLiteStudio. Пожалуйста, сообщите о ней. + + + + Following problems will take place while modifying the view. +Would you like to proceed? + view window + При изменении представления возникнут нижеуказанные проблемы. +Вы хотите продолжить? + + + + View modification + view window + Изменение представления + + + + WidgetCover + + + Interrupt + Прервать + + + diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.qm b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.qm differ diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.ts b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.ts new file mode 100644 index 0000000..c71f491 --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_sk.ts @@ -0,0 +1,5961 @@ + + + + + AboutDialog + + + About SQLiteStudio and licenses + + + + + About + + + + + <html><head/><body><p align="center"><span style=" font-size:11pt; font-weight:600;">SQLiteStudio v%1</span></p><p align="center">Free, open-source, cross-platform SQLite database manager.<br/><a href="http://sqlitestudio.pl"><span style=" text-decoration: underline; color:#0000ff;">http://sqlitestudio.pl</span></a><br/></p><p align="center">%2<br/></p><p align="center">Author and active maintainer:<br/>SalSoft (<a href="http://salsoft.com.pl"><span style=" text-decoration: underline; color:#0000ff;">http://salsoft.com.pl</span></a>)<br/></p></body></html> + + + + + Licenses + + + + + Environment + + + + + Icon directories + + + + + Form directories + + + + + Plugin directories + + + + + Application directory + + + + + SQLite 3 version: + + + + + Configuration directory + + + + + Qt version: + + + + + Portable distribution. + + + + + MacOS X application boundle distribution. + + + + + Operating system managed distribution. + + + + + Copy + + + + + <h3>Table of contents:</h3><ol>%2</ol> + + + + + BugDialog + + + Bugs and ideas + + + + + Reporter + + + + + E-mail address + + + + + + Log in + + + + + Short description + + + + + Detailed description + + + + + Show more details + + + + + SQLiteStudio version + + + + + Operating system + + + + + Loaded plugins + + + + + Send + + + + + You can see all your reported bugs and ideas by selecting menu '%1' and then '%2'. + + + + + A bug report sent successfully. + + + + + An error occurred while sending a bug report: %1 +%2 + + + + + + You can retry sending. The contents will be restored when you open a report dialog after an error like this. + + + + + An idea proposal sent successfully. + + + + + An error occurred while sending an idea proposal: %1 +%2 + + + + + A bug report + + + + + Describe problem in few words + + + + + Describe problem and how to reproduce it + + + + + A new feature idea + + + + + A title for your idea + + + + + Describe your idea in more details + + + + + Reporting as an unregistered user, using e-mail address. + + + + + Reporting as a registered user. + + + + + Log out + + + + + Providing true email address will make it possible to contact you regarding your report. To learn more, press 'help' button on the right side. + + + + + Enter vaild e-mail address, or log in. + + + + + Short description requires at least 10 characters, but not more than 100. Longer description can be entered in the field below. + + + + + Long description requires at least 30 characters. + + + + + BugReportHistoryWindow + + + + Title + + + + + + Reported at + + + + + + URL + + + + + Reports history + + + + + Clear reports history + + + + + Delete selected entry + + + + + Invalid response from server. + + + + + BugReportLoginDialog + + + Log in + + + + + Credentials + + + + + Login: + + + + + Password: + + + + + Validation + + + + + Validate + + + + + Validation result message + + + + + Abort + + + + + A login must be at least 2 characters long. + + + + + A password must be at least 5 characters long. + + + + + Valid + + + + + CollationsEditor + + + Filter collations + + + + + Collation name: + + + + + Implementation language: + + + + + Databases + + + + + Register in all databases + + + + + Register in following databases: + + + + + Implementation code: + + + + + Collations editor + + + + + Commit all collation changes + + + + + Rollback all collation changes + + + + + Create new collation + + + + + Delete selected collation + + + + + Editing collations manual + + + + + Enter a non-empty, unique name of the collation. + + + + + Pick the implementation language. + + + + + Enter a non-empty implementation code. + + + + + Collations editor window has uncommited modifications. + + + + + ColorButton + + + Pick a color + + + + + ColumnCollatePanel + + + Collation name: + + + + + Named constraint: + + + + + Enter a name of the constraint. + + + + + Enter a collation name. + + + + + ColumnDefaultPanel + + + Default value: + + + + + Named constraint: + + + + + Enter a default value expression. + + + + + Invalid default value expression: %1 + + + + + Enter a name of the constraint. + + + + + ColumnDialog + + + Column + + + + + Name and type + + + + + Data type: + + + + + Column name: + + + + + Size: + + + + + Constraints + + + + + Unique + + + + + + + + + + + Configure + + + + + Foreign Key + + + + + Collate + + + + + Not NULL + + + + + Check condition + + + + + Primary Key + + + + + Default + + + + + Advanced mode + + + + + Add constraint + column dialog + + + + + Edit constraint + column dialog + + + + + + Delete constraint + column dialog + + + + + Move constraint up + column dialog + + + + + Move constraint down + column dialog + + + + + Add a primary key + column dialog + + + + + Add a foreign key + column dialog + + + + + Add an unique constraint + column dialog + + + + + Add a check constraint + column dialog + + + + + Add a not null constraint + column dialog + + + + + Add a collate constraint + column dialog + + + + + Add a default constraint + column dialog + + + + + Are you sure you want to delete constraint '%1'? + column dialog + + + + + Correct the constraint's configuration. + + + + + This constraint is not officially supported by SQLite 2, +but it's okay to use it. + + + + + ColumnDialogConstraintsModel + + + Type + column dialog constraints + + + + + Name + column dialog constraints + + + + + Details + column dialog constraints + + + + + ColumnForeignKeyPanel + + + Foreign table: + + + + + Foreign column: + + + + + Reactions + + + + + Deferred foreign key + + + + + Named constraint + + + + + Constraint name + + + + + Pick the foreign table. + + + + + Pick the foreign column. + + + + + Enter a name of the constraint. + + + + + ColumnPrimaryKeyPanel + + + Autoincrement + + + + + Sort order: + + + + + Named constraint: + + + + + On conflict: + + + + + Enter a name of the constraint. + + + + + Autoincrement (only for %1 type columns) + column primary key + + + + + ColumnUniqueAndNotNullPanel + + + Named constraint: + + + + + On conflict: + + + + + Enter a name of the constraint. + + + + + CompleterWindow + + + Column: %1 + completer statusbar + + + + + Table: %1 + completer statusbar + + + + + Index: %1 + completer statusbar + + + + + Trigger: %1 + completer statusbar + + + + + View: %1 + completer statusbar + + + + + Database: %1 + completer statusbar + + + + + Keyword: %1 + completer statusbar + + + + + Function: %1 + completer statusbar + + + + + Operator: %1 + completer statusbar + + + + + String + completer statusbar + + + + + Number + completer statusbar + + + + + Binary data + completer statusbar + + + + + Collation: %1 + completer statusbar + + + + + Pragma function: %1 + completer statusbar + + + + + ConfigDialog + + + + Configuration + + + + + Search + + + + + General + + + + + Keyboard shortcuts + + + + + Look & feel + + + + + Style + + + + + Fonts + + + + + Colors + + + + + Plugins + + + + + Code formatters + + + + + Data browsing + + + + + Data editors + + + + + Data browsing and editing + + + + + Number of data rows per page: + + + + + + <p>When the data is read into grid view columns width is automatically adjusted. This value limits the initial width for the adjustment, but user can still resize the column manually over this limit.</p> + + + + + Limit initial data column width to (in pixels): + + + + + Data types + + + + + Available editors: + + + + + Editors selected for this data type: + + + + + Schema editing + + + + + Number of DDL changes kept in history. + + + + + DDL history size: + + + + + Don't show DDL preview dialog when commiting schema changes + + + + + SQL queries + + + + + + Number of queries kept in the history. + + + + + History size: + + + + + <p>If there is more than one query in the SQL editor window, then (if this option is enabled) only a single query will be executed - the one under the keyboard insertion cursor. Otherwise all queries will be executed. You can always limit queries to be executed by selecting those queries before calling to execute.</p> + + + + + Execute only the query under the cursor + + + + + Updates + + + + + Automatically check for updates at startup + + + + + Session + + + + + Restore last session (active MDI windows) after startup + + + + + Filter shortcuts by name or key combination + + + + + Action + + + + + Key combination + + + + + + Language + + + + + Changing language requires application restart to take effect. + + + + + Database list + + + + + If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement. + + + + + Sort table columns alphabetically + + + + + Expand tables node when connected to a database + + + + + <p>Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.<p> + + + + + Display additional labels on the list + + + + + For regular tables labels will show number of columns, indexes and triggers for each of tables. + + + + + Display labels for regular tables + + + + + Virtual tables will be marked with a 'virtual' label. + + + + + Display labels for virtual tables + + + + + Expand views node when connected to a database + + + + + If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created) + + + + + Sort objects (tables, indexes, triggers and views) alphabetically + + + + + Display system tables and indexes on the list + + + + + Table windows + + + + + When enabled, Table Windows will show up with the data tab, instead of the structure tab. + + + + + Open Table Windows with the data tab for start + + + + + View windows + + + + + When enabled, View Windows will show up with the data tab, instead of the structure tab. + + + + + Open View Windows with the data tab for start + + + + + Hide built-in plugins + + + + + Current style: + + + + + Preview + + + + + Enabled + + + + + Disabled + + + + + Active formatter plugin + + + + + SQL editor font + + + + + Database list font + + + + + Database list additional label font + + + + + Data view font + + + + + Status field font + + + + + SQL editor colors + + + + + Current line background + + + + + <p>SQL strings are enclosed with single quote characters.</p> + + + + + String foreground + + + + + <p>Bind parameters are placeholders for values yet to be provided by the user. They have one of the forms:</p><ul><li>:param_name</li><li>$param_name</li><li>@param_name</li><li>?</li></ul> + + + + + Bind parameter foreground + + + + + Highlighted parenthesis background + + + + + <p>BLOB values are binary values represented as hexadecimal numbers, like:</p><ul><li>X'12B4'</li><li>x'46A2F4'</li></ul> + + + + + BLOB value foreground + + + + + Regular foreground + + + + + Line numbers area background + + + + + Keyword foreground + + + + + Number foreground + + + + + Comment foreground + + + + + <p>Valid objects are name of tables, indexes, triggers, or views that exist in the SQLite database.</p> + + + + + Valid objects foreground + + + + + Data view colors + + + + + <p>Any data changes will be outlined with this color, until they're commited to the database.</p> + + + + + Uncommited data outline color + + + + + <p>In case of error while commiting data changes, the problematic cell will be outlined with this color.</p> + + + + + Commit error outline color + + + + + NULL value foreground + + + + + Deleted row background + + + + + Database list colors + + + + + <p>Additional labels are those which tell you SQLite version, number of objects deeper in the tree, etc.</p> + + + + + Additional labels foreground + + + + + Status field colors + + + + + Information message foreground + + + + + Warning message foreground + + + + + Error message foreground + + + + + Description: + plugin details + + + + + Category: + plugin details + + + + + Version: + plugin details + + + + + Author: + plugin details + + + + + Internal name: + plugin details + + + + + Dependencies: + plugin details + + + + + Conflicts: + plugin details + + + + + Plugin details + + + + + Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog. + + + + + %1 (built-in) + plugins manager in configuration dialog + + + + + Details + + + + + No plugins in this category. + + + + + Add new data type + + + + + Rename selected data type + + + + + Delete selected data type + + + + + Help for configuring data type editors + + + + + ConstraintCheckPanel + + + The condition + + + + + Named constraint: + + + + + On conflict + + + + + Enter a valid condition. + + + + + Enter a name of the constraint. + + + + + ConstraintDialog + + + New constraint + constraint dialog + + + + + Create + constraint dialog + + + + + Edit constraint + dialog window + + + + + Apply + constraint dialog + + + + + Primary key + table constraints + + + + + Foreign key + table constraints + + + + + Unique + table constraints + + + + + Not NULL + table constraints + + + + + Check + table constraints + + + + + Collate + table constraints + + + + + Default + table constraints + + + + + ConstraintTabModel + + + Table + table constraints + + + + + Column (%1) + table constraints + + + + + Scope + table constraints + + + + + Type + table constraints + + + + + Details + table constraints + + + + + Name + table constraints + + + + + DataView + + + Filter data + data view + + + + + Grid view + + + + + Form view + + + + + Refresh table data + data view + + + + + First page + data view + + + + + Previous page + data view + + + + + Next page + data view + + + + + Last page + data view + + + + + Apply filter + data view + + + + + Commit changes for selected cells + data view + + + + + Rollback changes for selected cells + data view + + + + + Show grid view of results + sql editor + + + + + Show form view of results + sql editor + + + + + Filter by text + data view + + + + + Filter by the Regular Expression + data view + + + + + Filter by SQL expression + data view + + + + + Tabs on top + data view + + + + + Tabs at bottom + data view + + + + + Total number of rows is being counted. +Browsing other pages will be possible after the row counting is done. + + + + + Row: %1 + + + + + DbConverterDialog + + + Convert database + + + + + Source database + + + + + Source database version: + + + + + Target database + + + + + Target version: + + + + + This is the file that will be created as a result of the conversion. + + + + + Target file: + + + + + Name of the new database: + + + + + This is the name that the converted database will be added to SQLiteStudio with. + + + + + Select source database + + + + + Enter valid and writable file path. + + + + + Entered file exists and will be overwritten. + + + + + Enter a not empty, unique name (as in the list of databases on the left). + + + + + No valid target dialect available. Conversion not possible. + + + + + Select valid target dialect. + + + + + Database %1 has been successfully converted and now is available under new name: %2 + + + + + SQL statements conversion + + + + + Following error occurred while converting SQL statements to the target SQLite version: + + + + + Would you like to ignore those errors and proceed? + + + + + DbDialog + + + Database + + + + + Database driver + + + + + Name + + + + + Type + + + + + Browse for database file on local computer + + + + + File + + + + + Generate name basing on file path + + + + + Permanent + + + + + <p>Enable this if you want the database to be stored in configuration file and restored every time SQLiteStudio is started.</p> + aasfd + + + + + Test database connection + + + + + Browse + + + + + Enter an unique database name. + + + + + This name is already in use. Please enter unique name. + + + + + Enter a database file path. + + + + + This database is already on the list under name: %1 + + + + + Select a database type. + + + + + The name will be auto-generated + + + + + Type the name + + + + + DbObjectDialogs + + + Delete table + + + + + Are you sure you want to delete table %1? + + + + + Delete index + + + + + Are you sure you want to delete index %1? + + + + + Delete trigger + + + + + Are you sure you want to delete trigger %1? + + + + + Delete view + + + + + Are you sure you want to delete view %1? + + + + + Error while dropping %1: %2 + + + + + DbTree + + + Databases + + + + + Filter by name + + + + + Copy + + + + + Paste + + + + + Select all + + + + + Create a group + + + + + Delete the group + + + + + Rename the group + + + + + Add a database + + + + + Edit the database + + + + + Remove the database + + + + + Connect to the database + + + + + Disconnect from the database + + + + + Import + + + + + Export the database + + + + + Convert database type + + + + + Vacuum + + + + + Integrity check + + + + + Create a table + + + + + Edit the table + + + + + Delete the table + + + + + Export the table + + + + + Import into the table + + + + + Populate table + + + + + Create similar table + + + + + Reset autoincrement sequence + + + + + Create an index + + + + + Edit the index + + + + + Delete the index + + + + + Create a trigger + + + + + Edit the trigger + + + + + Delete the trigger + + + + + Create a view + + + + + Edit the view + + + + + Delete the view + + + + + Add a column + + + + + Edit the column + + + + + Delete the column + + + + + Delete selected items + + + + + Clear filter + + + + + Refresh all database schemas + + + + + Refresh selected database schema + + + + + + Database + + + + + Grouping + + + + + + Create group + + + + + Group name + + + + + Entry with name %1 already exists in group %2. + + + + + Delete group + + + + + Are you sure you want to delete group %1? +All objects from this group will be moved to parent group. + + + + + Delete database + + + + + Are you sure you want to delete database '%1'? + + + + + + Cannot import, because no import plugin is loaded. + + + + + + Cannot export, because no export plugin is loaded. + + + + + Error while executing VACUUM on the database %1: %2 + + + + + VACUUM execution finished successfully. + + + + + Integrity check (%1) + + + + + Reset autoincrement + + + + + Are you sure you want to reset autoincrement value for table '%1'? + + + + + An error occurred while trying to reset autoincrement value for table '%1': %2 + + + + + Autoincrement value for table '%1' has been reset successfly. + + + + + Following objects will be deleted: %1. + + + + + Following databases will be removed from list: %1. + + + + + Remainig objects from deleted group will be moved in place where the group used to be. + + + + + %1<br><br>Are you sure you want to continue? + + + + + Delete objects + + + + + DbTreeItemDelegate + + + error + dbtree labels + + + + + (system table) + database tree label + + + + + (virtual) + virtual table label + + + + + (system index) + database tree label + + + + + DbTreeModel + + + Database: %1 + dbtree tooltip + + + + + Version: + dbtree tooltip + + + + + File size: + dbtree tooltip + + + + + Encoding: + dbtree tooltip + + + + + Error details: + dbtree tooltip + + + + + Table : %1 + dbtree tooltip + + + + + Columns (%1): + dbtree tooltip + + + + + Indexes (%1): + dbtree tooltip + + + + + Triggers (%1): + dbtree tooltip + + + + + Copy + + + + + Move + + + + + Include data + + + + + Include indexes + + + + + Include triggers + + + + + Abort + + + + + Referenced tables + + + + + Do you want to include following referenced tables as well: +%1 + + + + + Name conflict + + + + + Following object already exists in the target database. +Please enter new, unique name, or press '%1' to abort the operation: + + + + + SQL statements conversion + + + + + Following error occurred while converting SQL statements to the target SQLite version: + + + + + Would you like to ignore those errors and proceed? + + + + + DdlHistoryWindow + + + Filter by database: + + + + + -- Queries executed on database %1 (%2) +-- Date and time of execution: %3 +%4 + + + + + DDL history + + + + + DdlPreviewDialog + + + Queries to be executed + + + + + Don't show again + + + + + DebugConsole + + + SQLiteStudio Debug Console + + + + + EditorWindow + + + Query + + + + + History + + + + + Results in the separate tab + + + + + Results below the query + + + + + + SQL editor %1 + + + + + Results + + + + + Execute query + + + + + Explain query + + + + + Clear execution history + sql editor + + + + + Export results + sql editor + + + + + Create view from query + sql editor + + + + + Previous database + + + + + Next database + + + + + Show next tab + sql editor + + + + + Show previous tab + sql editor + + + + + Focus results below + sql editor + + + + + Focus SQL editor above + sql editor + + + + + Active database (%1/%2) + + + + + Query finished in %1 second(s). Rows affected: %2 + + + + + Query finished in %1 second(s). + + + + + Clear execution history + + + + + Are you sure you want to erase the entire SQL execution history? This cannot be undone. + + + + + Cannot export, because no export plugin is loaded. + + + + + No database selected in the SQL editor. Cannot create a view for unknown database. + + + + + Editor window "%1" has uncommited data. + + + + + ErrorsConfirmDialog + + + Errors + + + + + Following errors occured: + + + + + Would you like to proceed? + + + + + ExportDialog + + + Export + + + + + What do you want to export? + + + + + A database + + + + + A single table + + + + + Query results + + + + + Table to export + + + + + Database + + + + + Table + + + + + Options + + + + + When this option is unchecked, then only table DDL (CREATE TABLE statement) is exported. + + + + + Export table data + + + + + Export table indexes + + + + + Export table triggers + + + + + Note, that exporting table indexes and triggers may be unsupported by some output formats. + + + + + Select database objects to export + + + + + Export data from tables + + + + + Select all + + + + + Deselect all + + + + + + Database: + + + + + Query to export results for + + + + + Query to be executed for results: + + + + + Export format and options + + + + + Export format + + + + + Output + + + + + Exported file path + + + + + Clipboard + + + + + File + + + + + Exported text encoding: + + + + + Export format options + + + + + Cancel + + + + + + + Select database to export. + + + + + Select table to export. + + + + + Enter valid query to export. + + + + + Select at least one object to export. + + + + + You must provide a file name to export to. + + + + + Path you provided is an existing directory. You cannot overwrite it. + + + + + The directory '%1' does not exist. + + + + + The file '%1' exists and will be overwritten. + + + + + All files (*) + + + + + Pick file to export to + + + + + Internal error during export. This is a bug. Please report it. + + + + + FontEdit + + + Choose font + font configuration + + + + + Form + + + Active SQL formatter plugin + + + + + FormView + + + Commit row + form view + + + + + Rollback row + form view + + + + + First row + form view + + + + + Previous row + form view + + + + + Next row + form view + + + + + Last row + form view + + + + + Insert new row + form view + + + + + Delete current row + form view + + + + + FunctionsEditor + + + Filter funtions + + + + + Function name: + + + + + Implementation language: + + + + + Type: + + + + + Input arguments + + + + + Undefined + + + + + Databases + + + + + Register in all databases + + + + + Register in following databases: + + + + + Initialization code: + + + + + + Function implementation code: + + + + + Final step implementation code: + + + + + SQL function editor + + + + + Commit all function changes + + + + + Rollback all function changes + + + + + Create new function + + + + + Delete selected function + + + + + Custom SQL functions manual + + + + + Add function argument + + + + + Rename function argument + + + + + Delete function argument + + + + + Move function argument up + + + + + Move function argument down + + + + + Scalar + + + + + Aggregate + + + + + Enter a non-empty, unique name of the function. + + + + + Pick the implementation language. + + + + + Per step code: + + + + + Enter a non-empty implementation code. + + + + + argument + new function argument name in function editor window + + + + + Functions editor window has uncommited modifications. + + + + + ImportDialog + + + Import data + + + + + Table to import to + + + + + Table + + + + + Database + + + + + Data source to import from + + + + + Data source type + + + + + Options + + + + + Input file: + + + + + Text encoding: + + + + + Data source options + + + + + Cancel + + + + + If you type table name that doesn't exist, it will be created. + + + + + Enter the table name + + + + + Select import plugin. + + + + + You must provide a file to import from. + + + + + The file '%1' does not exist. + + + + + Path you provided is a directory. A regular file is required. + + + + + Pick file to import from + + + + + IndexDialog + + + + Index + + + + + On table: + + + + + Index name: + + + + + Partial index condition + + + + + Unique index + + + + + Column + + + + + Collation + + + + + Sort + + + + + DDL + + + + + Tried to open index dialog for closed or inexisting database. + + + + + Could not process index %1 correctly. Unable to open an index dialog. + + + + + Pick the table for the index. + + + + + Select at least one column. + + + + + Enter a valid condition. + + + + + default + index dialog + + + + + Sort order + table constraints + + + + + + Error + index dialog + + + + + Cannot create unique index, because values in selected columns are not unique. Would you like to execute SELECT query to see problematic values? + + + + + An error occurred while executing SQL statements: +%1 + + + + + LanguageDialog + + + Language + + + + + Please choose language: + + + + + MainWindow + + + Database toolbar + + + + + Structure toolbar + + + + + Tools + + + + + Window list + + + + + View toolbar + + + + + Configuration widgets + + + + + Syntax highlighting engines + + + + + Data editors + + + + + Running in debug mode. Press %1 or use 'Help / Open debug console' menu entry to open the debug console. + + + + + Running in debug mode. Debug messages are printed to the standard output. + + + + + You need to restart application to make the language change take effect. + + + + + Open SQL editor + + + + + Open DDL history + + + + + Open SQL functions editor + + + + + Open collations editor + + + + + Import + + + + + Export + + + + + Open configuration dialog + + + + + Tile windows + + + + + Tile windows horizontally + + + + + Tile windows vertically + + + + + Cascade windows + + + + + Next window + + + + + Previous window + + + + + Hide status field + + + + + Close selected window + + + + + Close all windows but selected + + + + + Close all windows + + + + + Restore recently closed window + + + + + Rename selected window + + + + + Open Debug Console + + + + + Report a bug + + + + + Propose a new feature + + + + + About + + + + + Licenses + + + + + Open home page + + + + + Open forum page + + + + + User Manual + + + + + SQLite documentation + + + + + Report history + + + + + Check for updates + + + + + Database + menubar + + + + + Structure + menubar + + + + + View + menubar + + + + + Window list + menubar view menu + + + + + Tools + menubar + + + + + Help + + + + + Could not set style: %1 + main window + + + + + Cannot export, because no export plugin is loaded. + + + + + Cannot import, because no import plugin is loaded. + + + + + Rename window + + + + + Enter new name for the window: + + + + + New updates are available. <a href="%1">Click here for details</a>. + + + + + You're running the most recent version. No updates are available. + + + + + Database passed in command line parameters (%1) was already on the list under name: %2 + + + + + Database passed in command line parameters (%1) has been temporarily added to the list under name: %2 + + + + + Could not add database %1 to list. + + + + + MdiWindow + + + Uncommited changes + + + + + Close anyway + + + + + Don't close + + + + + MultiEditor + + + Null value + multieditor + + + + + Configure editors for this data type + + + + + Data editor plugin '%1' not loaded, while it is defined for editing '%1' data type. + + + + + Deleted + multieditor + + + + + Read only + multieditor + + + + + MultiEditorBool + + + Boolean + + + + + MultiEditorDate + + + Date + + + + + MultiEditorDateTime + + + Date & time + + + + + MultiEditorHex + + + Hex + + + + + MultiEditorNumeric + + + Number + numeric multi editor tab name + + + + + MultiEditorText + + + Text + + + + + Tab changes focus + + + + + Cut + + + + + Copy + + + + + Paste + + + + + Delete + + + + + Undo + + + + + Redo + + + + + MultiEditorTime + + + Time + + + + + NewConstraintDialog + + + New constraint + + + + + + Primary Key + new constraint dialog + + + + + + Foreign Key + new constraint dialog + + + + + + Unique + new constraint dialog + + + + + + Check + new constraint dialog + + + + + Not NULL + new constraint dialog + + + + + Collate + new constraint dialog + + + + + Default + new constraint dialog + + + + + NewVersionDialog + + + SQLiteStudio updates + + + + + New updates are available! + + + + + Component + + + + + Current version + + + + + Update version + + + + + Check for updates on startup + + + + + Update to new version! + + + + + The update will be automatically downloaded and installed. This will also restart application at the end. + + + + + Not now. + + + + + Don't install the update and close this window. + + + + + PopulateConfigDialog + + + Populating configuration + + + + + Configuring <b>%1</b> for column <b>%2</b> + + + + + PopulateDialog + + + Populate table + + + + + Database + + + + + Table + + + + + Columns + + + + + Number of rows to populate: + + + + + Populate + populate dialog button + + + + + Configure + + + + + Populating configuration for this column is invalid or incomplete. + + + + + Select database with table to populate + + + + + Select table to populate + + + + + You have to select at least one column. + + + + + QObject + + + Cannot edit columns that are result of compound %1 statements (one that includes %2, %3 or %4 keywords). + + + + + The query execution mechanism had problems with extracting ROWID's properly. This might be a bug in the application. You may want to report this. + + + + + Requested column is a result of SQL expression, instead of a simple column selection. Such columns cannot be edited. + + + + + Requested column belongs to restricted SQLite table. Those tables cannot be edited directly. + + + + + Cannot edit results of query other than %1. + + + + + Cannot edit columns that are result of aggregated %1 statements. + + + + + Cannot edit columns that are result of %1 statement. + + + + + Cannot edit columns that are result of common table expression statement (%1). + + + + + + + + on conflict: %1 + data view tooltip + + + + + references table %1, column %2 + data view tooltip + + + + + condition: %1 + data view tooltip + + + + + collation name: %1 + data view tooltip + + + + + Data grid view + + + + + Copy cell(s) contents to clipboard + + + + + Paste cell(s) contents from clipboard + + + + + Set empty value to selected cell(s) + + + + + Set NULL value to selected cell(s) + + + + + Commit changes to cell(s) contents + + + + + Rollback changes to cell(s) contents + + + + + Delete selected data row + + + + + Insert new data row + + + + + Open contents of selected cell in a separate editor + + + + + Total pages available: %1 + + + + + Total rows loaded: %1 + + + + + Data view (both grid and form) + + + + + Refresh data + + + + + Switch to grid view of the data + + + + + Switch to form view of the data + + + + + Database list + + + + + Delete selected item + + + + + Clear filter contents + + + + + Refresh schema + + + + + Refresh all schemas + + + + + Add database + + + + + Select all items + + + + + Copy selected item(s) + + + + + + + Paste from clipboard + + + + + Tables + + + + + Indexes + + + + + Triggers + + + + + Views + + + + + Columns + + + + + Data form view + + + + + Commit changes for current row + + + + + Rollback changes for current row + + + + + Go to first row on current page + + + + + Go to next row + + + + + Go to previous row + + + + + Go to last row on current page + + + + + Insert new row + + + + + Delete current row + + + + + Main window + + + + + Open SQL editor + + + + + Previous window + + + + + Next window + + + + + Hide status area + + + + + Open configuration dialog + + + + + Open Debug Console + + + + + Cell text value editor + + + + + + Cut selected text + + + + + + Copy selected text + + + + + + Delete selected text + + + + + + Undo + + + + + + Redo + + + + + SQL editor input field + + + + + Select whole editor contents + + + + + Save contents into a file + + + + + Load contents from a file + + + + + Find in text + + + + + Find next + + + + + Find previous + + + + + Replace in text + + + + + Delete current line + + + + + Request code assistant + + + + + Format contents + + + + + Move selected block of text one line down + + + + + Move selected block of text one line up + + + + + Copy selected block of text and paste it a line below + + + + + Copy selected block of text and paste it a line above + + + + + All SQLite databases + + + + + All files + + + + + Database file + + + + + Reports history window + + + + + Delete selected entry + + + + + SQL editor window + + + + + Execute query + + + + + Execute "%1" query + + + + + Switch current working database to previous on the list + + + + + Switch current working database to next on the list + + + + + Go to next editor tab + + + + + Go to previous editor tab + + + + + Move keyboard input focus to the results view below + + + + + Move keyboard input focus to the SQL editor above + + + + + Table window + + + + + Refresh table structure + + + + + Add new column + + + + + Edit selected column + + + + + Delete selected column + + + + + Export table data + + + + + Import data to the table + + + + + Add new table constraint + + + + + Edit selected table constraint + + + + + Delete selected table constraint + + + + + Refresh table index list + + + + + Add new index + + + + + Edit selected index + + + + + Delete selected index + + + + + Refresh table trigger list + + + + + + Add new trigger + + + + + + Edit selected trigger + + + + + + Delete selected trigger + + + + + + Go to next tab + + + + + + Go to previous tab + + + + + A view window + + + + + Refresh view trigger list + + + + + QuitConfirmDialog + + + Uncommited changes + + + + + Are you sure you want to quit the application? + +Following items are pending: + + + + + SearchTextDialog + + + Find or replace + + + + + Find: + + + + + Case sensitive + + + + + Search backwards + + + + + Regular expression matching + + + + + Replace && +find next + + + + + Replace with: + + + + + Replace all + + + + + Find + + + + + SortDialog + + + Sort by columns + + + + + + Column + + + + + + Order + + + + + Sort by: %1 + + + + + Move column up + + + + + Move column down + + + + + SqlEditor + + + Cut + sql editor + + + + + Copy + sql editor + + + + + Paste + sql editor + + + + + Delete + sql editor + + + + + Select all + sql editor + + + + + Undo + sql editor + + + + + Redo + sql editor + + + + + Complete + sql editor + + + + + Format SQL + sql editor + + + + + Save SQL to file + sql editor + + + + + Load SQL from file + sql editor + + + + + Delete line + sql editor + + + + + Move block down + sql editor + + + + + Move block up + sql editor + + + + + Copy block down + sql editor + + + + + Copy up down + sql editor + + + + + Find + sql editor + + + + + Find next + sql editor + + + + + Find previous + sql editor + + + + + Replace + sql editor + + + + + Syntax completion can be used only when a valid database is set for the SQL editor. + + + + + Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled. + + + + + Save to file + + + + + Could not open file '%1' for writing: %2 + + + + + SQL scripts (*.sql);;All files (*) + + + + + Open file + + + + + Could not open file '%1' for reading: %2 + + + + + Reached the end of document. Hit the find again to restart the search. + + + + + SqlQueryItem + + + Column: + data view tooltip + + + + + Data type: + data view + + + + + Table: + data view tooltip + + + + + Constraints: + data view tooltip + + + + + This cell is not editable, because: %1 + + + + + Cannot load the data for a cell that refers to the already closed database. + + + + + SqlQueryItemDelegate + + + + Cannot edit this cell. Details: %2 + + + + + The row is marked for deletion. + + + + + SqlQueryModel + + + + Only one query can be executed simultaneously. + + + + + Uncommited data + + + + + There are uncommited data changes. Do you want to proceed anyway? All uncommited changes will be lost. + + + + + Cannot commit the data for a cell that refers to the already closed database. + + + + + Could not begin transaction on the database. Details: %1 + + + + + An error occurred while commiting the transaction: %1 + + + + + An error occurred while rolling back the transaction: %1 + + + + + Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it. + + + + + An error occurred while commiting the data: %1 + + + + + + Error while executing SQL query on database '%1': %2 + + + + + Error while loading query results: %1 + + + + + Insert multiple rows + + + + + Number of rows to insert: + + + + + SqlQueryView + + + Copy + + + + + Copy as... + + + + + Paste + + + + + Paste as... + + + + + Set NULL values + + + + + Erase values + + + + + Edit value in editor + + + + + Commit + + + + + Rollback + + + + + Commit selected cells + + + + + Rollback selected cells + + + + + Define columns to sort by + + + + + Remove custom sorting + + + + + Insert row + + + + + Insert multiple rows + + + + + Delete selected row + + + + + Edit value + + + + + SqlTableModel + + + Error while commiting new row: %1 + + + + + Error while deleting row from table %1: %2 + + + + + StatusField + + + Status + + + + + Copy + + + + + Clear + + + + + TableConstraintsModel + + + Type + table constraints + + + + + Details + table constraints + + + + + Name + table constraints + + + + + TableForeignKeyPanel + + + Foreign table: + + + + + SQLite 2 does not support foreign keys officially, +but it's okay to use them anyway. + + + + + Columns + + + + + Local column + + + + + Foreign column + + + + + Reactions + + + + + Deferred foreign key + + + + + Named constraint + + + + + Constraint name + + + + + Pick the foreign column. + + + + + Pick the foreign table. + + + + + Select at least one foreign column. + + + + + Enter a name of the constraint. + + + + + Foreign column + table constraints + + + + + TablePrimaryKeyAndUniquePanel + + + Columns + + + + + Column + + + + + Collation + + + + + Sort + + + + + Valid only for a single column with INTEGER data type + + + + + Autoincrement + + + + + Named constraint + + + + + Constraint name + + + + + On conflict + + + + + Collate + table constraints + + + + + Sort order + table constraints + + + + + Select at least one column. + + + + + Enter a name of the constraint. + + + + + TableStructureModel + + + Name + table structure columns + + + + + Data type + table structure columns + + + + + Default value + table structure columns + + + + + TableWindow + + + Structure + + + + + Table name: + + + + + Data + + + + + Constraints + + + + + Indexes + + + + + Triggers + + + + + DDL + + + + + Export table + table window + + + + + Import data to table + table window + + + + + Populate table + table window + + + + + Refresh structure + table window + + + + + Commit structure changes + table window + + + + + Rollback structure changes + table window + + + + + Add column + table window + + + + + Edit column + table window + + + + + + Delete column + table window + + + + + Move column up + table window + + + + + Move column down + table window + + + + + Create similar table + table window + + + + + Reset autoincrement value + table window + + + + + Add table constraint + table window + + + + + Edit table constraint + table window + + + + + Delete table constraint + table window + + + + + Move table constraint up + table window + + + + + Move table constraint down + table window + + + + + Add table primary key + table window + + + + + Add table foreign key + table window + + + + + Add table unique constraint + table window + + + + + Add table check constraint + table window + + + + + Refresh index list + table window + + + + + Create index + table window + + + + + Edit index + table window + + + + + Delete index + table window + + + + + Refresh trigger list + table window + + + + + Create trigger + table window + + + + + Edit trigger + table window + + + + + Delete trigger + table window + + + + + Are you sure you want to delete column '%1'? + table window + + + + + Following problems will take place while modifying the table. +Would you like to proceed? + table window + + + + + Table modification + table window + + + + + Could not load data for table %1. Error details: %2 + + + + + Could not process the %1 table correctly. Unable to open a table window. + + + + + Could not restore window, because database %1 could not be resolved. + + + + + Could not restore window, because the table %1 doesn't exist in the database %2. + + + + + + New table %1 + + + + + Could not commit table structure. Error message: %1 + table window + + + + + Reset autoincrement + + + + + Are you sure you want to reset autoincrement value for table '%1'? + + + + + An error occurred while trying to reset autoincrement value for table '%1': %2 + + + + + Autoincrement value for table '%1' has been reset successfly. + + + + + Empty name + + + + + A blank name for the table is allowed in SQLite, but it is not recommended. +Are you sure you want to create a table with blank name? + + + + + Cannot create a table without at least one column. + + + + + Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key. + + + + + Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key. + + + + + Are you sure you want to delete table constraint '%1'? + table window + + + + + Delete constraint + table window + + + + + Cannot export, because no export plugin is loaded. + + + + + Cannot import, because no import plugin is loaded. + + + + + Uncommited changes + + + + + There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled. +Do you want to commit the structure, or do you want to go back to the structure tab? + + + + + Go back to structure tab + + + + + Commit modifications and browse data. + + + + + Name + table window indexes + + + + + Unique + table window indexes + + + + + Columns + table window indexes + + + + + Partial index condition + table window indexes + + + + + Name + table window triggers + + + + + Event + table window triggers + + + + + Condition + table window triggers + + + + + Details + table window triggers + + + + + Table window "%1" has uncommited structure modifications and data. + + + + + Table window "%1" has uncommited data. + + + + + Table window "%1" has uncommited structure modifications. + + + + + TriggerColumnsDialog + + + Trigger columns + + + + + Triggering columns: + + + + + TriggerDialog + + + + Trigger + + + + + On table: + + + + + Action: + + + + + + <p>SQL condition that will be evaluated before the actual trigger code. In case the condition returns false, the trigger will not be fired for that row.</p> + + + + + Pre-condition: + + + + + The scope is still not fully supported by the SQLite database. + + + + + Trigger name: + + + + + When: + + + + + List of columns for UPDATE OF action. + + + + + Scope: + + + + + Code: + + + + + Trigger statements to be executed. + + + + + DDL + + + + + On view: + + + + + Could not process trigger %1 correctly. Unable to open a trigger dialog. + + + + + Enter a valid condition. + + + + + Enter a valid trigger code. + + + + + Error + trigger dialog + + + + + An error occurred while executing SQL statements: +%1 + + + + + VersionConvertSummaryDialog + + + Database version convert + + + + + Following changes to the SQL statements will be made: + + + + + Before + + + + + After + + + + + ViewWindow + + + Query + + + + + View name: + + + + + Data + + + + + Triggers + + + + + DDL + + + + + Could not restore window, because database %1 could not be resolved. + + + + + Could not restore window, because database %1 could not be open. + + + + + Could not restore window, because the view %1 doesn't exist in the database %2. + + + + + + New view %1 + + + + + Refresh the view + view window + + + + + Commit the view changes + view window + + + + + Rollback the view changes + view window + + + + + Refresh trigger list + view window + + + + + Create new trigger + view window + + + + + Edit selected trigger + view window + + + + + Delete selected trigger + view window + + + + + View window "%1" has uncommited structure modifications and data. + + + + + View window "%1" has uncommited data. + + + + + View window "%1" has uncommited structure modifications. + + + + + Could not load data for view %1. Error details: %2 + + + + + Uncommited changes + + + + + There are uncommited structure modifications. You cannot browse or edit data until you have the view structure settled. +Do you want to commit the structure, or do you want to go back to the structure tab? + + + + + Go back to structure tab + + + + + Commit modifications and browse data. + + + + + Could not commit view changes. Error message: %1 + view window + + + + + Name + view window triggers + + + + + Instead of + view window triggers + + + + + Condition + view window triggers + + + + + Details + table window triggers + + + + + Could not process the %1 view correctly. Unable to open a view window. + + + + + Empty name + + + + + A blank name for the view is allowed in SQLite, but it is not recommended. +Are you sure you want to create a view with blank name? + + + + + The SELECT statement could not be parsed. Please correct the query and retry. +Details: %1 + + + + + The view could not be modified due to internal SQLiteStudio error. Please report this! + + + + + The view code could not be parsed properly for execution. This is a SQLiteStudio's bug. Please report it. + + + + + Following problems will take place while modifying the view. +Would you like to proceed? + view window + + + + + View modification + view window + + + + + WidgetCover + + + Interrupt + + + + diff --git a/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_zh_CN.qm b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/translations/guiSQLiteStudio_zh_CN.qm @@ -0,0 +1 @@ + + + + + AboutDialog + + + About SQLiteStudio and licenses + + + + + About + + + + + <html><head/><body><p align="center"><span style=" font-size:11pt; font-weight:600;">SQLiteStudio v%1</span></p><p align="center">Free, open-source, cross-platform SQLite database manager.<br/><a href="http://sqlitestudio.pl"><span style=" text-decoration: underline; color:#0000ff;">http://sqlitestudio.pl</span></a><br/></p><p align="center">%2<br/></p><p align="center">Author and active maintainer:<br/>SalSoft (<a href="http://salsoft.com.pl"><span style=" text-decoration: underline; color:#0000ff;">http://salsoft.com.pl</span></a>)<br/></p></body></html> + + + + + Licenses + + + + + Environment + + + + + Icon directories + + + + + Form directories + + + + + Plugin directories + + + + + Application directory + + + + + SQLite 3 version: + + + + + Configuration directory + + + + + Qt version: + + + + + Portable distribution. + + + + + MacOS X application boundle distribution. + + + + + Operating system managed distribution. + + + + + Copy + + + + + <h3>Table of contents:</h3><ol>%2</ol> + + + + + BugDialog + + + Bugs and ideas + + + + + Reporter + + + + + E-mail address + + + + + + Log in + + + + + Short description + + + + + Detailed description + + + + + Show more details + + + + + SQLiteStudio version + + + + + Operating system + + + + + Loaded plugins + + + + + Send + + + + + You can see all your reported bugs and ideas by selecting menu '%1' and then '%2'. + + + + + A bug report sent successfully. + + + + + An error occurred while sending a bug report: %1 +%2 + + + + + + You can retry sending. The contents will be restored when you open a report dialog after an error like this. + + + + + An idea proposal sent successfully. + + + + + An error occurred while sending an idea proposal: %1 +%2 + + + + + A bug report + + + + + Describe problem in few words + + + + + Describe problem and how to reproduce it + + + + + A new feature idea + + + + + A title for your idea + + + + + Describe your idea in more details + + + + + Reporting as an unregistered user, using e-mail address. + + + + + Reporting as a registered user. + + + + + Log out + + + + + Providing true email address will make it possible to contact you regarding your report. To learn more, press 'help' button on the right side. + + + + + Enter vaild e-mail address, or log in. + + + + + Short description requires at least 10 characters, but not more than 100. Longer description can be entered in the field below. + + + + + Long description requires at least 30 characters. + + + + + BugReportHistoryWindow + + + + Title + + + + + + Reported at + + + + + + URL + + + + + Reports history + + + + + Clear reports history + + + + + Delete selected entry + + + + + Invalid response from server. + + + + + BugReportLoginDialog + + + Log in + + + + + Credentials + + + + + Login: + + + + + Password: + + + + + Validation + + + + + Validate + + + + + Validation result message + + + + + Abort + + + + + A login must be at least 2 characters long. + + + + + A password must be at least 5 characters long. + + + + + Valid + + + + + CollationsEditor + + + Filter collations + + + + + Collation name: + + + + + Implementation language: + + + + + Databases + + + + + Register in all databases + + + + + Register in following databases: + + + + + Implementation code: + + + + + Collations editor + + + + + Commit all collation changes + + + + + Rollback all collation changes + + + + + Create new collation + + + + + Delete selected collation + + + + + Editing collations manual + + + + + Enter a non-empty, unique name of the collation. + + + + + Pick the implementation language. + + + + + Enter a non-empty implementation code. + + + + + Collations editor window has uncommited modifications. + + + + + ColorButton + + + Pick a color + + + + + ColumnCollatePanel + + + Collation name: + + + + + Named constraint: + + + + + Enter a name of the constraint. + + + + + Enter a collation name. + + + + + ColumnDefaultPanel + + + Default value: + + + + + Named constraint: + + + + + Enter a default value expression. + + + + + Invalid default value expression: %1 + + + + + Enter a name of the constraint. + + + + + ColumnDialog + + + Column + + + + + Name and type + + + + + Data type: + + + + + Column name: + + + + + Size: + + + + + Constraints + + + + + Unique + + + + + + + + + + + Configure + + + + + Foreign Key + + + + + Collate + + + + + Not NULL + + + + + Check condition + + + + + Primary Key + + + + + Default + + + + + Advanced mode + + + + + Add constraint + column dialog + + + + + Edit constraint + column dialog + + + + + + Delete constraint + column dialog + + + + + Move constraint up + column dialog + + + + + Move constraint down + column dialog + + + + + Add a primary key + column dialog + + + + + Add a foreign key + column dialog + + + + + Add an unique constraint + column dialog + + + + + Add a check constraint + column dialog + + + + + Add a not null constraint + column dialog + + + + + Add a collate constraint + column dialog + + + + + Add a default constraint + column dialog + + + + + Are you sure you want to delete constraint '%1'? + column dialog + + + + + Correct the constraint's configuration. + + + + + This constraint is not officially supported by SQLite 2, +but it's okay to use it. + + + + + ColumnDialogConstraintsModel + + + Type + column dialog constraints + + + + + Name + column dialog constraints + + + + + Details + column dialog constraints + + + + + ColumnForeignKeyPanel + + + Foreign table: + + + + + Foreign column: + + + + + Reactions + + + + + Deferred foreign key + + + + + Named constraint + + + + + Constraint name + + + + + Pick the foreign table. + + + + + Pick the foreign column. + + + + + Enter a name of the constraint. + + + + + ColumnPrimaryKeyPanel + + + Autoincrement + + + + + Sort order: + + + + + Named constraint: + + + + + On conflict: + + + + + Enter a name of the constraint. + + + + + Autoincrement (only for %1 type columns) + column primary key + + + + + ColumnUniqueAndNotNullPanel + + + Named constraint: + + + + + On conflict: + + + + + Enter a name of the constraint. + + + + + CompleterWindow + + + Column: %1 + completer statusbar + + + + + Table: %1 + completer statusbar + + + + + Index: %1 + completer statusbar + + + + + Trigger: %1 + completer statusbar + + + + + View: %1 + completer statusbar + + + + + Database: %1 + completer statusbar + + + + + Keyword: %1 + completer statusbar + + + + + Function: %1 + completer statusbar + + + + + Operator: %1 + completer statusbar + + + + + String + completer statusbar + + + + + Number + completer statusbar + + + + + Binary data + completer statusbar + + + + + Collation: %1 + completer statusbar + + + + + Pragma function: %1 + completer statusbar + + + + + ConfigDialog + + + + Configuration + + + + + Search + + + + + General + + + + + Keyboard shortcuts + + + + + Look & feel + + + + + Style + + + + + Fonts + + + + + Colors + + + + + Plugins + + + + + Code formatters + + + + + Data browsing + + + + + Data editors + + + + + Data browsing and editing + + + + + Number of data rows per page: + + + + + + <p>When the data is read into grid view columns width is automatically adjusted. This value limits the initial width for the adjustment, but user can still resize the column manually over this limit.</p> + + + + + Limit initial data column width to (in pixels): + + + + + Data types + + + + + Available editors: + + + + + Editors selected for this data type: + + + + + Schema editing + + + + + Number of DDL changes kept in history. + + + + + DDL history size: + + + + + Don't show DDL preview dialog when commiting schema changes + + + + + SQL queries + + + + + + Number of queries kept in the history. + + + + + History size: + + + + + <p>If there is more than one query in the SQL editor window, then (if this option is enabled) only a single query will be executed - the one under the keyboard insertion cursor. Otherwise all queries will be executed. You can always limit queries to be executed by selecting those queries before calling to execute.</p> + + + + + Execute only the query under the cursor + + + + + Updates + + + + + Automatically check for updates at startup + + + + + Session + + + + + Restore last session (active MDI windows) after startup + + + + + Filter shortcuts by name or key combination + + + + + Action + + + + + Key combination + + + + + + Language + + + + + Changing language requires application restart to take effect. + + + + + Database list + + + + + If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement. + + + + + Sort table columns alphabetically + + + + + Expand tables node when connected to a database + + + + + <p>Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.<p> + + + + + Display additional labels on the list + + + + + For regular tables labels will show number of columns, indexes and triggers for each of tables. + + + + + Display labels for regular tables + + + + + Virtual tables will be marked with a 'virtual' label. + + + + + Display labels for virtual tables + + + + + Expand views node when connected to a database + + + + + If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created) + + + + + Sort objects (tables, indexes, triggers and views) alphabetically + + + + + Display system tables and indexes on the list + + + + + Table windows + + + + + When enabled, Table Windows will show up with the data tab, instead of the structure tab. + + + + + Open Table Windows with the data tab for start + + + + + View windows + + + + + When enabled, View Windows will show up with the data tab, instead of the structure tab. + + + + + Open View Windows with the data tab for start + + + + + Hide built-in plugins + + + + + Current style: + + + + + Preview + + + + + Enabled + + + + + Disabled + + + + + Active formatter plugin + + + + + SQL editor font + + + + + Database list font + + + + + Database list additional label font + + + + + Data view font + + + + + Status field font + + + + + SQL editor colors + + + + + Current line background + + + + + <p>SQL strings are enclosed with single quote characters.</p> + + + + + String foreground + + + + + <p>Bind parameters are placeholders for values yet to be provided by the user. They have one of the forms:</p><ul><li>:param_name</li><li>$param_name</li><li>@param_name</li><li>?</li></ul> + + + + + Bind parameter foreground + + + + + Highlighted parenthesis background + + + + + <p>BLOB values are binary values represented as hexadecimal numbers, like:</p><ul><li>X'12B4'</li><li>x'46A2F4'</li></ul> + + + + + BLOB value foreground + + + + + Regular foreground + + + + + Line numbers area background + + + + + Keyword foreground + + + + + Number foreground + + + + + Comment foreground + + + + + <p>Valid objects are name of tables, indexes, triggers, or views that exist in the SQLite database.</p> + + + + + Valid objects foreground + + + + + Data view colors + + + + + <p>Any data changes will be outlined with this color, until they're commited to the database.</p> + + + + + Uncommited data outline color + + + + + <p>In case of error while commiting data changes, the problematic cell will be outlined with this color.</p> + + + + + Commit error outline color + + + + + NULL value foreground + + + + + Deleted row background + + + + + Database list colors + + + + + <p>Additional labels are those which tell you SQLite version, number of objects deeper in the tree, etc.</p> + + + + + Additional labels foreground + + + + + Status field colors + + + + + Information message foreground + + + + + Warning message foreground + + + + + Error message foreground + + + + + Description: + plugin details + + + + + Category: + plugin details + + + + + Version: + plugin details + + + + + Author: + plugin details + + + + + Internal name: + plugin details + + + + + Dependencies: + plugin details + + + + + Conflicts: + plugin details + + + + + Plugin details + + + + + Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog. + + + + + %1 (built-in) + plugins manager in configuration dialog + + + + + Details + + + + + No plugins in this category. + + + + + Add new data type + + + + + Rename selected data type + + + + + Delete selected data type + + + + + Help for configuring data type editors + + + + + ConstraintCheckPanel + + + The condition + + + + + Named constraint: + + + + + On conflict + + + + + Enter a valid condition. + + + + + Enter a name of the constraint. + + + + + ConstraintDialog + + + New constraint + constraint dialog + + + + + Create + constraint dialog + + + + + Edit constraint + dialog window + + + + + Apply + constraint dialog + + + + + Primary key + table constraints + + + + + Foreign key + table constraints + + + + + Unique + table constraints + + + + + Not NULL + table constraints + + + + + Check + table constraints + + + + + Collate + table constraints + + + + + Default + table constraints + + + + + ConstraintTabModel + + + Table + table constraints + + + + + Column (%1) + table constraints + + + + + Scope + table constraints + + + + + Type + table constraints + + + + + Details + table constraints + + + + + Name + table constraints + + + + + DataView + + + Filter data + data view + + + + + Grid view + + + + + Form view + + + + + Refresh table data + data view + + + + + First page + data view + + + + + Previous page + data view + + + + + Next page + data view + + + + + Last page + data view + + + + + Apply filter + data view + + + + + Commit changes for selected cells + data view + + + + + Rollback changes for selected cells + data view + + + + + Show grid view of results + sql editor + + + + + Show form view of results + sql editor + + + + + Filter by text + data view + + + + + Filter by the Regular Expression + data view + + + + + Filter by SQL expression + data view + + + + + Tabs on top + data view + + + + + Tabs at bottom + data view + + + + + Total number of rows is being counted. +Browsing other pages will be possible after the row counting is done. + + + + + Row: %1 + + + + + DbConverterDialog + + + Convert database + + + + + Source database + + + + + Source database version: + + + + + Target database + + + + + Target version: + + + + + This is the file that will be created as a result of the conversion. + + + + + Target file: + + + + + Name of the new database: + + + + + This is the name that the converted database will be added to SQLiteStudio with. + + + + + Select source database + + + + + Enter valid and writable file path. + + + + + Entered file exists and will be overwritten. + + + + + Enter a not empty, unique name (as in the list of databases on the left). + + + + + No valid target dialect available. Conversion not possible. + + + + + Select valid target dialect. + + + + + Database %1 has been successfully converted and now is available under new name: %2 + + + + + SQL statements conversion + + + + + Following error occurred while converting SQL statements to the target SQLite version: + + + + + Would you like to ignore those errors and proceed? + + + + + DbDialog + + + Database + + + + + Database driver + + + + + Name + + + + + Type + + + + + Browse for database file on local computer + + + + + File + + + + + Generate name basing on file path + + + + + Permanent + + + + + <p>Enable this if you want the database to be stored in configuration file and restored every time SQLiteStudio is started.</p> + aasfd + + + + + Test database connection + + + + + Browse + + + + + Enter an unique database name. + + + + + This name is already in use. Please enter unique name. + + + + + Enter a database file path. + + + + + This database is already on the list under name: %1 + + + + + Select a database type. + + + + + The name will be auto-generated + + + + + Type the name + + + + + DbObjectDialogs + + + Delete table + + + + + Are you sure you want to delete table %1? + + + + + Delete index + + + + + Are you sure you want to delete index %1? + + + + + Delete trigger + + + + + Are you sure you want to delete trigger %1? + + + + + Delete view + + + + + Are you sure you want to delete view %1? + + + + + Error while dropping %1: %2 + + + + + DbTree + + + Databases + + + + + Filter by name + + + + + Copy + + + + + Paste + + + + + Select all + + + + + Create a group + + + + + Delete the group + + + + + Rename the group + + + + + Add a database + + + + + Edit the database + + + + + Remove the database + + + + + Connect to the database + + + + + Disconnect from the database + + + + + Import + + + + + Export the database + + + + + Convert database type + + + + + Vacuum + + + + + Integrity check + + + + + Create a table + + + + + Edit the table + + + + + Delete the table + + + + + Export the table + + + + + Import into the table + + + + + Populate table + + + + + Create similar table + + + + + Reset autoincrement sequence + + + + + Create an index + + + + + Edit the index + + + + + Delete the index + + + + + Create a trigger + + + + + Edit the trigger + + + + + Delete the trigger + + + + + Create a view + + + + + Edit the view + + + + + Delete the view + + + + + Add a column + + + + + Edit the column + + + + + Delete the column + + + + + Delete selected items + + + + + Clear filter + + + + + Refresh all database schemas + + + + + Refresh selected database schema + + + + + + Database + + + + + Grouping + + + + + + Create group + + + + + Group name + + + + + Entry with name %1 already exists in group %2. + + + + + Delete group + + + + + Are you sure you want to delete group %1? +All objects from this group will be moved to parent group. + + + + + Delete database + + + + + Are you sure you want to delete database '%1'? + + + + + + Cannot import, because no import plugin is loaded. + + + + + + Cannot export, because no export plugin is loaded. + + + + + Error while executing VACUUM on the database %1: %2 + + + + + VACUUM execution finished successfully. + + + + + Integrity check (%1) + + + + + Reset autoincrement + + + + + Are you sure you want to reset autoincrement value for table '%1'? + + + + + An error occurred while trying to reset autoincrement value for table '%1': %2 + + + + + Autoincrement value for table '%1' has been reset successfly. + + + + + Following objects will be deleted: %1. + + + + + Following databases will be removed from list: %1. + + + + + Remainig objects from deleted group will be moved in place where the group used to be. + + + + + %1<br><br>Are you sure you want to continue? + + + + + Delete objects + + + + + DbTreeItemDelegate + + + error + dbtree labels + + + + + (system table) + database tree label + + + + + (virtual) + virtual table label + + + + + (system index) + database tree label + + + + + DbTreeModel + + + Database: %1 + dbtree tooltip + + + + + Version: + dbtree tooltip + + + + + File size: + dbtree tooltip + + + + + Encoding: + dbtree tooltip + + + + + Error details: + dbtree tooltip + + + + + Table : %1 + dbtree tooltip + + + + + Columns (%1): + dbtree tooltip + + + + + Indexes (%1): + dbtree tooltip + + + + + Triggers (%1): + dbtree tooltip + + + + + Copy + + + + + Move + + + + + Include data + + + + + Include indexes + + + + + Include triggers + + + + + Abort + + + + + Referenced tables + + + + + Do you want to include following referenced tables as well: +%1 + + + + + Name conflict + + + + + Following object already exists in the target database. +Please enter new, unique name, or press '%1' to abort the operation: + + + + + SQL statements conversion + + + + + Following error occurred while converting SQL statements to the target SQLite version: + + + + + Would you like to ignore those errors and proceed? + + + + + DdlHistoryWindow + + + Filter by database: + + + + + -- Queries executed on database %1 (%2) +-- Date and time of execution: %3 +%4 + + + + + DDL history + + + + + DdlPreviewDialog + + + Queries to be executed + + + + + Don't show again + + + + + DebugConsole + + + SQLiteStudio Debug Console + + + + + EditorWindow + + + Query + + + + + History + + + + + Results in the separate tab + + + + + Results below the query + + + + + + SQL editor %1 + + + + + Results + + + + + Execute query + + + + + Explain query + + + + + Clear execution history + sql editor + + + + + Export results + sql editor + + + + + Create view from query + sql editor + + + + + Previous database + + + + + Next database + + + + + Show next tab + sql editor + + + + + Show previous tab + sql editor + + + + + Focus results below + sql editor + + + + + Focus SQL editor above + sql editor + + + + + Active database (%1/%2) + + + + + Query finished in %1 second(s). Rows affected: %2 + + + + + Query finished in %1 second(s). + + + + + Clear execution history + + + + + Are you sure you want to erase the entire SQL execution history? This cannot be undone. + + + + + Cannot export, because no export plugin is loaded. + + + + + No database selected in the SQL editor. Cannot create a view for unknown database. + + + + + Editor window "%1" has uncommited data. + + + + + ErrorsConfirmDialog + + + Errors + + + + + Following errors occured: + + + + + Would you like to proceed? + + + + + ExportDialog + + + Export + + + + + What do you want to export? + + + + + A database + + + + + A single table + + + + + Query results + + + + + Table to export + + + + + Database + + + + + Table + + + + + Options + + + + + When this option is unchecked, then only table DDL (CREATE TABLE statement) is exported. + + + + + Export table data + + + + + Export table indexes + + + + + Export table triggers + + + + + Note, that exporting table indexes and triggers may be unsupported by some output formats. + + + + + Select database objects to export + + + + + Export data from tables + + + + + Select all + + + + + Deselect all + + + + + + Database: + + + + + Query to export results for + + + + + Query to be executed for results: + + + + + Export format and options + + + + + Export format + + + + + Output + + + + + Exported file path + + + + + Clipboard + + + + + File + + + + + Exported text encoding: + + + + + Export format options + + + + + Cancel + + + + + + + Select database to export. + + + + + Select table to export. + + + + + Enter valid query to export. + + + + + Select at least one object to export. + + + + + You must provide a file name to export to. + + + + + Path you provided is an existing directory. You cannot overwrite it. + + + + + The directory '%1' does not exist. + + + + + The file '%1' exists and will be overwritten. + + + + + All files (*) + + + + + Pick file to export to + + + + + Internal error during export. This is a bug. Please report it. + + + + + FontEdit + + + Choose font + font configuration + + + + + Form + + + Active SQL formatter plugin + + + + + FormView + + + Commit row + form view + + + + + Rollback row + form view + + + + + First row + form view + + + + + Previous row + form view + + + + + Next row + form view + + + + + Last row + form view + + + + + Insert new row + form view + + + + + Delete current row + form view + + + + + FunctionsEditor + + + Filter funtions + + + + + Function name: + + + + + Implementation language: + + + + + Type: + + + + + Input arguments + + + + + Undefined + + + + + Databases + + + + + Register in all databases + + + + + Register in following databases: + + + + + Initialization code: + + + + + + Function implementation code: + + + + + Final step implementation code: + + + + + SQL function editor + + + + + Commit all function changes + + + + + Rollback all function changes + + + + + Create new function + + + + + Delete selected function + + + + + Custom SQL functions manual + + + + + Add function argument + + + + + Rename function argument + + + + + Delete function argument + + + + + Move function argument up + + + + + Move function argument down + + + + + Scalar + + + + + Aggregate + + + + + Enter a non-empty, unique name of the function. + + + + + Pick the implementation language. + + + + + Per step code: + + + + + Enter a non-empty implementation code. + + + + + argument + new function argument name in function editor window + + + + + Functions editor window has uncommited modifications. + + + + + ImportDialog + + + Import data + + + + + Table to import to + + + + + Table + + + + + Database + + + + + Data source to import from + + + + + Data source type + + + + + Options + + + + + Input file: + + + + + Text encoding: + + + + + Data source options + + + + + Cancel + + + + + If you type table name that doesn't exist, it will be created. + + + + + Enter the table name + + + + + Select import plugin. + + + + + You must provide a file to import from. + + + + + The file '%1' does not exist. + + + + + Path you provided is a directory. A regular file is required. + + + + + Pick file to import from + + + + + IndexDialog + + + + Index + + + + + On table: + + + + + Index name: + + + + + Partial index condition + + + + + Unique index + + + + + Column + + + + + Collation + + + + + Sort + + + + + DDL + + + + + Tried to open index dialog for closed or inexisting database. + + + + + Could not process index %1 correctly. Unable to open an index dialog. + + + + + Pick the table for the index. + + + + + Select at least one column. + + + + + Enter a valid condition. + + + + + default + index dialog + + + + + Sort order + table constraints + + + + + + Error + index dialog + + + + + Cannot create unique index, because values in selected columns are not unique. Would you like to execute SELECT query to see problematic values? + + + + + An error occurred while executing SQL statements: +%1 + + + + + LanguageDialog + + + Language + + + + + Please choose language: + + + + + MainWindow + + + Database toolbar + + + + + Structure toolbar + + + + + Tools + + + + + Window list + + + + + View toolbar + + + + + Configuration widgets + + + + + Syntax highlighting engines + + + + + Data editors + + + + + Running in debug mode. Press %1 or use 'Help / Open debug console' menu entry to open the debug console. + + + + + Running in debug mode. Debug messages are printed to the standard output. + + + + + You need to restart application to make the language change take effect. + + + + + Open SQL editor + + + + + Open DDL history + + + + + Open SQL functions editor + + + + + Open collations editor + + + + + Import + + + + + Export + + + + + Open configuration dialog + + + + + Tile windows + + + + + Tile windows horizontally + + + + + Tile windows vertically + + + + + Cascade windows + + + + + Next window + + + + + Previous window + + + + + Hide status field + + + + + Close selected window + + + + + Close all windows but selected + + + + + Close all windows + + + + + Restore recently closed window + + + + + Rename selected window + + + + + Open Debug Console + + + + + Report a bug + + + + + Propose a new feature + + + + + About + + + + + Licenses + + + + + Open home page + + + + + Open forum page + + + + + User Manual + + + + + SQLite documentation + + + + + Report history + + + + + Check for updates + + + + + Database + menubar + + + + + Structure + menubar + + + + + View + menubar + + + + + Window list + menubar view menu + + + + + Tools + menubar + + + + + Help + + + + + Could not set style: %1 + main window + + + + + Cannot export, because no export plugin is loaded. + + + + + Cannot import, because no import plugin is loaded. + + + + + Rename window + + + + + Enter new name for the window: + + + + + New updates are available. <a href="%1">Click here for details</a>. + + + + + You're running the most recent version. No updates are available. + + + + + Database passed in command line parameters (%1) was already on the list under name: %2 + + + + + Database passed in command line parameters (%1) has been temporarily added to the list under name: %2 + + + + + Could not add database %1 to list. + + + + + MdiWindow + + + Uncommited changes + + + + + Close anyway + + + + + Don't close + + + + + MultiEditor + + + Null value + multieditor + + + + + Configure editors for this data type + + + + + Data editor plugin '%1' not loaded, while it is defined for editing '%1' data type. + + + + + Deleted + multieditor + + + + + Read only + multieditor + + + + + MultiEditorBool + + + Boolean + + + + + MultiEditorDate + + + Date + + + + + MultiEditorDateTime + + + Date & time + + + + + MultiEditorHex + + + Hex + + + + + MultiEditorNumeric + + + Number + numeric multi editor tab name + + + + + MultiEditorText + + + Text + + + + + Tab changes focus + + + + + Cut + + + + + Copy + + + + + Paste + + + + + Delete + + + + + Undo + + + + + Redo + + + + + MultiEditorTime + + + Time + + + + + NewConstraintDialog + + + New constraint + + + + + + Primary Key + new constraint dialog + + + + + + Foreign Key + new constraint dialog + + + + + + Unique + new constraint dialog + + + + + + Check + new constraint dialog + + + + + Not NULL + new constraint dialog + + + + + Collate + new constraint dialog + + + + + Default + new constraint dialog + + + + + NewVersionDialog + + + SQLiteStudio updates + + + + + New updates are available! + + + + + Component + + + + + Current version + + + + + Update version + + + + + Check for updates on startup + + + + + Update to new version! + + + + + The update will be automatically downloaded and installed. This will also restart application at the end. + + + + + Not now. + + + + + Don't install the update and close this window. + + + + + PopulateConfigDialog + + + Populating configuration + + + + + Configuring <b>%1</b> for column <b>%2</b> + + + + + PopulateDialog + + + Populate table + + + + + Database + + + + + Table + + + + + Columns + + + + + Number of rows to populate: + + + + + Populate + populate dialog button + + + + + Configure + + + + + Populating configuration for this column is invalid or incomplete. + + + + + Select database with table to populate + + + + + Select table to populate + + + + + You have to select at least one column. + + + + + QObject + + + Cannot edit columns that are result of compound %1 statements (one that includes %2, %3 or %4 keywords). + + + + + The query execution mechanism had problems with extracting ROWID's properly. This might be a bug in the application. You may want to report this. + + + + + Requested column is a result of SQL expression, instead of a simple column selection. Such columns cannot be edited. + + + + + Requested column belongs to restricted SQLite table. Those tables cannot be edited directly. + + + + + Cannot edit results of query other than %1. + + + + + Cannot edit columns that are result of aggregated %1 statements. + + + + + Cannot edit columns that are result of %1 statement. + + + + + Cannot edit columns that are result of common table expression statement (%1). + + + + + + + + on conflict: %1 + data view tooltip + + + + + references table %1, column %2 + data view tooltip + + + + + condition: %1 + data view tooltip + + + + + collation name: %1 + data view tooltip + + + + + Data grid view + + + + + Copy cell(s) contents to clipboard + + + + + Paste cell(s) contents from clipboard + + + + + Set empty value to selected cell(s) + + + + + Set NULL value to selected cell(s) + + + + + Commit changes to cell(s) contents + + + + + Rollback changes to cell(s) contents + + + + + Delete selected data row + + + + + Insert new data row + + + + + Open contents of selected cell in a separate editor + + + + + Total pages available: %1 + + + + + Total rows loaded: %1 + + + + + Data view (both grid and form) + + + + + Refresh data + + + + + Switch to grid view of the data + + + + + Switch to form view of the data + + + + + Database list + + + + + Delete selected item + + + + + Clear filter contents + + + + + Refresh schema + + + + + Refresh all schemas + + + + + Add database + + + + + Select all items + + + + + Copy selected item(s) + + + + + + + Paste from clipboard + + + + + Tables + + + + + Indexes + + + + + Triggers + + + + + Views + + + + + Columns + + + + + Data form view + + + + + Commit changes for current row + + + + + Rollback changes for current row + + + + + Go to first row on current page + + + + + Go to next row + + + + + Go to previous row + + + + + Go to last row on current page + + + + + Insert new row + + + + + Delete current row + + + + + Main window + + + + + Open SQL editor + + + + + Previous window + + + + + Next window + + + + + Hide status area + + + + + Open configuration dialog + + + + + Open Debug Console + + + + + Cell text value editor + + + + + + Cut selected text + + + + + + Copy selected text + + + + + + Delete selected text + + + + + + Undo + + + + + + Redo + + + + + SQL editor input field + + + + + Select whole editor contents + + + + + Save contents into a file + + + + + Load contents from a file + + + + + Find in text + + + + + Find next + + + + + Find previous + + + + + Replace in text + + + + + Delete current line + + + + + Request code assistant + + + + + Format contents + + + + + Move selected block of text one line down + + + + + Move selected block of text one line up + + + + + Copy selected block of text and paste it a line below + + + + + Copy selected block of text and paste it a line above + + + + + All SQLite databases + + + + + All files + + + + + Database file + + + + + Reports history window + + + + + Delete selected entry + + + + + SQL editor window + + + + + Execute query + + + + + Execute "%1" query + + + + + Switch current working database to previous on the list + + + + + Switch current working database to next on the list + + + + + Go to next editor tab + + + + + Go to previous editor tab + + + + + Move keyboard input focus to the results view below + + + + + Move keyboard input focus to the SQL editor above + + + + + Table window + + + + + Refresh table structure + + + + + Add new column + + + + + Edit selected column + + + + + Delete selected column + + + + + Export table data + + + + + Import data to the table + + + + + Add new table constraint + + + + + Edit selected table constraint + + + + + Delete selected table constraint + + + + + Refresh table index list + + + + + Add new index + + + + + Edit selected index + + + + + Delete selected index + + + + + Refresh table trigger list + + + + + + Add new trigger + + + + + + Edit selected trigger + + + + + + Delete selected trigger + + + + + + Go to next tab + + + + + + Go to previous tab + + + + + A view window + + + + + Refresh view trigger list + + + + + QuitConfirmDialog + + + Uncommited changes + + + + + Are you sure you want to quit the application? + +Following items are pending: + + + + + SearchTextDialog + + + Find or replace + + + + + Find: + + + + + Case sensitive + + + + + Search backwards + + + + + Regular expression matching + + + + + Replace && +find next + + + + + Replace with: + + + + + Replace all + + + + + Find + + + + + SortDialog + + + Sort by columns + + + + + + Column + + + + + + Order + + + + + Sort by: %1 + + + + + Move column up + + + + + Move column down + + + + + SqlEditor + + + Cut + sql editor + + + + + Copy + sql editor + + + + + Paste + sql editor + + + + + Delete + sql editor + + + + + Select all + sql editor + + + + + Undo + sql editor + + + + + Redo + sql editor + + + + + Complete + sql editor + + + + + Format SQL + sql editor + + + + + Save SQL to file + sql editor + + + + + Load SQL from file + sql editor + + + + + Delete line + sql editor + + + + + Move block down + sql editor + + + + + Move block up + sql editor + + + + + Copy block down + sql editor + + + + + Copy up down + sql editor + + + + + Find + sql editor + + + + + Find next + sql editor + + + + + Find previous + sql editor + + + + + Replace + sql editor + + + + + Syntax completion can be used only when a valid database is set for the SQL editor. + + + + + Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled. + + + + + Save to file + + + + + Could not open file '%1' for writing: %2 + + + + + SQL scripts (*.sql);;All files (*) + + + + + Open file + + + + + Could not open file '%1' for reading: %2 + + + + + Reached the end of document. Hit the find again to restart the search. + + + + + SqlQueryItem + + + Column: + data view tooltip + + + + + Data type: + data view + + + + + Table: + data view tooltip + + + + + Constraints: + data view tooltip + + + + + This cell is not editable, because: %1 + + + + + Cannot load the data for a cell that refers to the already closed database. + + + + + SqlQueryItemDelegate + + + + Cannot edit this cell. Details: %2 + + + + + The row is marked for deletion. + + + + + SqlQueryModel + + + + Only one query can be executed simultaneously. + + + + + Uncommited data + + + + + There are uncommited data changes. Do you want to proceed anyway? All uncommited changes will be lost. + + + + + Cannot commit the data for a cell that refers to the already closed database. + + + + + Could not begin transaction on the database. Details: %1 + + + + + An error occurred while commiting the transaction: %1 + + + + + An error occurred while rolling back the transaction: %1 + + + + + Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it. + + + + + An error occurred while commiting the data: %1 + + + + + + Error while executing SQL query on database '%1': %2 + + + + + Error while loading query results: %1 + + + + + Insert multiple rows + + + + + Number of rows to insert: + + + + + SqlQueryView + + + Copy + + + + + Copy as... + + + + + Paste + + + + + Paste as... + + + + + Set NULL values + + + + + Erase values + + + + + Edit value in editor + + + + + Commit + + + + + Rollback + + + + + Commit selected cells + + + + + Rollback selected cells + + + + + Define columns to sort by + + + + + Remove custom sorting + + + + + Insert row + + + + + Insert multiple rows + + + + + Delete selected row + + + + + Edit value + + + + + SqlTableModel + + + Error while commiting new row: %1 + + + + + Error while deleting row from table %1: %2 + + + + + StatusField + + + Status + + + + + Copy + + + + + Clear + + + + + TableConstraintsModel + + + Type + table constraints + + + + + Details + table constraints + + + + + Name + table constraints + + + + + TableForeignKeyPanel + + + Foreign table: + + + + + SQLite 2 does not support foreign keys officially, +but it's okay to use them anyway. + + + + + Columns + + + + + Local column + + + + + Foreign column + + + + + Reactions + + + + + Deferred foreign key + + + + + Named constraint + + + + + Constraint name + + + + + Pick the foreign column. + + + + + Pick the foreign table. + + + + + Select at least one foreign column. + + + + + Enter a name of the constraint. + + + + + Foreign column + table constraints + + + + + TablePrimaryKeyAndUniquePanel + + + Columns + + + + + Column + + + + + Collation + + + + + Sort + + + + + Valid only for a single column with INTEGER data type + + + + + Autoincrement + + + + + Named constraint + + + + + Constraint name + + + + + On conflict + + + + + Collate + table constraints + + + + + Sort order + table constraints + + + + + Select at least one column. + + + + + Enter a name of the constraint. + + + + + TableStructureModel + + + Name + table structure columns + + + + + Data type + table structure columns + + + + + Default value + table structure columns + + + + + TableWindow + + + Structure + + + + + Table name: + + + + + Data + + + + + Constraints + + + + + Indexes + + + + + Triggers + + + + + DDL + + + + + Export table + table window + + + + + Import data to table + table window + + + + + Populate table + table window + + + + + Refresh structure + table window + + + + + Commit structure changes + table window + + + + + Rollback structure changes + table window + + + + + Add column + table window + + + + + Edit column + table window + + + + + + Delete column + table window + + + + + Move column up + table window + + + + + Move column down + table window + + + + + Create similar table + table window + + + + + Reset autoincrement value + table window + + + + + Add table constraint + table window + + + + + Edit table constraint + table window + + + + + Delete table constraint + table window + + + + + Move table constraint up + table window + + + + + Move table constraint down + table window + + + + + Add table primary key + table window + + + + + Add table foreign key + table window + + + + + Add table unique constraint + table window + + + + + Add table check constraint + table window + + + + + Refresh index list + table window + + + + + Create index + table window + + + + + Edit index + table window + + + + + Delete index + table window + + + + + Refresh trigger list + table window + + + + + Create trigger + table window + + + + + Edit trigger + table window + + + + + Delete trigger + table window + + + + + Are you sure you want to delete column '%1'? + table window + + + + + Following problems will take place while modifying the table. +Would you like to proceed? + table window + + + + + Table modification + table window + + + + + Could not load data for table %1. Error details: %2 + + + + + Could not process the %1 table correctly. Unable to open a table window. + + + + + Could not restore window, because database %1 could not be resolved. + + + + + Could not restore window, because the table %1 doesn't exist in the database %2. + + + + + + New table %1 + + + + + Could not commit table structure. Error message: %1 + table window + + + + + Reset autoincrement + + + + + Are you sure you want to reset autoincrement value for table '%1'? + + + + + An error occurred while trying to reset autoincrement value for table '%1': %2 + + + + + Autoincrement value for table '%1' has been reset successfly. + + + + + Empty name + + + + + A blank name for the table is allowed in SQLite, but it is not recommended. +Are you sure you want to create a table with blank name? + + + + + Cannot create a table without at least one column. + + + + + Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key. + + + + + Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key. + + + + + Are you sure you want to delete table constraint '%1'? + table window + + + + + Delete constraint + table window + + + + + Cannot export, because no export plugin is loaded. + + + + + Cannot import, because no import plugin is loaded. + + + + + Uncommited changes + + + + + There are uncommited structure modifications. You cannot browse or edit data until you have table structure settled. +Do you want to commit the structure, or do you want to go back to the structure tab? + + + + + Go back to structure tab + + + + + Commit modifications and browse data. + + + + + Name + table window indexes + + + + + Unique + table window indexes + + + + + Columns + table window indexes + + + + + Partial index condition + table window indexes + + + + + Name + table window triggers + + + + + Event + table window triggers + + + + + Condition + table window triggers + + + + + Details + table window triggers + + + + + Table window "%1" has uncommited structure modifications and data. + + + + + Table window "%1" has uncommited data. + + + + + Table window "%1" has uncommited structure modifications. + + + + + TriggerColumnsDialog + + + Trigger columns + + + + + Triggering columns: + + + + + TriggerDialog + + + + Trigger + + + + + On table: + + + + + Action: + + + + + + <p>SQL condition that will be evaluated before the actual trigger code. In case the condition returns false, the trigger will not be fired for that row.</p> + + + + + Pre-condition: + + + + + The scope is still not fully supported by the SQLite database. + + + + + Trigger name: + + + + + When: + + + + + List of columns for UPDATE OF action. + + + + + Scope: + + + + + Code: + + + + + Trigger statements to be executed. + + + + + DDL + + + + + On view: + + + + + Could not process trigger %1 correctly. Unable to open a trigger dialog. + + + + + Enter a valid condition. + + + + + Enter a valid trigger code. + + + + + Error + trigger dialog + + + + + An error occurred while executing SQL statements: +%1 + + + + + VersionConvertSummaryDialog + + + Database version convert + + + + + Following changes to the SQL statements will be made: + + + + + Before + + + + + After + + + + + ViewWindow + + + Query + + + + + View name: + + + + + Data + + + + + Triggers + + + + + DDL + + + + + Could not restore window, because database %1 could not be resolved. + + + + + Could not restore window, because database %1 could not be open. + + + + + Could not restore window, because the view %1 doesn't exist in the database %2. + + + + + + New view %1 + + + + + Refresh the view + view window + + + + + Commit the view changes + view window + + + + + Rollback the view changes + view window + + + + + Refresh trigger list + view window + + + + + Create new trigger + view window + + + + + Edit selected trigger + view window + + + + + Delete selected trigger + view window + + + + + View window "%1" has uncommited structure modifications and data. + + + + + View window "%1" has uncommited data. + + + + + View window "%1" has uncommited structure modifications. + + + + + Could not load data for view %1. Error details: %2 + + + + + Uncommited changes + + + + + There are uncommited structure modifications. You cannot browse or edit data until you have the view structure settled. +Do you want to commit the structure, or do you want to go back to the structure tab? + + + + + Go back to structure tab + + + + + Commit modifications and browse data. + + + + + Could not commit view changes. Error message: %1 + view window + + + + + Name + view window triggers + + + + + Instead of + view window triggers + + + + + Condition + view window triggers + + + + + Details + table window triggers + + + + + Could not process the %1 view correctly. Unable to open a view window. + + + + + Empty name + + + + + A blank name for the view is allowed in SQLite, but it is not recommended. +Are you sure you want to create a view with blank name? + + + + + The SELECT statement could not be parsed. Please correct the query and retry. +Details: %1 + + + + + The view could not be modified due to internal SQLiteStudio error. Please report this! + + + + + The view code could not be parsed properly for execution. This is a SQLiteStudio's bug. Please report it. + + + + + Following problems will take place while modifying the view. +Would you like to proceed? + view window + + + + + View modification + view window + + + + + WidgetCover + + + Interrupt + + + + diff --git a/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.cpp b/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.cpp index 1b47433..fdbbac2 100644 --- a/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.cpp @@ -272,7 +272,7 @@ void TableWindow::editColumn(const QModelIndex& idx) SqliteCreateTable::Column* modifiedColumn = columnDialog.getModifiedColumn(); structureModel->replaceColumn(idx.row(), modifiedColumn); - ui->structureView->resizeColumnToContents(0); + resizeStructureViewColumns(); } void TableWindow::delColumn(const QModelIndex& idx) @@ -291,7 +291,7 @@ void TableWindow::delColumn(const QModelIndex& idx) return; structureModel->delColumn(idx.row()); - ui->structureView->resizeColumnToContents(0); + resizeStructureViewColumns(); } void TableWindow::executeStructureChanges() @@ -870,6 +870,7 @@ void TableWindow::addColumn() ui->structureView->resizeColumnToContents(0); ui->structureView->setCurrentIndex(structureModel->index(structureModel->rowCount()-1, 0)); + resizeStructureViewColumns(); } void TableWindow::editColumn() @@ -1040,6 +1041,13 @@ void TableWindow::applyInitialTab() ui->tabWidget->setCurrentIndex(0); } +void TableWindow::resizeStructureViewColumns() +{ + // Resize all except last one, to avoid shrinking the "extend to end" column. + for (int c = 0, total = (ui->structureView->horizontalHeader()->count() - 1); c < total; ++c) + ui->structureView->resizeColumnToContents(c); +} + void TableWindow::updateDdlTab() { createTable->rebuildTokens(); diff --git a/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.h b/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.h index 54d544f..69f210b 100644 --- a/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.h +++ b/SQLiteStudio3/guiSQLiteStudio/windows/tablewindow.h @@ -158,6 +158,7 @@ class GUI_API_EXPORT TableWindow : public MdiChild QString getCurrentIndex() const; QString getCurrentTrigger() const; void applyInitialTab(); + void resizeStructureViewColumns(); int newTableWindowNum = 1; diff --git a/SQLiteStudio3/lang.tcl b/SQLiteStudio3/lang.tcl index fd6b3d0..d9cacf9 100755 --- a/SQLiteStudio3/lang.tcl +++ b/SQLiteStudio3/lang.tcl @@ -93,14 +93,14 @@ switch -- $op { set data [read $fd] close $fd - set ts "${p}_$lang.ts" + set ts "${d}_$lang.ts" if {$op == "add"} { set data [string map [list "TRANSLATIONS += " "TRANSLATIONS += $ts \\\n\t\t"] $data] } else { regsub -- "$ts\\s*(\\\\)?\n\\s*" $data "" data } - set fd [open ../Plugins/$p/$p.pro w+] + set fd [open ../Plugins/$d/$d.pro w+] puts $fd $data close $fd diff --git a/SQLiteStudio3/plugins.pri b/SQLiteStudio3/plugins.pri index 19665ef..326e3e7 100644 --- a/SQLiteStudio3/plugins.pri +++ b/SQLiteStudio3/plugins.pri @@ -40,9 +40,10 @@ win32: { export(LIBS) } - contains(QT, gui) { - LIBS += -lguiSQLiteStudio - } + # Duplicated later on, not sure why yet. + #contains(QT, gui) { + # LIBS += -lguiSQLiteStudio + #} SO_NAME = ddl SO_PREFIX = lib diff --git a/SQLiteStudio3/sqlitestudio/main.cpp b/SQLiteStudio3/sqlitestudio/main.cpp index a5f297b..f2284a6 100644 --- a/SQLiteStudio3/sqlitestudio/main.cpp +++ b/SQLiteStudio3/sqlitestudio/main.cpp @@ -133,21 +133,25 @@ int main(int argc, char *argv[]) IconManager::getInstance()->rescanResources(); - if (!CFG_UI.General.LanguageAsked.get()) + if (!LanguageDialog::didAskForDefaultLanguage()) { - CFG_UI.General.LanguageAsked.set(true); + LanguageDialog::askedForDefaultLanguage(); QMap langs = getAvailableLanguages(); LanguageDialog dialog; dialog.setLanguages(langs); - dialog.setSelectedLang(CFG_CORE.General.Language.getDefultValue().toString()); + dialog.setSelectedLang(getConfigLanguageDefault()); if (dialog.exec() == QDialog::Accepted) - CFG_CORE.General.Language.set(dialog.getSelectedLang()); + setDefaultLanguage(dialog.getSelectedLang()); QProcess::startDetached(a.applicationFilePath(), QStringList()); return 0; } + // Shortcuts titles needs to be retranslated, because their titles were set initially in global scope, + // while translation files were not loaded yet. Now they are. + ExtActionContainer::refreshShortcutTranslations(); + MainWindow::getInstance()->restoreSession(); MainWindow::getInstance()->show(); diff --git a/SQLiteStudio3/sqlitestudio/sqlitestudio.pro b/SQLiteStudio3/sqlitestudio/sqlitestudio.pro index d1528aa..63d0d50 100644 --- a/SQLiteStudio3/sqlitestudio/sqlitestudio.pro +++ b/SQLiteStudio3/sqlitestudio/sqlitestudio.pro @@ -33,7 +33,14 @@ LIBS += -lcoreSQLiteStudio -lguiSQLiteStudio SOURCES += main.cpp -TRANSLATIONS += translations/sqlitestudio_pl.ts +TRANSLATIONS += translations/sqlitestudio_zh_CN.ts \ + translations/sqlitestudio_sk.ts \ + translations/sqlitestudio_de.ts \ + translations/sqlitestudio_ru.ts \ + translations/sqlitestudio_pt_BR.ts \ + translations/sqlitestudio_fr.ts \ + translations/sqlitestudio_es.ts \ + translations/sqlitestudio_pl.ts win32: { RC_FILE = windows.rc @@ -54,3 +61,14 @@ unix: { RESOURCES += \ sqlitestudio.qrc + + + + + + + + + + + diff --git a/SQLiteStudio3/sqlitestudio/sqlitestudio.qrc b/SQLiteStudio3/sqlitestudio/sqlitestudio.qrc index 5cc74d2..de49c48 100644 --- a/SQLiteStudio3/sqlitestudio/sqlitestudio.qrc +++ b/SQLiteStudio3/sqlitestudio/sqlitestudio.qrc @@ -1,5 +1,7 @@ translations/sqlitestudio_pl.qm + translations/sqlitestudio_ru.qm + translations/sqlitestudio_fr.qm diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_de.qm b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_de.qm differ diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_de.ts b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_de.ts new file mode 100644 index 0000000..65c406f --- /dev/null +++ b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_de.ts @@ -0,0 +1,63 @@ + + + + + QObject + + + GUI interface to SQLiteStudio, a SQLite manager. + + + + + Enables debug messages in console (accessible with F12). + + + + + Redirects debug messages into standard output (forces debug mode). + + + + + Enables Lemon parser debug messages for SQL code assistant. + + + + + Enables debugging of every single SQL query being sent to any database. + + + + + Limits SQL query messages to only the given <database>. + + + + + database + + + + + Lists plugins installed in the SQLiteStudio and quits. + + + + + file + + + + + Database file to open + + + + + + Error + + + + diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_es.qm b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_es.qm differ diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_es.ts b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_es.ts new file mode 100644 index 0000000..2e4f578 --- /dev/null +++ b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_es.ts @@ -0,0 +1,63 @@ + + + + + QObject + + + GUI interface to SQLiteStudio, a SQLite manager. + + + + + Enables debug messages in console (accessible with F12). + + + + + Redirects debug messages into standard output (forces debug mode). + + + + + Enables Lemon parser debug messages for SQL code assistant. + + + + + Enables debugging of every single SQL query being sent to any database. + + + + + Limits SQL query messages to only the given <database>. + + + + + database + + + + + Lists plugins installed in the SQLiteStudio and quits. + + + + + file + + + + + Database file to open + + + + + + Error + + + + diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_fr.qm b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_fr.qm new file mode 100644 index 0000000..0165b48 Binary files /dev/null and b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_fr.qm differ diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_fr.ts b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_fr.ts new file mode 100644 index 0000000..8ff363f --- /dev/null +++ b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_fr.ts @@ -0,0 +1,64 @@ + + + + + QObject + + + GUI interface to SQLiteStudio, a SQLite manager. + Interface GUI de SQLiteStudio un outil pour SQLite + + + + + Enables debug messages in console (accessible with F12). + Messages de déboguage avec la console(accessible avec F12). + + + + Redirects debug messages into standard output (forces debug mode). + Messages de déboguage redirigés vers sortie standard(mode déboguage forcé). + + + + Enables Lemon parser debug messages for SQL code assistant. + Message de déboguage avec l'analyseur Lemon pour un assistant code SQL. + + + + Enables debugging of every single SQL query being sent to any database. + Déboguage pour toutes requêtes SQL simple utilisé pour la plupart des bases de données. + + + + Limits SQL query messages to only the given <database>. + Limites des meesages de la requête SQL pour la <database>. + + + + database + Base de données + + + + Lists plugins installed in the SQLiteStudio and quits. + Listes des plugins installés dans SQLiteStudio et quitter. + + + + file + Fichier + + + + Database file to open + Fichier de la base de données à ouvrir + + + + + Error + Erreur + + + diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_pt_BR.qm b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_pt_BR.qm differ diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_pt_BR.ts b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_pt_BR.ts new file mode 100644 index 0000000..f549b1e --- /dev/null +++ b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_pt_BR.ts @@ -0,0 +1,63 @@ + + + + + QObject + + + GUI interface to SQLiteStudio, a SQLite manager. + + + + + Enables debug messages in console (accessible with F12). + + + + + Redirects debug messages into standard output (forces debug mode). + + + + + Enables Lemon parser debug messages for SQL code assistant. + + + + + Enables debugging of every single SQL query being sent to any database. + + + + + Limits SQL query messages to only the given <database>. + + + + + database + + + + + Lists plugins installed in the SQLiteStudio and quits. + + + + + file + + + + + Database file to open + + + + + + Error + + + + diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_ru.qm b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_ru.qm new file mode 100644 index 0000000..c8e1e69 Binary files /dev/null and b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_ru.qm differ diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_ru.ts b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_ru.ts new file mode 100644 index 0000000..3b24e3c --- /dev/null +++ b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_ru.ts @@ -0,0 +1,63 @@ + + + + + QObject + + + GUI interface to SQLiteStudio, a SQLite manager. + Графический интерфейс для SQLiteStudio, менеджера баз данных SQLite. + + + + Enables debug messages in console (accessible with F12). + Включает вывод отладочных сообщений в консоль (доступную по нажатию F12). + + + + Redirects debug messages into standard output (forces debug mode). + Перенаправляет отладочные сообщения в стандартный поток (принудительный отладочный режим). + + + + Enables Lemon parser debug messages for SQL code assistant. + Включает вывод отладочных сообщений анализатора Lemon для автодополнения SQL кода. + + + + Enables debugging of every single SQL query being sent to any database. + Включает отладку каждого запроса SQL, посылаемого к любой базе данных. + + + + Limits SQL query messages to only the given <database>. + Ограничивает сообщения запросов SQL только для указанной <базы данных>. + + + + database + база данных + + + + Lists plugins installed in the SQLiteStudio and quits. + Выводит список установленных в SQLiteStudio модулей и осуществляет выход. + + + + file + файл + + + + Database file to open + Файл базы данных для открытия + + + + + Error + Ошибка + + + diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_sk.qm b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_sk.qm differ diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_sk.ts b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_sk.ts new file mode 100644 index 0000000..1b4c3a2 --- /dev/null +++ b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_sk.ts @@ -0,0 +1,63 @@ + + + + + QObject + + + GUI interface to SQLiteStudio, a SQLite manager. + + + + + Enables debug messages in console (accessible with F12). + + + + + Redirects debug messages into standard output (forces debug mode). + + + + + Enables Lemon parser debug messages for SQL code assistant. + + + + + Enables debugging of every single SQL query being sent to any database. + + + + + Limits SQL query messages to only the given <database>. + + + + + database + + + + + Lists plugins installed in the SQLiteStudio and quits. + + + + + file + + + + + Database file to open + + + + + + Error + + + + diff --git a/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_zh_CN.qm b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/SQLiteStudio3/sqlitestudio/translations/sqlitestudio_zh_CN.qm @@ -0,0 +1 @@ + + + + + QObject + + + GUI interface to SQLiteStudio, a SQLite manager. + + + + + Enables debug messages in console (accessible with F12). + + + + + Redirects debug messages into standard output (forces debug mode). + + + + + Enables Lemon parser debug messages for SQL code assistant. + + + + + Enables debugging of every single SQL query being sent to any database. + + + + + Limits SQL query messages to only the given <database>. + + + + + database + + + + + Lists plugins installed in the SQLiteStudio and quits. + + + + + file + + + + + Database file to open + + + + + + Error + + + + diff --git a/SQLiteStudio3/sqlitestudiocli/cli.cpp b/SQLiteStudio3/sqlitestudiocli/cli.cpp index a663e84..0f527ac 100644 --- a/SQLiteStudio3/sqlitestudiocli/cli.cpp +++ b/SQLiteStudio3/sqlitestudiocli/cli.cpp @@ -222,13 +222,20 @@ void CLI::applyHistoryLimit() void CLI::openDbFile(const QString& path) { + Db* db = DBLIST->getByPath(path); + if (db) + { + println(tr("Database passed in command line parameters (%1) was already on the list under name: %2").arg(path, db->getName())); + return; + } + QString name = DBLIST->quickAddDb(path, QHash()); if (name.isNull()) { println(tr("Could not add database %1 to list.").arg(path)); return; } - Db* db = DBLIST->getByName(name); + db = DBLIST->getByName(name); setCurrentDb(db); } diff --git a/SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.pro b/SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.pro index 09cb2b9..8ee61f9 100644 --- a/SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.pro +++ b/SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.pro @@ -4,15 +4,15 @@ # #------------------------------------------------- +QT += core +QT -= gui + include($$PWD/../dirs.pri) OBJECTS_DIR = $$OBJECTS_DIR/sqlitestudiocli MOC_DIR = $$MOC_DIR/sqlitestudiocli UI_DIR = $$UI_DIR/sqlitestudiocli -QT += core -QT -= gui - TARGET = sqlitestudiocli CONFIG += console CONFIG -= app_bundle @@ -25,7 +25,14 @@ linux|portable { QMAKE_LFLAGS += -Wl,-rpath,./lib } -TRANSLATIONS += translations/sqlitestudiocli_pl.ts +TRANSLATIONS += translations/sqlitestudiocli_zh_CN.ts \ + translations/sqlitestudiocli_sk.ts \ + translations/sqlitestudiocli_de.ts \ + translations/sqlitestudiocli_ru.ts \ + translations/sqlitestudiocli_pt_BR.ts \ + translations/sqlitestudiocli_fr.ts \ + translations/sqlitestudiocli_es.ts \ + translations/sqlitestudiocli_pl.ts SOURCES += main.cpp \ cli.cpp \ @@ -104,3 +111,14 @@ unix: { RESOURCES += \ sqlitestudiocli.qrc + + + + + + + + + + + diff --git a/SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.qrc b/SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.qrc index ac0cb93..7a27dfe 100644 --- a/SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.qrc +++ b/SQLiteStudio3/sqlitestudiocli/sqlitestudiocli.qrc @@ -1,5 +1,7 @@ translations/sqlitestudiocli_pl.qm + translations/sqlitestudiocli_ru.qm + translations/sqlitestudiocli_fr.qm diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_de.qm b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_de.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_de.qm differ diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_de.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_de.ts new file mode 100644 index 0000000..887f13b --- /dev/null +++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_de.ts @@ -0,0 +1,736 @@ + + + + + CLI + + + Current database: %1 + + + + + No current working database is set. + + + + + Type %1 for help + + + + + Database passed in command line parameters (%1) was already on the list under name: %2 + + + + + Could not add database %1 to list. + + + + + closed + + + + + CliCommand + + + Usage: %1%2 + + + + + CliCommandAdd + + + Could not add database %1 to list. + + + + + Database added: %1 + + + + + adds new database to the list + + + + + Adds given database pointed by <path> with given <name> to list the databases list. The <name> 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. + + + + + name + CLI command syntax + + + + + path + CLI command syntax + + + + + CliCommandCd + + + Changed directory to: %1 + + + + + Could not change directory to: %1 + + + + + changes current working directory + + + + + Very similar command to 'cd' known from Unix systems and Windows. It requires a <path> argument to be passed, therefore calling %1 will always cause a change of the directory. To learn what's the current working directory use %2 command and to list contents of the current working directory use %3 command. + + + + + path + CLI command syntax + + + + + CliCommandClose + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + + + + + + Connection to database %1 closed. + + + + + No such database: %1. Use %2 to see list of known databases. + + + + + closes given (or current) database + + + + + Closes database connection. If the database was already closed, nothing happens. If <name> is provided, it should be name of the database to close (as printed by %1 command). The the <name> is not provided, then current working database is closed (see help for %2 for details). + + + + + name + CLI command syntax + + + + + CliCommandDbList + + + No current working database defined. + + + + + Databases: + + + + + + Name + CLI db name column + + + + + + Open + CLI connection state column + + + + + + Closed + CLI connection state column + + + + + + Connection + CLI connection state column + + + + + + Database file path + + + + + prints list of registered databases + + + + + 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 '*' at the start of its name. See help for %2 command to learn about the default database. + + + + + CliCommandDesc + + + shows details about the table + + + + + table + + + + + CliCommandDir + + + lists directories and files in current working directory + + + + + This is very similar to 'dir' command known from Windows and 'ls' command from Unix systems. + +You can pass <pattern> with wildcard characters to filter output. + + + + + pattern + + + + + CliCommandExit + + + quits the application + + + + + Quits the application. Settings are stored in configuration file and will be restored on next startup. + + + + + CliCommandHelp + + + shows this help message + + + + + 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 <command> name, you can skip special prefix character ('%3'). + +You can always execute any command with exactly single '--help' option to see help for that command. It's an alternative for typing: %1 <command>. + + + + + command + CLI command syntax + + + + + No such command: %1 + + + + + Type '%1' for list of available commands. + + + + + Usage: %1%2 + + + + + Aliases: %1 + + + + + CliCommandHistory + + + Current history limit is set to: %1 + + + + + prints history or erases it + + + + + 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. + + + + + number + + + + + Console history erased. + + + + + Invalid number: %1 + + + + + History limit set to %1 + + + + + CliCommandMode + + + Current results printing mode: %1 + + + + + Invalid results printing mode: %1 + + + + + New results printing mode: %1 + + + + + tells or changes the query results format + + + + + When called without argument, tells the current output format for a query results. When the <mode> 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'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'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'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't expect many rows to be displayed, because this mode displays a line of output per each column, so you'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). + + + + + CliCommandNullValue + + + Current NULL representation string: %1 + + + + + tells or changes the NULL representation string + + + + + If no argument was passed, it tells what'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's used as a new string to be used for NULL representation. + + + + + CliCommandOpen + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + + + + + Could not add database %1 to list. + + + + + File %1 doesn't exist in %2. Cannot open inexisting database with %3 command. To create a new database, use %4 command. + + + + + Database %1 has been open and set as the current working database. + + + + + opens database connection + + + + + 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 <name> of the registered database to open, or it can be <path> to the database file to open. In the second case, the <path> 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. + + + + + name + CLI command syntax + + + + + path + CLI command syntax + + + + + CliCommandPwd + + + prints the current working directory + + + + + This is the same as 'pwd' command on Unix systems and 'cd' 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. + + + + + CliCommandRemove + + + No such database: %1 + + + + + Database removed: %1 + + + + + New current database set: + + + + + removes database from the list + + + + + Removes <name> 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. + + + + + name + CLI command syntax + + + + + CliCommandSql + + + No working database is set. +Call %1 command to set working database. +Call %2 to see list of all databases. + + + + + Database is not open. + + + + + executes SQL query + + + + + 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's no sense in executing this command explicitly. Instead just type the SQL query in the command prompt, without any command prefixed. + + + + + sql + CLI command syntax + + + + + + Too many columns to display in %1 mode. + + + + + Row %1 + + + + + Query execution error: %1 + + + + + CliCommandTables + + + No such database: %1. Use %2 to see list of known databases. + + + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + + + + + Database %1 is closed. + + + + + + Database + + + + + Table + + + + + prints list of tables in the database + + + + + Prints list of tables in given <database> or in the current working database. Note, that the <database> 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. + + + + + database + CLI command syntax + + + + + CliCommandTree + + + No current working database is selected. Use %1 to define one and then run %2. + + + + + Tables + + + + + Views + + + + + Columns + + + + + Indexes + + + + + + Triggers + + + + + prints all objects in the database as a tree + + + + + 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's an internal SQLite database name, like 'main', 'temp', 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. + + + + + CliCommandUse + + + No current database selected. + + + + + + Current database: %1 + + + + + No such database: %1 + + + + + changes default working database + + + + + Changes current working database to <name>. If the <name> 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. + + + + + name + CLI command syntax + + + + + QObject + + + Insufficient number of arguments. + + + + + Too many arguments. + + + + + Invalid argument value: %1. +Expected one of: %2 + + + + + Unknown option: %1 + CLI command syntax + + + + + Option %1 requires an argument. + CLI command syntax + + + + + string + CLI command syntax + + + + + Command line interface to SQLiteStudio, a SQLite manager. + + + + + Enables debug messages on standard error output. + + + + + Enables Lemon parser debug messages for SQL code assistant. + + + + + Lists plugins installed in the SQLiteStudio and quits. + + + + + file + + + + + Database file to open + + + + diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_es.qm b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_es.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_es.qm differ diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_es.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_es.ts new file mode 100644 index 0000000..bd93869 --- /dev/null +++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_es.ts @@ -0,0 +1,736 @@ + + + + + CLI + + + Current database: %1 + + + + + No current working database is set. + + + + + Type %1 for help + + + + + Database passed in command line parameters (%1) was already on the list under name: %2 + + + + + Could not add database %1 to list. + + + + + closed + + + + + CliCommand + + + Usage: %1%2 + + + + + CliCommandAdd + + + Could not add database %1 to list. + + + + + Database added: %1 + + + + + adds new database to the list + + + + + Adds given database pointed by <path> with given <name> to list the databases list. The <name> 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. + + + + + name + CLI command syntax + + + + + path + CLI command syntax + + + + + CliCommandCd + + + Changed directory to: %1 + + + + + Could not change directory to: %1 + + + + + changes current working directory + + + + + Very similar command to 'cd' known from Unix systems and Windows. It requires a <path> argument to be passed, therefore calling %1 will always cause a change of the directory. To learn what's the current working directory use %2 command and to list contents of the current working directory use %3 command. + + + + + path + CLI command syntax + + + + + CliCommandClose + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + + + + + + Connection to database %1 closed. + + + + + No such database: %1. Use %2 to see list of known databases. + + + + + closes given (or current) database + + + + + Closes database connection. If the database was already closed, nothing happens. If <name> is provided, it should be name of the database to close (as printed by %1 command). The the <name> is not provided, then current working database is closed (see help for %2 for details). + + + + + name + CLI command syntax + + + + + CliCommandDbList + + + No current working database defined. + + + + + Databases: + + + + + + Name + CLI db name column + + + + + + Open + CLI connection state column + + + + + + Closed + CLI connection state column + + + + + + Connection + CLI connection state column + + + + + + Database file path + + + + + prints list of registered databases + + + + + 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 '*' at the start of its name. See help for %2 command to learn about the default database. + + + + + CliCommandDesc + + + shows details about the table + + + + + table + + + + + CliCommandDir + + + lists directories and files in current working directory + + + + + This is very similar to 'dir' command known from Windows and 'ls' command from Unix systems. + +You can pass <pattern> with wildcard characters to filter output. + + + + + pattern + + + + + CliCommandExit + + + quits the application + + + + + Quits the application. Settings are stored in configuration file and will be restored on next startup. + + + + + CliCommandHelp + + + shows this help message + + + + + 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 <command> name, you can skip special prefix character ('%3'). + +You can always execute any command with exactly single '--help' option to see help for that command. It's an alternative for typing: %1 <command>. + + + + + command + CLI command syntax + + + + + No such command: %1 + + + + + Type '%1' for list of available commands. + + + + + Usage: %1%2 + + + + + Aliases: %1 + + + + + CliCommandHistory + + + Current history limit is set to: %1 + + + + + prints history or erases it + + + + + 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. + + + + + number + + + + + Console history erased. + + + + + Invalid number: %1 + + + + + History limit set to %1 + + + + + CliCommandMode + + + Current results printing mode: %1 + + + + + Invalid results printing mode: %1 + + + + + New results printing mode: %1 + + + + + tells or changes the query results format + + + + + When called without argument, tells the current output format for a query results. When the <mode> 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'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'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'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't expect many rows to be displayed, because this mode displays a line of output per each column, so you'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). + + + + + CliCommandNullValue + + + Current NULL representation string: %1 + + + + + tells or changes the NULL representation string + + + + + If no argument was passed, it tells what'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's used as a new string to be used for NULL representation. + + + + + CliCommandOpen + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + + + + + Could not add database %1 to list. + + + + + File %1 doesn't exist in %2. Cannot open inexisting database with %3 command. To create a new database, use %4 command. + + + + + Database %1 has been open and set as the current working database. + + + + + opens database connection + + + + + 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 <name> of the registered database to open, or it can be <path> to the database file to open. In the second case, the <path> 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. + + + + + name + CLI command syntax + + + + + path + CLI command syntax + + + + + CliCommandPwd + + + prints the current working directory + + + + + This is the same as 'pwd' command on Unix systems and 'cd' 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. + + + + + CliCommandRemove + + + No such database: %1 + + + + + Database removed: %1 + + + + + New current database set: + + + + + removes database from the list + + + + + Removes <name> 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. + + + + + name + CLI command syntax + + + + + CliCommandSql + + + No working database is set. +Call %1 command to set working database. +Call %2 to see list of all databases. + + + + + Database is not open. + + + + + executes SQL query + + + + + 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's no sense in executing this command explicitly. Instead just type the SQL query in the command prompt, without any command prefixed. + + + + + sql + CLI command syntax + + + + + + Too many columns to display in %1 mode. + + + + + Row %1 + + + + + Query execution error: %1 + + + + + CliCommandTables + + + No such database: %1. Use %2 to see list of known databases. + + + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + + + + + Database %1 is closed. + + + + + + Database + + + + + Table + + + + + prints list of tables in the database + + + + + Prints list of tables in given <database> or in the current working database. Note, that the <database> 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. + + + + + database + CLI command syntax + + + + + CliCommandTree + + + No current working database is selected. Use %1 to define one and then run %2. + + + + + Tables + + + + + Views + + + + + Columns + + + + + Indexes + + + + + + Triggers + + + + + prints all objects in the database as a tree + + + + + 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's an internal SQLite database name, like 'main', 'temp', 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. + + + + + CliCommandUse + + + No current database selected. + + + + + + Current database: %1 + + + + + No such database: %1 + + + + + changes default working database + + + + + Changes current working database to <name>. If the <name> 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. + + + + + name + CLI command syntax + + + + + QObject + + + Insufficient number of arguments. + + + + + Too many arguments. + + + + + Invalid argument value: %1. +Expected one of: %2 + + + + + Unknown option: %1 + CLI command syntax + + + + + Option %1 requires an argument. + CLI command syntax + + + + + string + CLI command syntax + + + + + Command line interface to SQLiteStudio, a SQLite manager. + + + + + Enables debug messages on standard error output. + + + + + Enables Lemon parser debug messages for SQL code assistant. + + + + + Lists plugins installed in the SQLiteStudio and quits. + + + + + file + + + + + Database file to open + + + + diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_fr.qm b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_fr.qm new file mode 100644 index 0000000..289a90f Binary files /dev/null and b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_fr.qm differ diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_fr.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_fr.ts new file mode 100644 index 0000000..3d10f87 --- /dev/null +++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_fr.ts @@ -0,0 +1,776 @@ + + + + + CLI + + + Current database: %1 + Base de données actuelle: %1 + + + + No current working database is set. + Aucune base de données en cours n'est activée. + + + + Type %1 for help + Touche %1 pour l'aide + + + + Database passed in command line parameters (%1) was already on the list under name: %2 + + + + + Could not add database %1 to list. + Impossible d'ajouter la base de données %1 à la liste. + + + + closed + Fermé + + + + CliCommand + + + Usage: %1%2 + Uttilisation: %1%2 + + + + CliCommandAdd + + + Could not add database %1 to list. + Impossible d'ajouter le base de données %1 à la liste. + + + + Database added: %1 + Base de données ajoutée: %1 + + + + adds new database to the list + Ajoutez la nouvelle base de données à la liste + + + + Adds given database pointed by <path> with given <name> to list the databases list. The <name> 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. + Ajoutez la base de données pointée par <path>nommée <name>à la liste des baszs de données. Le nom<name>est seulement un nom symbilique que vous pourrez y référer. Choississez un nom unique. Pour une base de données figuant dans la liste utilisez la commande %1. + + + + name + CLI command syntax + Nom + + + + path + CLI command syntax + Chemin + + + + CliCommandCd + + + Changed directory to: %1 + Renommer le repertoire en: %1 + + + + Could not change directory to: %1 + Impossible de renommer le répertoire en: %1 + + + + changes current working directory + Modifiezle répertoire de travail actuel + + + + Very similar command to 'cd' known from Unix systems and Windows. It requires a <path> argument to be passed, therefore calling %1 will always cause a change of the directory. To learn what's the current working directory use %2 command and to list contents of the current working directory use %3 command. + La commande 'cd' est connu du système UNIX et Windows. Elle nécessite le paramètre <chemin> passé avant l'appel %1 qui occasionnera une modification du répertoire. Pour connaitre qu'elle est le répertoire courant utiliser la commande %2 et pour lister le contenu de celui-ci utilisez la commande %3. + + + + path + CLI command syntax + Chemin + + + + CliCommandClose + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + Impossible d'appeler %1 lorsqu'aucune base de données n'est active. Spécifiez la base de données active avec la commande %2 ou par le nom de la base de données par %3. + + + + + Connection to database %1 closed. + Connexion à la base de données %1 fermée. + + + + No such database: %1. Use %2 to see list of known databases. + Aucune base de données:%1. Utilisez %2 pour avoir la liste des bases de données connues. + + + + closes given (or current) database + Fermeture d'une de données sélectionnées (ou actuelle) + + + + Closes database connection. If the database was already closed, nothing happens. If <name> is provided, it should be name of the database to close (as printed by %1 command). The the <name> is not provided, then current working database is closed (see help for %2 for details). + Fermeture de base de données connectée. . Si la base est déjà fermée, aucune action. Si <name> est fourni, c'est celle ainsi qui sera close (as printed by %1 command). Si <name> n'est pas fourni, la base actuelle est close (voir l'aide %2 pour plus de détails). + + + + name + CLI command syntax + Nom + + + + CliCommandDbList + + + No current working database defined. + Aucune base de données actuelle n'est définie. + + + + Databases: + Base de données: + + + + + Name + CLI db name column + Nom + + + + + Open + CLI connection state column + Ouvrir + + + + + Closed + CLI connection state column + Fermer + + + + + Connection + CLI connection state column + Connexion + + + + + Database file path + Chemin de la base de données + + + + prints list of registered databases + Imprimer la liste des bases de données enregistrées + + + + 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 '*' at the start of its name. See help for %2 command to learn about the default database. + Imprimez la liste des bases de données enregistrées sous SQLiteStudio. Chaque base se données de la liste peut être ouverte ou close et %1 vous indique lesquellest.La base de données actuelle est aussi marquée dans la liste par '*' en début de nom. Voir l'aide la commande %2 pour en savoir plus sur la base de données actuelle. + + + + CliCommandDesc + + + shows details about the table + Affichage des détails de la table + + + + table + Table + + + + CliCommandDir + + + lists directories and files in current working directory + Listes des répertoires et fichiers dans le répertoire de travail + + + + This is very similar to 'dir' command known from Windows and 'ls' command from Unix systems. + +You can pass <pattern> with wildcard characters to filter output. + Ceci est très semblable à la commande 'dir' de Windows et à la commande de 'ls' de systèmes Unix. + +You pouvez utiliser les caractères de remplacement <pattern> npour filtrer la sortie. + + + + pattern + Modèle + + + + CliCommandExit + + + quits the application + Quitter l'application + + + + Quits the application. Settings are stored in configuration file and will be restored on next startup. + Quittez l'apllication. Le paramètrage est stocké dans la configuration et sera restauré au prochain lancement. + + + + CliCommandHelp + + + shows this help message + Affichagez l'aide du message + + + + 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 <command> name, you can skip special prefix character ('%3'). + +You can always execute any command with exactly single '--help' option to see help for that command. It's an alternative for typing: %1 <command>. + Utilisez %1 pour connaitre certaines commandes supportées par la ligne de commande (CLI) de SQLiteStudio. +Pour voir les commandes supportées, saississez %2 sana arguments. + +En utilisant le nom de <command>, vous ajouter le caractère spécial'(%3'). + +Vous pouvez exécuter n'importe quelle commande avec l'option ' --help' pour voir l'aide pour cette commande. C'est une alternative à : %1 <commande>. + + + + command + CLI command syntax + CLI syntax de commandes + + + + No such command: %1 + Aucune telle commande: %1 + + + + Type '%1' for list of available commands. + Saisissez '%1' pour la liste des commandes valides. + + + + Usage: %1%2 + Utilisation: %1%2 + + + + Aliases: %1 + Pseudomynes: %1 + + + + CliCommandHistory + + + Current history limit is set to: %1 + L'historique actuel est limité à: %1 + + + + prints history or erases it + Imprimez l'historique ou supprimez le + + + + 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. + Lorqu'aucun argument n'est passé,cette commande imprime l'histoirique. Chaque entrée est séparée par une ligne vide, permettant une lecture aisée. + +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. + + + + number + Nombre + + + + Console history erased. + Historique effacé. + + + + Invalid number: %1 + Nombre invalide: %1 + + + + History limit set to %1 + Historique limité à %1 + + + + CliCommandMode + + + Current results printing mode: %1 + Résultats actuels du mode d' impression: %1 + + + + Invalid results printing mode: %1 + Résultats invalides du mode d' impression: %1 + + + + New results printing mode: %1 + Résultats actuels du mode d' impression: %1 + + + + tells or changes the query results format + Modifie le format du résultat de la requête + + + + When called without argument, tells the current output format for a query results. When the <mode> 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'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'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'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't expect many rows to be displayed, because this mode displays a line of output per each column, so you'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). + Sans argument, le format de sortie actuel de la requête est utilisé. Avec <mode>c'est un de ces mode qui est utilisé: +- 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'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'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'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't expect many rows to be displayed, because this mode displays a line of output per each column, so you'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). + + + + CliCommandNullValue + + + Current NULL representation string: %1 + Représentation actuelle d'une chaine NULL: %1 + + + + tells or changes the NULL representation string + Modifiez la représentation d'une chaine NULL + + + + If no argument was passed, it tells what'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's used as a new string to be used for NULL representation. + Si on n'a passé aucun argument, c'est la représentation de valeur NULL actuelle qui est utilisée (ce qui est imprimé à la place de valeurs NULL dans des résultats de requête). Si on donne un argument, il sera utilisé comme une nouvelle chaine représentant NULL. + + + + CliCommandOpen + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + Impossible d'appeler %1 lorsque aucune base de données n'est sélectionnée. Spécifiez la base de données actuelle avec la commande %2 ou nommez la base de données %3. + + + + Could not add database %1 to list. + Impossible d'ajouter la base de données %1 à la liste. + + + + File %1 doesn't exist in %2. Cannot open inexisting database with %3 command. To create a new database, use %4 command. + Le fichier %1 n'existe pas dans %2. Impossible d'ouvrir une base de données avec la commande %3. Pour créer une nouvelle base de données utilisez la commande %4. + + + + Database %1 has been open and set as the current working database. + La base de données %1 a été ouverte et sélectionnée comme base de données actuelle. + + + + opens database connection + Ouvre la connexion de la base de données + + + + 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 <name> of the registered database to open, or it can be <path> to the database file to open. In the second case, the <path> 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. + Ouvre la connexion de la base de données. Si aucun argument n'est passé, alors la connexion est ouverte comme base de données actuelle (voir l'aide %1 pour plus de détails). Cependant si on a passé un argument il peut être le <name> d'une base de données enregistrée, ou cela peut être le <chemin> du fichier de base de données. Dans le deuxième cas, le <chemin> est enregistré dans la liste avec un nom généré mais seulement pendant la période de la session actuelle. Après la reprise de la l'application une telle base de données n'est pas rétablie dans la liste. + + + + name + CLI command syntax + Nom + + + + path + CLI command syntax + Chemin + + + + CliCommandPwd + + + prints the current working directory + Imprime le répertoire de travail actuel + + + + This is the same as 'pwd' command on Unix systems and 'cd' 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. + C'est la même commande d'un système Unix 'pwd' ou 'cd' sans arguments de Windows. Ceci imprimele répertoire de travail courant. Vous pouvez changer le répertoire avec le commande %1 et avoir la liste des répertoire de travail avec la commande %2. + + + + CliCommandRemove + + + No such database: %1 + Aucune base de données: %1 + + + + Database removed: %1 + Base de données enlevée: %1 + + + + New current database set: + Nouvelle base de données actuelle: + + + + removes database from the list + Enleve la base de données de la liste + + + + Removes <name> 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. + Enlève la base de données <nom> de la liste des bases enregistrées.si la base de données n'est pas dans la liste (voir la commande %1), alors message d'erreur est imprimé sans aucunes autres lignes. + + + + name + CLI command syntax + Nom + + + + CliCommandSql + + + No working database is set. +Call %1 command to set working database. +Call %2 to see list of all databases. + Aucune base de données de travail n'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. + + + + Database is not open. + La base de données n'est pas ouverte. + + + + executes SQL query + Exécute la requête SQL + + + + 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's no sense in executing this command explicitly. Instead just type the SQL query in the command prompt, without any command prefixed. + Cette commande est exécutée chaque fois vous saississez une requête SQL au prompt de commande. Il exécute la requête sur la base de données actuelle (voir l'aide %1 pour des détails). Il n'y a aucun sens dans l'exécution de cette commande explicitement. Instead just type the SQL query in the command prompt, without any command prefixed. + + + + sql + CLI command syntax + SQL + + + + + Too many columns to display in %1 mode. + Trop de colonnes à afficher avec le mode %1. + + + + Row %1 + Ligne %1 + + + + Query execution error: %1 + Erreur d'exécution de la requête: %1 + + + + CliCommandTables + + + No such database: %1. Use %2 to see list of known databases. + Aucune base de données: %1. Utilisez %2pour voir la liste des base de données connues. + + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + Impossible d'appeler %1 quand aucune base de données n'est active. Spécifiez la base de données active avec la commade %2 ou nommez la base de données avec %3. + + + + Database %1 is closed. + La base de données %1 est fermée. + + + + + Database + Base de données + + + + Table + Table + + + + prints list of tables in the database + Imprime la liste des tablesde la base de données + + + + Prints list of tables in given <database> or in the current working database. Note, that the <database> 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. + Imprime la liste des tables d'une <database> donnée ou la base de données actuelle. Notez que la <database> devrait être le nom enregistré de la base de données (voir %1). L'affichage de la liste inclus toutes les tables d'autres bases de données attachées à celle-ci. +Lorsque l'option '-s' est ajouté, les tables système sont aussi listées. + + + + database + CLI command syntax + Base de données + + + + CliCommandTree + + + No current working database is selected. Use %1 to define one and then run %2. + Aucune base de données actuelle n'est sélectionnée. Utilisez %1 pour en définir uneet lancez avec %2. + + + + Tables + Tables + + + + Views + Vues + + + + Columns + Colonnes + + + + Indexes + Index + + + + + Triggers + Déclancheurs + + + + prints all objects in the database as a tree + Imprime tous les objets de la base de données comme un arbre + + + + 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's an internal SQLite database name, like 'main', 'temp', 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. + Imprime tous les objets (tables, index, déclencheurs et vues) qui sont dans la base de données comme un arbre. L'arbre est très semblable à celui que vous pouvez voir dans lGUI client de SQLiteStudio. +Quand on ajoute l'option-c, alors aussi les colonnes seront inscrites sous chaque table. +Quand on ajoute l'option-s, alors aussi les objets de système seront imprimés (sqlite_* tables, des index d'autoincrément, etc). +L'argument de base de données est facultatif et si fourni, alors seulement la base de données donnée sera imprimée. Ceci n'est pas un nom de base de données enregistré, mais au lieu de cela c'est un nom de base de données SQLite interne, comme 'principal', 'ltemporaire', ou n'importe quel nom de base de données attaché. Pour imprimer l'arbre pour d'autre base de données enregistrée, appelez %1 d'abord pour changer la base de données actuelleet utiliser la commande %2. + + + + CliCommandUse + + + No current database selected. + Aucune base de données active de sélectionnée. + + + + + Current database: %1 + Base de données actuelle: %1 + + + + No such database: %1 + Aucune base de données : %1 + + + + changes default working database + Change la base de données actelle par défaut + + + + Changes current working database to <name>. If the <name> 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. + Changet la base de données actuelle <nom>. Si le <nom > de la base de données n'est pas enregistrée dans l'application, le message d'erreur est imprimé et aucun changement n'est fait. + +Quel est la base de données actuelle? +Quand vous saississez une requête SQL à exécuter, celle-ci est exécutée sur la base de données par défaut, que l'on connaît aussi comme la base de données actuelle. La plupart de commandes concernant la base de données utilise la base de données de défaut d'utilisation, si on n'a fourni aucune base de données dans leurs arguments. La base de données actuelle est toujours identifiée par la ligne de commande. La base de données par défaut est toujours définie (à moins qu'il n'y ait aucune base de données dans la liste). + +La base de données par défaut peut être choisie de diverses manières: +- Utilisation de la commande%1, +- En passant nom de fichier de base de données aux paramètres de démarrage d'application, +- En passantle nom la base de données enregistrée aux paramètres de démarrage d'application, +- En restaurant la base de données par défaut précédemment choisie dans la configuration sauvée, +- Ou quand la base de données par défaut n'a été choisie par aucun du susdit, l'alors première base de données de la liste de bases de données enregistrée devient le par défaut. + + + + name + CLI command syntax + Nom + + + + QObject + + + Insufficient number of arguments. + Nombre d'arguments insuffisant. + + + + Too many arguments. + Trop d'arguements. + + + + Invalid argument value: %1. +Expected one of: %2 + Valeur invalide de l'arguement %1. Exepté l'un d'eux: %2 + + + + Unknown option: %1 + CLI command syntax + Option %1 inconnue + + + + Option %1 requires an argument. + CLI command syntax + L'option %1 nécessite un argument. + + + + string + CLI command syntax + Chaine + + + + Command line interface to SQLiteStudio, a SQLite manager. + Interface de ligne de commandes de SQLiteStudio, SQLite manager. + + + + Enables debug messages on standard error output. + Messages de débogage valides sur sortie d'erreur standard. + + + + Enables Lemon parser debug messages for SQL code assistant. + Permet le débogage avec l'analyseur syntaxique de Lemo pour l'assistant SQL. + + + + Lists plugins installed in the SQLiteStudio and quits. + Liste les plugins installés dans SQLiteStudio et quitte. + + + + file + Fichier + + + + Database file to open + Base de données à ouvrir + + + diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pl.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pl.ts index dda9aac..b2ecd33 100644 --- a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pl.ts +++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pl.ts @@ -23,6 +23,10 @@ closed zamknięta + + Database passed in command line parameters (%1) was already on the list under name: %2 + + CliCommand diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pt_BR.qm b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pt_BR.qm new file mode 100644 index 0000000..c02994c Binary files /dev/null and b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pt_BR.qm differ diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pt_BR.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pt_BR.ts new file mode 100644 index 0000000..f9c8a82 --- /dev/null +++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_pt_BR.ts @@ -0,0 +1,736 @@ + + + + + CLI + + + Current database: %1 + + + + + No current working database is set. + + + + + Type %1 for help + + + + + Database passed in command line parameters (%1) was already on the list under name: %2 + + + + + Could not add database %1 to list. + + + + + closed + + + + + CliCommand + + + Usage: %1%2 + + + + + CliCommandAdd + + + Could not add database %1 to list. + + + + + Database added: %1 + + + + + adds new database to the list + + + + + Adds given database pointed by <path> with given <name> to list the databases list. The <name> 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. + + + + + name + CLI command syntax + + + + + path + CLI command syntax + + + + + CliCommandCd + + + Changed directory to: %1 + + + + + Could not change directory to: %1 + + + + + changes current working directory + + + + + Very similar command to 'cd' known from Unix systems and Windows. It requires a <path> argument to be passed, therefore calling %1 will always cause a change of the directory. To learn what's the current working directory use %2 command and to list contents of the current working directory use %3 command. + + + + + path + CLI command syntax + + + + + CliCommandClose + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + + + + + + Connection to database %1 closed. + + + + + No such database: %1. Use %2 to see list of known databases. + + + + + closes given (or current) database + + + + + Closes database connection. If the database was already closed, nothing happens. If <name> is provided, it should be name of the database to close (as printed by %1 command). The the <name> is not provided, then current working database is closed (see help for %2 for details). + + + + + name + CLI command syntax + + + + + CliCommandDbList + + + No current working database defined. + + + + + Databases: + + + + + + Name + CLI db name column + + + + + + Open + CLI connection state column + + + + + + Closed + CLI connection state column + + + + + + Connection + CLI connection state column + + + + + + Database file path + + + + + prints list of registered databases + + + + + 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 '*' at the start of its name. See help for %2 command to learn about the default database. + + + + + CliCommandDesc + + + shows details about the table + + + + + table + + + + + CliCommandDir + + + lists directories and files in current working directory + + + + + This is very similar to 'dir' command known from Windows and 'ls' command from Unix systems. + +You can pass <pattern> with wildcard characters to filter output. + + + + + pattern + + + + + CliCommandExit + + + quits the application + + + + + Quits the application. Settings are stored in configuration file and will be restored on next startup. + + + + + CliCommandHelp + + + shows this help message + + + + + 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 <command> name, you can skip special prefix character ('%3'). + +You can always execute any command with exactly single '--help' option to see help for that command. It's an alternative for typing: %1 <command>. + + + + + command + CLI command syntax + + + + + No such command: %1 + + + + + Type '%1' for list of available commands. + + + + + Usage: %1%2 + + + + + Aliases: %1 + + + + + CliCommandHistory + + + Current history limit is set to: %1 + + + + + prints history or erases it + + + + + 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. + + + + + number + + + + + Console history erased. + + + + + Invalid number: %1 + + + + + History limit set to %1 + + + + + CliCommandMode + + + Current results printing mode: %1 + + + + + Invalid results printing mode: %1 + + + + + New results printing mode: %1 + + + + + tells or changes the query results format + + + + + When called without argument, tells the current output format for a query results. When the <mode> 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'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'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'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't expect many rows to be displayed, because this mode displays a line of output per each column, so you'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). + + + + + CliCommandNullValue + + + Current NULL representation string: %1 + + + + + tells or changes the NULL representation string + + + + + If no argument was passed, it tells what'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's used as a new string to be used for NULL representation. + + + + + CliCommandOpen + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + + + + + Could not add database %1 to list. + + + + + File %1 doesn't exist in %2. Cannot open inexisting database with %3 command. To create a new database, use %4 command. + + + + + Database %1 has been open and set as the current working database. + + + + + opens database connection + + + + + 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 <name> of the registered database to open, or it can be <path> to the database file to open. In the second case, the <path> 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. + + + + + name + CLI command syntax + + + + + path + CLI command syntax + + + + + CliCommandPwd + + + prints the current working directory + + + + + This is the same as 'pwd' command on Unix systems and 'cd' 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. + + + + + CliCommandRemove + + + No such database: %1 + + + + + Database removed: %1 + + + + + New current database set: + + + + + removes database from the list + + + + + Removes <name> 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. + + + + + name + CLI command syntax + + + + + CliCommandSql + + + No working database is set. +Call %1 command to set working database. +Call %2 to see list of all databases. + + + + + Database is not open. + + + + + executes SQL query + + + + + 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's no sense in executing this command explicitly. Instead just type the SQL query in the command prompt, without any command prefixed. + + + + + sql + CLI command syntax + + + + + + Too many columns to display in %1 mode. + + + + + Row %1 + + + + + Query execution error: %1 + + + + + CliCommandTables + + + No such database: %1. Use %2 to see list of known databases. + + + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + + + + + Database %1 is closed. + + + + + + Database + + + + + Table + + + + + prints list of tables in the database + + + + + Prints list of tables in given <database> or in the current working database. Note, that the <database> 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. + + + + + database + CLI command syntax + + + + + CliCommandTree + + + No current working database is selected. Use %1 to define one and then run %2. + + + + + Tables + + + + + Views + + + + + Columns + + + + + Indexes + + + + + + Triggers + + + + + prints all objects in the database as a tree + + + + + 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's an internal SQLite database name, like 'main', 'temp', 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. + + + + + CliCommandUse + + + No current database selected. + + + + + + Current database: %1 + + + + + No such database: %1 + + + + + changes default working database + + + + + Changes current working database to <name>. If the <name> 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. + + + + + name + CLI command syntax + + + + + QObject + + + Insufficient number of arguments. + + + + + Too many arguments. + + + + + Invalid argument value: %1. +Expected one of: %2 + + + + + Unknown option: %1 + CLI command syntax + + + + + Option %1 requires an argument. + CLI command syntax + + + + + string + CLI command syntax + + + + + Command line interface to SQLiteStudio, a SQLite manager. + + + + + Enables debug messages on standard error output. + + + + + Enables Lemon parser debug messages for SQL code assistant. + + + + + Lists plugins installed in the SQLiteStudio and quits. + + + + + file + + + + + Database file to open + + + + diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_ru.qm b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_ru.qm new file mode 100644 index 0000000..ab88676 Binary files /dev/null and b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_ru.qm differ diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_ru.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_ru.ts new file mode 100644 index 0000000..c63207d --- /dev/null +++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_ru.ts @@ -0,0 +1,775 @@ + + + + + CLI + + + Current database: %1 + Текущая база данных: %1 + + + + No current working database is set. + Текущая рабочая база данных не определена. + + + + Type %1 for help + Введите %1 для вызова справки + + + + Database passed in command line parameters (%1) was already on the list under name: %2 + + + + + Could not add database %1 to list. + Невозможно добавить базу данных %1 в список. + + + + closed + закрыта + + + + CliCommand + + + Usage: %1%2 + Использование: %1%2 + + + + CliCommandAdd + + + Could not add database %1 to list. + Невозможно добавить базу данных %1 в список. + + + + Database added: %1 + Добавлена база данных: %1 + + + + adds new database to the list + добавляет новую базу данных в список + + + + Adds given database pointed by <path> with given <name> to list the databases list. The <name> 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. + Добавляет базу данных, расположенную по указанному <пути> под указанным <именем> в список баз данных. <имя> — это обычное символьное имя, которое в дальнейшем можно будет использовать. Выберите любое уникальное имя. Для получения текущего списка баз данных воспользуйтесь командой %1. + + + + name + CLI command syntax + имя + + + + path + CLI command syntax + путь + + + + CliCommandCd + + + Changed directory to: %1 + Изменён каталог на: %1 + + + + Could not change directory to: %1 + Невозможно сменить каталог на: %1 + + + + changes current working directory + изменение текущего рабочего каталога + + + + Very similar command to 'cd' known from Unix systems and Windows. It requires a <path> argument to be passed, therefore calling %1 will always cause a change of the directory. To learn what's the current working directory use %2 command and to list contents of the current working directory use %3 command. + Аналог команды 'cd' из систем Unix и Windows. Требуется указание параметра <путь>, поэтому вызов %1 всегда приводит к изменению каталога. Для определения текущего рабочего каталога воспользуйтесь командой %2. Для вывода содержимого текущего рабочего каталога воспользуйтесь командой %3. + + + + path + CLI command syntax + путь + + + + CliCommandClose + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + Невозможно вызвать %1, если ни одна база данных не является текущей. Укажите текущую базу данных, используя команду %2 или укажите имя базы данных при вызове %3. + + + + + Connection to database %1 closed. + Соединение с базой данных %1 закрыто. + + + + No such database: %1. Use %2 to see list of known databases. + Не найдена база данных: %1. Для получения списка доступных баз данных воспользуйтесь командой %2. + + + + closes given (or current) database + закрывает указанную (или текущую) базу данных + + + + Closes database connection. If the database was already closed, nothing happens. If <name> is provided, it should be name of the database to close (as printed by %1 command). The the <name> is not provided, then current working database is closed (see help for %2 for details). + Закрывает соединение с базой данных. Если база данных уже закрыта, ничего не произойдёт. Если указано <имя>, оно должно соответствовать имени закрываемой базы данных (которое выводится командой %1). Если имя не указано, будет закрыта текущая рабочая база данных (смотрите справку по команде %2 для подробностей). + + + + name + CLI command syntax + имя + + + + CliCommandDbList + + + No current working database defined. + Не указана текущая рабочая база данных + + + + Databases: + Базы данных: + + + + + Name + CLI db name column + Имя + + + + + Open + CLI connection state column + Открыто + + + + + Closed + CLI connection state column + Закрыто + + + + + Connection + CLI connection state column + Соединение + + + + + Database file path + Путь к файлу базы данных + + + + prints list of registered databases + выводит список зарегистрированных баз данных + + + + 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 '*' at the start of its name. See help for %2 command to learn about the default database. + Выводит список баз данных, зарегистрированных в SQLiteStudio. Каждая база данных может быть либо открыта, либо закрыта, %1 это также указывает. Текущая рабочая база данных (она же база данных по умолчанию) дополнительно отмечена символом '*' в начале имени. Смотрите справку по команде %2 для сведений о базе данных по умолчанию. + + + + CliCommandDesc + + + shows details about the table + отображает сведения о таблице + + + + table + таблица + + + + CliCommandDir + + + lists directories and files in current working directory + выводит список каталогов и файлов в текущем рабочем каталоге + + + + This is very similar to 'dir' command known from Windows and 'ls' command from Unix systems. + +You can pass <pattern> with wildcard characters to filter output. + Аналог команды 'dir' в Windows и 'ls' в системах Unix. + +Вы можете указать <маску> c использованием подстановочных символов для фильтрации вывода. + + + + pattern + маска + + + + CliCommandExit + + + quits the application + выход из приложения + + + + Quits the application. Settings are stored in configuration file and will be restored on next startup. + Осуществляет выход из приложения. Настройки сохраняются в конфигурационном файле и восстановятся при следующем запуске. + + + + CliCommandHelp + + + shows this help message + вывод этого сообщения + + + + 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 <command> name, you can skip special prefix character ('%3'). + +You can always execute any command with exactly single '--help' option to see help for that command. It's an alternative for typing: %1 <command>. + Используйте %1 для получения сведений о командах, поддерживаемых интерфейсом командной строки (CLI) SQLiteStudio. +Для просмотра списка доступных команд, введите %2 без указания аргументов. + +При указании имени <команды> можно не указывать префиксный символ ('%3'). + +Для получения справки по команде вы также можете выполнить команду с единственным ключом '--help'. Это альтернатива вводу: %1 <команда>. + + + + command + CLI command syntax + команда + + + + No such command: %1 + Не найдена команда: %1 + + + + Type '%1' for list of available commands. + Введите '%1' для получения списка доступных команд. + + + + Usage: %1%2 + Использование: %1%2 + + + + Aliases: %1 + Псевдонимы: %1 + + + + CliCommandHistory + + + Current history limit is set to: %1 + Текущий лимит истории: %1 + + + + prints history or erases it + выводит историю или очищает её + + + + 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. + При вызове без аргументов, данная команда выводит историю командной строки. Каждая запись истории отделена горизонтальной линией для облегчения чтения многострочных записей. + +При вызове с ключом -с или --clear история очищается. +При вызове с ключом -l или --limit устанавливается новый лимит на количество записей в истории. Необходим дополнительный аргумент, указывающий сколько записей необходимо хранить в истории. +Для просмотра текущего лимита записей вызовите команду с ключом -ql или --querylimit. + + + + number + количество + + + + Console history erased. + История командной строки очищена. + + + + Invalid number: %1 + Некорректное количество: %1 + + + + History limit set to %1 + Лимит истории установлен в количестве %1 + + + + CliCommandMode + + + Current results printing mode: %1 + Текущий режим вывода результатов: %1 + + + + Invalid results printing mode: %1 + Некорректный режим вывода результатов: %1 + + + + New results printing mode: %1 + Новый режим вывода результатов: %1 + + + + tells or changes the query results format + отображает или изменяет формат вывода результатов запроса + + + + When called without argument, tells the current output format for a query results. When the <mode> 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'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'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'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't expect many rows to be displayed, because this mode displays a line of output per each column, so you'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). + При вызове без аргументов отображает текущий формат вывода результатов запроса. Если указан <режим>, режим меняется на переданный. Поддерживаемые режимы: +- CLASSIC - столбцы разделяются запятой, не выравниваются, +- FIXED - ширина столбцов одинакова и зафиксирована, они всегда умещаются в ширину окна терминала, однако данные в столбцах могут быть обрезаны, +- COLUMNS - аналогичен FIXED, но более умный (не используйте при огромных размерах результатов, подробнее см. ниже), +- ROW - каждый столбец строки выводится с новой строчки, так что отображаются полные данные. + +Режим CLASSIC рекомендован если необходимо отобразить все данные, не затрачивая отдельные строчки на каждый столбец. Каждая строка будет содержать полные данные каждого столбца, что приведёт к отсутствию выравнивания столбцов в следующих строках. Также в режиме CLASSIC не учитывается ширина окна терминала (консоли), поэтому если столбцы шире окна, остаток строки будет выведен на новых строчках. + +Режим FIXED рекомендован если необходимо получить читабельный вывод, невзирая на длинные значения столбцов. Столбцы будут выровнены в аккуратную таблицу. Ширина столбцов будет рассчитана исходя из ширины окна консоли и числа столбцов. + +Режим COLUMNS аналогичен режиму FIXED с той разницей, что он умнее и сделает столбцы с короткими значениями поуже, оставляя больше места столбцам с длинными значениями. Первыми будут ужаты столбцы с самыми длинными заголовками (т.е. длинные заголовки будут обрезаны в первую очередь), затем будут ужиматься столбцы с самыми длинными значениями, пока таблица не впишется в окно терминала. +ВНИМАНИЕ! Для рассчёта ширины столбцов в режиме COLUMNS считывается сразу весь результат запроса, поэтому его опасно использовать при огромных размерах результатов. Учтите, что в этом режиме весь результат запроса загружается в оперативную память. + +Режим ROW рекомендован если необходимо отобразить все данные, при этом число выводимых строк невелико, так как в этом режиме каждый столбец выводится на отдельной строчке; например вывод единственной строки из 10 столбцов займёт 10 строчек, 10 таких строк займут 100 строчек вывода (+1 строчка на каждую строку для вывода разделителя строк). + + + + CliCommandNullValue + + + Current NULL representation string: %1 + Текущее представление значения NULL: %1 + + + + tells or changes the NULL representation string + отображает или устанавливает представление значения NULL + + + + If no argument was passed, it tells what'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's used as a new string to be used for NULL representation. + При вызове без аргументов отображает текущее представление значения NULL (т.е. что выводится вместо значения NULL в результатах запроса). Если указан аргумент, он будет использован как строка для представления значения NULL. + + + + CliCommandOpen + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + Невозможно вызвать %1, если ни одна база данных не является текущей. Укажите текущую базу данных, используя команду %2 или укажите имя базы данных при вызове %3. + + + + Could not add database %1 to list. + Невозможно добавить базу данных %1 в список. + + + + File %1 doesn't exist in %2. Cannot open inexisting database with %3 command. To create a new database, use %4 command. + Файл %1 не существует в %2. Невозможно открыть несуществующую базу данных командой %3. Для создания новой базы данных воспользуйтесь командой %4. + + + + Database %1 has been open and set as the current working database. + База данных %1 была открыта и установлена в качестве текущей рабочей базы данных. + + + + opens database connection + открывает соединение с базой данных + + + + 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 <name> of the registered database to open, or it can be <path> to the database file to open. In the second case, the <path> 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. + Открывает соединение с базой данных. При вызове без аргументов, соединение открывается для текущей базы данных по умолчанию (см. справку по команде %1 для подробностей). Если же аргумент указан,он может быть <именем> зарегистрированной базы данных или <путём> к файлу базы данных. Во втором случае, база данных по указанному <пути> будет зарегистрирована в списке под сгенерированным именем, но только на время текущей сессии в приложении. После перезапуска приложения указанная база в списке восстановлена не будет. + + + + name + CLI command syntax + имя + + + + path + CLI command syntax + путь + + + + CliCommandPwd + + + prints the current working directory + отображение текущего рабочего каталога + + + + This is the same as 'pwd' command on Unix systems and 'cd' 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. + Аналог команды 'pwd' в системах Unix и команды 'cd' без аргументов в Windows. Команда отображает текущий рабочий каталог. Вы можете сменить текущий рабочий каталог командой %1, а также вывести содержимое текущего рабочего каталога командой %2. + + + + CliCommandRemove + + + No such database: %1 + Не найдена база данных: %1 + + + + Database removed: %1 + Удалена база данных: %1 + + + + New current database set: + Установлена новая текущая база данных: + + + + removes database from the list + удаление базы данных из списка + + + + Removes <name> 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. + Удаляет базу данных с указанным <именем> из списка зарегистрированных баз данных. Если указанной базы данных нет в списке (см. команду %1), отображается сообщение об ошибке и больше ничего не происходит. + + + + name + CLI command syntax + имя + + + + CliCommandSql + + + No working database is set. +Call %1 command to set working database. +Call %2 to see list of all databases. + Не указана рабочая база данных. Укажите рабочую базу данных командой %1. Для просмотра списка баз данных воспользуйтесь командой %2. + + + + Database is not open. + База данных не открыта. + + + + executes SQL query + выполнение запроса SQL + + + + 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's no sense in executing this command explicitly. Instead just type the SQL query in the command prompt, without any command prefixed. + Эта команда выполняется каждый раз, когда вы вводите запрос SQL в командную строку. Она выполняет запрос к текущей рабочей базе данных (см. справку к команде %1 для подробностей). Не нужно явно вызвать эту команду. Просто вводите запрос SQL в командную строку без указания команды. + + + + sql + CLI command syntax + sql + + + + + Too many columns to display in %1 mode. + Слишком много столбцов для отображения в режиме %1. + + + + Row %1 + Строка %1 + + + + Query execution error: %1 + Ошибка выполнения запроса: %1 + + + + CliCommandTables + + + No such database: %1. Use %2 to see list of known databases. + Не найдена база данных: %1. Для получения списка доступных баз данных воспользуйтесь командой %2. + + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + Невозможно вызвать %1, если ни одна база данных не является текущей. Укажите текущую базу данных, используя команду %2 или укажите имя базы данных при вызове %3. + + + + Database %1 is closed. + База данных %1 закрыта. + + + + + Database + База данных + + + + Table + Таблица + + + + prints list of tables in the database + отображает список таблиц в базе данных + + + + Prints list of tables in given <database> or in the current working database. Note, that the <database> 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. + Отображает список таблиц в указанной <базе данных> или в текущей рабочей базе данных. Учтите, что <база данных> должна быть именем зарегистрированной базы данных (см. %1). В список тажк выводятся все таблицы из баз данных, присоединённых к запрашиваемой базе данных. +При указании ключа -s также выводятся системные таблицы. + + + + database + CLI command syntax + база данных + + + + CliCommandTree + + + No current working database is selected. Use %1 to define one and then run %2. + Не выбрана рабочая база данных. Укажите рабочую базу данных командой %1, затем выполните команду %2. + + + + Tables + Таблицы + + + + Views + Представления + + + + Columns + Столбцы + + + + Indexes + Индексы + + + + + Triggers + Триггеры + + + + prints all objects in the database as a tree + отображение всех объектов базы данных в виде дерева + + + + 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's an internal SQLite database name, like 'main', 'temp', 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. + Отображает все объекты (таблицы, индексы, триггеры и представления) базы данных в виде дерева. Структура дерева аналогична тому, которое отображается в GUI клиенте SQLiteStudio. +При вызове с ключом -c также будут выведены столбцы под каждой таблицей. +При вызове с ключом -s также будут выведены системные объекты (таблицы sqlite_*, индексы автоинкремента и т.д.). +При вызове с необязательным аргументом 'база данных' будут выведены объекты только указнной базы данных. Под 'базой данных' подразумевается не зарегистрированное имя базы данных, а внутреннее имя базы данных SQLite, например 'main', 'temp' или имя присоединённной базы данных. Для отображения дерева другой зарегистрированной базы данных, сперва смените рабочую базу данных командой %1, а затем воспользуйтесь командой %2. + + + + CliCommandUse + + + No current database selected. + Не выбрана текущая база данных. + + + + + Current database: %1 + Текущая база данных: %1 + + + + No such database: %1 + Не найдена база данных: %1 + + + + changes default working database + изменение рабочей базы данных по умолчанию + + + + Changes current working database to <name>. If the <name> 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. + Изменяет текущую рабочую базы данных на базу данных с указанным <именем>. Если <имя> базы данных не зарегистрировано в приложении, отображается сообщение об ошибке и изменения не производсятся. + +Что такое текущая рабочая база данных? +Когда вы вводите запрос SQL для выполнения, он выполняется к базе данных по умолчанию, также известной как текущей рабочей базе данных. Большинство относящихся к базам данных команд могут выполняться к базе данных по умолчанию, если другая база данных не указана в качестве аргумента. Текущая база данных всегда отображается в приглашении командной строки. База данных по умолчанию всегда определена (если список баз данных не пуст). + +База данных по умолчанию может быть задана разными способами: +- используя команду %1, +- указав путь к файлу базы данных в аргументах при запуске приложения, +- указав имя зарегистрированной базы данных в аргументах при запуске приложения, +- восстановив предыдущую выбранную базу данных из сохранённой конфигурации, +- или если база данных по умолчанию не была выбрана любым их вышеуказанных способов, базой данных по умолчанию становится первая зарегистрированная база данных в списке. + + + + name + CLI command syntax + имя + + + + QObject + + + Insufficient number of arguments. + Недостаточное количество аргументов. + + + + Too many arguments. + Слишком много аргументов. + + + + Invalid argument value: %1. +Expected one of: %2 + Некорректное значение аргумента: %1. +Допустимые значения: %2 + + + + Unknown option: %1 + CLI command syntax + Неизвестный ключ: %1 + + + + Option %1 requires an argument. + CLI command syntax + Ключ %1 требует указания аргумента. + + + + string + CLI command syntax + строка + + + + Command line interface to SQLiteStudio, a SQLite manager. + Интерфейс командной строки для SQLiteStudio, менеджера баз данных SQLite. + + + + Enables debug messages on standard error output. + Включает вывод отладочных сообщений в стандартный поток ошибок. + + + + Enables Lemon parser debug messages for SQL code assistant. + Включает вывод отладочных сообщений анализатора Lemon для автодополнения SQL кода. + + + + Lists plugins installed in the SQLiteStudio and quits. + Выводит список установленных в SQLiteStudio модулей и осуществляет выход. + + + + file + файл + + + + Database file to open + Файл базы данных для открытия + + + diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_sk.qm b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_sk.qm new file mode 100644 index 0000000..1776294 Binary files /dev/null and b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_sk.qm differ diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_sk.ts b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_sk.ts new file mode 100644 index 0000000..d817c65 --- /dev/null +++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_sk.ts @@ -0,0 +1,736 @@ + + + + + CLI + + + Current database: %1 + + + + + No current working database is set. + + + + + Type %1 for help + + + + + Database passed in command line parameters (%1) was already on the list under name: %2 + + + + + Could not add database %1 to list. + + + + + closed + + + + + CliCommand + + + Usage: %1%2 + + + + + CliCommandAdd + + + Could not add database %1 to list. + + + + + Database added: %1 + + + + + adds new database to the list + + + + + Adds given database pointed by <path> with given <name> to list the databases list. The <name> 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. + + + + + name + CLI command syntax + + + + + path + CLI command syntax + + + + + CliCommandCd + + + Changed directory to: %1 + + + + + Could not change directory to: %1 + + + + + changes current working directory + + + + + Very similar command to 'cd' known from Unix systems and Windows. It requires a <path> argument to be passed, therefore calling %1 will always cause a change of the directory. To learn what's the current working directory use %2 command and to list contents of the current working directory use %3 command. + + + + + path + CLI command syntax + + + + + CliCommandClose + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + + + + + + Connection to database %1 closed. + + + + + No such database: %1. Use %2 to see list of known databases. + + + + + closes given (or current) database + + + + + Closes database connection. If the database was already closed, nothing happens. If <name> is provided, it should be name of the database to close (as printed by %1 command). The the <name> is not provided, then current working database is closed (see help for %2 for details). + + + + + name + CLI command syntax + + + + + CliCommandDbList + + + No current working database defined. + + + + + Databases: + + + + + + Name + CLI db name column + + + + + + Open + CLI connection state column + + + + + + Closed + CLI connection state column + + + + + + Connection + CLI connection state column + + + + + + Database file path + + + + + prints list of registered databases + + + + + 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 '*' at the start of its name. See help for %2 command to learn about the default database. + + + + + CliCommandDesc + + + shows details about the table + + + + + table + + + + + CliCommandDir + + + lists directories and files in current working directory + + + + + This is very similar to 'dir' command known from Windows and 'ls' command from Unix systems. + +You can pass <pattern> with wildcard characters to filter output. + + + + + pattern + + + + + CliCommandExit + + + quits the application + + + + + Quits the application. Settings are stored in configuration file and will be restored on next startup. + + + + + CliCommandHelp + + + shows this help message + + + + + 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 <command> name, you can skip special prefix character ('%3'). + +You can always execute any command with exactly single '--help' option to see help for that command. It's an alternative for typing: %1 <command>. + + + + + command + CLI command syntax + + + + + No such command: %1 + + + + + Type '%1' for list of available commands. + + + + + Usage: %1%2 + + + + + Aliases: %1 + + + + + CliCommandHistory + + + Current history limit is set to: %1 + + + + + prints history or erases it + + + + + 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. + + + + + number + + + + + Console history erased. + + + + + Invalid number: %1 + + + + + History limit set to %1 + + + + + CliCommandMode + + + Current results printing mode: %1 + + + + + Invalid results printing mode: %1 + + + + + New results printing mode: %1 + + + + + tells or changes the query results format + + + + + When called without argument, tells the current output format for a query results. When the <mode> 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'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'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'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't expect many rows to be displayed, because this mode displays a line of output per each column, so you'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). + + + + + CliCommandNullValue + + + Current NULL representation string: %1 + + + + + tells or changes the NULL representation string + + + + + If no argument was passed, it tells what'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's used as a new string to be used for NULL representation. + + + + + CliCommandOpen + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + + + + + Could not add database %1 to list. + + + + + File %1 doesn't exist in %2. Cannot open inexisting database with %3 command. To create a new database, use %4 command. + + + + + Database %1 has been open and set as the current working database. + + + + + opens database connection + + + + + 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 <name> of the registered database to open, or it can be <path> to the database file to open. In the second case, the <path> 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. + + + + + name + CLI command syntax + + + + + path + CLI command syntax + + + + + CliCommandPwd + + + prints the current working directory + + + + + This is the same as 'pwd' command on Unix systems and 'cd' 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. + + + + + CliCommandRemove + + + No such database: %1 + + + + + Database removed: %1 + + + + + New current database set: + + + + + removes database from the list + + + + + Removes <name> 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. + + + + + name + CLI command syntax + + + + + CliCommandSql + + + No working database is set. +Call %1 command to set working database. +Call %2 to see list of all databases. + + + + + Database is not open. + + + + + executes SQL query + + + + + 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's no sense in executing this command explicitly. Instead just type the SQL query in the command prompt, without any command prefixed. + + + + + sql + CLI command syntax + + + + + + Too many columns to display in %1 mode. + + + + + Row %1 + + + + + Query execution error: %1 + + + + + CliCommandTables + + + No such database: %1. Use %2 to see list of known databases. + + + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + + + + + Database %1 is closed. + + + + + + Database + + + + + Table + + + + + prints list of tables in the database + + + + + Prints list of tables in given <database> or in the current working database. Note, that the <database> 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. + + + + + database + CLI command syntax + + + + + CliCommandTree + + + No current working database is selected. Use %1 to define one and then run %2. + + + + + Tables + + + + + Views + + + + + Columns + + + + + Indexes + + + + + + Triggers + + + + + prints all objects in the database as a tree + + + + + 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's an internal SQLite database name, like 'main', 'temp', 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. + + + + + CliCommandUse + + + No current database selected. + + + + + + Current database: %1 + + + + + No such database: %1 + + + + + changes default working database + + + + + Changes current working database to <name>. If the <name> 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. + + + + + name + CLI command syntax + + + + + QObject + + + Insufficient number of arguments. + + + + + Too many arguments. + + + + + Invalid argument value: %1. +Expected one of: %2 + + + + + Unknown option: %1 + CLI command syntax + + + + + Option %1 requires an argument. + CLI command syntax + + + + + string + CLI command syntax + + + + + Command line interface to SQLiteStudio, a SQLite manager. + + + + + Enables debug messages on standard error output. + + + + + Enables Lemon parser debug messages for SQL code assistant. + + + + + Lists plugins installed in the SQLiteStudio and quits. + + + + + file + + + + + Database file to open + + + + diff --git a/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_zh_CN.qm b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_zh_CN.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/SQLiteStudio3/sqlitestudiocli/translations/sqlitestudiocli_zh_CN.qm @@ -0,0 +1 @@ + + + + + CLI + + + Current database: %1 + + + + + No current working database is set. + + + + + Type %1 for help + + + + + Database passed in command line parameters (%1) was already on the list under name: %2 + + + + + Could not add database %1 to list. + + + + + closed + + + + + CliCommand + + + Usage: %1%2 + + + + + CliCommandAdd + + + Could not add database %1 to list. + + + + + Database added: %1 + + + + + adds new database to the list + + + + + Adds given database pointed by <path> with given <name> to list the databases list. The <name> 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. + + + + + name + CLI command syntax + + + + + path + CLI command syntax + + + + + CliCommandCd + + + Changed directory to: %1 + + + + + Could not change directory to: %1 + + + + + changes current working directory + + + + + Very similar command to 'cd' known from Unix systems and Windows. It requires a <path> argument to be passed, therefore calling %1 will always cause a change of the directory. To learn what's the current working directory use %2 command and to list contents of the current working directory use %3 command. + + + + + path + CLI command syntax + + + + + CliCommandClose + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + + + + + + Connection to database %1 closed. + + + + + No such database: %1. Use %2 to see list of known databases. + + + + + closes given (or current) database + + + + + Closes database connection. If the database was already closed, nothing happens. If <name> is provided, it should be name of the database to close (as printed by %1 command). The the <name> is not provided, then current working database is closed (see help for %2 for details). + + + + + name + CLI command syntax + + + + + CliCommandDbList + + + No current working database defined. + + + + + Databases: + + + + + + Name + CLI db name column + + + + + + Open + CLI connection state column + + + + + + Closed + CLI connection state column + + + + + + Connection + CLI connection state column + + + + + + Database file path + + + + + prints list of registered databases + + + + + 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 '*' at the start of its name. See help for %2 command to learn about the default database. + + + + + CliCommandDesc + + + shows details about the table + + + + + table + + + + + CliCommandDir + + + lists directories and files in current working directory + + + + + This is very similar to 'dir' command known from Windows and 'ls' command from Unix systems. + +You can pass <pattern> with wildcard characters to filter output. + + + + + pattern + + + + + CliCommandExit + + + quits the application + + + + + Quits the application. Settings are stored in configuration file and will be restored on next startup. + + + + + CliCommandHelp + + + shows this help message + + + + + 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 <command> name, you can skip special prefix character ('%3'). + +You can always execute any command with exactly single '--help' option to see help for that command. It's an alternative for typing: %1 <command>. + + + + + command + CLI command syntax + + + + + No such command: %1 + + + + + Type '%1' for list of available commands. + + + + + Usage: %1%2 + + + + + Aliases: %1 + + + + + CliCommandHistory + + + Current history limit is set to: %1 + + + + + prints history or erases it + + + + + 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. + + + + + number + + + + + Console history erased. + + + + + Invalid number: %1 + + + + + History limit set to %1 + + + + + CliCommandMode + + + Current results printing mode: %1 + + + + + Invalid results printing mode: %1 + + + + + New results printing mode: %1 + + + + + tells or changes the query results format + + + + + When called without argument, tells the current output format for a query results. When the <mode> 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'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'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'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't expect many rows to be displayed, because this mode displays a line of output per each column, so you'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). + + + + + CliCommandNullValue + + + Current NULL representation string: %1 + + + + + tells or changes the NULL representation string + + + + + If no argument was passed, it tells what'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's used as a new string to be used for NULL representation. + + + + + CliCommandOpen + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + + + + + Could not add database %1 to list. + + + + + File %1 doesn't exist in %2. Cannot open inexisting database with %3 command. To create a new database, use %4 command. + + + + + Database %1 has been open and set as the current working database. + + + + + opens database connection + + + + + 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 <name> of the registered database to open, or it can be <path> to the database file to open. In the second case, the <path> 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. + + + + + name + CLI command syntax + + + + + path + CLI command syntax + + + + + CliCommandPwd + + + prints the current working directory + + + + + This is the same as 'pwd' command on Unix systems and 'cd' 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. + + + + + CliCommandRemove + + + No such database: %1 + + + + + Database removed: %1 + + + + + New current database set: + + + + + removes database from the list + + + + + Removes <name> 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. + + + + + name + CLI command syntax + + + + + CliCommandSql + + + No working database is set. +Call %1 command to set working database. +Call %2 to see list of all databases. + + + + + Database is not open. + + + + + executes SQL query + + + + + 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's no sense in executing this command explicitly. Instead just type the SQL query in the command prompt, without any command prefixed. + + + + + sql + CLI command syntax + + + + + + Too many columns to display in %1 mode. + + + + + Row %1 + + + + + Query execution error: %1 + + + + + CliCommandTables + + + No such database: %1. Use %2 to see list of known databases. + + + + + Cannot call %1 when no database is set to be current. Specify current database with %2 command or pass database name to %3. + + + + + Database %1 is closed. + + + + + + Database + + + + + Table + + + + + prints list of tables in the database + + + + + Prints list of tables in given <database> or in the current working database. Note, that the <database> 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. + + + + + database + CLI command syntax + + + + + CliCommandTree + + + No current working database is selected. Use %1 to define one and then run %2. + + + + + Tables + + + + + Views + + + + + Columns + + + + + Indexes + + + + + + Triggers + + + + + prints all objects in the database as a tree + + + + + 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's an internal SQLite database name, like 'main', 'temp', 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. + + + + + CliCommandUse + + + No current database selected. + + + + + + Current database: %1 + + + + + No such database: %1 + + + + + changes default working database + + + + + Changes current working database to <name>. If the <name> 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. + + + + + name + CLI command syntax + + + + + QObject + + + Insufficient number of arguments. + + + + + Too many arguments. + + + + + Invalid argument value: %1. +Expected one of: %2 + + + + + Unknown option: %1 + CLI command syntax + + + + + Option %1 requires an argument. + CLI command syntax + + + + + string + CLI command syntax + + + + + Command line interface to SQLiteStudio, a SQLite manager. + + + + + Enables debug messages on standard error output. + + + + + Enables Lemon parser debug messages for SQL code assistant. + + + + + Lists plugins installed in the SQLiteStudio and quits. + + + + + file + + + + + Database file to open + + + + -- cgit v1.2.3