Merge branch 'sprint/zentaomax42'

This commit is contained in:
wangyidong
2022-08-19 10:35:42 +08:00
1239 changed files with 327126 additions and 2036 deletions
-12
View File
@@ -1,12 +0,0 @@
{
"name": "easysoft/zentaopms",
"description": "Zentao is an agile(scrum) project management system/tool, Free Upgrade Forever!",
"type": "project",
"license": "ZPL",
"require": {
"php": "~5.2||~7.0",
"ext-json" : "*",
"ext-mbstring" : "*",
"ext-curl" : "*"
}
}
+2 -1
View File
@@ -379,6 +379,7 @@ $config->objectTables['kanbangroup'] = TABLE_KANBANGROUP;
$config->objectTables['kanbancard'] = TABLE_KANBANCARD;
$config->objectTables['sonarqube'] = TABLE_PIPELINE;
$config->objectTables['gitea'] = TABLE_PIPELINE;
$config->objectTables['gogs'] = TABLE_PIPELINE;
$config->objectTables['gitlab'] = TABLE_PIPELINE;
$config->objectTables['jebkins'] = TABLE_PIPELINE;
$config->objectTables['stage'] = TABLE_STAGE;
@@ -387,7 +388,7 @@ $config->objectTables['repo'] = TABLE_REPO;
$config->newFeatures = array('introduction', 'tutorial', 'youngBlueTheme', 'visions');
$config->pipelineTypeList = array('gitlab', 'sonarqube', 'jenkins', 'gitea');
$config->pipelineTypeList = array('gitlab', 'gogs', 'gitea', 'jenkins', 'sonarqube');
/* Program privs.*/
$config->programPriv = new stdclass();
+257
View File
@@ -0,0 +1,257 @@
ALTER TABLE `zt_feedback` ADD `repeatFeedback` mediumint(8) NOT NULL DEFAULT 0 AFTER `feedbackBy`;
ALTER TABLE `zt_assetlib` ADD `order` SMALLINT UNSIGNED NOT NULL DEFAULT '0' AFTER `desc`;
ALTER TABLE `zt_testsuite` ADD `order` SMALLINT UNSIGNED NOT NULL DEFAULT '0' AFTER `type`;
ALTER TABLE `zt_bug` MODIFY COLUMN `os` varchar(255) NOT NULL default '';
ALTER TABLE `zt_bug` MODIFY COLUMN `browser` varchar(255) NOT NULL default '';
INSERT IGNORE INTO `zt_lang` (`lang`, `module`, `section`, `key`, `value`, `system`, `vision`) VALUES
('zh-cn', 'bug', 'browserList', 'all', '全部', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'chrome', 'Chrome', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'edge', 'Edge', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'ie', 'IE系列', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'ie11', 'IE11', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'ie10', 'IE10', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'ie9', 'IE9', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'ie8', 'IE8', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'ie7', 'IE7', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'ie6', 'IE6', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'firefox', 'firefox系列', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'firefox4', 'firefox4', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'firefox3', 'firefox3', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'firefox2', 'firefox2', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'opera', 'Opera系列', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'opera11', 'opera11', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'opera10', 'opera10', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'opera9', 'opera9', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'safari', 'safari', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', '360', '360浏览器', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'qq', 'QQ浏览器', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'maxthon', '遨游', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'uc', 'UC', '1', 'rnd'),
('zh-cn', 'bug', 'browserList', 'other', '其他', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'all', '全部', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'chrome', 'Chrome', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'edge', 'Edge', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'ie', 'IE系列', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'ie11', 'IE11', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'ie10', 'IE10', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'ie9', 'IE9', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'ie8', 'IE8', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'ie7', 'IE7', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'ie6', 'IE6', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'firefox', 'firefox系列', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'firefox4', 'firefox4', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'firefox3', 'firefox3', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'firefox2', 'firefox2', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'opera', 'Opera系列', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'opera11', 'opera11', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'opera10', 'opera10', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'opera9', 'opera9', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'safari', 'safari', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', '360', '360瀏覽器', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'qq', 'QQ瀏覽器', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'maxthon', '遨游', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'uc', 'UC', '1', 'rnd'),
('zh-tw', 'bug', 'browserList', 'other', '其他', '1', 'rnd'),
('en', 'bug', 'browserList', 'all', 'All', '1', 'rnd'),
('en', 'bug', 'browserList', 'chrome', 'Chrome', '1', 'rnd'),
('en', 'bug', 'browserList', 'edge', 'Edge', '1', 'rnd'),
('en', 'bug', 'browserList', 'ie', 'IE series', '1', 'rnd'),
('en', 'bug', 'browserList', 'ie11', 'IE11', '1', 'rnd'),
('en', 'bug', 'browserList', 'ie10', 'IE10', '1', 'rnd'),
('en', 'bug', 'browserList', 'ie9', 'IE9', '1', 'rnd'),
('en', 'bug', 'browserList', 'ie8', 'IE8', '1', 'rnd'),
('en', 'bug', 'browserList', 'ie7', 'IE7', '1', 'rnd'),
('en', 'bug', 'browserList', 'ie6', 'IE6', '1', 'rnd'),
('en', 'bug', 'browserList', 'firefox', 'Firefox series', '1', 'rnd'),
('en', 'bug', 'browserList', 'firefox4', 'Firefox4', '1', 'rnd'),
('en', 'bug', 'browserList', 'firefox3', 'Firefox3', '1', 'rnd'),
('en', 'bug', 'browserList', 'firefox2', 'Firefox2', '1', 'rnd'),
('en', 'bug', 'browserList', 'opera', 'Opera series', '1', 'rnd'),
('en', 'bug', 'browserList', 'opera11', 'Opera11', '1', 'rnd'),
('en', 'bug', 'browserList', 'opera10', 'Opera10', '1', 'rnd'),
('en', 'bug', 'browserList', 'opera9', 'Opera9', '1', 'rnd'),
('en', 'bug', 'browserList', 'safari', 'Safari', '1', 'rnd'),
('en', 'bug', 'browserList', '360', '360', '1', 'rnd'),
('en', 'bug', 'browserList', 'qq', 'QQ', '1', 'rnd'),
('en', 'bug', 'browserList', 'maxthon', 'Maxthon', '1', 'rnd'),
('en', 'bug', 'browserList', 'uc', 'UC', '1', 'rnd'),
('en', 'bug', 'browserList', 'other', 'Others', '1', 'rnd'),
('fr', 'bug', 'browserList', 'all', 'Tous', '1', 'rnd'),
('fr', 'bug', 'browserList', 'chrome', 'Chrome', '1', 'rnd'),
('fr', 'bug', 'browserList', 'edge', 'Edge', '1', 'rnd'),
('fr', 'bug', 'browserList', 'ie', 'IE series', '1', 'rnd'),
('fr', 'bug', 'browserList', 'ie11', 'IE11', '1', 'rnd'),
('fr', 'bug', 'browserList', 'ie10', 'IE10', '1', 'rnd'),
('fr', 'bug', 'browserList', 'ie9', 'IE9', '1', 'rnd'),
('fr', 'bug', 'browserList', 'ie8', 'IE8', '1', 'rnd'),
('fr', 'bug', 'browserList', 'ie7', 'IE7', '1', 'rnd'),
('fr', 'bug', 'browserList', 'ie6', 'IE6', '1', 'rnd'),
('fr', 'bug', 'browserList', 'firefox', 'Firefox series', '1', 'rnd'),
('fr', 'bug', 'browserList', 'firefox4', 'Firefox4', '1', 'rnd'),
('fr', 'bug', 'browserList', 'firefox3', 'Firefox3', '1', 'rnd'),
('fr', 'bug', 'browserList', 'firefox2', 'Firefox2', '1', 'rnd'),
('fr', 'bug', 'browserList', 'opera', 'Opera series', '1', 'rnd'),
('fr', 'bug', 'browserList', 'opera11', 'Opera11', '1', 'rnd'),
('fr', 'bug', 'browserList', 'opera10', 'Opera10', '1', 'rnd'),
('fr', 'bug', 'browserList', 'opera9', 'Opera9', '1', 'rnd'),
('fr', 'bug', 'browserList', 'safari', 'Safari', '1', 'rnd'),
('fr', 'bug', 'browserList', '360', '360', '1', 'rnd'),
('fr', 'bug', 'browserList', 'qq', 'QQ', '1', 'rnd'),
('fr', 'bug', 'browserList', 'maxthon', 'Maxthon', '1', 'rnd'),
('fr', 'bug', 'browserList', 'uc', 'UC', '1', 'rnd'),
('fr', 'bug', 'browserList', 'other', 'Autres', '1', 'rnd'),
('de', 'bug', 'browserList', 'all', 'Alle', '1', 'rnd'),
('de', 'bug', 'browserList', 'chrome', 'Chrome', '1', 'rnd'),
('de', 'bug', 'browserList', 'edge', 'Edge', '1', 'rnd'),
('de', 'bug', 'browserList', 'ie', 'IE series', '1', 'rnd'),
('de', 'bug', 'browserList', 'ie11', 'IE11', '1', 'rnd'),
('de', 'bug', 'browserList', 'ie10', 'IE10', '1', 'rnd'),
('de', 'bug', 'browserList', 'ie9', 'IE9', '1', 'rnd'),
('de', 'bug', 'browserList', 'ie8', 'IE8', '1', 'rnd'),
('de', 'bug', 'browserList', 'ie7', 'IE7', '1', 'rnd'),
('de', 'bug', 'browserList', 'ie6', 'IE6', '1', 'rnd'),
('de', 'bug', 'browserList', 'firefox', 'Firefox series', '1', 'rnd'),
('de', 'bug', 'browserList', 'firefox4', 'Firefox4', '1', 'rnd'),
('de', 'bug', 'browserList', 'firefox3', 'Firefox3', '1', 'rnd'),
('de', 'bug', 'browserList', 'firefox2', 'Firefox2', '1', 'rnd'),
('de', 'bug', 'browserList', 'opera', 'Opera series', '1', 'rnd'),
('de', 'bug', 'browserList', 'opera11', 'Opera11', '1', 'rnd'),
('de', 'bug', 'browserList', 'opera10', 'Opera10', '1', 'rnd'),
('de', 'bug', 'browserList', 'opera9', 'Opera9', '1', 'rnd'),
('de', 'bug', 'browserList', 'safari', 'Safari', '1', 'rnd'),
('de', 'bug', 'browserList', '360', '360', '1', 'rnd'),
('de', 'bug', 'browserList', 'qq', 'QQ', '1', 'rnd'),
('de', 'bug', 'browserList', 'maxthon', 'Maxthon', '1', 'rnd'),
('de', 'bug', 'browserList', 'uc', 'UC', '1', 'rnd'),
('de', 'bug', 'browserList', 'other', 'Andere', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'all', '全部', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'windows', 'Windows', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'win11', 'Windows 11', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'win10', 'Windows 10', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'win8', 'Windows 8', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'win7', 'Windows 7', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'winxp', 'Windows XP', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'osx', 'Mac OS', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'android', 'Android', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'ios', 'IOS', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'linux', 'Linux', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'ubuntu', 'Ubuntu', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'chromeos', 'Chrome OS', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'fedora', 'Fedora', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'vista', 'Windows Vista', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'win2012', 'Windows 2012', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'win2008', 'Windows 2008', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'win2003', 'Windows 2003', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'win2000', 'Windows 2000', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'wp8', 'WP8', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'wp7', 'WP7', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'symbian', 'Symbian', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'freebsd', 'FreeBSD', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'unix', 'Unix', '1', 'rnd'),
('zh-cn', 'bug', 'osList', 'others', '其他', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'all', '全部', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'windows', 'Windows', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'win11', 'Windows 11', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'win10', 'Windows 10', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'win8', 'Windows 8', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'win7', 'Windows 7', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'winxp', 'Windows XP', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'osx', 'Mac OS', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'android', 'Android', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'ios', 'IOS', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'linux', 'Linux', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'ubuntu', 'Ubuntu', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'chromeos', 'Chrome OS', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'fedora', 'Fedora', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'vista', 'Windows Vista', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'win2012', 'Windows 2012', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'win2008', 'Windows 2008', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'win2003', 'Windows 2003', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'win2000', 'Windows 2000', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'wp8', 'WP8', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'wp7', 'WP7', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'symbian', 'Symbian', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'freebsd', 'FreeBSD', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'unix', 'Unix', '1', 'rnd'),
('zh-tw', 'bug', 'osList', 'others', '其他', '1', 'rnd'),
('en', 'bug', 'osList', 'all', 'All', '1', 'rnd'),
('en', 'bug', 'osList', 'windows', 'Windows', '1', 'rnd'),
('en', 'bug', 'osList', 'win11', 'Windows 11', '1', 'rnd'),
('en', 'bug', 'osList', 'win10', 'Windows 10', '1', 'rnd'),
('en', 'bug', 'osList', 'win8', 'Windows 8', '1', 'rnd'),
('en', 'bug', 'osList', 'win7', 'Windows 7', '1', 'rnd'),
('en', 'bug', 'osList', 'winxp', 'Windows XP', '1', 'rnd'),
('en', 'bug', 'osList', 'osx', 'Mac OS', '1', 'rnd'),
('en', 'bug', 'osList', 'android', 'Android', '1', 'rnd'),
('en', 'bug', 'osList', 'ios', 'IOS', '1', 'rnd'),
('en', 'bug', 'osList', 'linux', 'Linux', '1', 'rnd'),
('en', 'bug', 'osList', 'ubuntu', 'Ubuntu', '1', 'rnd'),
('en', 'bug', 'osList', 'chromeos', 'Chrome OS', '1', 'rnd'),
('en', 'bug', 'osList', 'fedora', 'Fedora', '1', 'rnd'),
('en', 'bug', 'osList', 'vista', 'Windows Vista', '1', 'rnd'),
('en', 'bug', 'osList', 'win2012', 'Windows 2012', '1', 'rnd'),
('en', 'bug', 'osList', 'win2008', 'Windows 2008', '1', 'rnd'),
('en', 'bug', 'osList', 'win2003', 'Windows 2003', '1', 'rnd'),
('en', 'bug', 'osList', 'win2000', 'Windows 2000', '1', 'rnd'),
('en', 'bug', 'osList', 'wp8', 'WP8', '1', 'rnd'),
('en', 'bug', 'osList', 'wp7', 'WP7', '1', 'rnd'),
('en', 'bug', 'osList', 'symbian', 'Symbian', '1', 'rnd'),
('en', 'bug', 'osList', 'freebsd', 'FreeBSD', '1', 'rnd'),
('en', 'bug', 'osList', 'unix', 'Unix', '1', 'rnd'),
('en', 'bug', 'osList', 'others', 'Others', '1', 'rnd'),
('fr', 'bug', 'osList', 'all', 'Tous', '1', 'rnd'),
('fr', 'bug', 'osList', 'windows', 'Windows', '1', 'rnd'),
('fr', 'bug', 'osList', 'win11', 'Windows 11', '1', 'rnd'),
('fr', 'bug', 'osList', 'win10', 'Windows 10', '1', 'rnd'),
('fr', 'bug', 'osList', 'win8', 'Windows 8', '1', 'rnd'),
('fr', 'bug', 'osList', 'win7', 'Windows 7', '1', 'rnd'),
('fr', 'bug', 'osList', 'winxp', 'Windows XP', '1', 'rnd'),
('fr', 'bug', 'osList', 'osx', 'Mac OS', '1', 'rnd'),
('fr', 'bug', 'osList', 'android', 'Android', '1', 'rnd'),
('fr', 'bug', 'osList', 'ios', 'IOS', '1', 'rnd'),
('fr', 'bug', 'osList', 'linux', 'Linux', '1', 'rnd'),
('fr', 'bug', 'osList', 'ubuntu', 'Ubuntu', '1', 'rnd'),
('fr', 'bug', 'osList', 'chromeos', 'Chrome OS', '1', 'rnd'),
('fr', 'bug', 'osList', 'fedora', 'Fedora', '1', 'rnd'),
('fr', 'bug', 'osList', 'vista', 'Windows Vista', '1', 'rnd'),
('fr', 'bug', 'osList', 'win2012', 'Windows 2012', '1', 'rnd'),
('fr', 'bug', 'osList', 'win2008', 'Windows 2008', '1', 'rnd'),
('fr', 'bug', 'osList', 'win2003', 'Windows 2003', '1', 'rnd'),
('fr', 'bug', 'osList', 'win2000', 'Windows 2000', '1', 'rnd'),
('fr', 'bug', 'osList', 'wp8', 'WP8', '1', 'rnd'),
('fr', 'bug', 'osList', 'wp7', 'WP7', '1', 'rnd'),
('fr', 'bug', 'osList', 'symbian', 'Symbian', '1', 'rnd'),
('fr', 'bug', 'osList', 'freebsd', 'FreeBSD', '1', 'rnd'),
('fr', 'bug', 'osList', 'unix', 'Unix', '1', 'rnd'),
('fr', 'bug', 'osList', 'others', 'Autres', '1', 'rnd'),
('de', 'bug', 'osList', 'all', 'Alle', '1', 'rnd'),
('de', 'bug', 'osList', 'windows', 'Windows', '1', 'rnd'),
('de', 'bug', 'osList', 'win11', 'Windows 11', '1', 'rnd'),
('de', 'bug', 'osList', 'win10', 'Windows 10', '1', 'rnd'),
('de', 'bug', 'osList', 'win8', 'Windows 8', '1', 'rnd'),
('de', 'bug', 'osList', 'win7', 'Windows 7', '1', 'rnd'),
('de', 'bug', 'osList', 'winxp', 'Windows XP', '1', 'rnd'),
('de', 'bug', 'osList', 'osx', 'Mac OS', '1', 'rnd'),
('de', 'bug', 'osList', 'android', 'Android', '1', 'rnd'),
('de', 'bug', 'osList', 'ios', 'IOS', '1', 'rnd'),
('de', 'bug', 'osList', 'linux', 'Linux', '1', 'rnd'),
('de', 'bug', 'osList', 'ubuntu', 'Ubuntu', '1', 'rnd'),
('de', 'bug', 'osList', 'chromeos', 'Chrome OS', '1', 'rnd'),
('de', 'bug', 'osList', 'fedora', 'Fedora', '1', 'rnd'),
('de', 'bug', 'osList', 'vista', 'Windows Vista', '1', 'rnd'),
('de', 'bug', 'osList', 'win2012', 'Windows 2012', '1', 'rnd'),
('de', 'bug', 'osList', 'win2008', 'Windows 2008', '1', 'rnd'),
('de', 'bug', 'osList', 'win2003', 'Windows 2003', '1', 'rnd'),
('de', 'bug', 'osList', 'win2000', 'Windows 2000', '1', 'rnd'),
('de', 'bug', 'osList', 'wp8', 'WP8', '1', 'rnd'),
('de', 'bug', 'osList', 'wp7', 'WP7', '1', 'rnd'),
('de', 'bug', 'osList', 'symbian', 'Symbian', '1', 'rnd'),
('de', 'bug', 'osList', 'freebsd', 'FreeBSD', '1', 'rnd'),
('de', 'bug', 'osList', 'unix', 'Unix', '1', 'rnd'),
('de', 'bug', 'osList', 'others', 'Andere', '1', 'rnd');
UPDATE `zt_grouppriv` SET `module` = 'testcase' WHERE `module` = 'story' and `method` = 'zeroCase';
UPDATE `zt_grouppriv` SET `module` = 'product' WHERE `module` = 'story' and `method` = 'track';
+2
View File
@@ -0,0 +1,2 @@
ALTER TABLE `zt_job` ADD `lastSyncDate` datetime DEFAULT NULL AFTER `lastTag`;
INSERT INTO `zt_cron` (`m`, `h`, `dom`, `mon`, `dow`, `command`, `remark`, `type`, `buildin`, `status`, `lastTime`) VALUES ('*/5', '*', '*', '*', '*', 'moduleName=compile&methodName=syncCompile', '定时同步构建记录', 'zentao', 1, 'normal', '0000-00-00 00:00:00');
+24 -22
View File
@@ -262,8 +262,8 @@ CREATE TABLE IF NOT EXISTS `zt_bug` (
`severity` tinyint(4) NOT NULL default '0',
`pri` tinyint(3) unsigned NOT NULL,
`type` varchar(30) NOT NULL default '',
`os` varchar(30) NOT NULL default '',
`browser` varchar(30) NOT NULL default '',
`os` varchar(255) NOT NULL default '',
`browser` varchar(255) NOT NULL default '',
`hardware` varchar(30) NOT NULL,
`found` varchar(30) NOT NULL default '',
`steps` mediumtext NOT NULL,
@@ -1688,6 +1688,7 @@ CREATE TABLE IF NOT EXISTS `zt_testsuite` (
`name` varchar(255) NOT NULL,
`desc` mediumtext NOT NULL,
`type` varchar(20) NOT NULL,
`order` smallint unsigned NOT NULL DEFAULT '0',
`addedBy` char(30) NOT NULL,
`addedDate` datetime NOT NULL,
`lastEditedBy` char(30) NOT NULL,
@@ -2407,9 +2408,9 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
(1,'story','report'),
(1,'story','review'),
(1,'story','tasks'),
(1,'story','track'),
(1,'product','track'),
(1,'story','view'),
(1,'story','zeroCase'),
(1,'testcase','zeroCase'),
(1,'svn','apiSync'),
(1,'svn','cat'),
(1,'svn','diff'),
@@ -2778,7 +2779,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
(2,'story','cases'),
(2,'story','report'),
(2,'story','tasks'),
(2,'story','track'),
(2,'product','track'),
(2,'story','view'),
(2,'svn','apiSync'),
(2,'svn','cat'),
@@ -3074,9 +3075,9 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
(3,'story','processStoryChange'),
(3,'story','report'),
(3,'story','tasks'),
(3,'story','track'),
(3,'product','track'),
(3,'story','view'),
(3,'story','zeroCase'),
(3,'testcase','zeroCase'),
(3,'svn','apiSync'),
(3,'svn','cat'),
(3,'svn','diff'),
@@ -3568,9 +3569,9 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
(4,'story','report'),
(4,'story','review'),
(4,'story','tasks'),
(4,'story','track'),
(4,'product','track'),
(4,'story','view'),
(4,'story','zeroCase'),
(4,'testcase','zeroCase'),
(4,'svn','apiSync'),
(4,'svn','cat'),
(4,'svn','diff'),
@@ -4068,9 +4069,9 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
(5,'story','report'),
(5,'story','review'),
(5,'story','tasks'),
(5,'story','track'),
(5,'product','track'),
(5,'story','view'),
(5,'story','zeroCase'),
(5,'testcase','zeroCase'),
(5,'svn','apiSync'),
(5,'svn','cat'),
(5,'svn','diff'),
@@ -4442,9 +4443,9 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
(6,'story','processStoryChange'),
(6,'story','report'),
(6,'story','tasks'),
(6,'story','track'),
(6,'product','track'),
(6,'story','view'),
(6,'story','zeroCase'),
(6,'testcase','zeroCase'),
(6,'svn','apiSync'),
(6,'svn','cat'),
(6,'svn','diff'),
@@ -4847,9 +4848,9 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
(7,'story','report'),
(7,'story','review'),
(7,'story','tasks'),
(7,'story','track'),
(7,'product','track'),
(7,'story','view'),
(7,'story','zeroCase'),
(7,'testcase','zeroCase'),
(7,'svn','apiSync'),
(7,'svn','cat'),
(7,'svn','diff'),
@@ -5192,9 +5193,9 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
(8,'story','processStoryChange'),
(8,'story','report'),
(8,'story','tasks'),
(8,'story','track'),
(8,'product','track'),
(8,'story','view'),
(8,'story','zeroCase'),
(8,'testcase','zeroCase'),
(8,'svn','apiSync'),
(8,'svn','cat'),
(8,'svn','diff'),
@@ -5578,9 +5579,9 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
(9,'story','report'),
(9,'story','review'),
(9,'story','tasks'),
(9,'story','track'),
(9,'product','track'),
(9,'story','view'),
(9,'story','zeroCase'),
(9,'testcase','zeroCase'),
(9,'svn','apiSync'),
(9,'svn','cat'),
(9,'svn','diff'),
@@ -5829,7 +5830,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
(10,'story','processStoryChange'),
(10,'story','report'),
(10,'story','tasks'),
(10,'story','track'),
(10,'product','track'),
(10,'story','view'),
(10,'svn','apiSync'),
(10,'svn','cat'),
@@ -6079,9 +6080,9 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
(11,'story','export'),
(11,'story','report'),
(11,'story','tasks'),
(11,'story','track'),
(11,'product','track'),
(11,'story','view'),
(11,'story','zeroCase'),
(11,'testcase','zeroCase'),
(11,'svn','apiSync'),
(11,'svn','cat'),
(11,'svn','diff'),
@@ -9435,6 +9436,7 @@ CREATE TABLE IF NOT EXISTS `zt_assetlib` (
`name` varchar(255) NOT NULL,
`type` varchar(255) NOT NULL,
`desc` mediumtext NOT NULL,
`order` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
`createdBy` varchar(30) NOT NULL,
`createdDate` datetime NOT NULL,
`editedBy` varchar(30) NOT NULL,
@@ -51,6 +51,7 @@ else
}
$lang->task->common = 'Task';
$lang->dashboard = isset($lang->dashboard->common) ? $lang->dashboard->common : $lang->dashboard;
/* My menu. */
$lang->my->menu = new stdclass();
@@ -51,6 +51,7 @@ else
}
$lang->task->common = 'Task';
$lang->dashboard = isset($lang->dashboard->common) ? $lang->dashboard->common : $lang->dashboard;
/* My menu. */
$lang->my->menu = new stdclass();
@@ -51,6 +51,7 @@ else
}
$lang->task->common = 'Task';
$lang->dashboard = isset($lang->dashboard->common) ? $lang->dashboard->common : $lang->dashboard;
/* My menu. */
$lang->my->menu = new stdclass();
@@ -51,6 +51,7 @@ else
}
$lang->task->common = '任务';
$lang->dashboard = isset($lang->dashboard->common) ? $lang->dashboard->common : $lang->dashboard;
/* My menu. */
$lang->my->menu = new stdclass();
@@ -1,8 +1,4 @@
<script>
$("#createCaseActionMenu").parent('.btn-group').remove();
$("#actionbox .histories-list li").each(function()
{
var text = $(this).find('a').text();
$(this).find('a').parent().text(text);
});
$(".histories-list li a").not("[href*='feedback']").attr('href','javascript:void(0)').attr('disabled',"true").css('color', '#3c4353');
</script>
@@ -974,6 +974,7 @@ if($config->edition == 'biz' or $config->edition == 'max')
$lang->resource->feedback->delete = 'delete';
$lang->resource->feedback->close = 'closeAction';
$lang->resource->feedback->export = 'exportAction';
$lang->resource->feedback->assignTo = 'assignAction';
if($config->visions == ',lite,') unset($lang->resource->feedback);
+6 -1
View File
@@ -77,7 +77,12 @@ class baseHelper
/* 处理$viewType和$vars。Set $viewType and $vars. */
if(empty($viewType)) $viewType = $app->getViewType();
if(!is_array($vars)) parse_str($vars, $vars);
if(!is_array($vars))
{
/* Prevent + from converting to spaces. */
$vars = str_replace('+', '%2B', $vars);
parse_str($vars, $vars);
}
/* 生成url链接的开始部分。Set the begin parts of the link. */
if($config->requestType == 'PATH_INFO') $link = $config->webRoot . $appName;
+8 -8
View File
@@ -29,7 +29,7 @@ class dao extends baseDAO
/**
* 设置需要更新或插入的数据。
* Set the data to update or insert.
*
*
* @param object $data the data object or array
* @access public
* @return object the dao object self.
@@ -182,7 +182,7 @@ class dao extends baseDAO
/**
* Check workFlow field rule.
*
*
* @access public
* @return object the dao object self.
*/
@@ -195,10 +195,10 @@ class dao extends baseDAO
$module = $app->getModuleName();
$method = $app->getMethodName();
$flowAction = $this->dbh->query("SELECT * FROM " . TABLE_WORKFLOWACTION . " WHERE `module` = '{$module}' AND `action` = '{$method}' AND `buildin` = '1' AND `extensionType` = 'extend'")->fetch(PDO::FETCH_OBJ);
$flowAction = $this->dbh->query("SELECT * FROM " . TABLE_WORKFLOWACTION . " WHERE `module` = '{$module}' AND `action` = '{$method}' AND `buildin` = '1' AND `extensionType` = 'extend' AND `vision` = {$config->vision}")->fetch(PDO::FETCH_OBJ);
if(!$flowAction) return $this;
$flowFields = $this->dbh->query("SELECT t2.name,t2.rules,t2.control,t2.field,t1.layoutRules FROM " . TABLE_WORKFLOWLAYOUT . " AS t1 LEFT JOIN " . TABLE_WORKFLOWFIELD . " AS t2 ON t1.module = t2.module AND t1.field = t2.field WHERE t1.module = '{$module}' AND t1.action = '{$method}' AND t1.readonly = '0'")->fetchAll();
$flowFields = $this->dbh->query("SELECT t2.name,t2.rules,t2.control,t2.field,t1.layoutRules FROM " . TABLE_WORKFLOWLAYOUT . " AS t1 LEFT JOIN " . TABLE_WORKFLOWFIELD . " AS t2 ON t1.module = t2.module AND t1.field = t2.field WHERE t1.module = '{$module}' AND t1.action = '{$method}' AND t1.readonly = '0' AND t1.vision = {$config->vision}")->fetchAll();
if(!$flowFields) return $this;
$rules = array();
@@ -232,10 +232,10 @@ class dao extends baseDAO
}
/**
* 检查工作流扩展字段
* check workflow extend field
*
* @param array $fields
* 检查工作流扩展字段
* check workflow extend field
*
* @param array $fields
* @access public
* @return object the dao object self
*/
+136 -136
View File
@@ -29,7 +29,7 @@
if (!defined('PCLZIP_READ_BLOCK_SIZE')) {
define( 'PCLZIP_READ_BLOCK_SIZE', 2048 );
}
// ----- File list separator
// In version 1.x of PclZip, the separator for file list is a space
// (which is not a very smart choice, specifically for windows paths !).
@@ -68,7 +68,7 @@
// ----- Optional threshold ratio for use of temporary files
// Pclzip sense the size of the file to add/extract and decide to
// use or not temporary file. The algorythm is looking for
// use or not temporary file. The algorythm is looking for
// memory_limit of PHP and apply a ratio.
// threshold = memory_limit * ratio.
// Recommended values are under 0.5. Default 0.47.
@@ -152,7 +152,7 @@
define( 'PCLZIP_OPT_ADD_TEMP_FILE_ON', 77021 ); // alias
define( 'PCLZIP_OPT_TEMP_FILE_OFF', 77022 );
define( 'PCLZIP_OPT_ADD_TEMP_FILE_OFF', 77022 ); // alias
// ----- File description attributes
define( 'PCLZIP_ATT_FILE_NAME', 79001 );
define( 'PCLZIP_ATT_FILE_NEW_SHORT_NAME', 79002 );
@@ -198,7 +198,7 @@
// ----- Internal error handling
var $error_code = 1;
var $error_string = '';
// ----- Current status of the magic_quotes_runtime
// This value store the php configuration for magic_quotes
// The class can then disable the magic_quotes and reset it after
@@ -332,7 +332,7 @@
}
}
}
// ----- Look for default option values
$this->privOptionDefaultThreshold($v_options);
@@ -341,16 +341,16 @@
$v_att_list = array();
$v_filedescr_list = array();
$p_result_list = array();
// ----- Look if the $p_filelist is really an array
if (is_array($p_filelist)) {
// ----- Look if the first element is also an array
// This will mean that this is a file description entry
if (isset($p_filelist[0]) && is_array($p_filelist[0])) {
$v_att_list = $p_filelist;
}
// ----- The list is a list of string names
else {
$v_string_list = $p_filelist;
@@ -368,7 +368,7 @@
PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_filelist");
return 0;
}
// ----- Reformat the string list
if (sizeof($v_string_list) != 0) {
foreach ($v_string_list as $v_string) {
@@ -379,7 +379,7 @@
}
}
}
// ----- For each file in the list check the attributes
$v_supported_attributes
= array ( PCLZIP_ATT_FILE_NAME => 'mandatory'
@@ -528,16 +528,16 @@
$v_att_list = array();
$v_filedescr_list = array();
$p_result_list = array();
// ----- Look if the $p_filelist is really an array
if (is_array($p_filelist)) {
// ----- Look if the first element is also an array
// This will mean that this is a file description entry
if (isset($p_filelist[0]) && is_array($p_filelist[0])) {
$v_att_list = $p_filelist;
}
// ----- The list is a list of string names
else {
$v_string_list = $p_filelist;
@@ -555,14 +555,14 @@
PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type '".gettype($p_filelist)."' for p_filelist");
return 0;
}
// ----- Reformat the string list
if (sizeof($v_string_list) != 0) {
foreach ($v_string_list as $v_string) {
$v_att_list[][PCLZIP_ATT_FILE_NAME] = $v_string;
}
}
// ----- For each file in the list check the attributes
$v_supported_attributes
= array ( PCLZIP_ATT_FILE_NAME => 'mandatory'
@@ -996,7 +996,7 @@
// Options :
// PCLZIP_OPT_BY_INDEX :
// PCLZIP_OPT_BY_NAME :
// PCLZIP_OPT_BY_EREG :
// PCLZIP_OPT_BY_EREG :
// PCLZIP_OPT_BY_PREG :
// Return Values :
// 0 on failure,
@@ -1064,7 +1064,7 @@
// --------------------------------------------------------------------------------
function deleteByIndex($p_index)
{
$p_list = $this->delete(PCLZIP_OPT_BY_INDEX, $p_index);
// ----- Return
@@ -1114,7 +1114,7 @@
if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0)
{
$this->privSwapBackMagicQuotes();
// ----- Error log
PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode');
@@ -1426,7 +1426,7 @@
function privParseOptions(&$p_options_list, $p_size, &$v_result_list, $v_requested_options=false)
{
$v_result=1;
// ----- Read the options
$i=0;
while ($i<$p_size) {
@@ -1466,13 +1466,13 @@
PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");
return PclZip::errorCode();
}
// ----- Check for incompatible options
if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_OFF])) {
PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'");
return PclZip::errorCode();
}
// ----- Check the value
$v_value = $p_options_list[$i+1];
if ((!is_integer($v_value)) || ($v_value<0)) {
@@ -1491,7 +1491,7 @@
PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'");
return PclZip::errorCode();
}
$v_result_list[$p_options_list[$i]] = true;
break;
@@ -1506,7 +1506,7 @@
PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_THRESHOLD'");
return PclZip::errorCode();
}
$v_result_list[$p_options_list[$i]] = true;
break;
@@ -1655,7 +1655,7 @@
// ----- Return
return PclZip::errorCode();
}
// ----- Reduce the index list
// each index item in the list must be a couple with a start and
// an end value : [0,3], [5-5], [8-10], ...
@@ -1666,10 +1666,10 @@
// ----- Explode the item
$v_item_list = explode("-", $v_work_list[$j]);
$v_size_item_list = sizeof($v_item_list);
// ----- TBC : Here we might check that each item is a
// real integer ...
// ----- Look for single value
if ($v_size_item_list == 1) {
// ----- Set the option value
@@ -1703,7 +1703,7 @@
}
$v_sort_value = $v_result_list[$p_options_list[$i]][$j]['start'];
}
// ----- Sort the items
if ($v_sort_flag) {
// TBC : To Be Completed
@@ -1806,10 +1806,10 @@
}
}
}
// ----- Look for default values
if (!isset($v_result_list[PCLZIP_OPT_TEMP_FILE_THRESHOLD])) {
}
// ----- Return
@@ -1826,12 +1826,12 @@
function privOptionDefaultThreshold(&$p_options)
{
$v_result=1;
if (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD])
|| isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) {
return $v_result;
}
// ----- Get 'memory_limit' configuration value
$v_memory_limit = ini_get('memory_limit');
$v_memory_limit = trim($v_memory_limit);
@@ -1846,15 +1846,15 @@
$v_memory_limit = $v_memory_limit*1048576;
if($last == 'k')
$v_memory_limit = $v_memory_limit*1024;
$p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] = floor($v_memory_limit*PCLZIP_TEMPORARY_FILE_RATIO);
// ----- Sanity check : No threshold if value lower than 1M
if ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] < 1048576) {
unset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]);
}
// ----- Return
return $v_result;
}
@@ -1871,10 +1871,10 @@
function privFileDescrParseAtt(&$p_file_list, &$p_filedescr, $v_options, $v_requested_options=false)
{
$v_result=1;
// ----- For each file in the list check the attributes
foreach ($p_file_list as $v_key => $v_value) {
// ----- Check if the option is supported
if (!isset($v_requested_options[$v_key])) {
// ----- Error log
@@ -1893,7 +1893,7 @@
}
$p_filedescr['filename'] = PclZipUtilPathReduction($v_value);
if ($p_filedescr['filename'] == '') {
PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty filename for attribute '".PclZipUtilOptionText($v_key)."'");
return PclZip::errorCode();
@@ -1974,10 +1974,10 @@
}
}
}
// end foreach
}
// ----- Return
return $v_result;
}
@@ -1990,7 +1990,7 @@
// or a string to be added as file. For any other type of files (link, other)
// just ignore the item.
// Then prepare the information that will be stored for that file.
// When its a folder, expand the folder with all the files that are in that
// When its a folder, expand the folder with all the files that are in that
// folder (recursively).
// Parameters :
// Return Values :
@@ -2000,20 +2000,20 @@
function privFileDescrExpand(&$p_filedescr_list, &$p_options)
{
$v_result=1;
// ----- Create a result list
$v_result_list = array();
// ----- Look each entry
for ($i=0; $i<sizeof($p_filedescr_list); $i++) {
// ----- Get filedescr
$v_descr = $p_filedescr_list[$i];
// ----- Reduce the filename
$v_descr['filename'] = PclZipUtilTranslateWinPath($v_descr['filename'], false);
$v_descr['filename'] = PclZipUtilPathReduction($v_descr['filename']);
// ----- Look for real file or folder
if (file_exists($v_descr['filename'])) {
if (@is_file($v_descr['filename'])) {
@@ -2031,12 +2031,12 @@
continue;
}
}
// ----- Look for string added as file
else if (isset($v_descr['content'])) {
$v_descr['type'] = 'virtual_file';
}
// ----- Missing file
else {
// ----- Error log
@@ -2045,13 +2045,13 @@
// ----- Return
return PclZip::errorCode();
}
// ----- Calculate the stored filename
$this->privCalculateStoredFilename($v_descr, $p_options);
// ----- Add the descriptor in result list
$v_result_list[sizeof($v_result_list)] = $v_descr;
// ----- Look for folder
if ($v_descr['type'] == 'folder') {
// ----- List of items in folder
@@ -2064,10 +2064,10 @@
if (($v_item_handler == '.') || ($v_item_handler == '..')) {
continue;
}
// ----- Compose the full filename
$v_dirlist_descr[$v_dirlist_nb]['filename'] = $v_descr['filename'].'/'.$v_item_handler;
// ----- Look for different stored filename
// Because the name of the folder was changed, the name of the
// files/sub-folders also change
@@ -2080,34 +2080,34 @@
$v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_item_handler;
}
}
$v_dirlist_nb++;
}
@closedir($v_folder_handler);
}
else {
// TBC : unable to open folder in read mode
}
// ----- Expand each element of the list
if ($v_dirlist_nb != 0) {
// ----- Expand
if (($v_result = $this->privFileDescrExpand($v_dirlist_descr, $p_options)) != 1) {
return $v_result;
}
// ----- Concat the resulting list
$v_result_list = array_merge($v_result_list, $v_dirlist_descr);
}
else {
}
// ----- Free local array
unset($v_dirlist_descr);
}
}
// ----- Get the result list
$p_filedescr_list = $v_result_list;
@@ -2126,7 +2126,7 @@
{
$v_result=1;
$v_list_detail = array();
// ----- Magic quotes trick
$this->privDisableMagicQuotes();
@@ -2456,7 +2456,7 @@
// Function : privAddFileList()
// Description :
// Parameters :
// $p_filedescr_list : An array containing the file description
// $p_filedescr_list : An array containing the file description
// or directory names to add in the zip
// $p_result_list : list of added files with their properties (specially the status field)
// Return Values :
@@ -2474,7 +2474,7 @@
// ----- Format the filename
$p_filedescr_list[$j]['filename']
= PclZipUtilTranslateWinPath($p_filedescr_list[$j]['filename'], false);
// ----- Skip empty file names
// TBC : Can this be possible ? not checked in DescrParseAtt ?
@@ -2526,7 +2526,7 @@
function privAddFile($p_filedescr, &$p_header, &$p_options)
{
$v_result=1;
// ----- Working variable
$p_filename = $p_filedescr['filename'];
@@ -2538,8 +2538,8 @@
// ----- Return
return PclZip::errorCode();
}
// ----- Look for a stored different filename
// ----- Look for a stored different filename
/* TBC : Removed
if (isset($p_filedescr['stored_filename'])) {
$v_stored_filename = $p_filedescr['stored_filename'];
@@ -2564,7 +2564,7 @@
$p_header['offset'] = 0;
$p_header['filename'] = $p_filename;
// TBC : Removed $p_header['stored_filename'] = $v_stored_filename;
$p_header['stored_filename'] = $p_filedescr['stored_filename'];
$p_header['stored_filename'] = strpos(helper::getOS(), 'Windows') !== false ? mb_convert_encoding($p_filedescr['stored_filename'],'GB2312','UTF-8') : $p_filedescr['stored_filename'];
$p_header['extra'] = '';
$p_header['status'] = 'ok';
$p_header['index'] = -1;
@@ -2574,20 +2574,20 @@
$p_header['external'] = 0x00000000;
$p_header['size'] = filesize($p_filename);
}
// ----- Look for regular folder
else if ($p_filedescr['type']=='folder') {
$p_header['external'] = 0x00000010;
$p_header['mtime'] = filemtime($p_filename);
$p_header['size'] = filesize($p_filename);
}
// ----- Look for virtual file
else if ($p_filedescr['type'] == 'virtual_file') {
$p_header['external'] = 0x00000000;
$p_header['size'] = strlen($p_filedescr['content']);
}
// ----- Look for filetime
if (isset($p_filedescr['mtime'])) {
@@ -2639,7 +2639,7 @@
if ($p_header['stored_filename'] == "") {
$p_header['status'] = "filtered";
}
// ----- Check the path length
if (strlen($p_header['stored_filename']) > 0xFF) {
$p_header['status'] = 'filename_too_long';
@@ -2651,7 +2651,7 @@
// ----- Look for a file
if ($p_filedescr['type'] == 'file') {
// ----- Look for using temporary file to zip
if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF]))
if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF]))
&& (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON])
|| (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD])
&& ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_header['size'])) ) ) {
@@ -2660,7 +2660,7 @@
return $v_result;
}
}
// ----- Use "in memory" zip algo
else {
@@ -2678,14 +2678,14 @@
// ----- Calculate the CRC
$p_header['crc'] = @crc32($v_content);
// ----- Look for no compression
if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) {
// ----- Set header parameters
$p_header['compressed_size'] = $p_header['size'];
$p_header['compression'] = 0;
}
// ----- Look for normal compression
else {
// ----- Compress the content
@@ -2695,7 +2695,7 @@
$p_header['compressed_size'] = strlen($v_content);
$p_header['compression'] = 8;
}
// ----- Call the header generation
if (($v_result = $this->privWriteFileHeader($p_header)) != 1) {
@fclose($v_file);
@@ -2711,19 +2711,19 @@
// ----- Look for a virtual file (a file from string)
else if ($p_filedescr['type'] == 'virtual_file') {
$v_content = $p_filedescr['content'];
// ----- Calculate the CRC
$p_header['crc'] = @crc32($v_content);
// ----- Look for no compression
if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) {
// ----- Set header parameters
$p_header['compressed_size'] = $p_header['size'];
$p_header['compression'] = 0;
}
// ----- Look for normal compression
else {
// ----- Compress the content
@@ -2733,7 +2733,7 @@
$p_header['compressed_size'] = strlen($v_content);
$p_header['compression'] = 8;
}
// ----- Call the header generation
if (($v_result = $this->privWriteFileHeader($p_header)) != 1) {
@fclose($v_file);
@@ -2799,7 +2799,7 @@
function privAddFileUsingTempFile($p_filedescr, &$p_header, &$p_options)
{
$v_result=PCLZIP_ERR_NO_ERROR;
// ----- Working variable
$p_filename = $p_filedescr['filename'];
@@ -2894,7 +2894,7 @@
// ----- Unlink the temporary file
@unlink($v_gzip_temp_name);
// ----- Return
return $v_result;
}
@@ -2911,7 +2911,7 @@
function privCalculateStoredFilename(&$p_filedescr, &$p_options)
{
$v_result=1;
// ----- Working variables
$p_filename = $p_filedescr['filename'];
if (isset($p_options[PCLZIP_OPT_ADD_PATH])) {
@@ -2939,7 +2939,7 @@
// ----- Remove drive letter if any
$v_stored_filename = PclZipUtilTranslateWinPath($p_filedescr['new_full_name']);
}
// ----- Look for path and/or short name change
else {
@@ -2969,7 +2969,7 @@
if ( (substr($p_filename, 0, 2) == "./")
|| (substr($p_remove_dir, 0, 2) == "./")) {
if ( (substr($p_filename, 0, 2) == "./")
&& (substr($p_remove_dir, 0, 2) != "./")) {
$p_remove_dir = "./".$p_remove_dir;
@@ -2992,10 +2992,10 @@
}
}
}
// ----- Remove drive letter if any
$v_stored_filename = PclZipUtilTranslateWinPath($v_stored_filename);
// ----- Look for path to add
if ($p_add_dir != "") {
if (substr($p_add_dir, -1) == "/")
@@ -3008,7 +3008,7 @@
// ----- Filename (reduce the path of stored name)
$v_stored_filename = PclZipUtilPathReduction($v_stored_filename);
$p_filedescr['stored_filename'] = $v_stored_filename;
// ----- Return
return $v_result;
}
@@ -3159,7 +3159,7 @@
{
// ----- Magic quotes trick
$this->privSwapBackMagicQuotes();
// ----- Error log
PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode');
@@ -3390,7 +3390,7 @@
// ----- Look for extract by ereg rule
// ereg() is deprecated with PHP 5.3
/*
/*
else if ( (isset($p_options[PCLZIP_OPT_BY_EREG]))
&& ($p_options[PCLZIP_OPT_BY_EREG] != "")) {
@@ -3412,7 +3412,7 @@
// ----- Look for extract by index rule
else if ( (isset($p_options[PCLZIP_OPT_BY_INDEX]))
&& ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) {
// ----- Look if the index is in the list
for ($j=$j_start; ($j<sizeof($p_options[PCLZIP_OPT_BY_INDEX])) && (!$v_extract); $j++) {
@@ -3445,7 +3445,7 @@
&& ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) {
$this->privSwapBackMagicQuotes();
PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_COMPRESSION,
"Filename '".$v_header['stored_filename']."' is "
."compressed by an unsupported compression "
@@ -3454,7 +3454,7 @@
return PclZip::errorCode();
}
}
// ----- Check encrypted files
if (($v_extract) && (($v_header['flag'] & 1) == 1)) {
$v_header['status'] = 'unsupported_encryption';
@@ -3486,7 +3486,7 @@
$v_extract = false;
}
// ----- Look for real extraction
if ($v_extract)
{
@@ -3535,7 +3535,7 @@
// ----- Next extracted file
$v_nb_extracted++;
// ----- Look for user callback abort
if ($v_result1 == 2) {
break;
@@ -3671,12 +3671,12 @@
if ($p_path != '') {
$p_entry['filename'] = $p_path."/".$p_entry['filename'];
}
// ----- Check a base_dir_restriction
if (isset($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION])) {
$v_inclusion
= PclZipUtilPathInclusion($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION],
$p_entry['filename']);
$p_entry['filename']);
if ($v_inclusion == 0) {
PclZip::privErrorLog(PCLZIP_ERR_DIRECTORY_RESTRICTION,
@@ -3704,7 +3704,7 @@
$p_entry['status'] = "skipped";
$v_result = 1;
}
// ----- Look for abort result
if ($v_result == 2) {
// ----- This status is internal and will be changed in 'skipped'
@@ -3731,7 +3731,7 @@
// ----- Change the file status
$p_entry['status'] = "already_a_directory";
// ----- Look for PCLZIP_OPT_STOP_ON_ERROR
// For historical reason first PclZip implementation does not stop
// when this kind of error occurs.
@@ -3804,10 +3804,10 @@
$v_dir_to_check = dirname($p_entry['filename']);
if (($v_result = $this->privDirCheck($v_dir_to_check, (($p_entry['external']&0x00000010)==0x00000010))) != 1) {
// ----- Change the file status
$p_entry['status'] = "path_creation_fail";
// ----- Return
//return $v_result;
$v_result = 1;
@@ -3846,7 +3846,7 @@
$v_binary_data = pack('a'.$v_read_size, $v_buffer);
@fwrite($v_dest_file, $v_binary_data, $v_read_size);
*/
@fwrite($v_dest_file, $v_buffer, $v_read_size);
@fwrite($v_dest_file, $v_buffer, $v_read_size);
$v_size -= $v_read_size;
}
@@ -3855,7 +3855,7 @@
// ----- Change the file mtime
touch($p_entry['filename'], $p_entry['mtime']);
}
else {
@@ -3868,7 +3868,7 @@
// ----- Look for using temporary file to unzip
if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF]))
if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF]))
&& (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON])
|| (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD])
&& ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_entry['size'])) ) ) {
@@ -3877,42 +3877,42 @@
return $v_result;
}
}
// ----- Look for extract in memory
else {
// ----- Read the compressed file in a buffer (one shot)
$v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']);
// ----- Decompress the file
$v_file_content = @gzinflate($v_buffer);
unset($v_buffer);
if ($v_file_content === FALSE) {
// ----- Change the file status
// TBC
$p_entry['status'] = "error";
return $v_result;
}
// ----- Opening destination file
if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) {
// ----- Change the file status
$p_entry['status'] = "write_error";
return $v_result;
}
// ----- Write the uncompressed data
@fwrite($v_dest_file, $v_file_content, $p_entry['size']);
unset($v_file_content);
// ----- Closing the destination file
@fclose($v_dest_file);
}
// ----- Change the file mtime
@@ -3933,7 +3933,7 @@
if ($p_entry['status'] == "aborted") {
$p_entry['status'] = "skipped";
}
// ----- Look for post-extract callback
elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) {
@@ -3967,7 +3967,7 @@
function privExtractFileUsingTempFile(&$p_entry, &$p_options)
{
$v_result=1;
// ----- Creates a temporary file
$v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz';
if (($v_dest_file = @fopen($v_gzip_temp_name, "wb")) == 0) {
@@ -4028,7 +4028,7 @@
// ----- Delete the temporary file
@unlink($v_gzip_temp_name);
// ----- Return
return $v_result;
}
@@ -4106,7 +4106,7 @@
// ----- Read the compressed file in a buffer (one shot)
$v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']);
// ----- Decompress the file
$v_file_content = gzinflate($v_buffer);
unset($v_buffer);
@@ -4187,7 +4187,7 @@
$p_entry['status'] = "skipped";
$v_result = 1;
}
// ----- Look for abort result
if ($v_result == 2) {
// ----- This status is internal and will be changed in 'skipped'
@@ -4209,41 +4209,41 @@
// ----- Look for not compressed file
// if ($p_entry['compressed_size'] == $p_entry['size'])
if ($p_entry['compression'] == 0) {
// ----- Reading the file
$p_string = @fread($this->zip_fd, $p_entry['compressed_size']);
}
else {
// ----- Reading the file
$v_data = @fread($this->zip_fd, $p_entry['compressed_size']);
// ----- Decompress the file
if (($p_string = @gzinflate($v_data)) === FALSE) {
// TBC
}
}
// ----- Trace
}
else {
// TBC : error : can not extract a folder in a string
}
}
// ----- Change abort status
if ($p_entry['status'] == "aborted") {
$p_entry['status'] = "skipped";
}
// ----- Look for post-extract callback
elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) {
// ----- Generate a local information
$v_local_header = array();
$this->privConvertHeader2FileInfo($p_entry, $v_local_header);
// ----- Swap the content to header
$v_local_header['content'] = $p_string;
$p_string = '';
@@ -4504,7 +4504,7 @@
}
if ($p_local_header['filename_len'] != $p_central_header['filename_len']) {
}
// ----- Look for flag bit 3
if (($p_local_header['flag'] & 8) == 8) {
$p_local_header['size'] = $p_central_header['size'];
@@ -4590,9 +4590,9 @@
// ----- Add the byte
//$v_bytes = ($v_bytes << 8) | Ord($v_byte);
// Note we mask the old value down such that once shifted we can never end up with more than a 32bit number
// Otherwise on systems where we have 64bit integers the check below for the magic number will fail.
$v_bytes = ( ($v_bytes & 0xFFFFFF) << 8) | Ord($v_byte);
// Note we mask the old value down such that once shifted we can never end up with more than a 32bit number
// Otherwise on systems where we have 64bit integers the check below for the magic number will fail.
$v_bytes = ( ($v_bytes & 0xFFFFFF) << 8) | Ord($v_byte);
// ----- Compare the bytes
if ($v_bytes == 0x504b0506)
@@ -4870,7 +4870,7 @@
// ----- Return
return $v_result;
}
// ----- Check that local file header is same as central file header
if ($this->privCheckFileHeaders($v_local_header,
$v_header_list[$i]) != 1) {
@@ -4954,11 +4954,11 @@
// TBC : I should test the result ...
//@rename($v_zip_temp_name, $this->zipname);
PclZipUtilRename($v_zip_temp_name, $this->zipname);
// ----- Destroy the temporary archive
unset($v_temp_zip);
}
// ----- Remove every files : reset the file
else if ($v_central_dir['entries'] != 0) {
$this->privCloseFd();
@@ -5445,7 +5445,7 @@
}
}
}
// ----- Look for skip
if ($v_skip > 0) {
while ($v_skip > 0) {
@@ -5478,7 +5478,7 @@
function PclZipUtilPathInclusion($p_dir, $p_path)
{
$v_result = 1;
// ----- Look for path beginning by ./
if ( ($p_dir == '.')
|| ((strlen($p_dir) >=2) && (substr($p_dir, 0, 2) == './'))) {
@@ -5646,7 +5646,7 @@
// --------------------------------------------------------------------------------
function PclZipUtilOptionText($p_option)
{
$v_list = get_defined_constants();
for (reset($v_list); $v_key = key($v_list); next($v_list)) {
$v_prefix = substr($v_key, 0, 10);
@@ -5657,7 +5657,7 @@
return $v_key;
}
}
$v_result = 'Unknown';
return $v_result;
+37 -10
View File
@@ -3,6 +3,7 @@ class Gitea
{
public $client;
public $root;
public $repo;
/**
* Construct
@@ -28,8 +29,11 @@ class Gitea
$project = $app->control->loadModel('gitea')->apiGetSingleProject($repo->serviceHost, $repo->serviceProject);
if(isset($project->tokenCloneUrl))
{
$cmd = 'git clone --progress -v "' . $project->tokenCloneUrl . '" "' . $this->root . '"';
$cmd = 'git clone --progress -v "' . $project->tokenCloneUrl . '" "' . $this->root . '" > "' . $app->getTmpRoot() . "log/clone.progress." . strtolower($repo->SCM) . ".{$repo->name}.log\" 2>&1 &";
if(PHP_OS == 'WINNT') $cmd = "start /b $cmd";
exec($cmd);
return $app->control->locate($app->control->createLink('repo', 'showSyncCommit', "repoID={$repo->id}"));
}
}
@@ -40,6 +44,7 @@ class Gitea
if(isset($branches[$branch])) $branch = "origin/$branch";
}
$this->branch = $branch;
$this->repo = $repo;
chdir($this->root);
exec("{$this->client} config core.quotepath false");
@@ -159,7 +164,7 @@ class Gitea
{
$localBranch = trim($localBranch);
if(substr($localBranch, 0, 19) == 'remotes/origin/HEAD') continue;
if(substr($localBranch, 0, 1) == '*') $localBranch = substr($localBranch, 1);
if(substr($localBranch, 0, 1) == '*') continue;
if(substr($localBranch, 0, 15) == 'remotes/origin/') $localBranch = substr($localBranch, 15);
$localBranch = trim($localBranch);
@@ -551,9 +556,15 @@ class Gitea
{
if(!scm::checkRevision($revision)) return array();
if($revision == 'HEAD' and $branch) $revision = $branch;
$revision = is_numeric($revision) ? "--skip=$revision $branch" : $revision;
$count = $count == 0 ? '' : "-n $count";
if($revision == 'HEAD' and $branch)
{
$revision = $branch;
}
elseif(is_numeric($revision))
{
$revision = "--skip=$revision $branch";
}
$count = $count == 0 ? '' : "-n $count";
chdir($this->root);
if($branch)
@@ -598,11 +609,11 @@ class Gitea
list($action, $path) = $file;
$parsedFile = new stdclass();
$parsedFile->revision = $hash;
$parsedFile->path = '/' . trim($path);
$parsedFile->type = 'file';
$parsedFile->action = $action;
$logs['files'][$hash][] = $parsedFile;
$parsedFile->revision = $hash;
$parsedFile->path = '/' . trim($path);
$parsedFile->type = 'file';
$parsedFile->action = $action;
$logs['files'][$hash][] = $parsedFile;
}
}
return $logs;
@@ -690,4 +701,20 @@ class Gitea
return $parsedLogs;
}
/**
* Get download url.
*
* @param string $branch
* @param string $savePath
* @param string $ext
* @access public
* @return string
*/
public function getDownloadUrl($branch = 'master', $savePath = '', $ext = 'zip')
{
global $app;
$api = $app->control->loadModel('gitea')->getApiRoot($this->repo->serviceHost);
return sprintf($api, "/repos/{$this->repo->serviceProject}/archive/{$branch}.zip");
}
}
+2 -1
View File
@@ -840,11 +840,12 @@ class gitlab
* Get download url.
*
* @param string $branch
* @param string $savePath
* @param string $ext
* @access public
* @return string
*/
public function getDownloadUrl($branch = 'master', $ext = 'zip')
public function getDownloadUrl($branch = 'master', $savePath = '', $ext = 'zip')
{
$params = (array) $params;
$params['private_token'] = $this->token;
+41 -4
View File
@@ -3,6 +3,7 @@ class GitRepo
{
public $client;
public $root;
public $repo;
/**
* Construct
@@ -30,6 +31,7 @@ class GitRepo
if(isset($branches[$branch])) $branch = "origin/$branch";
}
$this->branch = $branch;
$this->repo = $repo;
chdir($this->root);
exec("{$this->client} config core.quotepath false");
@@ -540,9 +542,16 @@ class GitRepo
{
if(!scm::checkRevision($revision)) return array();
if($revision == 'HEAD' and $branch) $revision = $branch;
$revision = is_numeric($revision) ? "--skip=$revision $branch" : $revision;
$count = $count == 0 ? '' : "-n $count";
if($revision == 'HEAD' and $branch)
{
$revision = $branch;
}
elseif(is_numeric($revision))
{
$revision = "--skip=$revision $branch";
}
$count = $count == 0 ? '' : "-n $count";
chdir($this->root);
if($branch) execCmd(escapeCmd("$this->client checkout $branch"), 'array');
@@ -603,7 +612,8 @@ class GitRepo
{
$url = new stdclass();
$remote = execCmd(escapeCmd("$this->client remote -v"), 'array');
$pregHttp = '/http(s)?:\/\/(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+)*\.git/';
if(strpos($remote[0], 'oauth2:')) $remote[0] = preg_replace('/oauth2.*@/', '', $remote[0]);
$pregHttp = '/http(s)?:\/\/(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+)*(\.git)?/';
$pregSSH = '/ssh:\/\/git@[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+)*\.git/';
if(preg_match($pregHttp, $remote[0], $matches)) $url->http = $matches[0];
@@ -675,4 +685,31 @@ class GitRepo
return $parsedLogs;
}
/**
* Get download url.
*
* @param string $branch
* @param string $savePath
* @param string $ext
* @access public
* @return string
*/
public function getDownloadUrl($branch = 'master', $savePath = '', $ext = 'zip')
{
global $app, $config;
$gitDir = scandir($this->root);
$files = '';
foreach($gitDir as $path)
{
if(!in_array($path, array('.', '..', '.git'))) $files .= $this->root . DS . "$path,";
}
$app->loadClass('pclzip', true);
$fileName = $savePath . DS . "{$this->repo->name}_$branch.zip";
$zip = new pclzip($fileName);
$zip->create($files, PCLZIP_OPT_REMOVE_PATH, $this->root);
return $config->webRoot . $app->getAppName() . 'data' . DS . 'repo' . DS . "{$this->repo->name}_$branch.zip";
}
}
+755
View File
@@ -0,0 +1,755 @@
<?php
class Gogs
{
public $client;
public $root;
public $repo;
/**
* Construct
*
* @param string $client
* @param string $root
* @param string $username
* @param string $password
* @param string $encoding
* @param object $repo
* @access public
* @return void
*/
public function __construct($client, $root, $username, $password, $encoding = 'UTF-8', $repo = null)
{
putenv('LC_CTYPE=en_US.UTF-8');
$this->client = $client;
$this->root = rtrim($root, DIRECTORY_SEPARATOR);
if(!realpath($this->root) and !empty($repo))
{
global $app;
$project = $app->control->loadModel('gogs')->apiGetSingleProject($repo->serviceHost, $repo->serviceProject);
if(isset($project->tokenCloneUrl))
{
$cmd = 'git clone --progress -v "' . $project->tokenCloneUrl . '" "' . $this->root . '" > "' . $app->getTmpRoot() . "log/clone.progress." . strtolower($repo->SCM) . ".{$repo->name}.log\" 2>&1 &";
if(PHP_OS == 'WINNT') $cmd = "start /b $cmd";
exec($cmd);
return $app->control->locate($app->control->createLink('repo', 'showSyncCommit', "repoID={$repo->id}"));
}
}
$branch = isset($_COOKIE['repoBranch']) ? $_COOKIE['repoBranch'] : '';
if($branch)
{
$branches = $this->branch();
if(isset($branches[$branch])) $branch = "origin/$branch";
}
$this->branch = $branch;
$this->repo = $repo;
chdir($this->root);
exec("{$this->client} config core.quotepath false");
}
/**
* List files.
*
* @param string $path
* @param string $revision
* @access public
* @return array
*/
public function ls($path, $revision = 'HEAD')
{
if(!scm::checkRevision($revision)) return array();
$path = ltrim($path, DIRECTORY_SEPARATOR);
$sub = '';
chdir($this->root);
if(!empty($path)) $sub = ":$path";
if(!empty($this->branch))$revision = $this->branch;
execCmd(escapeCmd("$this->client pull"));
$cmd = escapeCmd("$this->client ls-tree -l $revision$sub");
$list = execCmd($cmd . ' 2>&1', 'array', $result);
if($result) return array();
$infos = array();
foreach($list as $entry)
{
list($mod, $kind, $revision, $size, $name) = preg_split('/[\t ]+/', $entry);
/* Get commit info. */
$pathName = ltrim($path . DIRECTORY_SEPARATOR . $name, DIRECTORY_SEPARATOR);
$cmd = escapeCmd("$this->client log -1 $this->branch -- $pathName");
$commit = execCmd($cmd, 'array');
$logs = $this->parseLog($commit);
if($size > 1024 * 1024)
{
$size = round($size / (1024 * 1024), 2) . 'MB';
}
else if($size > 1024)
{
$size = round($size / 1024, 2) . 'KB';
}
else
{
$size .= 'Bytes';
}
$info = new stdClass();
$info->name = $name;
$info->kind = $kind == 'tree' ? 'dir' : 'file';
$info->revision = $logs ? $logs[0]->revision : $revision;
$info->size = $size;
$info->account = $logs ? $logs[0]->committer : '';
$info->date = $logs ? $logs[0]->time : '';
$info->comment = $logs ? $logs[0]->comment : '';
$infos[] = $info;
unset($info);
}
/* Sort by kind */
foreach($infos as $key => $info) $kinds[$key] = $info->kind;
if($infos) array_multisort($kinds, SORT_ASC, $infos);
return $infos;
}
/**
* Get tags
*
* @param string $path
* @param string $revision
* @access public
* @return array
*/
public function tags($path, $revision = 'HEAD')
{
if(!scm::checkRevision($revision)) return array();
chdir($this->root);
$cmd = escapeCmd("$this->client tag --sort=taggerdate");
$list = execCmd($cmd . ' 2>&1', 'array', $result);
if($result) return array();
foreach($list as $key => $tag)
{
if(!$tag) unset($list[$key]);
}
return $list;
}
/**
* Get branch.
*
* @access public
* @return array
*/
public function branch()
{
chdir($this->root);
/* Get local branch. */
$cmd = escapeCmd("$this->client branch -a");
$list = execCmd($cmd . ' 2>&1', 'array', $result);
if($result) return array();
/* Get default branch. */
$defaultBranch = execCmd("$this->client symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@'");
$defaultBranch = trim($defaultBranch);
$branches = array();
foreach($list as $localBranch)
{
$localBranch = trim($localBranch);
if(substr($localBranch, 0, 19) == 'remotes/origin/HEAD') continue;
if(substr($localBranch, 0, 1) == '*') continue;
if(substr($localBranch, 0, 15) == 'remotes/origin/') $localBranch = substr($localBranch, 15);
$localBranch = trim($localBranch);
if(empty($localBranch))continue;
if($localBranch != $defaultBranch) $branches[$localBranch] = $localBranch;
}
asort($branches);
if($defaultBranch) $branches = array($defaultBranch => $defaultBranch) + $branches;
return $branches;
}
/**
* Get last log.
*
* @param string $path
* @param int $count
* @access public
* @return array
*/
public function getLastLog($path, $count = 10)
{
$path = ltrim($path, DIRECTORY_SEPARATOR);
$revision = $this->branch ? $this->branch : 'HEAD';
chdir($this->root);
$list = execCmd(escapeCmd("$this->client log -10 $revision -- $path"), 'array');
$logs = $this->parseLog($list);
return $logs;
}
/**
* Get logs
*
* @param string $path
* @param string $fromRevision
* @param string $toRevision
* @param int $count
* @access public
* @return array
*/
public function log($path, $fromRevision = 0, $toRevision = 'HEAD', $count = 0)
{
if(!scm::checkRevision($fromRevision)) return array();
if(!scm::checkRevision($toRevision)) return array();
$path = ltrim($path, DIRECTORY_SEPARATOR);
$count = $count == 0 ? '' : "-n $count";
/* compatible with svn. */
if($fromRevision == 'HEAD' and $this->branch) $fromRevision = $this->branch;
if($toRevision == 'HEAD' and $this->branch) $toRevision = $this->branch;
if($fromRevision === $toRevision)
{
$logs = array();
chdir($this->root);
$list = execCmd(escapeCmd("$this->client log --stat=1024 --name-status --stat-name-width=1000 -1 $fromRevision -- $path"), 'array');
$logs = $this->parseLog($list);
return $logs;
}
if(!$fromRevision)
{
$revisions = " $toRevision";
}
else
{
$revisions = "$fromRevision..$toRevision";
}
chdir($this->root);
$list = execCmd(escapeCmd("$this->client log --stat=1024 --name-status --stat-name-width=1000 $count $revisions -- $path"), 'array');
$logs = $this->parseLog($list);
return $logs;
}
/**
* Blame file
*
* @param string $path
* @param string $revision
* @access public
* @return array
*/
public function blame($path, $revision)
{
if(!scm::checkRevision($revision)) return array();
$path = ltrim($path, DIRECTORY_SEPARATOR);
chdir($this->root);
$list = execCmd(escapeCmd("$this->client blame -l $revision -- $path"), 'array');
$blames = array();
$revLine = 0;
$revision = '';
foreach($list as $line)
{
if(empty($line)) continue;
if($line[0] == '^') $line = substr($line, 1);
preg_match('/^([0-9a-f]{39,40})\s.*\((\S+)\s+([\d-]+)\s(.*)\s(\d+)\)(.*)$/U', $line, $matches);
if(isset($matches[1]) and $matches[1] != $revision)
{
$blame = array();
$blame['revision'] = $matches[1];
$blame['committer'] = $matches[2];
$blame['time'] = $matches[3];
$blame['line'] = $matches[5];
$blame['lines'] = 1;
$blame['content'] = strpos($matches[6], ' ') === false ? $matches[6] : substr($matches[6], 1);
$revision = $matches[1];
$revLine = $matches[5];
$blames[$revLine] = $blame;
}
elseif(isset($matches[5]))
{
$blame = array();
$blame['line'] = $matches[5];
$blame['content'] = strpos($matches[6], ' ') === false ? $matches[6] : substr($matches[6], 1);
$blames[$matches[5]] = $blame;
$blames[$revLine]['lines'] ++;
}
}
return $blames;
}
/**
* Diff file.
*
* @param string $path
* @param string $fromRevision
* @param string $toRevision
* @param string $extra
* @access public
* @return array
*/
public function diff($path, $fromRevision, $toRevision, $extra = '')
{
if(!scm::checkRevision($fromRevision) and $extra != 'isBranchOrTag') return array();
if(!scm::checkRevision($toRevision) and $extra != 'isBranchOrTag') return array();
$path = ltrim($path, DIRECTORY_SEPARATOR);
chdir($this->root);
if($toRevision == 'HEAD' and $this->branch) $toRevision = $this->branch;
if($fromRevision == '^') $fromRevision = $toRevision . '^';
if(strpos($fromRevision, '^') !== false)
{
$list = execCmd(escapeCmd("$this->client log -2 $toRevision --pretty=format:%H -- $path"), 'array');
if(isset($list[1])) $fromRevision = $list[1];
}
$lines = execCmd(escapeCmd("$this->client diff $fromRevision $toRevision -- $path"), 'array');
return $lines;
}
/**
* Cat file.
*
* @param string $entry
* @param string $revision
* @access public
* @return string
*/
public function cat($entry, $revision = 'HEAD')
{
if(!scm::checkRevision($revision)) return false;
chdir($this->root);
if($revision == 'HEAD' and $this->branch) $revision = $this->branch;
$cmd = escapeCmd("$this->client show $revision:$entry");
$content = execCmd($cmd);
if(is_array($content)) $content = implode("\n", $content);
return $content;
}
/**
* Get info.
*
* @param string $entry
* @param string $revision
* @access public
* @return object
*/
public function info($entry, $revision = 'HEAD')
{
if(!scm::checkRevision($revision)) return false;
chdir($this->root);
if($revision == 'HEAD' and $this->branch) $revision = $this->branch;
$path = ltrim($entry, DIRECTORY_SEPARATOR);
$cmd = escapeCmd("$this->client ls-tree $revision -- $path");
$result = execCmd($cmd);
$kind = '';
if($result)
{
$results = explode("\n", trim($result));
if(count($results) >= 2)
{
$kind = 'dir';
}
else
{
list($mode, $type) = explode(' ', $results[0]);
$kind = $type == 'tree' ? 'dir' : 'file';
}
}
$list = execCmd(escapeCmd("$this->client log -1 $revision --pretty=format:%H -- $path"), 'array');
$revision = $list[0];
$info = new stdclass();
$info->kind = $kind;
$info->path = $entry;
$info->revision = $revision;
$info->root = $this->root;
return $info;
}
/**
* Exec git cmd.
*
* @param string $cmd
* @access public
* @return array
*/
public function exec($cmd)
{
chdir($this->root);
return execCmd(escapeCmd("$this->client $cmd"), 'array');
}
/**
* Parse diff.
*
* @param array $lines
* @access public
* @return array
*/
public function parseDiff($lines)
{
if(empty($lines)) return array();
$diffs = array();
$num = count($lines);
$endLine = end($lines);
if(strpos($endLine, '\ No newline at end of file') === 0) $num -= 1;
$newFile = false;
$allFiles = array();
for($i = 0; $i < $num; $i ++)
{
$diffFile = new stdclass();
if(strpos($lines[$i], "diff --git ") === 0)
{
$fileInfo = explode(' ',$lines[$i]);
$fileName = substr($fileInfo[2], strpos($fileInfo[2], '/') + 1);
/* Prevent duplicate display of files. */
if(in_array($fileName, $allFiles)) continue;
$allFiles[] = $fileName;
$diffFile->fileName = $fileName;
for($i++; $i < $num; $i ++)
{
$diff = new stdclass();
/* Fix bug #1757. */
if($lines[$i] == '+++ /dev/null') $newFile = true;
if(strpos($lines[$i], '+++', 0) !== false) continue;
if(strpos($lines[$i], '---', 0) !== false) continue;
if(strpos($lines[$i], '======', 0) !== false) continue;
if(preg_match('/^@@ -(\\d+)(,(\\d+))?\\s+\\+(\\d+)(,(\\d+))?\\s+@@/A', $lines[$i]))
{
$startLines = trim(str_replace(array('@', '+', '-'), '', $lines[$i]));
list($oldStartLine, $newStartLine) = explode(' ', $startLines);
list($diff->oldStartLine) = explode(',', $oldStartLine);
list($diff->newStartLine) = explode(',', $newStartLine);
$oldCurrentLine = $diff->oldStartLine;
$newCurrentLine = $diff->newStartLine;
if($newFile)
{
$oldCurrentLine = $diff->newStartLine;
$newCurrentLine = $diff->oldStartLine;
}
$newLines = array();
for($i++; $i < $num; $i ++)
{
if(preg_match('/^@@ -(\\d+)(,(\\d+))?\\s+\\+(\\d+)(,(\\d+))?\\s+@@/A', $lines[$i]))
{
$i --;
break;
}
if(strpos($lines[$i], "diff --git ") === 0) break;
$line = $lines[$i];
if(strpos($line, '\ No newline at end of file') === 0)continue;
$sign = empty($line) ? '' : $line[0];
if($sign == '-' and $newFile) $sign = '+';
$type = $sign != '-' ? $sign == '+' ? 'new' : 'all' : 'old';
if($sign == '-' || $sign == '+')
{
$line = substr_replace($line, ' ', 1, 0);
if($newFile) $line = preg_replace('/^\-/', '+', $line);
}
$newLine = new stdclass();
$newLine->type = $type;
$newLine->oldlc = $type != 'new' ? $oldCurrentLine : '';
$newLine->newlc = $type != 'old' ? $newCurrentLine : '';
$newLine->line = htmlSpecialString($line);
if($type != 'new') $oldCurrentLine++;
if($type != 'old') $newCurrentLine++;
$newLines[] = $newLine;
}
$diff->lines = $newLines;
$diffFile->contents[] = $diff;
}
if(isset($lines[$i]) and strpos($lines[$i], "diff --git ") === 0)
{
$i --;
$newFile = false;
break;
}
}
$diffs[] = $diffFile;
}
}
return $diffs;
}
/**
* Get commit count.
*
* @param int $commits
* @param string $lastVersion
* @access public
* @return int
*/
public function getCommitCount($commits = 0, $lastVersion = '')
{
if(!scm::checkRevision($lastVersion)) return false;
chdir($this->root);
$revision = $this->branch ? $this->branch : 'HEAD';
return execCmd(escapeCmd("$this->client rev-list --count $revision -- ./"), 'string');
}
/**
* Get first revision.
*
* @access public
* @return string
*/
public function getFirstRevision()
{
chdir($this->root);
$list = execCmd(escapeCmd("$this->client rev-list --reverse HEAD -- ./"), 'array');
return $list[0];
}
/**
* Get latest revision
*
* @access public
* @return string
*/
public function getLatestRevision()
{
chdir($this->root);
$revision = $this->branch ? $this->branch : 'HEAD';
$list = execCmd(escapeCmd("$this->client rev-list -1 $revision -- ./"), 'array');
return $list[0];
}
/**
* Get commits.
*
* @param string $rversion
* @param int $count
* @param string $branch
* @access public
* @return array
*/
public function getCommits($revision = '', $count = 0, $branch = '')
{
if(!scm::checkRevision($revision)) return array();
if($revision == 'HEAD' and $branch)
{
$revision = $branch;
}
elseif(is_numeric($revision))
{
$revision = "--skip=$revision $branch";
}
$count = $count == 0 ? '' : "-n $count";
chdir($this->root);
if($branch)
{
execCmd(escapeCmd("$this->client checkout $branch"));
execCmd(escapeCmd("$this->client pull"));
}
$list = execCmd(escapeCmd("$this->client log $count $revision -- ./"), 'array');
$commits = $this->parseLog($list);
$logs = array();
foreach($commits as $commit)
{
$hash = $commit->revision;
$log = new stdClass();
$log->committer = $commit->committer;
$log->revision = $commit->revision;
$log->comment = $commit->comment;
$log->time = $commit->time;
$logs['commits'][$hash] = $log;
$logs['files'][$hash] = array();
}
if(empty($logs)) return $logs;
$hash = '';
$files = execCmd(escapeCmd("$this->client whatchanged $count $revision --pretty=format:%an@_@%cd@_@%H@_@%s -- ./"), 'array');
foreach($files as $commit)
{
$commit = trim($commit);
if(empty($commit)) continue;
$parsedCommit = explode('@_@', $commit);
if(count($parsedCommit) == 4)
{
list($account, $date, $hash, $comment) = $parsedCommit;
}
else
{
$file = explode(' ', $commit);
$file = explode("\t", end($file));
if(!isset($file[1])) $file[1] = '';
list($action, $path) = $file;
$parsedFile = new stdclass();
$parsedFile->revision = $hash;
$parsedFile->path = '/' . trim($path);
$parsedFile->type = 'file';
$parsedFile->action = $action;
$logs['files'][$hash][] = $parsedFile;
}
}
return $logs;
}
/**
* Get commits by MR branches.
*
* @param string $sourceBranch
* @param string $targetBranch
* @access public
* @return array
*/
public function getMRCommits($sourceBranch, $targetBranch)
{
execCmd(escapeCmd("$this->client checkout $sourceBranch"));
execCmd(escapeCmd("$this->client pull"));
execCmd(escapeCmd("$this->client checkout $targetBranch"));
execCmd(escapeCmd("$this->client pull"));
$commits = execCmd(escapeCmd("$this->client log origin/$sourceBranch ^origin/$targetBranch"), 'array');
$commits = $this->parseLog($commits);
foreach($commits as $commit) $commit->id = $commit->revision;
return $commits;
}
/**
* Get clone url.
*
* @access public
* @return string
*/
public function getCloneUrl()
{
$url = new stdclass();
$remote = execCmd(escapeCmd("$this->client remote -v"), 'array');
$pregHttp = '/http(s)?:\/\/(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+)*\.git/';
$pregSSH = '/ssh:\/\/git@[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+)*\.git/';
if(preg_match($pregHttp, $remote[0], $matches)) $url->http = $matches[0];
if(preg_match($pregSSH, $remote[0], $matches)) $url->ssh = $matches[0];
return $url;
}
/**
* Parse log.
*
* @param array $logs
* @access public
* @return array
*/
public function parseLog($logs)
{
$parsedLogs = array();
$i = 0;
foreach($logs as $line)
{
if(strpos($line, 'commit ') === 0)
{
if(isset($log))
{
$log->comment = trim($comment);
$log->change = $changes;
$parsedLogs[$i] = $log;
$i++;
}
$log = new stdclass();
$comment = '';
$changes = array();
$log->revision = trim(preg_replace('/^commit/', '', $line));
}
elseif(strpos($line, 'Author:') === 0)
{
$account = preg_replace('/^Author:/', '', $line);
$log->committer = trim(preg_replace('/<[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-\.]+>/', '', $account));
}
elseif(strpos($line, 'Date:') === 0)
{
$date = trim(preg_replace('/^Date:/', '', $line));
$log->time = date('Y-m-d H:i:s', strtotime($date));
}
elseif(preg_match('/^\s{2,}/', $line))
{
$comment .= $line;
}
elseif(strpos($line, "\t") !== false)
{
list($action, $entry) = explode("\t", $line);
$entry = '/' . trim($entry);
$pathInfo = array();
$pathInfo['action'] = $action;
$pathInfo['kind'] = 'file';
$changes[$entry] = $pathInfo;
}
}
if(isset($log))
{
$log->comment = trim($comment);
$log->change = $changes;
$parsedLogs[$i] = $log;
}
return $parsedLogs;
}
/**
* Get download url.
*
* @param string $branch
* @param string $savePath
* @param string $ext
* @access public
* @return string
*/
public function getDownloadUrl($branch = 'master', $savePath = '', $ext = 'zip')
{
execCmd(escapeCmd("$this->client checkout $branch"));
execCmd(escapeCmd("$this->client pull"));
global $app, $config;
$gitDir = scandir($this->root);
$files = '';
foreach($gitDir as $path)
{
if(!in_array($path, array('.', '..', '.git'))) $files .= $this->root . DS . "$path,";
}
$app->loadClass('pclzip', true);
$fileName = $savePath . DS . "{$this->repo->name}_$branch.zip";
$zip = new pclzip($fileName);
$zip->create($files, PCLZIP_OPT_REMOVE_PATH, $this->root);
return $config->webRoot . $app->getAppName() . 'data' . DS . 'repo' . DS . "{$this->repo->name}_$branch.zip";
}
}
+16 -2
View File
@@ -220,6 +220,19 @@ class scm
return $this->engine->getCommits($version, $count, $branch);
}
/**
* Get commits by MR branches.
*
* @param string $sourceBranch
* @param string $targetBranch
* @access public
* @return array
*/
public function getMRCommits($sourceBranch, $targetBranch)
{
return $this->engine->getMRCommits($sourceBranch, $targetBranch);
}
/**
* Get clone url.
*
@@ -249,13 +262,14 @@ class scm
* Get download url.
*
* @param string $branch
* @param string $savePath
* @param string $ext
* @access public
* @return string
*/
public function getDownloadUrl($branch = '', $ext = 'zip')
public function getDownloadUrl($branch = '', $savePath = '', $ext = 'zip')
{
return $this->engine->getDownloadUrl($branch, $ext);
return $this->engine->getDownloadUrl($branch, $savePath, $ext);
}
}
+30
View File
@@ -9,6 +9,7 @@ class Subversion
public $remote;
public $encoding;
public $svnVersion;
public $repo;
/**
* Construct
@@ -29,6 +30,7 @@ class Subversion
$this->account = $account;
$this->password = $password;
$this->encoding = $encoding;
$this->repo = $repo;
$this->ssh = (stripos($this->root, 'svn') === 0 or stripos($this->root, 'https') === 0) ? true : false;
$this->remote = !(stripos($this->root, 'file') === 0);
$this->client = $this->remote ? $client . " --username @account@ --password @password@" : $client;
@@ -682,4 +684,32 @@ class Subversion
return end($versionOutput);
}
/**
* Get download url.
*
* @param string $branch
* @param string $savePath
* @param string $ext
* @access public
* @return string
*/
public function getDownloadUrl($branch = '', $savePath = '', $ext = 'zip')
{
global $app, $config;
/* Get repo name. */
$pathList = explode('/', trim($this->root, '/'));
$repoDir = $savePath . DS . end($pathList);
execCmd($this->replaceAuth(escapeCmd("$this->client export $this->root $repoDir")));
$fileName = $savePath . DS . "{$this->repo->name}.zip";
$app->loadClass('pclzip', true);
$zip = new pclzip($fileName);
$zip->create($repoDir, PCLZIP_OPT_REMOVE_PATH, $repoDir);
$zfile = $app->loadClass('zfile');
$zfile->removeDir($repoDir);
return $config->webRoot . $app->getAppName() . 'data' . DS . 'repo' . DS . $this->repo->name . '.zip';
}
}
+7
View File
@@ -0,0 +1,7 @@
<?php
// autoload.php @generated by Composer
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInitea8a35d9469bbaa4fe54772aaf0cb8ae::getLoader();
+117
View File
@@ -0,0 +1,117 @@
#!/usr/bin/env php
<?php
/**
* Proxy PHP file generated by Composer
*
* This file includes the referenced bin path (../phpmyadmin/sql-parser/bin/highlight-query)
* using a stream wrapper to prevent the shebang from being output on PHP<8
*
* @generated
*/
namespace Composer;
$GLOBALS['_composer_bin_dir'] = __DIR__;
$GLOBALS['_composer_autoload_path'] = __DIR__ . '/..'.'/autoload.php';
if (PHP_VERSION_ID < 80000) {
if (!class_exists('Composer\BinProxyWrapper')) {
/**
* @internal
*/
final class BinProxyWrapper
{
private $handle;
private $position;
private $realpath;
public function stream_open($path, $mode, $options, &$opened_path)
{
// get rid of phpvfscomposer:// prefix for __FILE__ & __DIR__ resolution
$opened_path = substr($path, 17);
$this->realpath = realpath($opened_path) ?: $opened_path;
$opened_path = $this->realpath;
$this->handle = fopen($this->realpath, $mode);
$this->position = 0;
return (bool) $this->handle;
}
public function stream_read($count)
{
$data = fread($this->handle, $count);
if ($this->position === 0) {
$data = preg_replace('{^#!.*\r?\n}', '', $data);
}
$this->position += strlen($data);
return $data;
}
public function stream_cast($castAs)
{
return $this->handle;
}
public function stream_close()
{
fclose($this->handle);
}
public function stream_lock($operation)
{
return $operation ? flock($this->handle, $operation) : true;
}
public function stream_seek($offset, $whence)
{
if (0 === fseek($this->handle, $offset, $whence)) {
$this->position = ftell($this->handle);
return true;
}
return false;
}
public function stream_tell()
{
return $this->position;
}
public function stream_eof()
{
return feof($this->handle);
}
public function stream_stat()
{
return array();
}
public function stream_set_option($option, $arg1, $arg2)
{
return true;
}
public function url_stat($path, $flags)
{
$path = substr($path, 17);
if (file_exists($path)) {
return stat($path);
}
return false;
}
}
}
if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) {
include("phpvfscomposer://" . __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/highlight-query');
exit(0);
}
}
include __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/highlight-query';
+5
View File
@@ -0,0 +1,5 @@
@ECHO OFF
setlocal DISABLEDELAYEDEXPANSION
SET BIN_TARGET=%~dp0/highlight-query
SET COMPOSER_RUNTIME_BIN_DIR=%~dp0
php "%BIN_TARGET%" %*
+117
View File
@@ -0,0 +1,117 @@
#!/usr/bin/env php
<?php
/**
* Proxy PHP file generated by Composer
*
* This file includes the referenced bin path (../phpmyadmin/sql-parser/bin/lint-query)
* using a stream wrapper to prevent the shebang from being output on PHP<8
*
* @generated
*/
namespace Composer;
$GLOBALS['_composer_bin_dir'] = __DIR__;
$GLOBALS['_composer_autoload_path'] = __DIR__ . '/..'.'/autoload.php';
if (PHP_VERSION_ID < 80000) {
if (!class_exists('Composer\BinProxyWrapper')) {
/**
* @internal
*/
final class BinProxyWrapper
{
private $handle;
private $position;
private $realpath;
public function stream_open($path, $mode, $options, &$opened_path)
{
// get rid of phpvfscomposer:// prefix for __FILE__ & __DIR__ resolution
$opened_path = substr($path, 17);
$this->realpath = realpath($opened_path) ?: $opened_path;
$opened_path = $this->realpath;
$this->handle = fopen($this->realpath, $mode);
$this->position = 0;
return (bool) $this->handle;
}
public function stream_read($count)
{
$data = fread($this->handle, $count);
if ($this->position === 0) {
$data = preg_replace('{^#!.*\r?\n}', '', $data);
}
$this->position += strlen($data);
return $data;
}
public function stream_cast($castAs)
{
return $this->handle;
}
public function stream_close()
{
fclose($this->handle);
}
public function stream_lock($operation)
{
return $operation ? flock($this->handle, $operation) : true;
}
public function stream_seek($offset, $whence)
{
if (0 === fseek($this->handle, $offset, $whence)) {
$this->position = ftell($this->handle);
return true;
}
return false;
}
public function stream_tell()
{
return $this->position;
}
public function stream_eof()
{
return feof($this->handle);
}
public function stream_stat()
{
return array();
}
public function stream_set_option($option, $arg1, $arg2)
{
return true;
}
public function url_stat($path, $flags)
{
$path = substr($path, 17);
if (file_exists($path)) {
return stat($path);
}
return false;
}
}
}
if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) {
include("phpvfscomposer://" . __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/lint-query');
exit(0);
}
}
include __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/lint-query';
+5
View File
@@ -0,0 +1,5 @@
@ECHO OFF
setlocal DISABLEDELAYEDEXPANSION
SET BIN_TARGET=%~dp0/lint-query
SET COMPOSER_RUNTIME_BIN_DIR=%~dp0
php "%BIN_TARGET%" %*
+117
View File
@@ -0,0 +1,117 @@
#!/usr/bin/env php
<?php
/**
* Proxy PHP file generated by Composer
*
* This file includes the referenced bin path (../phpmyadmin/sql-parser/bin/tokenize-query)
* using a stream wrapper to prevent the shebang from being output on PHP<8
*
* @generated
*/
namespace Composer;
$GLOBALS['_composer_bin_dir'] = __DIR__;
$GLOBALS['_composer_autoload_path'] = __DIR__ . '/..'.'/autoload.php';
if (PHP_VERSION_ID < 80000) {
if (!class_exists('Composer\BinProxyWrapper')) {
/**
* @internal
*/
final class BinProxyWrapper
{
private $handle;
private $position;
private $realpath;
public function stream_open($path, $mode, $options, &$opened_path)
{
// get rid of phpvfscomposer:// prefix for __FILE__ & __DIR__ resolution
$opened_path = substr($path, 17);
$this->realpath = realpath($opened_path) ?: $opened_path;
$opened_path = $this->realpath;
$this->handle = fopen($this->realpath, $mode);
$this->position = 0;
return (bool) $this->handle;
}
public function stream_read($count)
{
$data = fread($this->handle, $count);
if ($this->position === 0) {
$data = preg_replace('{^#!.*\r?\n}', '', $data);
}
$this->position += strlen($data);
return $data;
}
public function stream_cast($castAs)
{
return $this->handle;
}
public function stream_close()
{
fclose($this->handle);
}
public function stream_lock($operation)
{
return $operation ? flock($this->handle, $operation) : true;
}
public function stream_seek($offset, $whence)
{
if (0 === fseek($this->handle, $offset, $whence)) {
$this->position = ftell($this->handle);
return true;
}
return false;
}
public function stream_tell()
{
return $this->position;
}
public function stream_eof()
{
return feof($this->handle);
}
public function stream_stat()
{
return array();
}
public function stream_set_option($option, $arg1, $arg2)
{
return true;
}
public function url_stat($path, $flags)
{
$path = substr($path, 17);
if (file_exists($path)) {
return stat($path);
}
return false;
}
}
}
if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) {
include("phpvfscomposer://" . __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/tokenize-query');
exit(0);
}
}
include __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/tokenize-query';
+5
View File
@@ -0,0 +1,5 @@
@ECHO OFF
setlocal DISABLEDELAYEDEXPANSION
SET BIN_TARGET=%~dp0/tokenize-query
SET COMPOSER_RUNTIME_BIN_DIR=%~dp0
php "%BIN_TARGET%" %*
+572
View File
@@ -0,0 +1,572 @@
<?php
/*
* This file is part of Composer.
*
* (c) Nils Adermann <naderman@naderman.de>
* Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Composer\Autoload;
/**
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
*
* $loader = new \Composer\Autoload\ClassLoader();
*
* // register classes with namespaces
* $loader->add('Symfony\Component', __DIR__.'/component');
* $loader->add('Symfony', __DIR__.'/framework');
*
* // activate the autoloader
* $loader->register();
*
* // to enable searching the include path (eg. for PEAR packages)
* $loader->setUseIncludePath(true);
*
* In this example, if you try to use a class in the Symfony\Component
* namespace or one of its children (Symfony\Component\Console for instance),
* the autoloader will first look for the class under the component/
* directory, and it will then fallback to the framework/ directory if not
* found before giving up.
*
* This class is loosely based on the Symfony UniversalClassLoader.
*
* @author Fabien Potencier <fabien@symfony.com>
* @author Jordi Boggiano <j.boggiano@seld.be>
* @see https://www.php-fig.org/psr/psr-0/
* @see https://www.php-fig.org/psr/psr-4/
*/
class ClassLoader
{
/** @var ?string */
private $vendorDir;
// PSR-4
/**
* @var array[]
* @psalm-var array<string, array<string, int>>
*/
private $prefixLengthsPsr4 = array();
/**
* @var array[]
* @psalm-var array<string, array<int, string>>
*/
private $prefixDirsPsr4 = array();
/**
* @var array[]
* @psalm-var array<string, string>
*/
private $fallbackDirsPsr4 = array();
// PSR-0
/**
* @var array[]
* @psalm-var array<string, array<string, string[]>>
*/
private $prefixesPsr0 = array();
/**
* @var array[]
* @psalm-var array<string, string>
*/
private $fallbackDirsPsr0 = array();
/** @var bool */
private $useIncludePath = false;
/**
* @var string[]
* @psalm-var array<string, string>
*/
private $classMap = array();
/** @var bool */
private $classMapAuthoritative = false;
/**
* @var bool[]
* @psalm-var array<string, bool>
*/
private $missingClasses = array();
/** @var ?string */
private $apcuPrefix;
/**
* @var self[]
*/
private static $registeredLoaders = array();
/**
* @param ?string $vendorDir
*/
public function __construct($vendorDir = null)
{
$this->vendorDir = $vendorDir;
}
/**
* @return string[]
*/
public function getPrefixes()
{
if (!empty($this->prefixesPsr0)) {
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
}
return array();
}
/**
* @return array[]
* @psalm-return array<string, array<int, string>>
*/
public function getPrefixesPsr4()
{
return $this->prefixDirsPsr4;
}
/**
* @return array[]
* @psalm-return array<string, string>
*/
public function getFallbackDirs()
{
return $this->fallbackDirsPsr0;
}
/**
* @return array[]
* @psalm-return array<string, string>
*/
public function getFallbackDirsPsr4()
{
return $this->fallbackDirsPsr4;
}
/**
* @return string[] Array of classname => path
* @psalm-return array<string, string>
*/
public function getClassMap()
{
return $this->classMap;
}
/**
* @param string[] $classMap Class to filename map
* @psalm-param array<string, string> $classMap
*
* @return void
*/
public function addClassMap(array $classMap)
{
if ($this->classMap) {
$this->classMap = array_merge($this->classMap, $classMap);
} else {
$this->classMap = $classMap;
}
}
/**
* Registers a set of PSR-0 directories for a given prefix, either
* appending or prepending to the ones previously set for this prefix.
*
* @param string $prefix The prefix
* @param string[]|string $paths The PSR-0 root directories
* @param bool $prepend Whether to prepend the directories
*
* @return void
*/
public function add($prefix, $paths, $prepend = false)
{
if (!$prefix) {
if ($prepend) {
$this->fallbackDirsPsr0 = array_merge(
(array) $paths,
$this->fallbackDirsPsr0
);
} else {
$this->fallbackDirsPsr0 = array_merge(
$this->fallbackDirsPsr0,
(array) $paths
);
}
return;
}
$first = $prefix[0];
if (!isset($this->prefixesPsr0[$first][$prefix])) {
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
return;
}
if ($prepend) {
$this->prefixesPsr0[$first][$prefix] = array_merge(
(array) $paths,
$this->prefixesPsr0[$first][$prefix]
);
} else {
$this->prefixesPsr0[$first][$prefix] = array_merge(
$this->prefixesPsr0[$first][$prefix],
(array) $paths
);
}
}
/**
* Registers a set of PSR-4 directories for a given namespace, either
* appending or prepending to the ones previously set for this namespace.
*
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param string[]|string $paths The PSR-4 base directories
* @param bool $prepend Whether to prepend the directories
*
* @throws \InvalidArgumentException
*
* @return void
*/
public function addPsr4($prefix, $paths, $prepend = false)
{
if (!$prefix) {
// Register directories for the root namespace.
if ($prepend) {
$this->fallbackDirsPsr4 = array_merge(
(array) $paths,
$this->fallbackDirsPsr4
);
} else {
$this->fallbackDirsPsr4 = array_merge(
$this->fallbackDirsPsr4,
(array) $paths
);
}
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
// Register directories for a new namespace.
$length = strlen($prefix);
if ('\\' !== $prefix[$length - 1]) {
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
}
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
$this->prefixDirsPsr4[$prefix] = (array) $paths;
} elseif ($prepend) {
// Prepend directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
(array) $paths,
$this->prefixDirsPsr4[$prefix]
);
} else {
// Append directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
$this->prefixDirsPsr4[$prefix],
(array) $paths
);
}
}
/**
* Registers a set of PSR-0 directories for a given prefix,
* replacing any others previously set for this prefix.
*
* @param string $prefix The prefix
* @param string[]|string $paths The PSR-0 base directories
*
* @return void
*/
public function set($prefix, $paths)
{
if (!$prefix) {
$this->fallbackDirsPsr0 = (array) $paths;
} else {
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
}
}
/**
* Registers a set of PSR-4 directories for a given namespace,
* replacing any others previously set for this namespace.
*
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param string[]|string $paths The PSR-4 base directories
*
* @throws \InvalidArgumentException
*
* @return void
*/
public function setPsr4($prefix, $paths)
{
if (!$prefix) {
$this->fallbackDirsPsr4 = (array) $paths;
} else {
$length = strlen($prefix);
if ('\\' !== $prefix[$length - 1]) {
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
}
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
$this->prefixDirsPsr4[$prefix] = (array) $paths;
}
}
/**
* Turns on searching the include path for class files.
*
* @param bool $useIncludePath
*
* @return void
*/
public function setUseIncludePath($useIncludePath)
{
$this->useIncludePath = $useIncludePath;
}
/**
* Can be used to check if the autoloader uses the include path to check
* for classes.
*
* @return bool
*/
public function getUseIncludePath()
{
return $this->useIncludePath;
}
/**
* Turns off searching the prefix and fallback directories for classes
* that have not been registered with the class map.
*
* @param bool $classMapAuthoritative
*
* @return void
*/
public function setClassMapAuthoritative($classMapAuthoritative)
{
$this->classMapAuthoritative = $classMapAuthoritative;
}
/**
* Should class lookup fail if not found in the current class map?
*
* @return bool
*/
public function isClassMapAuthoritative()
{
return $this->classMapAuthoritative;
}
/**
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
*
* @param string|null $apcuPrefix
*
* @return void
*/
public function setApcuPrefix($apcuPrefix)
{
$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
}
/**
* The APCu prefix in use, or null if APCu caching is not enabled.
*
* @return string|null
*/
public function getApcuPrefix()
{
return $this->apcuPrefix;
}
/**
* Registers this instance as an autoloader.
*
* @param bool $prepend Whether to prepend the autoloader or not
*
* @return void
*/
public function register($prepend = false)
{
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
if (null === $this->vendorDir) {
return;
}
if ($prepend) {
self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
} else {
unset(self::$registeredLoaders[$this->vendorDir]);
self::$registeredLoaders[$this->vendorDir] = $this;
}
}
/**
* Unregisters this instance as an autoloader.
*
* @return void
*/
public function unregister()
{
spl_autoload_unregister(array($this, 'loadClass'));
if (null !== $this->vendorDir) {
unset(self::$registeredLoaders[$this->vendorDir]);
}
}
/**
* Loads the given class or interface.
*
* @param string $class The name of the class
* @return true|null True if loaded, null otherwise
*/
public function loadClass($class)
{
if ($file = $this->findFile($class)) {
includeFile($file);
return true;
}
return null;
}
/**
* Finds the path to the file where the class is defined.
*
* @param string $class The name of the class
*
* @return string|false The path if found, false otherwise
*/
public function findFile($class)
{
// class map lookup
if (isset($this->classMap[$class])) {
return $this->classMap[$class];
}
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
return false;
}
if (null !== $this->apcuPrefix) {
$file = apcu_fetch($this->apcuPrefix.$class, $hit);
if ($hit) {
return $file;
}
}
$file = $this->findFileWithExtension($class, '.php');
// Search for Hack files if we are running on HHVM
if (false === $file && defined('HHVM_VERSION')) {
$file = $this->findFileWithExtension($class, '.hh');
}
if (null !== $this->apcuPrefix) {
apcu_add($this->apcuPrefix.$class, $file);
}
if (false === $file) {
// Remember that this class does not exist.
$this->missingClasses[$class] = true;
}
return $file;
}
/**
* Returns the currently registered loaders indexed by their corresponding vendor directories.
*
* @return self[]
*/
public static function getRegisteredLoaders()
{
return self::$registeredLoaders;
}
/**
* @param string $class
* @param string $ext
* @return string|false
*/
private function findFileWithExtension($class, $ext)
{
// PSR-4 lookup
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
$first = $class[0];
if (isset($this->prefixLengthsPsr4[$first])) {
$subPath = $class;
while (false !== $lastPos = strrpos($subPath, '\\')) {
$subPath = substr($subPath, 0, $lastPos);
$search = $subPath . '\\';
if (isset($this->prefixDirsPsr4[$search])) {
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
foreach ($this->prefixDirsPsr4[$search] as $dir) {
if (file_exists($file = $dir . $pathEnd)) {
return $file;
}
}
}
}
}
// PSR-4 fallback dirs
foreach ($this->fallbackDirsPsr4 as $dir) {
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
return $file;
}
}
// PSR-0 lookup
if (false !== $pos = strrpos($class, '\\')) {
// namespaced class name
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
} else {
// PEAR-like class name
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
}
if (isset($this->prefixesPsr0[$first])) {
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
if (0 === strpos($class, $prefix)) {
foreach ($dirs as $dir) {
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
return $file;
}
}
}
}
}
// PSR-0 fallback dirs
foreach ($this->fallbackDirsPsr0 as $dir) {
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
return $file;
}
}
// PSR-0 include paths.
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
return $file;
}
return false;
}
}
/**
* Scope isolated include.
*
* Prevents access to $this/self from included files.
*
* @param string $file
* @return void
* @private
*/
function includeFile($file)
{
include $file;
}
+350
View File
@@ -0,0 +1,350 @@
<?php
/*
* This file is part of Composer.
*
* (c) Nils Adermann <naderman@naderman.de>
* Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Composer;
use Composer\Autoload\ClassLoader;
use Composer\Semver\VersionParser;
/**
* This class is copied in every Composer installed project and available to all
*
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
*
* To require its presence, you can require `composer-runtime-api ^2.0`
*/
class InstalledVersions
{
/**
* @var mixed[]|null
* @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
*/
private static $installed;
/**
* @var bool|null
*/
private static $canGetVendors;
/**
* @var array[]
* @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
*/
private static $installedByVendor = array();
/**
* Returns a list of all package names which are present, either by being installed, replaced or provided
*
* @return string[]
* @psalm-return list<string>
*/
public static function getInstalledPackages()
{
$packages = array();
foreach (self::getInstalled() as $installed) {
$packages[] = array_keys($installed['versions']);
}
if (1 === \count($packages)) {
return $packages[0];
}
return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
}
/**
* Returns a list of all package names with a specific type e.g. 'library'
*
* @param string $type
* @return string[]
* @psalm-return list<string>
*/
public static function getInstalledPackagesByType($type)
{
$packagesByType = array();
foreach (self::getInstalled() as $installed) {
foreach ($installed['versions'] as $name => $package) {
if (isset($package['type']) && $package['type'] === $type) {
$packagesByType[] = $name;
}
}
}
return $packagesByType;
}
/**
* Checks whether the given package is installed
*
* This also returns true if the package name is provided or replaced by another package
*
* @param string $packageName
* @param bool $includeDevRequirements
* @return bool
*/
public static function isInstalled($packageName, $includeDevRequirements = true)
{
foreach (self::getInstalled() as $installed) {
if (isset($installed['versions'][$packageName])) {
return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
}
}
return false;
}
/**
* Checks whether the given package satisfies a version constraint
*
* e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
*
* Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
*
* @param VersionParser $parser Install composer/semver to have access to this class and functionality
* @param string $packageName
* @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
* @return bool
*/
public static function satisfies(VersionParser $parser, $packageName, $constraint)
{
$constraint = $parser->parseConstraints($constraint);
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
return $provided->matches($constraint);
}
/**
* Returns a version constraint representing all the range(s) which are installed for a given package
*
* It is easier to use this via isInstalled() with the $constraint argument if you need to check
* whether a given version of a package is installed, and not just whether it exists
*
* @param string $packageName
* @return string Version constraint usable with composer/semver
*/
public static function getVersionRanges($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
$ranges = array();
if (isset($installed['versions'][$packageName]['pretty_version'])) {
$ranges[] = $installed['versions'][$packageName]['pretty_version'];
}
if (array_key_exists('aliases', $installed['versions'][$packageName])) {
$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
}
if (array_key_exists('replaced', $installed['versions'][$packageName])) {
$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
}
if (array_key_exists('provided', $installed['versions'][$packageName])) {
$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
}
return implode(' || ', $ranges);
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
*/
public static function getVersion($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
if (!isset($installed['versions'][$packageName]['version'])) {
return null;
}
return $installed['versions'][$packageName]['version'];
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
*/
public static function getPrettyVersion($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
if (!isset($installed['versions'][$packageName]['pretty_version'])) {
return null;
}
return $installed['versions'][$packageName]['pretty_version'];
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
*/
public static function getReference($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
if (!isset($installed['versions'][$packageName]['reference'])) {
return null;
}
return $installed['versions'][$packageName]['reference'];
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
*/
public static function getInstallPath($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @return array
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
*/
public static function getRootPackage()
{
$installed = self::getInstalled();
return $installed[0]['root'];
}
/**
* Returns the raw installed.php data for custom implementations
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
* @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
*/
public static function getRawData()
{
@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
if (null === self::$installed) {
// only require the installed.php file if this file is loaded from its dumped location,
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
if (substr(__DIR__, -8, 1) !== 'C') {
self::$installed = include __DIR__ . '/installed.php';
} else {
self::$installed = array();
}
}
return self::$installed;
}
/**
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
*/
public static function getAllRawData()
{
return self::getInstalled();
}
/**
* Lets you reload the static array from another file
*
* This is only useful for complex integrations in which a project needs to use
* this class but then also needs to execute another project's autoloader in process,
* and wants to ensure both projects have access to their version of installed.php.
*
* A typical case would be PHPUnit, where it would need to make sure it reads all
* the data it needs from this class, then call reload() with
* `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
* the project in which it runs can then also use this class safely, without
* interference between PHPUnit's dependencies and the project's dependencies.
*
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
* @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
*/
public static function reload($data)
{
self::$installed = $data;
self::$installedByVendor = array();
}
/**
* @return array[]
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
*/
private static function getInstalled()
{
if (null === self::$canGetVendors) {
self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
}
$installed = array();
if (self::$canGetVendors) {
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir.'/composer/installed.php')) {
$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
self::$installed = $installed[count($installed) - 1];
}
}
}
}
if (null === self::$installed) {
// only require the installed.php file if this file is loaded from its dumped location,
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
if (substr(__DIR__, -8, 1) !== 'C') {
self::$installed = require __DIR__ . '/installed.php';
} else {
self::$installed = array();
}
}
$installed[] = self::$installed;
return $installed;
}
}
+21
View File
@@ -0,0 +1,21 @@
Copyright (c) Nils Adermann, Jordi Boggiano
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
+10
View File
@@ -0,0 +1,10 @@
<?php
// autoload_classmap.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
);
+10
View File
@@ -0,0 +1,10 @@
<?php
// autoload_files.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
);
+9
View File
@@ -0,0 +1,9 @@
<?php
// autoload_namespaces.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
);
+11
View File
@@ -0,0 +1,11 @@
<?php
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
'PhpMyAdmin\\SqlParser\\' => array($vendorDir . '/phpmyadmin/sql-parser/src'),
);
+80
View File
@@ -0,0 +1,80 @@
<?php
// autoload_real.php @generated by Composer
class ComposerAutoloaderInitea8a35d9469bbaa4fe54772aaf0cb8ae
{
private static $loader;
public static function loadClassLoader($class)
{
if ('Composer\Autoload\ClassLoader' === $class) {
require __DIR__ . '/ClassLoader.php';
}
}
/**
* @return \Composer\Autoload\ClassLoader
*/
public static function getLoader()
{
if (null !== self::$loader) {
return self::$loader;
}
require __DIR__ . '/platform_check.php';
spl_autoload_register(array('ComposerAutoloaderInitea8a35d9469bbaa4fe54772aaf0cb8ae', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
spl_autoload_unregister(array('ComposerAutoloaderInitea8a35d9469bbaa4fe54772aaf0cb8ae', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInitea8a35d9469bbaa4fe54772aaf0cb8ae::getInitializer($loader));
} else {
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
$loader->set($namespace, $path);
}
$map = require __DIR__ . '/autoload_psr4.php';
foreach ($map as $namespace => $path) {
$loader->setPsr4($namespace, $path);
}
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
$loader->addClassMap($classMap);
}
}
$loader->register(true);
if ($useStaticLoader) {
$includeFiles = Composer\Autoload\ComposerStaticInitea8a35d9469bbaa4fe54772aaf0cb8ae::$files;
} else {
$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequireea8a35d9469bbaa4fe54772aaf0cb8ae($fileIdentifier, $file);
}
return $loader;
}
}
/**
* @param string $fileIdentifier
* @param string $file
* @return void
*/
function composerRequireea8a35d9469bbaa4fe54772aaf0cb8ae($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
require $file;
}
}
+48
View File
@@ -0,0 +1,48 @@
<?php
// autoload_static.php @generated by Composer
namespace Composer\Autoload;
class ComposerStaticInitea8a35d9469bbaa4fe54772aaf0cb8ae
{
public static $files = array (
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
);
public static $prefixLengthsPsr4 = array (
'S' =>
array (
'Symfony\\Polyfill\\Mbstring\\' => 26,
),
'P' =>
array (
'PhpMyAdmin\\SqlParser\\' => 21,
),
);
public static $prefixDirsPsr4 = array (
'Symfony\\Polyfill\\Mbstring\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring',
),
'PhpMyAdmin\\SqlParser\\' =>
array (
0 => __DIR__ . '/..' . '/phpmyadmin/sql-parser/src',
),
);
public static $classMap = array (
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
);
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInitea8a35d9469bbaa4fe54772aaf0cb8ae::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitea8a35d9469bbaa4fe54772aaf0cb8ae::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitea8a35d9469bbaa4fe54772aaf0cb8ae::$classMap;
}, null, ClassLoader::class);
}
}
+168
View File
@@ -0,0 +1,168 @@
{
"packages": [
{
"name": "phpmyadmin/sql-parser",
"version": "5.5.0",
"version_normalized": "5.5.0.0",
"source": {
"type": "git",
"url": "https://github.com/phpmyadmin/sql-parser.git",
"reference": "8ab99cd0007d880f49f5aa1807033dbfa21b1cb5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/8ab99cd0007d880f49f5aa1807033dbfa21b1cb5",
"reference": "8ab99cd0007d880f49f5aa1807033dbfa21b1cb5",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0",
"symfony/polyfill-mbstring": "^1.3"
},
"conflict": {
"phpmyadmin/motranslator": "<3.0"
},
"require-dev": {
"phpmyadmin/coding-standard": "^3.0",
"phpmyadmin/motranslator": "^4.0 || ^5.0",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan": "^1.2",
"phpstan/phpstan-phpunit": "^1.0",
"phpunit/php-code-coverage": "*",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
"psalm/plugin-phpunit": "^0.16.1",
"vimeo/psalm": "^4.11",
"zumba/json-serializer": "^3.0"
},
"suggest": {
"ext-mbstring": "For best performance",
"phpmyadmin/motranslator": "Translate messages to your favorite locale"
},
"time": "2021-12-09T04:31:52+00:00",
"bin": [
"bin/highlight-query",
"bin/lint-query",
"bin/tokenize-query"
],
"type": "library",
"installation-source": "dist",
"autoload": {
"psr-4": {
"PhpMyAdmin\\SqlParser\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"GPL-2.0-or-later"
],
"authors": [
{
"name": "The phpMyAdmin Team",
"email": "developers@phpmyadmin.net",
"homepage": "https://www.phpmyadmin.net/team/"
}
],
"description": "A validating SQL lexer and parser with a focus on MySQL dialect.",
"homepage": "https://github.com/phpmyadmin/sql-parser",
"keywords": [
"analysis",
"lexer",
"parser",
"sql"
],
"support": {
"issues": "https://github.com/phpmyadmin/sql-parser/issues",
"source": "https://github.com/phpmyadmin/sql-parser"
},
"install-path": "../phpmyadmin/sql-parser"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.26.0",
"version_normalized": "1.26.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
"reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"provide": {
"ext-mbstring": "*"
},
"suggest": {
"ext-mbstring": "For best performance"
},
"time": "2022-05-24T11:49:31+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.26-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"installation-source": "dist",
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Mbstring\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for the Mbstring extension",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"mbstring",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"install-path": "../symfony/polyfill-mbstring"
}
],
"dev": true,
"dev-package-names": []
}
+41
View File
@@ -0,0 +1,41 @@
<?php return array(
'root' => array(
'pretty_version' => '1.0.0+no-version-set',
'version' => '1.0.0.0',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
'reference' => NULL,
'name' => '__root__',
'dev' => true,
),
'versions' => array(
'__root__' => array(
'pretty_version' => '1.0.0+no-version-set',
'version' => '1.0.0.0',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
'reference' => NULL,
'dev_requirement' => false,
),
'phpmyadmin/sql-parser' => array(
'pretty_version' => '5.5.0',
'version' => '5.5.0.0',
'type' => 'library',
'install_path' => __DIR__ . '/../phpmyadmin/sql-parser',
'aliases' => array(),
'reference' => '8ab99cd0007d880f49f5aa1807033dbfa21b1cb5',
'dev_requirement' => false,
),
'symfony/polyfill-mbstring' => array(
'pretty_version' => 'v1.26.0',
'version' => '1.26.0.0',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
'aliases' => array(),
'reference' => '9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e',
'dev_requirement' => false,
),
),
);
+26
View File
@@ -0,0 +1,26 @@
<?php
// platform_check.php @generated by Composer
$issues = array();
if (!(PHP_VERSION_ID >= 70100)) {
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.1.0". You are running ' . PHP_VERSION . '.';
}
if ($issues) {
if (!headers_sent()) {
header('HTTP/1.1 500 Internal Server Error');
}
if (!ini_get('display_errors')) {
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
} elseif (!headers_sent()) {
echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
}
}
trigger_error(
'Composer detected issues in your platform: ' . implode(' ', $issues),
E_USER_ERROR
);
}
+489
View File
@@ -0,0 +1,489 @@
# Change Log
## [5.5.0] - 2021-12-08
* Add WITH support (#165, #331)
* Fixed BufferedQuery when it has an odd number of backslashes in the end (#340)
* Fixed the issue that ignored the body tokens when creating views with union (#343)
* Fixed parser errors on "ALTER TABLE" statements to add columns with SET type (#168)
* Fixed PHP 8.1 fatal errors on classes that "implements ArrayAccess"
* Add new contexts for MariaDB 10.4, 10.5, 10.6 (#328)
* Fixed parser errors for "ALTER USER" with options (#342)
* Fixed handling of the procedures and functions's options where part of the body (#339)
* Fix PHP notice "Undefined index: name in src/Components/Key.php#206" for table keys using expressions (#347)
* Added support for MySQL 8.0 table structure KEY expressions (#347)
* Added support for KEY order (ASC/DESC) (#296)
* Added missing KEY options for MySQL and MariaDB (#348)
* Added support for ENFORCED and NOT ENFORCED on table create queries (#341)
* Performance improvement to use less the "ord()" function (#352)
* Added support for OVER() with an alias (AS) (#197)
## [5.4.2] - 2021-02-05
* Added check for quoted symbol to avoid parser error in case of keyword (#317)
* Allow PHP 8
## [5.4.1] - 2020-10-15
* Fix array_key_exists warning when parsing a "DEFAULT FALSE" token (#299)
## [5.4.0] - 2020-10-08
* EXISTS is also a function. (#297)
* Fix lexer to not allow numbers with letters (#300)
* Add support for INVISIBLE keyword (#292)
* Fix the "$" might be a character used in a name (#301)
* Fix use stream_select instead of non-blocking STDIN (#309)
* Add select validation to a create view statement (#310)
## [5.3.1] - 2020-03-20
* Revert some changes with the understanding of ANSI_QUOTES mode and identifiers
* Suggest motranslator 5.0 in README
## [5.3.0] - 2020-03-20
* Stop instanciating an object to check its class name. (#290)
* Replace sscanf by equivalent native PHP functions because sscanf can be disabled for security reasons. (#270)
* Allow phpunit 9
* Allow phpmyadmin/motranslator 5.0
* Fix for php error when "INSERT INTO x SET a = 1" is "INSERT INTO x SET = 1" (#295)
* Fixed lexer fails to detect "*" as a wildcard (#288)
* Fixed ANSI_QUOTES support (#284)
* Fixed parser mistakes with comments (#156)
## [5.2.0] - 2020-01-07
* Fix ALTER TABLE ... PRIMARY/UNIQUE KEY results in error (#267)
* Prevent overwrite of offset in Limit clause by parenthesis (#275)
* Allow SCHEMA to be used in CREATE Database statement (#231)
* Add missing options in SET statement (#255)
* Add support for DROP USER statement (#259)
* Fix php error "undefined index" when replacing a non existing clause (#249)
## [5.1.0] - 2019-11-12
* Fix for PHP deprecations messages about implode for php 7.4+ (#258)
* Parse CHECK keyword on table definition (#264)
* Parse truncate statement (#221)
* Fix wrong parsing of partitions (#265)
## [5.0.0] - 2019-05-09
* Drop support for PHP 5.3, PHP 5.4, PHP 5.5, PHP 5.6, PHP 7.0 and HHVM
* Enable strict mode on PHP files
* Fix redundant whitespaces in build() outputs (#228)
* Fix incorrect error on DEFAULT keyword in ALTER operation (#229)
* Fix incorrect outputs from Query::getClause (#233)
* Add support for reading an SQL file from stdin
* Fix for missing tokenize-query in Composer's vendor/bin/ directory
* Fix for PHP warnings with an incomplete CASE expression (#241)
* Fix for error message with multiple CALL statements (#223)
* Recognize the question mark character as a parameter (#242)
## [4.7.3] - 2021-12-08
- Fixed BufferedQuery when it has an odd number of backslashes in the end (#340)
- Fixed the issue that ignored the body tokens when creating views with union (#343)
- Fixed parser errors on "ALTER TABLE" statements to add columns with SET type (#168)
- Fixed parser errors for "ALTER USER" with options (#342)
- Fixed handling of the procedures and functions's options where part of the body (#339)
- Fix PHP notice "Undefined index: name in src/Components/Key.php#206" for table keys using functions (#347)
- Fix MySQL 8.0 table structure KEY expression not recognized (#347)
- Fix KEY order (ASC/DESC) not part of the KEY definition (#296)
- Fix missing KEY options for MySQL and MariaDB (#348)
- Fix validation error when using ENFORCED option (#341)
## [4.7.2] - 2021-02-05
- Added check for quoted symbol to avoid parser error in case of keyword (#317)
- Adjust PHP version constraint to not support PHP 8.0 on the 4.7 series (5.x series supports it)
## [4.7.1] - 2020-10-15
* Fix array_key_exists warning when parsing a "DEFAULT FALSE" token (#299)
## [4.7.0] - 2020-10-08
* EXISTS is also a function. (#297)
* Fix lexer to not allow numbers with letters (#300)
* Add support for INVISIBLE keyword (#292)
* Fix the "$" might be a character used in a name (#301)
* Fix use stream_select instead of non-blocking STDIN (#309)
* Add select validation to a create view statement (#310)
## [4.6.1] - 2020-03-20
* Revert some changes with the understanding of ANSI_QUOTES mode and identifiers
* Suggest motranslator 4.0 in README
## [4.6.0] - 2020-03-20
* Stop instanciating an object to check its class name. (#290)
* Replace sscanf by equivalent native PHP functions because sscanf can be disabled for security reasons. (#270)
* Allow phpunit 7
* Fix for php error when "INSERT INTO x SET a = 1" is "INSERT INTO x SET = 1" (#295)
* Fixed lexer fails to detect "*" as a wildcard (#288)
* Fixed ANSI_QUOTES support (#284)
* Fixed parser mistakes with comments (#156)
## [4.5.0] - 2020-01-07
* Fix ALTER TABLE ... PRIMARY/UNIQUE KEY results in error (#267)
* Prevent overwrite of offset in Limit clause by parenthesis (#275)
* Allow SCHEMA to be used in CREATE Database statement (#231)
* Add missing options in SET statement (#255)
* Add support for DROP USER statement (#259)
* Fix php error "undefined index" when replacing a non existing clause (#249)
## [4.4.0] - 2019-11-12
* Fix for PHP deprecations messages about implode for php 7.4+ (#258)
* Parse CHECK keyword on table definition (#264)
* Parse truncate statement (#221)
* Fix wrong parsing of partitions (#265)
## [4.3.2] - 2019-06-03
Backport fixes from 5.0.0 to QA branch:
* Fix redundant whitespaces in build() outputs (#228)
* Fix incorrect error on DEFAULT keyword in ALTER operation (#229)
* Fix incorrect outputs from Query::getClause (#233)
* Add support for reading an SQL file from stdin
* Fix for missing tokenize-query in Composer's vendor/bin/ directory
* Fix for PHP warnings with an incomplete CASE expression (#241)
* Fix for error message with multiple CALL statements (#223)
* Recognize the question mark character as a parameter (#242)
## [4.3.1] - 2019-01-05
* Fixed incorrect error thrown on DEFAULT keyword in ALTER statement (#218)
## [4.3.0] - 2018-12-25
* Add support for aliases on CASE expressions (#162 and #192)
* Add support for INDEX hints in SELECT statement (#199)
* Add support for LOCK and UNLOCK TABLES statement (#180)
* Add detection of extraneous comma in UPDATE statement (#160)
* Add detection of a missing comma between two ALTER operations (#189)
* Add missing support for STRAIGHT_JOIN (#196)
* Add support for end options in SET statement (#190)
* Fix building of RENAME statements (#201)
* Add support for PURGE statements (#207)
* Add support for COLLATE keyword (#190)
## [4.2.5] - 2018-10-31
* Fix issue with CREATE OR REPLACE VIEW.
## [4.2.4] - 2017-12-06
* Fix parsing of CREATE TABLE with per field COLLATE.
* Improved Context::loadClosest to better deal with corner cases.
* Localization updates.
## [4.2.3] - 2017-10-10
* Make mbstring extension optional (though Symfony polyfill).
* Fixed build CREATE TABLE query with PARTITIONS having ENGINE but not VALUES.
## [4.2.2] - 2017-09-28
* Added support for binding parameters.
## [4.2.1] - 2017-09-08
* Fixed minor bug in Query::getFlags.
* Localization updates.
## [4.2.0] - 2017-08-30
* Initial support for MariaDB SQL contexts.
* Add support for MariaDB 10.3 INTERSECT and EXCEPT.
## [4.1.10] - 2017-08-21
* Use custom LoaderException for context loading errors.
## [4.1.9] - 2017-07-12
* Various code cleanups.
* Improved error handling of several invalid statements.
## [4.1.8] - 2017-07-09
* Fixed parsing SQL comment at the end of query.
* Improved handing of non utf-8 strings.
* Added query flag for SET queries.
## [4.1.7] - 2017-06-06
* Fixed setting combination SQL Modes.
## [4.1.6] - 2017-06-01
* Fixed building query with GROUP BY clause.
## [4.1.5] - 2017-05-15
* Fixed invalid lexing of queries with : in strings.
* Properly handle maximal length of delimiter.
## [4.1.4] - 2017-05-05
* Fixed wrong extract of string tokens with escaped characters.
* Properly handle lowercase begin statement.
## [4.1.3] - 2017-04-06
* Added support for DELETE ... JOIN clauses.
* Changed BufferedQuery to include comments in output.
* Fixed parsing of inline comments.
## [4.1.2] - 2017-02-20
* Coding style improvements.
* Chinese localization.
* Improved order validatin for JOIN clauses.
* Improved pretty printing of JOIN clauses.
* Added support for LOAD DATA statements.
## [4.1.1] - 2017-02-07
* Localization using phpmyadmin/motranslator is now optional.
* Improved testsuite.
* Better handling of non upper cased not reserved keywords.
* Minor performance and coding style improvements.
## [4.1.0] - 2017-01-23
* Use phpmyadmin/motranslator to localize messages.
## [4.0.1] - 2017-01-23
* Fixed CLI wrappers for new API.
* Fixed README for new API.
## [4.0.0] - 2017-01-23
* Added PhpMyAdmin namespace prefix to follow PSR-4.
## [3.4.17] - 2017-01-20
* Coding style fixes.
* Fixed indentation in HTML formatting.
* Fixed parsing of unterminated variables.
* Improved comments lexing.
## [3.4.16] - 2017-01-06
* Coding style fixes.
* Properly handle operators AND, NOT, OR, XOR, DIV, MOD
## [3.4.15] - 2017-01-02
* Fix return value of Formatter.toString() when type is text
* Fix parsing of FIELDS and LINES options in SELECT..INTO
* PHP 7.2 compatibility.
* Better parameter passing to query formatter.
## [3.4.14] - 2016-11-30
* Improved parsing of UNION queries.
* Recognize BINARY function.
## [3.4.13] - 2016-11-15
* Fix broken incorrect clause order detection for Joins.
* Add parsing of end options in Select statements.
## [3.4.12] - 2016-11-09
* Added verification order of SELECT statement clauses.
## [3.4.11] - 2016-10-25
* Fixed parsing of ON UPDATE option in field definition of TIMESTAMP type with precision
* Fixed parsing of NATURAL JOIN, CROSS JOIN and related joins.
* Fixed parsing of BEGIN/END labels.
## [3.4.10] - 2016-10-03
* Fixed API regression on DELETE statement
## [3.4.9] - 2016-10-03
* Added support for CASE expressions
* Support for parsing and building DELETE statement
* Support for parsing subqueries in FROM clause
## [3.4.8] - 2016-09-22
* No change release to sync GitHub releases with Packagist
## [3.4.7] - 2016-09-20
* Fix parsing of DEFINER without backquotes
* Fixed escaping HTML entities in HTML formatter
* Fixed escaping of control chars in CLI formatter
## [3.4.6] - 2016-09-13
* Fix parsing of REPLACE INTO ...
* Fix parsing of INSERT ... ON DUPLICATE KEY UPDATE ...
* Extended testsuite
* Re-enabled PHP 5.3 support
## [3.4.5] - 2016-09-13
* Fix parsing of INSERT...SELECT and INSERT...SET syntax
* Fix parsing of CREATE TABLE ... PARTITION
* Fix parsing of SET CHARACTER SET, CHARSET, NAMES
* Add Support for 'CREATE TABLE `table_copy` LIKE `table`
## [3.4.4] - 2016-04-26
* Add support for FULL OUTER JOIN
## [3.4.3] - 2016-04-19
* Fix parsing of query with \
## [3.4.2] - 2016-04-07
* Recognize UNION DISTINCT
* Recognize REGEXP and RLIKE operators
## [3.4.1] - 2016-04-06
* Add FULLTEXT and SPATIAL keywords
* Properly parse CREATE TABLE [AS] SELECT
* Fix parsing of table with DEFAULT and COMMENT
## [3.4.0] - 2016-02-23
* Fix parsing DEFAULT value on CREATE
* Fix parsing of ALTER VIEW
## [3.3.1] - 2016-02-12
* Condition: Allow keyword `INTERVAL`.
## [3.3.0] - 2016-02-12
* Expression: Refactored parsing options.
## [3.2.0] - 2016-02-11
* Context: Added custom mode that avoids escaping when possible.
## [3.1.0] - 2016-02-10
* ArrayObj: Handle more complex expressions in arrays.
* BufferedQuery: Backslashes in comments escaped characters in comments.
* Condition: Allow `IF` in conditions.
* Context: Add `;` as operator.
* Context: Updated contexts to contain `BIT` data type.
* CreateStatement: The `DEFAULT` option may be an expression.
* DescribeStatement: Added `DESC` as alias for `DESCRIBE`.
* Expression: Rewrote expression parsing.
* Misc: Added PHPUnit's Code Coverage 3.0 as a dependency.
* Misc: Added support for PHP 5.4 back.
* Misc: Removed dependency to Ctype.
* Misc: Repository transferred from @udan11 to @phpMyAdmin.
* Misc: Updated `.gitignore` to ignore `composer.lock`.
* Misc: Updated Composer and Travis configuration for PHP 7 and PHPUnit 5.
* Tools: Documented tags in `ContextGenerator`.
## [3.0.8] - 2015-12-18
* Allow `NULL` in expressions.
* Downgraded PHPUnit to 4.8. Removed old PHP versions.
* Updated PHPUnit to 5.1 and fixed some of the tests.
* Added `UNION ALL` as a type of `UNION`.
* Expressions are permitted in `SET` operations.
* Added `STRAIGHT_JOIN` as a known type of join.
* Added missing definitions for `MATCH` and `AGAINST`.
* Added missing statement (`FLUSH` and `DEALLOCATE`).
## [3.0.7] - 2015-11-12
* Expressions may begin with a function that is also a reserved keyword (e.g. `IF`).
## [3.0.6] - 2015-11-12
* Fixed a bug where formatter split the function name and the parameters list.
## [3.0.5] - 2015-11-08
* Add GRANT as known statement.
* Use JOIN expressions for flag detection.
* Fix the order of clauses in SELECT statements involving UNIONs.
* Added dummy parsers for CREATE USER and SET PASSWORD statements.
* Accept NOT operator in conditions.
* Fixed DELIMITER statements in BufferedQuery.
* Added INSERT statement builder.
## [3.0.4] - 2015-10-21
* Fix error message in `SqlParser\Components\OptionsArray`.
## [3.0.3] - 2015-10-10
* Avoid building a field multiple times if clause has synonyms.
## [3.0.2] - 2015-10-10
* Add EXISTS as an acceptable keyword in conditions.
## [3.0.1] - 2015-10-06
* Handle backslashes separately for `SqlParser\Utils\BufferedQuery`. Fixes a bug where backslashes in combination with strings weren't handled properly.
## [3.0.0] - 2015-10-02
__Breaking changes:__
* `SqlParser\Components\Reference::$table` is now an instance of `SqlParser\Components\Expression` to support references from other tables.
## [2.1.3] - 2015-10-02
* Add definitions for all JOIN clauses.
## [2.1.2] - 2015-10-02
* Properly parse options when the value of the option is '='.
## [2.1.1] - 2015-09-30
* Only RANGE and LIST type partitions support VALUES.
## [2.1.0] - 2015-09-30
* Added utilities for handling tokens and tokens list.
## [2.0.3] - 2015-09-30
* Added missing NOT IN operator. This caused troubles when parsing conditions that contained the `NOT IN` operator.
## [2.0.2] - 2015-09-30
* Added support for `OUTER` as an optional keyword in joins.
## [2.0.1] - 2015-09-30
* Fixed a bug related to (sub)partitions options not being included in the built component. Also, the option `ENGINE` was unrecognized.
## [2.0.0] - 2015-09-25
* Better parsing for CREATE TABLE statements (related to breaking change 1).
* Added support for JSON data type.
* Refactoring and minor documentation improvements.
__Breaking changes:__
* `SqlParser\Components\Key::$columns` is now an array of arrays. Each array must contain a `name` key which represents the name of the column and an optional `length` key which represents the length of the column.
## [1.0.0] - 2015-08-20
* First release of this library.
@@ -0,0 +1,53 @@
# Contributing to SQL Parser
## Reporting issues
Our issue tracker is hosted at GitHub:
https://github.com/phpmyadmin/sql-parser/issues
Please search for existing issues before reporting new ones.
## Working with Git checkout
The dependencies are managed by Composer, to get them all installed (or update
on consequent runs) do:
```
composer update
```
## Submitting patches
Please submit your patches using GitHub pull requests, this allows us to review
them and to run automated tests on the code.
## Coding standards
We do follow PSR-1 and PSR-2 coding standards.
You can use phpcbf to fix the code to match our expectations:
```
./vendor/bin/phpcbf
```
## Testsuite
Our code comes with quite comprehensive testsuite, it is automatically executed
on every commit and pull request, you can also run it locally:
```
./vendor/bin/phpunit
```
The testsuite relies on fixtures of parser states, in case you need to
regenerate some of these there are helper scripts in tools directory:
```
# Remove file you want to regenerate
rm tests/data/parser/parse.out
# Run the generator located in the tools directory
./tools/run_generators.sh
```
+339
View File
@@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
+137
View File
@@ -0,0 +1,137 @@
# SQL Parser
A validating SQL lexer and parser with a focus on MySQL dialect.
## Code status
![Tests](https://github.com/phpmyadmin/sql-parser/workflows/Run%20tests/badge.svg?branch=master)
[![Code Coverage](https://scrutinizer-ci.com/g/phpmyadmin/sql-parser/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/phpmyadmin/sql-parser/?branch=master)
[![codecov.io](https://codecov.io/github/phpmyadmin/sql-parser/coverage.svg?branch=master)](https://codecov.io/github/phpmyadmin/sql-parser?branch=master)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/phpmyadmin/sql-parser/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/phpmyadmin/sql-parser/?branch=master)
[![Translation status](https://hosted.weblate.org/widgets/phpmyadmin/-/svg-badge.svg)](https://hosted.weblate.org/engage/phpmyadmin/?utm_source=widget)
[![Packagist](https://img.shields.io/packagist/dt/phpmyadmin/sql-parser.svg)](https://packagist.org/packages/phpmyadmin/sql-parser)
[![Open Source Helpers](https://www.codetriage.com/phpmyadmin/sql-parser/badges/users.svg)](https://www.codetriage.com/phpmyadmin/sql-parser)
[![Type coverage](https://shepherd.dev/github/phpmyadmin/sql-parser/coverage.svg)](https://shepherd.dev/github/phpmyadmin/sql-parser)
[![Infection MSI](https://badge.stryker-mutator.io/github.com/phpmyadmin/sql-parser/master)](https://infection.github.io)
## Installation
Please use [Composer][1] to install:
```sh
composer require phpmyadmin/sql-parser
```
## Documentation
The API documentation is available at
<https://develdocs.phpmyadmin.net/sql-parser/>.
## Usage
### Command line utilities
Command line utility to syntax highlight SQL query:
```sh
./vendor/bin/highlight-query --query "SELECT 1"
```
Command line utility to lint SQL query:
```sh
./vendor/bin/lint-query --query "SELECT 1"
```
Command line utility to tokenize SQL query:
```sh
./vendor/bin/tokenize-query --query "SELECT 1"
```
All commands are able to parse input from stdin (standard in), such as:
```sh
echo "SELECT 1" | ./vendor/bin/highlight-query
cat example.sql | ./vendor/bin/lint-query
```
### Formatting SQL query
```php
echo PhpMyAdmin\SqlParser\Utils\Formatter::format($query, ['type' => 'html']);
```
### Discoverying query type
```php
use PhpMyAdmin\SqlParser\Parser;
use PhpMyAdmin\SqlParser\Utils\Query;
$query = 'OPTIMIZE TABLE tbl';
$parser = new Parser($query);
$flags = Query::getFlags($parser->statements[0]);
echo $flags['querytype'];
```
### Parsing and building SQL query
```php
require __DIR__ . '/vendor/autoload.php';
$query1 = 'select * from a';
$parser = new PhpMyAdmin\SqlParser\Parser($query1);
// inspect query
var_dump($parser->statements[0]); // outputs object(PhpMyAdmin\SqlParser\Statements\SelectStatement)
// modify query by replacing table a with table b
$table2 = new \PhpMyAdmin\SqlParser\Components\Expression('', 'b', '', '');
$parser->statements[0]->from[0] = $table2;
// build query again from an array of object(PhpMyAdmin\SqlParser\Statements\SelectStatement) to a string
$statement = $parser->statements[0];
$query2 = $statement->build();
var_dump($query2); // outputs string(19) 'SELECT * FROM `b` '
// Change SQL mode
PhpMyAdmin\SqlParser\Context::setMode('ANSI_QUOTES');
// build the query again using different quotes
$query2 = $statement->build();
var_dump($query2); // outputs string(19) 'SELECT * FROM "b" '
```
## Localization
You can localize error messages installing `phpmyadmin/motranslator` version `5.0` or newer:
```sh
composer require phpmyadmin/motranslator:^5.0
```
The locale is automatically detected from your environment, you can also set a different locale
**From cli**:
```sh
LC_ALL=pl ./vendor/bin/lint-query --query "SELECT 1"
```
**From php**:
```php
require __DIR__ . '/vendor/autoload.php';
$GLOBALS['lang'] = 'pl';
$query1 = 'select * from a';
$parser = new PhpMyAdmin\SqlParser\Parser($query1);
```
## More information
This library was originally created during the Google Summer of Code 2015 and has been used by phpMyAdmin since version 4.5.
[1]:https://getcomposer.org/
@@ -0,0 +1,30 @@
#!/usr/bin/env php
<?php
declare(strict_types=1);
$files = [
__DIR__ . "/../vendor/autoload.php",
__DIR__ . "/../../vendor/autoload.php",
__DIR__ . "/../../../autoload.php",
"vendor/autoload.php"
];
$found = false;
foreach ($files as $file) {
if (file_exists($file)) {
require_once $file;
$found = true;
break;
}
}
if (!$found) {
die(
"You need to set up the project dependencies using the following commands:" . PHP_EOL .
"curl -sS https://getcomposer.org/installer | php" . PHP_EOL .
"php composer.phar install" . PHP_EOL
);
}
$cli = new PhpMyAdmin\SqlParser\Utils\CLI();
exit($cli->runHighlight());
@@ -0,0 +1,30 @@
#!/usr/bin/env php
<?php
declare(strict_types=1);
$files = [
__DIR__ . "/../vendor/autoload.php",
__DIR__ . "/../../vendor/autoload.php",
__DIR__ . "/../../../autoload.php",
"vendor/autoload.php"
];
$found = false;
foreach ($files as $file) {
if (file_exists($file)) {
require_once $file;
$found = true;
break;
}
}
if (!$found) {
die(
"You need to set up the project dependencies using the following commands:" . PHP_EOL .
"curl -sS https://getcomposer.org/installer | php" . PHP_EOL .
"php composer.phar install" . PHP_EOL
);
}
$cli = new PhpMyAdmin\SqlParser\Utils\CLI();
exit($cli->runLint());
@@ -0,0 +1,30 @@
#!/usr/bin/env php
<?php
declare(strict_types=1);
$files = [
__DIR__ . "/../vendor/autoload.php",
__DIR__ . "/../../vendor/autoload.php",
__DIR__ . "/../../../autoload.php",
"vendor/autoload.php"
];
$found = false;
foreach ($files as $file) {
if (file_exists($file)) {
require_once $file;
$found = true;
break;
}
}
if (!$found) {
die(
"You need to set up the project dependencies using the following commands:" . PHP_EOL .
"curl -sS https://getcomposer.org/installer | php" . PHP_EOL .
"php composer.phar install" . PHP_EOL
);
}
$cli = new PhpMyAdmin\SqlParser\Utils\CLI();
exit($cli->runTokenize());
@@ -0,0 +1,59 @@
{
"name": "phpmyadmin/sql-parser",
"description": "A validating SQL lexer and parser with a focus on MySQL dialect.",
"license": "GPL-2.0-or-later",
"keywords": ["sql", "lexer", "parser", "analysis"],
"homepage": "https://github.com/phpmyadmin/sql-parser",
"authors": [
{
"name": "The phpMyAdmin Team",
"email": "developers@phpmyadmin.net",
"homepage": "https://www.phpmyadmin.net/team/"
}
],
"support": {
"issues": "https://github.com/phpmyadmin/sql-parser/issues",
"source": "https://github.com/phpmyadmin/sql-parser"
},
"require": {
"php": "^7.1 || ^8.0",
"symfony/polyfill-mbstring": "^1.3"
},
"require-dev": {
"phpmyadmin/coding-standard": "^3.0",
"phpmyadmin/motranslator": "^4.0 || ^5.0",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan": "^1.2",
"phpstan/phpstan-phpunit": "^1.0",
"phpunit/php-code-coverage": "*",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
"psalm/plugin-phpunit": "^0.16.1",
"vimeo/psalm": "^4.11",
"zumba/json-serializer": "^3.0"
},
"conflict": {
"phpmyadmin/motranslator": "<3.0"
},
"suggest": {
"ext-mbstring": "For best performance",
"phpmyadmin/motranslator": "Translate messages to your favorite locale"
},
"bin": [
"bin/highlight-query",
"bin/lint-query",
"bin/tokenize-query"
],
"autoload": {
"psr-4": {
"PhpMyAdmin\\SqlParser\\": "src"
}
},
"autoload-dev": {
"psr-4": {
"PhpMyAdmin\\SqlParser\\Tests\\": "tests"
}
},
"config":{
"sort-packages": true
}
}
@@ -0,0 +1,286 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2015-10-15 11:30+0200\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Afrikaans <https://hosted.weblate.org/projects/phpmyadmin/"
"master/af/>\n"
"Language: af\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.5-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr ""
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr ""
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr ""
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr ""
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr ""
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr ""
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr ""
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr ""
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr ""
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "With selected:"
msgid "An alias was expected after AS."
msgstr "Met gekose:"
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
#: src/Components/CreateDefinition.php:266
#, fuzzy
#| msgid "With selected:"
msgid "A symbol name was expected!"
msgstr "Met gekose:"
#: src/Components/CreateDefinition.php:301
#, fuzzy
#| msgid "With selected:"
msgid "A comma or a closing bracket was expected."
msgstr "Met gekose:"
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr ""
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr ""
#: src/Components/ExpressionArray.php:101
#, fuzzy
#| msgid "With selected:"
msgid "An expression was expected."
msgstr "Met gekose:"
#: src/Components/Expression.php:258 src/Components/Expression.php:420
#, fuzzy
#| msgid "With selected:"
msgid "An alias was expected."
msgstr "Met gekose:"
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr ""
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr ""
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr ""
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of LOCK expression."
msgstr "By Begin van Tabel"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of Lock expression."
msgstr "By Begin van Tabel"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr ""
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr ""
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:151
#, fuzzy
#| msgid "The row has been deleted."
msgid "A rename operation was expected."
msgstr "Die ry is verwyder"
#: src/Components/SetOperation.php:121
#, fuzzy
#| msgid "as regular expression"
msgid "Missing expression."
msgstr "as 'n regular expression"
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr ""
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr ""
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr ""
#: src/Lexer.php:909
#, fuzzy, php-format
msgid "Ending quote %1$s was expected."
msgstr "Tabel %s is verwyder"
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr ""
#: src/Parser.php:451
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected beginning of statement."
msgstr "By Begin van Tabel"
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr ""
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr ""
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr ""
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr ""
#: src/Statement.php:407
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Keyword at end of statement."
msgstr "By Begin van Tabel"
#: src/Statement.php:551
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected ordering of clauses."
msgstr "By Begin van Tabel"
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr ""
#: src/Statements/CreateStatement.php:542
#, fuzzy
#| msgid "With selected:"
msgid "A table name was expected."
msgstr "Met gekose:"
#: src/Statements/CreateStatement.php:550
#, fuzzy
#| msgid "The row has been deleted."
msgid "At least one column definition was expected."
msgstr "Die ry is verwyder"
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr ""
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr ""
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of LOCK statement."
msgstr "By Begin van Tabel"
#: src/Statements/PurgeStatement.php:136
msgid "Unexpected keyword"
msgstr ""
#, fuzzy
#~| msgid "Error"
#~ msgid "error #1"
#~ msgstr "Fout"
#, fuzzy
#~| msgid "Query"
#~ msgid "strict error"
#~ msgstr "Navraag dmv Voorbeeld"
@@ -0,0 +1,255 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2020-08-07 09:32+0000\n"
"Last-Translator: tamer dab <dabsantamer@yahoo.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/phpmyadmin/"
"sql-parser/ar/>\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 4.2-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "لم تنفذ بعد."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr "تم العثور على بيان جديد، ولكن لا يوجد محدد بينه وبين سابقه ."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr "فاصلة مفقودة قبل بدء عملية تغيير جديدة."
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "عملية تغيير غير معروفة."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "تم توقع قيم %1$d ، ولكن تم العثور على %2$d."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr "من المتوقع وجود قوس فتح متبوعا بمجموعة من القيم."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "من المتوقع وجود قوس مفتوح."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "كلمة رئيسية غير متوقعة."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "نهاية غير متوقعة من التعبير"
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr "من المحتمل وجود مُسَمَّى إضافي متكرر لعبارة CASE."
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr "يتوقع وضع مُسَمَّى إضافي بعد AS لكن تم وضع "
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr "اسم مستعار موجود مسبقا ."
#: src/Components/CaseExpression.php:262
msgid "An alias was expected after AS."
msgstr "كان من المتوقع اسم مستعار بعد AS."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"كان من المتوقع وجود اسم رمز! لا يمكن استخدام كلمة رئيسية محجوزة كاسم عمود "
"بدون علامات اقتباس."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "كان من المتوقع اسم رمز!"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "من المتوقع وجود فاصلة أو قوس إغلاق."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr "من المتوقع وجود قوس مغلق."
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr "نوع بيانات غير معروف."
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr "متوقع وجود تعبير ."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr "كان من المتوقع وجود اسم مستعار."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr "نقطة غير متوقعة."
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr "رمز غير متوقع."
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr "متوقع حدوث تعويض ."
#: src/Components/LockExpression.php:91
msgid "Unexpected end of LOCK expression."
msgstr "نهاية غير متوقعة لعبارة LOCK ."
#: src/Components/LockExpression.php:199
msgid "Unexpected end of Lock expression."
msgstr "نهاية غير متوقعة لتعبير Lock."
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr "يتعارض هذا الخيار مع“%1$s“ ."
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr "متوفع وجود اسم الجدول القديم ."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr "متوقع وجود الكلمة الرئيسية \"TO\"."
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr "متوقع وجود الاسم الجديد للجدول ."
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr "نتوقع منك اعادة تسمية ."
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr "تعبير مفقود ."
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr "حرف غير متوقع ."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr "المسافات البيضاء المتوقعة قبل المحدد."
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr "المحدد المتوقع."
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr "نتوقع إنهاء الاقتباس %1$s ."
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr "متوقع منك اسم متغير ."
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr "بداية غير متوقعة للبيان."
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr "نوع بيان غير معروف."
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr "لم يتم بدء أي معاملة من قبل."
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr "تم تحليل هذا النوع من العبارات سابقا."
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr "كلمة محجوزة غير معروفة."
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr "الكلمة المفتاحية في نهاية البيان."
#: src/Statement.php:551
msgid "Unexpected ordering of clauses."
msgstr "ترتيب غير متوقع للبنود."
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr "نتوفع منك ادراج اسم الكيان ."
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr "نتوقع تسمية الجدول ."
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr "نتوقع منك تعريف عمود علي الاقل ."
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr "كانت الكلمة الرئيسية \"رجوع\" متوقعة."
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr "هذا النوع من الشرط غير صالح في الاستعلامات متعددة الجداول."
#: src/Statements/LockStatement.php:116
msgid "Unexpected end of LOCK statement."
msgstr "نهاية غير متوقعة لبيان LOCK."
#: src/Statements/PurgeStatement.php:136
msgid "Unexpected keyword"
msgstr "كلمة أساسية غير متوقعة"
#~ msgid "error #1"
#~ msgstr "الخطأ رقم 1"
#~ msgid "strict error"
#~ msgstr "خطأ صارم"
@@ -0,0 +1,266 @@
# phpMyAdmin SQL parser translation.
# Copyright (C) 2015 - 2017 phpMyAdmin devel team
# This file is distributed under the same license as the SQL parser package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2020-10-04 21:34+0000\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Asturian <https://hosted.weblate.org/projects/phpmyadmin/"
"sql-parser/ast/>\n"
"Language: ast\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "Entá nun se desendolcó."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
"Alcontróse una nueva declaración, pero nun hai llendador ente ésta y la "
"anterior."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "Operación d'alteración desconocida."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "Esperábense %1$d valores, pero s'alcontraron %2$d."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr "Esperábase un corchete d'apertura siguíu por un conxuntu de valores."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "Esperábase un corchete d'apertura."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "Palabra clave inesperada."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "Final inesperáu d'espresión CASE"
#: src/Components/CaseExpression.php:225
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Potential duplicate alias of CASE expression."
msgstr "Final inesperáu d'espresión CASE"
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr "Alcontróse anteriormente un alcuñu."
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "An alias was expected."
msgid "An alias was expected after AS."
msgstr "Esperábase un alcuñu."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"Esperábase un nome de símbolu. Una palabra acutada nun puede usase como nome "
"de columna ensin comines."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "Esperábase un nome de símbolu"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "Esperábase una coma o un corchete de zarru."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr "Esperábase un corchete de zarru."
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr "Tipu de datu desconocíu."
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr "Esperábase una espresión."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr "Esperábase un alcuñu."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr "Puntu inesperáu."
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr ""
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr "Esperábase un desplazamientu."
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of LOCK expression."
msgstr "Final inesperáu d'espresión CASE"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of Lock expression."
msgstr "Final inesperáu d'espresión CASE"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr "Esta opción fai conflictu con \"%1$s\"."
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr "Esperábase'l nome anterior de la tabla."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr "Esperábase la palabra clave \"TO\"."
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr "Esperábase'l nome nuevu de la tabla."
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr "Esperábase una operación de cambiu de nome."
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr "Falta una espresión."
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr "Carácter inesperáu."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr "Esperábase espaciu(os) en blancu antes d'un llendador."
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr "Esperábase un llendador."
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr "Esperábense les comines de final %1$s."
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr "Esperábase un nome de variable."
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr ""
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr ""
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr ""
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr ""
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr ""
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr ""
#: src/Statement.php:551
msgid "Unexpected ordering of clauses."
msgstr ""
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr ""
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr ""
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr ""
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr ""
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr ""
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of LOCK statement."
msgstr "Final inesperáu d'espresión CASE"
#: src/Statements/PurgeStatement.php:136
#, fuzzy
#| msgid "Unexpected keyword."
msgid "Unexpected keyword"
msgstr "Palabra clave inesperada."
@@ -0,0 +1,273 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2017-11-25 14:44+0000\n"
"Last-Translator: Sevdimali İsa <sevdimaliisayev@mail.ru>\n"
"Language-Team: Azerbaijani <https://hosted.weblate.org/projects/phpmyadmin/"
"sql-parser/az/>\n"
"Language: az\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.18-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "Hələki tətbiq edilməyib."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "Kateqoriya olunmamış alter əməliyyatı."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "%1$d gözlənilirdi, amma %2$d tapıldı."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr "Mötərizə ardından bir qrup dəyər gözlənilməkdə."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr ""
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "Gözlənilməyən açar söz."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "Gözlənməz Böyük/Kiçik hərf ifadəsi sonu"
#: src/Components/CaseExpression.php:225
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Potential duplicate alias of CASE expression."
msgstr "Gözlənməz Böyük/Kiçik hərf ifadəsi sonu"
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr "Daha öncə alias tapıldı."
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "An alias was expected."
msgid "An alias was expected after AS."
msgstr "Alias gözlənilirdi."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"Bir simvol adı gözlənilirdi! Dırnaqsız reserv sözlər sütün adı olaraq "
"istifadə edilə bilməz."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "Simvol adı gözlənilirdi!"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "Vergül və ya mötərizə gözlənilirdi."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr "Mötərizə gözlənilirdi."
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr "Tanınmayan verilən tipi."
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr "İfadə gözlənilməkdə."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr "Alias gözlənilirdi."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr "Gözlənilməz nöqtə."
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr "Gözlənilməyən token."
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr ""
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of LOCK expression."
msgstr "Gözlənməz Böyük/Kiçik hərf ifadəsi sonu"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of Lock expression."
msgstr "Gözlənməz Böyük/Kiçik hərf ifadəsi sonu"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr "Bu seçim %1$s bununla zidiyyət təşkil edir."
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr "Cədvəlin köhnə adı gözlənilirdi."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr "\"TO\" açar sözü gözlənilirdi."
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr "Cədvəlin yeni adı gözlənilirdi."
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr "Yenidən adlandırma əməliyyatı gözlənilirdi."
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr "Əksik ifadə."
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr "Gözlənilməyən simvol."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr ""
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr ""
#: src/Lexer.php:909
#, fuzzy, php-format
#| msgid "Event %1$s has been created."
msgid "Ending quote %1$s was expected."
msgstr "%1$s hadisəsi yaradıldı."
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr "Dəyişən adı gözlənilirdi."
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr "İfadənin gözlənilməz başlanğıcı."
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr "Tanınmayan ifadə tipi."
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr "Daha öncə tranzaksiya başladılmadı."
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr ""
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr "Tanınmayan açarsöz."
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr "İfadənin sonunda açar söz."
#: src/Statement.php:551
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected ordering of clauses."
msgstr "Cədvəlin başına"
#: src/Statements/CreateStatement.php:492
#, fuzzy
#| msgid "The number of tables that are open."
msgid "The name of the entity was expected."
msgstr "Açıq olan cədvəl sayı."
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr "Cədvəl adı gözlənilirdi."
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr "Ən az bir sütün açıqlaması gözlənilirdi."
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr "\"RETURNS\" açarsözü gözlənilirdi."
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr ""
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "Unexpected beginning of statement."
msgid "Unexpected end of LOCK statement."
msgstr "İfadənin gözlənilməz başlanğıcı."
#: src/Statements/PurgeStatement.php:136
#, fuzzy
#| msgid "Unexpected keyword."
msgid "Unexpected keyword"
msgstr "Gözlənilməyən açar söz."
#~ msgid "error #1"
#~ msgstr "xəta #1"
#, fuzzy
#~| msgid "Query error"
#~ msgid "strict error"
#~ msgstr "Sorğu xətası"
@@ -0,0 +1,268 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2017-08-22 09:47+0000\n"
"Last-Translator: Viktar Vauchkevich <victorenator@gmail.com>\n"
"Language-Team: Belarusian <https://hosted.weblate.org/projects/phpmyadmin/"
"sql-parser/be/>\n"
"Language: be\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 2.17-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "Яшчэ не рэалізавана."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
"Знойдзена новае сцвярджэнне, але між ім і папярэднім няма раздзяляльніка."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "Нераспазнаная аперацыя змены."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "Чакалася %1$d значэнняў, а знойдзена %2$d."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr "Чакаліся адкрывальная дужка і спіс значэнняў."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "Чакалася адкрывальная дужка."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "Нечаканае ключавое слова."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "Нечаканы канец CASE-выразу"
#: src/Components/CaseExpression.php:225
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Potential duplicate alias of CASE expression."
msgstr "Нечаканы канец CASE-выразу"
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr "Псеўданім быў знайдзены раней."
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "An alias was expected."
msgid "An alias was expected after AS."
msgstr "Чакаўся псеўданім."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"Чакалася назва сімвала! Зарэзерваваныя ключавыя словы нельга выкарыстоўваць "
"як назву слупка без двукоссяў."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "Чакалася назва сімвала!"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "Чакалася коска або закрывальная дужка."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr "Чакалася закрывальная дужка."
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr "Нераспазнаны тып даных."
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr "Чакаўся выраз."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr "Чакаўся псеўданім."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr "Нечаканая кропка."
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr "Нечаканы знак."
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr "Чакаўся соступ."
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of LOCK expression."
msgstr "Нечаканы канец CASE-выразу"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of Lock expression."
msgstr "Нечаканы канец CASE-выразу"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr "Гэты параметр канфліктуе з «%1$s»."
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr "Чакалася старая назва табліцы."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr "Чакалаcя ключавое слова «TO»."
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr "Чакалася новая назва табліцы."
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr "Чакалася аперацыя перайменавання."
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr "Адсутнічае выраз."
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr "Нечаканы сімвал."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr "Чакаўся прагал(ы) перад раздзяляльнікам."
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr "Чакаецца раздзяляльнік."
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr "Чакалася канцавое двукоссе %1$s."
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr "Чакалася назва зменнай."
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr "Нечаканы пачатак сцвярджэння."
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr "Нераспазнаны тып сцвярджэння."
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr "Няма папярэдне запушчанай транзакцыі."
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr "Гэты тып выразу быў папярэдне разабраны."
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr "Нераспазнанае ключавое слова."
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr "Ключавое слова ў канцы сцвярджэння."
#: src/Statement.php:551
msgid "Unexpected ordering of clauses."
msgstr "Нечаканы парадак выразаў."
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr "Чакалася назва сутнасці."
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr "Чакалася назва табліцы."
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr "Чакалася азначэнне прынамсі аднаго слупка."
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr "Чакалася ключавое слова «RETURNS»."
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr "Гэты тып выразу не правільны для мультытаблічных запытаў."
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "Unexpected beginning of statement."
msgid "Unexpected end of LOCK statement."
msgstr "Нечаканы пачатак сцвярджэння."
#: src/Statements/PurgeStatement.php:136
#, fuzzy
#| msgid "Unexpected keyword."
msgid "Unexpected keyword"
msgstr "Нечаканае ключавое слова."
#~ msgid "error #1"
#~ msgstr "памылка #1"
#~ msgid "strict error"
#~ msgstr "недапушчальная памылка"
@@ -0,0 +1,269 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2017-08-22 09:47+0000\n"
"Last-Translator: Viktar Vauchkevich <victorenator@gmail.com>\n"
"Language-Team: Belarusian (latin) <https://hosted.weblate.org/projects/"
"phpmyadmin/sql-parser/be_Latn/>\n"
"Language: be@latin\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 2.17-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "Jašče nie realizavana."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
"Znojdziena novaje scviardžennie, alie miž im i papiarednim niama "
"razdzialiaĺnika."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "Nieraspaznanaja apieracyja zmieny."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "Čakalasia %1$d značenniaŭ, a znojdziena %2$d."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr "Čakalisia adkryvaĺnaja dužka i spis značenniaŭ."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "Čakalasia adkryvaĺnaja dužka."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "Niečakanaje kliučavoje slova."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "Niečakany kaniec CASE-vyrazu"
#: src/Components/CaseExpression.php:225
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Potential duplicate alias of CASE expression."
msgstr "Niečakany kaniec CASE-vyrazu"
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr "Psieŭdanim byŭ znajdzieny raniej."
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "An alias was expected."
msgid "An alias was expected after AS."
msgstr "Čakaŭsia psieŭdanim."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"Čakalasia nazva simvala! Zareziervavanyja kliučavyja slovy nieĺha "
"vykarystoŭvać jak nazvu slupka biez dvukossiaŭ."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "Čakalasia nazva simvala!"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "Čakalasia koska abo zakryvaĺnaja dužka."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr "Čakalasia zakryvaĺnaja dužka."
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr "Nieraspaznany typ danych."
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr "Čakaŭsia vyraz."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr "Čakaŭsia psieŭdanim."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr "Niečakanaja kropka."
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr "Niečakany znak."
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr "Čakaŭsia sostup."
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of LOCK expression."
msgstr "Niečakany kaniec CASE-vyrazu"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of Lock expression."
msgstr "Niečakany kaniec CASE-vyrazu"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr "Hety paramietr kanfliktuje z «%1$s»."
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr "Čakalasia staraja nazva tablicy."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr "Čakalacja kliučavoje slova «TO»."
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr "Čakalasia novaja nazva tablicy."
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr "Čakalasia apieracyja pierajmienavannia."
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr "Adsutničaje vyraz."
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr "Niečakany simval."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr "Čakaŭsia prahal(y) pierad razdzialiaĺnikam."
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr "Čakajecca razdzialiaĺnik."
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr "Čakalasia kancavoje dvukossie %1$s."
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr "Čakalasia nazva zmiennaj."
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr "Niečakany pačatak scviardžennia."
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr "Nieraspaznany typ scviardžennia."
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr "Niama papiarednie zapuščanaj tranzakcyi."
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr "Hety typ vyrazu byŭ papiarednie razabrany."
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr "Nieraspaznanaje kliučavoje slova."
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr "Kliučavoje slova ŭ kancy scviardžennia."
#: src/Statement.php:551
msgid "Unexpected ordering of clauses."
msgstr "Niečakany paradak vyrazaŭ."
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr "Čakalasia nazva sutnasci."
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr "Čakalasia nazva tablicy."
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr "Čakalasia aznačennie prynamsi adnaho slupka."
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr "Čakalasia kliučavoje slova «RETURNS»."
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr "Hety typ vyrazu nie praviĺny dlia muĺtytabličnych zapytaŭ."
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "Unexpected beginning of statement."
msgid "Unexpected end of LOCK statement."
msgstr "Niečakany pačatak scviardžennia."
#: src/Statements/PurgeStatement.php:136
#, fuzzy
#| msgid "Unexpected keyword."
msgid "Unexpected keyword"
msgstr "Niečakanaje kliučavoje slova."
#~ msgid "error #1"
#~ msgstr "pamylka #1"
#~ msgid "strict error"
#~ msgstr "niedapuščaĺnaja pamylka"
@@ -0,0 +1,298 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2020-10-14 10:02+0000\n"
"Last-Translator: Пламен <plamen_mbx@yahoo.com>\n"
"Language-Team: Bulgarian <https://hosted.weblate.org/projects/phpmyadmin/"
"sql-parser/bg/>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "Все още не е внедрена."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
"Беше открито ново изявление, но не и разграничител между него и предишния."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr "Липсва запетая пред началото на нова операция alter."
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "Неизвестна промяна на операцията."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "%1$d стойности бяха очаквани, но бяха намерени %2$d."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr "Очаква се отваряща скоба последвана от списък стойности."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "Очаква се отваряща скоба."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "Неочаквана ключова дума."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "Неочакван край на израза CASE"
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr "Потенциален дублиращ се псевдоним на изявата на CASE."
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr "Псевдоним, очакван след AS, но получи "
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr "Преди това е открит псевдоним."
#: src/Components/CaseExpression.php:262
msgid "An alias was expected after AS."
msgstr "Псевдоним се очакваше след AS."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"Очакваше се име на символ! Запазената ключова дума не може да се използва "
"като име на колона без обратни кавички."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "Очаква се име на символ!"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "Очакваше се запетая или затваряща скоба."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr ""
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr ""
#: src/Components/ExpressionArray.php:101
#, fuzzy
#| msgid "No rows selected"
msgid "An expression was expected."
msgstr "Няма върнати редове"
#: src/Components/Expression.php:258 src/Components/Expression.php:420
#, fuzzy
#| msgid "No tables selected."
msgid "An alias was expected."
msgstr "Няма избрани таблици."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr ""
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
#, fuzzy
#| msgid "Unexpected characters on line %s."
msgid "Unexpected token."
msgstr "Неочаквани знаци на ред %s."
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr ""
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of LOCK expression."
msgstr "В началото на таблицата"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of Lock expression."
msgstr "В началото на таблицата"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr ""
#: src/Components/RenameOperation.php:105
#, fuzzy
#| msgid "The number of tables that are open."
msgid "The old name of the table was expected."
msgstr "Броят отворени таблици."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr ""
#: src/Components/RenameOperation.php:132
#, fuzzy
#| msgid "The number of tables that are open."
msgid "The new name of the table was expected."
msgstr "Броят отворени таблици."
#: src/Components/RenameOperation.php:151
#, fuzzy
#| msgid "The row has been deleted."
msgid "A rename operation was expected."
msgstr "Редът беше изтрит"
#: src/Components/SetOperation.php:121
#, fuzzy
#| msgid "as regular expression"
msgid "Missing expression."
msgstr "като регулярен израз"
#: src/Lexer.php:244
#, fuzzy
#| msgid "Unexpected characters on line %s."
msgid "Unexpected character."
msgstr "Неочаквани знаци на ред %s."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr ""
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr ""
#: src/Lexer.php:909
#, fuzzy, php-format
#| msgid "Event %1$s has been created."
msgid "Ending quote %1$s was expected."
msgstr "Събитието %1$s беше създадено."
#: src/Lexer.php:955
#, fuzzy
#| msgid "Table name template"
msgid "Variable name was expected."
msgstr "Шаблон за име на таблица"
#: src/Parser.php:451
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected beginning of statement."
msgstr "В началото на таблицата"
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr ""
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr ""
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr ""
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr ""
#: src/Statement.php:407
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Keyword at end of statement."
msgstr "В началото на таблицата"
#: src/Statement.php:551
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected ordering of clauses."
msgstr "В началото на таблицата"
#: src/Statements/CreateStatement.php:492
#, fuzzy
#| msgid "The number of tables that are open."
msgid "The name of the entity was expected."
msgstr "Броят отворени таблици."
#: src/Statements/CreateStatement.php:542
#, fuzzy
#| msgid "Table name template"
msgid "A table name was expected."
msgstr "Шаблон за име на таблица"
#: src/Statements/CreateStatement.php:550
#, fuzzy
#| msgid "The row has been deleted."
msgid "At least one column definition was expected."
msgstr "Редът беше изтрит"
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr ""
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr ""
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of LOCK statement."
msgstr "В началото на таблицата"
#: src/Statements/PurgeStatement.php:136
#, fuzzy
#| msgid "Unexpected characters on line %s."
msgid "Unexpected keyword"
msgstr "Неочаквани знаци на ред %s."
#, fuzzy
#~| msgid "errors."
#~ msgid "error #1"
#~ msgstr "грешки."
#, fuzzy
#~| msgid "Gather errors"
#~ msgid "strict error"
#~ msgstr "Събиране на грешки"
@@ -0,0 +1,305 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2021-03-02 18:02+0000\n"
"Last-Translator: Nokib Sarkar <nokibsarkar@gmail.com>\n"
"Language-Team: Bengali <https://hosted.weblate.org/projects/phpmyadmin/"
"sql-parser/bn/>\n"
"Language: bn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Weblate 4.5\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "এখনো বাস্তবায়িত হয়নি।"
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
"একটি নতুন বিবৃতি পাওয়া গেছে, তবে এটি এবং পূর্ববর্তীটির মধ্যে কোনও বিভাজক "
"নেই।"
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr "নতুন অল্টার অপারেশন শুরুর আগে কমা খুঁজে পাওয়া যায় নি।"
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr ""
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr ""
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr ""
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr ""
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
#, fuzzy
#| msgid "Unexpected characters on line %s."
msgid "Unexpected keyword."
msgstr "%s লাইনে অপ্রত্যাশিত চিহ্ন।"
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr ""
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr ""
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr ""
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "No databases selected."
msgid "An alias was expected after AS."
msgstr "ডাটাবেইজ নিবার্চন করা হয়নি।"
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
#: src/Components/CreateDefinition.php:266
#, fuzzy
#| msgid "Table name template"
msgid "A symbol name was expected!"
msgstr "টেবলের নামের নকশা"
#: src/Components/CreateDefinition.php:301
#, fuzzy
#| msgid "No databases selected."
msgid "A comma or a closing bracket was expected."
msgstr "ডাটাবেইজ নিবার্চন করা হয়নি।"
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr ""
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr ""
#: src/Components/ExpressionArray.php:101
#, fuzzy
#| msgid "No rows selected"
msgid "An expression was expected."
msgstr "কোন রো নির্বাচন করা হয় নাই"
#: src/Components/Expression.php:258 src/Components/Expression.php:420
#, fuzzy
#| msgid "No databases selected."
msgid "An alias was expected."
msgstr "ডাটাবেইজ নিবার্চন করা হয়নি।"
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr ""
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
#, fuzzy
#| msgid "Unexpected characters on line %s."
msgid "Unexpected token."
msgstr "%s লাইনে অপ্রত্যাশিত চিহ্ন।"
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr ""
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of LOCK expression."
msgstr "টেবিলের শুরুতে"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of Lock expression."
msgstr "টেবিলের শুরুতে"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr ""
#: src/Components/RenameOperation.php:105
#, fuzzy
#| msgid "The number of tables that are open."
msgid "The old name of the table was expected."
msgstr "খোলা টেবিলের সংখ্যা।"
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr ""
#: src/Components/RenameOperation.php:132
#, fuzzy
#| msgid "The number of tables that are open."
msgid "The new name of the table was expected."
msgstr "খোলা টেবিলের সংখ্যা।"
#: src/Components/RenameOperation.php:151
#, fuzzy
#| msgid "The row has been deleted."
msgid "A rename operation was expected."
msgstr "রো টি মুছা হয়েছে।"
#: src/Components/SetOperation.php:121
#, fuzzy
#| msgid "as regular expression"
msgid "Missing expression."
msgstr "রেগুলার এক্সপ্রেশনের মত"
#: src/Lexer.php:244
#, fuzzy
#| msgid "Unexpected characters on line %s."
msgid "Unexpected character."
msgstr "%s লাইনে অপ্রত্যাশিত চিহ্ন।"
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr ""
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr ""
#: src/Lexer.php:909
#, fuzzy, php-format
#| msgid "Event %1$s has been created."
msgid "Ending quote %1$s was expected."
msgstr "ইভেন্ট %1$s তৈরী হয়েছে।"
#: src/Lexer.php:955
#, fuzzy
#| msgid "Table name template"
msgid "Variable name was expected."
msgstr "টেবলের নামের নকশা"
#: src/Parser.php:451
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected beginning of statement."
msgstr "টেবিলের শুরুতে"
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr ""
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr ""
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr ""
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr ""
#: src/Statement.php:407
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Keyword at end of statement."
msgstr "টেবিলের শুরুতে"
#: src/Statement.php:551
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected ordering of clauses."
msgstr "টেবিলের শুরুতে"
#: src/Statements/CreateStatement.php:492
#, fuzzy
#| msgid "The number of tables that are open."
msgid "The name of the entity was expected."
msgstr "খোলা টেবিলের সংখ্যা।"
#: src/Statements/CreateStatement.php:542
#, fuzzy
#| msgid "Table name template"
msgid "A table name was expected."
msgstr "টেবলের নামের নকশা"
#: src/Statements/CreateStatement.php:550
#, fuzzy
#| msgid "The row has been deleted."
msgid "At least one column definition was expected."
msgstr "রো টি মুছা হয়েছে।"
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr ""
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr ""
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of LOCK statement."
msgstr "টেবিলের শুরুতে"
#: src/Statements/PurgeStatement.php:136
#, fuzzy
#| msgid "Unexpected characters on line %s."
msgid "Unexpected keyword"
msgstr "%s লাইনে অপ্রত্যাশিত চিহ্ন।"
#, fuzzy
#~| msgid "errors."
#~ msgid "error #1"
#~ msgstr "ভুলসমূহ"
#, fuzzy
#~| msgid "Gather errors"
#~ msgid "strict error"
#~ msgstr "ভুলসমূহ জড়ো"
@@ -0,0 +1,293 @@
# phpMyAdmin translation.
# Copyright (C) 2003 - 2011 phpMyAdmin devel team
# This file is distributed under the same license as the phpMyAdmin package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2014-03-28 11:07+0200\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Breton <https://hosted.weblate.org/projects/phpmyadmin/master/"
"br/>\n"
"Language: br\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 1.9-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr ""
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr ""
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr ""
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr ""
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr ""
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr ""
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr ""
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr ""
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr ""
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "No rows selected"
msgid "An alias was expected after AS."
msgstr "N'eus bet diuzet linenn ebet"
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
#: src/Components/CreateDefinition.php:266
#, fuzzy
#| msgid "Table name template"
msgid "A symbol name was expected!"
msgstr "Patrom anv taolenn"
#: src/Components/CreateDefinition.php:301
#, fuzzy
#| msgid "No rows selected"
msgid "A comma or a closing bracket was expected."
msgstr "N'eus bet diuzet linenn ebet"
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr ""
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr ""
#: src/Components/ExpressionArray.php:101
#, fuzzy
#| msgid "No rows selected"
msgid "An expression was expected."
msgstr "N'eus bet diuzet linenn ebet"
#: src/Components/Expression.php:258 src/Components/Expression.php:420
#, fuzzy
#| msgid "No rows selected"
msgid "An alias was expected."
msgstr "N'eus bet diuzet linenn ebet"
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr ""
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr ""
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr ""
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "Number of inserted rows"
msgid "Unexpected end of LOCK expression."
msgstr "Niver a linennoù da ensoc'hañ"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "Number of inserted rows"
msgid "Unexpected end of Lock expression."
msgstr "Niver a linennoù da ensoc'hañ"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr ""
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr ""
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:151
#, fuzzy
#| msgid "The bookmark has been deleted."
msgid "A rename operation was expected."
msgstr "Diverket eo bet ar sined."
#: src/Components/SetOperation.php:121
#, fuzzy
#| msgid "as regular expression"
msgid "Missing expression."
msgstr "evel un droienn reoliek"
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr ""
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr ""
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr ""
#: src/Lexer.php:909
#, fuzzy, php-format
#| msgid "Routine %1$s has been created."
msgid "Ending quote %1$s was expected."
msgstr "Krouet eo bet an argerzh %1s."
#: src/Lexer.php:955
#, fuzzy
#| msgid "Table name template"
msgid "Variable name was expected."
msgstr "Patrom anv taolenn"
#: src/Parser.php:451
#, fuzzy
#| msgid "Number of inserted rows"
msgid "Unexpected beginning of statement."
msgstr "Niver a linennoù da ensoc'hañ"
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr ""
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr ""
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr ""
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr ""
#: src/Statement.php:407
#, fuzzy
#| msgid "Number of inserted rows"
msgid "Keyword at end of statement."
msgstr "Niver a linennoù da ensoc'hañ"
#: src/Statement.php:551
#, fuzzy
#| msgid "Number of inserted rows"
msgid "Unexpected ordering of clauses."
msgstr "Niver a linennoù da ensoc'hañ"
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr ""
#: src/Statements/CreateStatement.php:542
#, fuzzy
#| msgid "Table name template"
msgid "A table name was expected."
msgstr "Patrom anv taolenn"
#: src/Statements/CreateStatement.php:550
#, fuzzy
#| msgid "The bookmark has been deleted."
msgid "At least one column definition was expected."
msgstr "Diverket eo bet ar sined."
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr ""
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr ""
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "Number of inserted rows"
msgid "Unexpected end of LOCK statement."
msgstr "Niver a linennoù da ensoc'hañ"
#: src/Statements/PurgeStatement.php:136
msgid "Unexpected keyword"
msgstr ""
#, fuzzy
#~| msgid "Error"
#~ msgid "error #1"
#~ msgstr "Fazi"
#, fuzzy
#~| msgid "Gather errors"
#~ msgid "strict error"
#~ msgstr "Dastum ar fazioù"
@@ -0,0 +1,250 @@
# phpMyAdmin translation.
# Copyright (C) 2003 - 2015 phpMyAdmin devel team
# This file is distributed under the same license as the phpMyAdmin package.
# Automatically generated, 2015.
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2015-09-04 09:33+0200\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Bodo <https://hosted.weblate.org/projects/phpmyadmin/master/"
"brx/>\n"
"Language: brx\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Weblate 2.4-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr ""
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr ""
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr ""
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr ""
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr ""
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr ""
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr ""
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr ""
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr ""
#: src/Components/CaseExpression.php:262
msgid "An alias was expected after AS."
msgstr ""
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr ""
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr ""
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr ""
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr ""
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr ""
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr ""
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr ""
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr ""
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr ""
#: src/Components/LockExpression.php:91
msgid "Unexpected end of LOCK expression."
msgstr ""
#: src/Components/LockExpression.php:199
msgid "Unexpected end of Lock expression."
msgstr ""
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr ""
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr ""
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr ""
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr ""
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr ""
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr ""
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr ""
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr ""
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr ""
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr ""
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr ""
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr ""
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr ""
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr ""
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr ""
#: src/Statement.php:551
msgid "Unexpected ordering of clauses."
msgstr ""
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr ""
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr ""
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr ""
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr ""
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr ""
#: src/Statements/LockStatement.php:116
msgid "Unexpected end of LOCK statement."
msgstr ""
#: src/Statements/PurgeStatement.php:136
msgid "Unexpected keyword"
msgstr ""
@@ -0,0 +1,286 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2015-10-15 11:31+0200\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Bosnian <https://hosted.weblate.org/projects/phpmyadmin/"
"master/bs/>\n"
"Language: bs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 2.5-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr ""
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr ""
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr ""
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr ""
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr ""
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr ""
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr ""
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr ""
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr ""
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "No databases selected."
msgid "An alias was expected after AS."
msgstr "Nije izabrana ni jedna baza."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
#: src/Components/CreateDefinition.php:266
#, fuzzy
msgid "A symbol name was expected!"
msgstr "Šablon imena datoteke"
#: src/Components/CreateDefinition.php:301
#, fuzzy
#| msgid "No databases selected."
msgid "A comma or a closing bracket was expected."
msgstr "Nije izabrana ni jedna baza."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr ""
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr ""
#: src/Components/ExpressionArray.php:101
#, fuzzy
#| msgid "No databases selected."
msgid "An expression was expected."
msgstr "Nije izabrana ni jedna baza."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
#, fuzzy
#| msgid "No databases selected."
msgid "An alias was expected."
msgstr "Nije izabrana ni jedna baza."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr ""
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr ""
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr ""
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of LOCK expression."
msgstr "Na početku tabele"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of Lock expression."
msgstr "Na početku tabele"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr ""
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr ""
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:151
#, fuzzy
#| msgid "The row has been deleted."
msgid "A rename operation was expected."
msgstr "Red je obrisan"
#: src/Components/SetOperation.php:121
#, fuzzy
#| msgid "as regular expression"
msgid "Missing expression."
msgstr "kao regularni izraz"
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr ""
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr ""
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr ""
#: src/Lexer.php:909
#, fuzzy, php-format
msgid "Ending quote %1$s was expected."
msgstr "Tabela %s je odbačena"
#: src/Lexer.php:955
#, fuzzy
msgid "Variable name was expected."
msgstr "Šablon imena datoteke"
#: src/Parser.php:451
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected beginning of statement."
msgstr "Na početku tabele"
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr ""
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr ""
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr ""
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr ""
#: src/Statement.php:407
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Keyword at end of statement."
msgstr "Na početku tabele"
#: src/Statement.php:551
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected ordering of clauses."
msgstr "Na početku tabele"
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr ""
#: src/Statements/CreateStatement.php:542
#, fuzzy
msgid "A table name was expected."
msgstr "Šablon imena datoteke"
#: src/Statements/CreateStatement.php:550
#, fuzzy
#| msgid "The row has been deleted."
msgid "At least one column definition was expected."
msgstr "Red je obrisan"
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr ""
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr ""
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of LOCK statement."
msgstr "Na početku tabele"
#: src/Statements/PurgeStatement.php:136
msgid "Unexpected keyword"
msgstr ""
#, fuzzy
#~| msgid "Error"
#~ msgid "error #1"
#~ msgstr "Greška"
#, fuzzy
#~| msgid "Query type"
#~ msgid "strict error"
#~ msgstr "Vrsta upita"
@@ -0,0 +1,268 @@
# Automatically generated <>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2018-01-15 17:44+0000\n"
"Last-Translator: Robert Antoni Buj Gelonch <robert.buj@gmail.com>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/phpmyadmin/sql-"
"parser/ca/>\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.19-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "Encara no implementat."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
"S'ha trobat una sentència nova, però no hi ha cap delimitador entre aquesta "
"i l'anterior."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "Operació de modificació no reconeguda."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "S'esperaven %1$d valors, però s'han trobat %2$d."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr "S'esperava un claudàtor d'obertura seguit per un conjunt de valors."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "S'esperava un claudàtor d'obertura."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "Paraula clau no esperada."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "Final inesperat d'expressió CASE"
#: src/Components/CaseExpression.php:225
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Potential duplicate alias of CASE expression."
msgstr "Final inesperat d'expressió CASE"
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr "S'ha trobat un àlies anteriorment."
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "An alias was expected."
msgid "An alias was expected after AS."
msgstr "S'esperava un àlies."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"S'esperava un nom de símbol! No es pot utilitzar una paraula clau reservada "
"com a nom de columna sense les cometes invertides."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "S'esperava un nom de símbol!"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "S'esperava una coma o un claudàtor de tancament."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr "S'esperava un claudàtor de tancament."
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr "Tipus de dades desconegut."
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr "S'esperava una expressió."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr "S'esperava un àlies."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr "Punt inesperat."
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr "Testimoni no esperat."
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr "S'esperava un desplaçament."
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of LOCK expression."
msgstr "Final inesperat d'expressió CASE"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of Lock expression."
msgstr "Final inesperat d'expressió CASE"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr "Aquesta opció està en conflicte amb \"%1$s\"."
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr "S'esperava el nom antic de la taula."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr "S'esperava la paraula clau \"TO\"."
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr "S'esperava el nom nou de la taula."
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr "S'esperava una operació de canvi de nom."
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr "Expressió no trobada."
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr "Caràcter no esperat."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr "S'esperaven espais en blanc abans del delimitador."
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr "S'esperava un delimitador."
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr "S'esperava una cometa de tancament %1$s."
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr "S'esperava un nom de variable."
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr "Començament no esperat de sentència."
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr "Tipus de sentència no reconegut."
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr "No s'ha iniciat cap transacció anteriorment."
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr "Aquest tipus de clàusula s'ha analitzat anteriorment."
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr "Paraula clau no reconeguda."
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr "Paraula clau al final de la sentència."
#: src/Statement.php:551
msgid "Unexpected ordering of clauses."
msgstr "Ordre de condicions no esperat."
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr "S'esperava el nom de l'entitat."
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr "S'esperava un nom de taula."
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr "S'esperava al menys la definició d'una columna."
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr "S'esperava una paraula clau \"RETURNS\"."
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr "Aquest tipus de clàusula no és vàlid en consultes de diverses taules."
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "Unexpected beginning of statement."
msgid "Unexpected end of LOCK statement."
msgstr "Començament no esperat de sentència."
#: src/Statements/PurgeStatement.php:136
#, fuzzy
#| msgid "Unexpected keyword."
msgid "Unexpected keyword"
msgstr "Paraula clau no esperada."
#~ msgid "error #1"
#~ msgstr "error #1"
#~ msgid "strict error"
#~ msgstr "Error estricte"
@@ -0,0 +1,285 @@
# phpMyAdmin translation.
# Copyright (C) 2003 - 2012 phpMyAdmin devel team
# This file is distributed under the same license as the phpMyAdmin package.
# Automatically generated, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2015-11-20 15:47+0000\n"
"Last-Translator: Dana Akram <dana@kurdish.one>\n"
"Language-Team: Kurdish Sorani <https://hosted.weblate.org/projects/"
"phpmyadmin/master/ckb/>\n"
"Language: ckb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.5-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr ""
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr ""
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr ""
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr ""
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr ""
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr ""
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr ""
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr ""
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr ""
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "No tables selected."
msgid "An alias was expected after AS."
msgstr "هیچ خشتەیەک هەڵنەبژێردراوە."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
#: src/Components/CreateDefinition.php:266
#, fuzzy
#| msgid "No tables selected."
msgid "A symbol name was expected!"
msgstr "هیچ خشتەیەک هەڵنەبژێردراوە."
#: src/Components/CreateDefinition.php:301
#, fuzzy
#| msgid "No tables selected."
msgid "A comma or a closing bracket was expected."
msgstr "هیچ خشتەیەک هەڵنەبژێردراوە."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr ""
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr ""
#: src/Components/ExpressionArray.php:101
#, fuzzy
#| msgid "No rows selected"
msgid "An expression was expected."
msgstr "هیچ ڕیزێک هەڵنەبژێراوە"
#: src/Components/Expression.php:258 src/Components/Expression.php:420
#, fuzzy
#| msgid "No tables selected."
msgid "An alias was expected."
msgstr "هیچ خشتەیەک هەڵنەبژێردراوە."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr ""
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr ""
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr ""
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "Number of rows"
msgid "Unexpected end of LOCK expression."
msgstr "ژمارەی ڕیزەکان"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "Number of rows"
msgid "Unexpected end of Lock expression."
msgstr "ژمارەی ڕیزەکان"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr ""
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr ""
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:151
#, fuzzy
#| msgid "The row has been deleted."
msgid "A rename operation was expected."
msgstr "ڕیزەکە سڕایەوە"
#: src/Components/SetOperation.php:121
#, fuzzy
#| msgid "Versions"
msgid "Missing expression."
msgstr "وەشانەکان"
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr ""
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr ""
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr ""
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr ""
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr ""
#: src/Parser.php:451
#, fuzzy
#| msgid "Number of rows"
msgid "Unexpected beginning of statement."
msgstr "ژمارەی ڕیزەکان"
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr ""
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr ""
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr ""
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr ""
#: src/Statement.php:407
#, fuzzy
#| msgid "Number of rows"
msgid "Keyword at end of statement."
msgstr "ژمارەی ڕیزەکان"
#: src/Statement.php:551
#, fuzzy
#| msgid "Number of rows"
msgid "Unexpected ordering of clauses."
msgstr "ژمارەی ڕیزەکان"
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr ""
#: src/Statements/CreateStatement.php:542
#, fuzzy
#| msgid "No tables selected."
msgid "A table name was expected."
msgstr "هیچ خشتەیەک هەڵنەبژێردراوە."
#: src/Statements/CreateStatement.php:550
#, fuzzy
#| msgid "The row has been deleted."
msgid "At least one column definition was expected."
msgstr "ڕیزەکە سڕایەوە"
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr ""
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr ""
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "Number of rows"
msgid "Unexpected end of LOCK statement."
msgstr "ژمارەی ڕیزەکان"
#: src/Statements/PurgeStatement.php:136
msgid "Unexpected keyword"
msgstr ""
#, fuzzy
#~| msgid "Error"
#~ msgid "error #1"
#~ msgstr "هەڵە"
@@ -0,0 +1,258 @@
#
# Michal Čihař <michal@cihar.com>, 2010, 2011, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2020-05-06 22:12+0000\n"
"Last-Translator: Petr Duda <petrduda@seznam.cz>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/phpmyadmin/"
"sql-parser/cs/>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 4.1-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "Zatím není implementováno."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr "Byl nalezen nový výraz bez oddělovače od předchozího výrazu."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr "Chybí čárka před začátkem nové operace změny."
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "Nerozpoznaná operace změny."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "Byly nalezeny %2$d hodnoty, namísto očekávaných %1$d."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr "Byla očekávána úvodní závorka následovaná sadou hodnot."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "Byla očekávána úvodní závorka."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "Neočekávané klíčové slovo."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "Neočekávaný konec CASE výrazu"
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr "Možný duplicitní alias CASE výrazu."
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr "Za klíčovým slovem AS byl očekáván alias, ale bylo nalezeno "
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr "Byl nalezen alias."
#: src/Components/CaseExpression.php:262
msgid "An alias was expected after AS."
msgstr "Za klíčovým slovem AS byl očekáván alias."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"Byl očekáván název symbolu! Vyhrazené klíčové slovo nelze použít jako název "
"sloupce bez zpětných apostrofů."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "Byl očekáván název symbolu!"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "Byla očekávána čárka nebo koncová závorka."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr "Byla očekávána koncová závorka."
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr "Nerozpoznaný datový typ."
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr "Byl očekáván výraz."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr "Byl očekáván alias."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr "Neočekávaná tečka."
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr "Neočekávaný token."
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr "Byl očekáván offset."
#: src/Components/LockExpression.php:91
msgid "Unexpected end of LOCK expression."
msgstr "Neočekávaný konec LOCK výrazu."
#: src/Components/LockExpression.php:199
msgid "Unexpected end of Lock expression."
msgstr "Neočekávaný konec LOCK výrazu."
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr "Tato volba koliduje s \"%1$s\"."
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr "Byl očekáván starý název tabulky."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr "Bylo očekáváno klíčové slovo \"TO\"."
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr "Byl očekáván nový název tabulky."
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr "Byla očekávána operace přejmenování."
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr "Chybí výraz."
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr "Neočekávaný znak."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr "Před oddělovačem byla očekávána mezera."
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr "Byl očekáván oddělovač."
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr "Byly očekávány koncové uvozovky %1$s."
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr "Byl očekáván název proměnné."
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr "Neočekávaný začátek výrazu."
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr "Nerozpoznaný typ výrazu."
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr "Nebyla zahájena žádná transakce."
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr "Pro tento typ klauzule proběhlo parsování."
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr "Nerozpoznané klíčové slovo."
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr "Klíčové slovo na konci výrazu."
#: src/Statement.php:551
msgid "Unexpected ordering of clauses."
msgstr "Neočekávané pořadí klauzulí."
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr "Byl očekáván název entity."
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr "Byl očekáván název tabulky."
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr "Byla očekávána alespoň jedna definice sloupce."
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr "Bylo očekáváno klíčové slovo \"RETURNS\"."
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr "Tento typ klauzule je ve vícetabulkových dotazech neplatný."
#: src/Statements/LockStatement.php:116
msgid "Unexpected end of LOCK statement."
msgstr "Neočekávaný konec LOCK výrazu."
#: src/Statements/PurgeStatement.php:136
msgid "Unexpected keyword"
msgstr "Neočekávané klíčové slovo"
#~ msgid "error #1"
#~ msgstr "chyba #1"
#, fuzzy
#~| msgid "Gather errors"
#~ msgid "strict error"
#~ msgstr "Sbírat chyby"
@@ -0,0 +1,293 @@
# phpMyAdmin translation.
# Copyright (C) 2003 - 2010 phpMyAdmin devel team
# This file is distributed under the same license as the phpMyAdmin package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2015-10-15 11:04+0200\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Welsh <https://hosted.weblate.org/projects/phpmyadmin/master/"
"cy/>\n"
"Language: cy\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=(n==0) ? 0 : (n==1) ? 1 : (n==2) ? 2 : "
"(n==3) ? 3 :(n==6) ? 4 : 5;\n"
"X-Generator: Weblate 2.5-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr ""
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr ""
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr ""
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr ""
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr ""
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr ""
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr ""
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr ""
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr ""
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "No databases selected."
msgid "An alias was expected after AS."
msgstr "Dim cronfeydd data wedi'u dewis."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
#: src/Components/CreateDefinition.php:266
#, fuzzy
#| msgid "Table name template"
msgid "A symbol name was expected!"
msgstr "Templed enw tabl"
#: src/Components/CreateDefinition.php:301
#, fuzzy
#| msgid "No databases selected."
msgid "A comma or a closing bracket was expected."
msgstr "Dim cronfeydd data wedi'u dewis."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr ""
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr ""
#: src/Components/ExpressionArray.php:101
#, fuzzy
#| msgid "No databases selected."
msgid "An expression was expected."
msgstr "Dim cronfeydd data wedi'u dewis."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
#, fuzzy
#| msgid "No databases selected."
msgid "An alias was expected."
msgstr "Dim cronfeydd data wedi'u dewis."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr ""
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr ""
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr ""
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "Show dimension of tables"
msgid "Unexpected end of LOCK expression."
msgstr "Dangos dimensiynau'r tabl"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "Show dimension of tables"
msgid "Unexpected end of Lock expression."
msgstr "Dangos dimensiynau'r tabl"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr ""
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr ""
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:151
#, fuzzy
#| msgid "The row has been deleted."
msgid "A rename operation was expected."
msgstr "Cafodd y rhes ei dileu"
#: src/Components/SetOperation.php:121
#, fuzzy
#| msgid "as regular expression"
msgid "Missing expression."
msgstr "fel mynegiad arferol (regular expression)"
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr ""
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr ""
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr ""
#: src/Lexer.php:909
#, fuzzy, php-format
#| msgid "Database %1$s has been created."
msgid "Ending quote %1$s was expected."
msgstr "Cafodd y gronfa ddata %1$s ei chreu."
#: src/Lexer.php:955
#, fuzzy
#| msgid "Table name template"
msgid "Variable name was expected."
msgstr "Templed enw tabl"
#: src/Parser.php:451
#, fuzzy
#| msgid "Show dimension of tables"
msgid "Unexpected beginning of statement."
msgstr "Dangos dimensiynau'r tabl"
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr ""
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr ""
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr ""
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr ""
#: src/Statement.php:407
#, fuzzy
#| msgid "Show dimension of tables"
msgid "Keyword at end of statement."
msgstr "Dangos dimensiynau'r tabl"
#: src/Statement.php:551
#, fuzzy
#| msgid "Show dimension of tables"
msgid "Unexpected ordering of clauses."
msgstr "Dangos dimensiynau'r tabl"
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr ""
#: src/Statements/CreateStatement.php:542
#, fuzzy
#| msgid "Table name template"
msgid "A table name was expected."
msgstr "Templed enw tabl"
#: src/Statements/CreateStatement.php:550
#, fuzzy
#| msgid "The row has been deleted."
msgid "At least one column definition was expected."
msgstr "Cafodd y rhes ei dileu"
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr ""
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr ""
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "Show dimension of tables"
msgid "Unexpected end of LOCK statement."
msgstr "Dangos dimensiynau'r tabl"
#: src/Statements/PurgeStatement.php:136
msgid "Unexpected keyword"
msgstr ""
#, fuzzy
#~| msgid "Error"
#~ msgid "error #1"
#~ msgstr "Gwall"
#, fuzzy
#~| msgid "Query"
#~ msgid "strict error"
#~ msgstr "Ymholiad"
@@ -0,0 +1,269 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2017-09-14 19:11+0000\n"
"Last-Translator: Claus Svalekjaer <just.my.smtp.server@gmail.com>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/phpmyadmin/sql-"
"parser/da/>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.17-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "Endnu ikke implementeret."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
"Et nyt statement blev fundet, men der var ingen adskillelsestegn mellem det "
"og det foregående."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "Ukendt alter opgave."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "%1$d værdier var ventet, men fandt %2$d."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr "En kantet venstreparentes efterfulgt af et sæt værdier blev forventet."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "En kantet venstreparantes var forventet."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "Uventet nøgleord."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "Uventet afslutning af CASE udtryk"
#: src/Components/CaseExpression.php:225
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Potential duplicate alias of CASE expression."
msgstr "Uventet afslutning af CASE udtryk"
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr "Et alias er fundet tidligere."
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "An alias was expected."
msgid "An alias was expected after AS."
msgstr "Et alias var verntet."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"Et symbolnavn var ventet! Et reserveret nøgleord kan ikke bruges som et "
"feltnavn uden backquotes."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "Et symbol var ventet!"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "Et komma eller lukke parentes var ventet."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr "En kantet højreparantes var ventet."
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr "Ukendt datatype."
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr "Et udtryk var ventet."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr "Et alias var verntet."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr "Uventet punktum."
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr "Uventet token."
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr "En forskydning var ventet."
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of LOCK expression."
msgstr "Uventet afslutning af CASE udtryk"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of Lock expression."
msgstr "Uventet afslutning af CASE udtryk"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr "Denne indstilling er i konflikt med \"%1$s\"."
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr "Tabellens gamle navn var ventet."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr "Nøgleordet \"TO\" var forventet."
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr "Tabellens nye navn var ventet."
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr "En omdøbsopgave var ventet."
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr "Manglende udtryk."
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr "Uventet karakter."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr "Forventede whitespace(s) før adskillelsestegn."
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr "Forventede adskillelsestegn."
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr "Slut quote %1$s var ventet."
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr "Variabelnavn var ventet."
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr "Uventet start på statement."
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr "Ukendt type af statement."
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr "Ingen transaktion er blevet startet tidligere."
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr "Denne type af sætningskonstruktion er tidligere blevet parset."
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr "Ukendt nøgleord."
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr "Nøgleord i slutningen af udtryk."
#: src/Statement.php:551
msgid "Unexpected ordering of clauses."
msgstr "Uventet clause rækkefølge."
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr "Enhedens navn var ventet."
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr "Et tabelnavn var ventet."
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr "Mindst en kolonne definition var ventet."
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr "Et \"RETURNS\" nøgleord var forventet."
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr ""
"Denn type af sætningskonstruktion er ikke gyldig i multitabel forespørgsler."
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "Unexpected beginning of statement."
msgid "Unexpected end of LOCK statement."
msgstr "Uventet start på statement."
#: src/Statements/PurgeStatement.php:136
#, fuzzy
#| msgid "Unexpected keyword."
msgid "Unexpected keyword"
msgstr "Uventet nøgleord."
#~ msgid "error #1"
#~ msgstr "fejl #1"
#~ msgid "strict error"
#~ msgstr "stringent fejl"
@@ -0,0 +1,257 @@
# Automatically generated <>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: phpMyAdmin-docs 4.0.0-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2020-04-09 07:25+0000\n"
"Last-Translator: Predatorix Phoenix <predatorix@web.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/phpmyadmin/"
"sql-parser/de/>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.0-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "Noch nicht implementiert."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
"Eine neue Anweisung wurde gefunden, aber kein Trennzeichen zwischen ihm und "
"dem vorhergehenden."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr "Fehlendes Komma vor einer neuen ALTER-Operation."
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "Unerkannte ALTER-Operation."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "%1$d Werte erwartet, aber %2$d gefunden."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr ""
"Eine öffnende Klammer, gefolgt von einer Liste von Werten, wurde erwartet."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "Eine öffnende Klammer wurde erwartet."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "Unerwartetes Schlüsselwort."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "Unerwartetes Ende eines CASE Ausdrucks"
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr "Möglicher doppelter Alias eines CASE Ausdrucks."
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr "Ein Alias wurde nach AS erwartet, aber stattdessen "
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr "Ein Alias wurde zuvor gefunden."
#: src/Components/CaseExpression.php:262
msgid "An alias was expected after AS."
msgstr "Ein Alias wurde nach AS erwartet."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"Ein Symbolname wurde erwartet! Ein reserviertes Schlüsselwort kann nicht "
"ohne Backquotes als Tabellenname verwendet werden."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "Ein Symbolname wurde erwartet!"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "Ein Komma oder eine schließende Klammer wurde erwartet."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr "Eine schließende Klammer wurde erwartet."
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr "Unerkannter Datentyp."
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr "Ein Ausdruck wurde erwartet."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr "Ein Alias wurde erwartet."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr "Unerwarteter Punkt."
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr "Unerwartetes Zeichen."
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr "Ein Offset wurde erwartet."
#: src/Components/LockExpression.php:91
msgid "Unexpected end of LOCK expression."
msgstr "Unerwartetes Ende eines LOCK-Ausdrucks."
#: src/Components/LockExpression.php:199
msgid "Unexpected end of Lock expression."
msgstr "Unerwartetes Ende eines LOCK-Ausdrucks."
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr "Diese Option widerspricht „%1$s“."
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr "Der ursprüngliche Tabellenname wurde erwartet."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr "Schlüsselwort „TO“ wurde erwartet."
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr "Der neue Tabellenname wurde erwartet."
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr "Eine Umbenennungsoperation wurde erwartet."
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr "Fehlender Ausdruck."
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr "Unerwartetes Zeichen."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr "Erwartete Whitespace vor dem Trennzeichen."
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr "Erwartete Trennzeichen."
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr "Schließendes Anführungszeichen %1$s wurde erzeugt."
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr "Variablenname wurde erwartet."
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr "Unerwarteter Statement-Anfang."
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr "Unerkannte Statement-Typ."
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr "Bisher wurde keine Transaktion gestartet."
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr "Diese Art von Klausel wurde zuvor analysiert."
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr "Unerkanntes Schlüsselwort."
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr "Schlüsselwort am Ende der Anweisung."
#: src/Statement.php:551
msgid "Unexpected ordering of clauses."
msgstr "Unerwartete Datensatzanforderung."
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr "Der Name der Entität wurde erwartet."
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr "Tabellenname wurde erwartet."
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr "Mindestens eine Felddefinition wurde erwartet."
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr "Ein „RETURNS“-Schlüsselwort wurde erwartet."
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr "Diese Art von Klausel ist in Mehr-Tabellen-Anfragen nicht zulässig."
#: src/Statements/LockStatement.php:116
msgid "Unexpected end of LOCK statement."
msgstr "Unerwartetes Ende einer LOCK-Anweisung."
#: src/Statements/PurgeStatement.php:136
msgid "Unexpected keyword"
msgstr "Unerwartetes Schlüsselwort"
#~ msgid "error #1"
#~ msgstr "Fehler #1"
#~ msgid "strict error"
#~ msgstr "strikter Fehler"
@@ -0,0 +1,256 @@
# Automatically generated <>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2021-05-03 14:31+0000\n"
"Last-Translator: Eugenia Russell <eugenia.russell2019@gmail.com>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/phpmyadmin/"
"sql-parser/el/>\n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.7-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "Δεν εφαρμόστηκε ακόμα."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
"Βρέθηκε μια νέα δήλωση, αλλά χωρίς διαχωριστικό μεταξύ της και της "
"προηγούμενης."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr "Λείπει κόμμα πριν από την έναρξη μιας νέας λειτουργίας αλλαγής."
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "Μη αναγνωρισμένη λειτουργία αλλαγής."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "Αναμενόταν %1$d τιμές, αλλά βρέθηκαν %2$d."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr "Αναμενόταν μια ανοιχτή αγκύλη ακολουθούμενη από ένα σύνολο τιμών."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "Αναμενόταν μια ανοιχτή αγκύλη."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "Μη αναμενόμενη λέξη-κλειδί."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "Μη αναμενόμενο τέλος της έκφρασης CASE"
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr "Μη αναμενόμενο τέλος της έκφρασης CASE."
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr "Ένα ψευδώνυμο αναμενόταν μετά το AS αλλά πήρε "
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr "Βρέθηκε μια ετικέτα προηγουμένως."
#: src/Components/CaseExpression.php:262
msgid "An alias was expected after AS."
msgstr "Ένα ψευδώνυμο αναμενόταν μετά το AS."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"Αναμενόταν ένα όνομα συμβόλου! Μια δεσμευμένη λέξη-κλειδί δεν μπορεί να "
"χρησιμοποιηθεί ως όνομα στήλης χωρίς εισαγωγικά."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "Αναμενόταν όνομα συμβόλου!"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "Αναμενόταν ένα κόμμα ή μια κλειστή αγκύλη."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr "Αναμενόταν κλείσιμο αγκύλης."
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr "Μη αναγνωρισμένος τύπος δεδομένων."
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr "Αναμενόταν μια έκφραση."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr "Αναμενόταν μια ετικέτα."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr "Μη αναμενόμενη τελεία."
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr "Μη αναμενόμενο τεκμήριο."
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr "Αναμενόταν μια αντιστάθμιση."
#: src/Components/LockExpression.php:91
msgid "Unexpected end of LOCK expression."
msgstr "Μη αναμενόμενο τέλος της έκφρασης CASE."
#: src/Components/LockExpression.php:199
msgid "Unexpected end of Lock expression."
msgstr "Μη αναμενόμενο τέλος της έκφρασης CASE."
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr "Αυτή η επιλογή έχει διαίνεξη με το «%1$s»."
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr "Αναμενόταν το παλαιό όνομα του πίνακα."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr "Αναμενόταν η λέξη-κλειδί «TO»."
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr "Αναμενόταν το νέο όνομα του πίνακα."
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr "Αναμενόταν μια λειτουργία μετονομασίας."
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr "Απολεσθείσα έκφραση."
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr "Μη αναμενόμενος χαρακτήρας."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr "Αναμενόταν λευκό(ά) διάστημα(τα) πριν τον διαχωριστή."
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr "Αναμενόταν διαχωριστής."
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr "Αναμενόταν τελικό εισαγωγικό %1$s."
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr "Αναμενόταν όνομα μεταβλητής."
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr "Μη αναμενόμενη έναρξη δήλωσης."
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr "Μη αναγνωρισμένος τύπος δήλωσης."
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr "Καμιά συναλλαγή δεν ξεκίνησε προηγουμένως."
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr "Αυτός ο τύπος ρύτρας έχει αναλυθεί προηγουμένως."
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr "Μη αναγνωρισμένη λέξη κλειδί."
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr "Λέξη-κλειδί στο τέλος της δήλωσης."
#: src/Statement.php:551
msgid "Unexpected ordering of clauses."
msgstr "Μη αναμενόμενη ταξινόμηση δηλώσεων."
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr "Αναμενόταν το όνομα της οντότητας."
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr "Αναμενόταν όνομα πίνακα."
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr "Αναμενόταν τουλάχιστον ένας ορισμός πεδίου."
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr "Αναμενόταν μια λέξη-κλειδί «RETURNS»."
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr "Αυτός ο τύπος ρύτρας δεν είναι έγκυρος σε ερωτήματα πολλαπλών πινάκων."
#: src/Statements/LockStatement.php:116
msgid "Unexpected end of LOCK statement."
msgstr "Μη αναμενόμενο τέλος της δήλωσης LOCK."
#: src/Statements/PurgeStatement.php:136
msgid "Unexpected keyword"
msgstr "Μη αναμενόμενη λέξη-κλειδί"
#~ msgid "error #1"
#~ msgstr "σφάλμα #1"
#~ msgid "strict error"
#~ msgstr "περιορισμένο σφάλμα"
@@ -0,0 +1,257 @@
# Automatically generated <>, 2010.
# Robert Readman <robert_readman@hotmail.com>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2020-03-20 21:02+0000\n"
"Last-Translator: William Desportes <williamdes@wdes.fr>\n"
"Language-Team: English (United Kingdom) <https://hosted.weblate.org/projects/"
"phpmyadmin/sql-parser/en_GB/>\n"
"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.0-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "Not implemented yet."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
"A new statement was found, but no delimiter between it and the previous one."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr "Missing comma before start of a new alter operation."
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "Unrecognised alter operation."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "%1$d values were expected, but found %2$d."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr "An opening bracket followed by a set of values was expected."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "An opening bracket was expected."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "Unexpected keyword."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "Unexpected end of CASE expression"
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr "Potential duplicate alias of CASE expression."
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr "An alias expected after AS but got "
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr "An alias was previously found."
#: src/Components/CaseExpression.php:262
msgid "An alias was expected after AS."
msgstr "An alias was expected after AS."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"A symbol name was expected! A reserved keyword cannot be used as a column "
"name without backquotes."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "A symbol name was expected!"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "A comma or a closing bracket was expected."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr "A closing bracket was expected."
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr "Unrecognised data type."
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr "An expression was expected."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr "An alias was expected."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr "Unexpected dot."
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr "Unexpected token."
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr "An offset was expected."
#: src/Components/LockExpression.php:91
msgid "Unexpected end of LOCK expression."
msgstr "Unexpected end of LOCK expression."
#: src/Components/LockExpression.php:199
msgid "Unexpected end of Lock expression."
msgstr "Unexpected end of LOCK expression."
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr "This option conflicts with \"%1$s\"."
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr "The old name of the table was expected."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr "Keyword \"TO\" was expected."
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr "The new name of the table was expected."
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr "A rename operation was expected."
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr "Missing expression."
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr "Unexpected character."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr "Expected whitespace(s) before delimiter."
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr "Expected delimiter."
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr "Ending quote %1$s was expected."
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr "Variable name was expected."
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr "Unexpected beginning of statement."
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr "Unrecognised statement type."
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr "No transaction was previously started."
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr "This type of clause was previously parsed."
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr "Unrecognised keyword."
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr "Keyword at end of statement."
#: src/Statement.php:551
msgid "Unexpected ordering of clauses."
msgstr "Unexpected ordering of clauses."
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr "The name of the entity was expected."
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr "A table name was expected."
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr "At least one column definition was expected."
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr "A \"RETURNS\" keyword was expected."
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr "This type of clause is not valid in Multi-table queries."
#: src/Statements/LockStatement.php:116
msgid "Unexpected end of LOCK statement."
msgstr "Unexpected end of LOCK statement."
#: src/Statements/PurgeStatement.php:136
msgid "Unexpected keyword"
msgstr "Unexpected keyword"
#~ msgid "error #1"
#~ msgstr "error #1"
#~ msgid "strict error"
#~ msgstr "strict error"
@@ -0,0 +1,252 @@
# phpMyAdmin translation.
# Copyright (C) 2003 - 2014 phpMyAdmin devel team
# This file is distributed under the same license as the phpMyAdmin package.
# Automatically generated, 2014.
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2016-12-21 15:58+0000\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Esperanto <https://hosted.weblate.org/projects/phpmyadmin/sql-"
"parser/eo/>\n"
"Language: eo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.10\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr ""
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr ""
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr ""
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr ""
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr ""
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr ""
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr ""
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr ""
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr ""
#: src/Components/CaseExpression.php:262
msgid "An alias was expected after AS."
msgstr ""
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr ""
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr ""
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr ""
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr ""
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr ""
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr ""
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr ""
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr ""
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr ""
#: src/Components/LockExpression.php:91
msgid "Unexpected end of LOCK expression."
msgstr ""
#: src/Components/LockExpression.php:199
msgid "Unexpected end of Lock expression."
msgstr ""
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr ""
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr ""
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr ""
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr ""
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr ""
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr ""
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr ""
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr ""
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr ""
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr ""
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr ""
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr ""
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr ""
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr ""
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr ""
#: src/Statement.php:551
msgid "Unexpected ordering of clauses."
msgstr ""
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr ""
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr ""
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr ""
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr ""
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr ""
#: src/Statements/LockStatement.php:116
msgid "Unexpected end of LOCK statement."
msgstr ""
#: src/Statements/PurgeStatement.php:136
msgid "Unexpected keyword"
msgstr ""
#~ msgid "error #1"
#~ msgstr "eraro #1"
@@ -0,0 +1,269 @@
# Automatically generated <>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2017-09-10 09:25+0000\n"
"Last-Translator: Franco <francobenedetti.59+github1@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/phpmyadmin/sql-"
"parser/es/>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.17-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "Aún no implementado."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
"Se encontró una nueva declaración, pero no hay delimitador entre éste y el "
"anterior."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "Operación de modificación desconocida."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "Se esperaban %1$d valores, pero encontró %2$d."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr ""
"Se esperaba un corchete de apertura seguido por un conjunto de valores."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "Se esperaba un corchete de apertura."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "Palabra clave inesperada."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "Final inesperado de expresión CASE"
#: src/Components/CaseExpression.php:225
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Potential duplicate alias of CASE expression."
msgstr "Final inesperado de expresión CASE"
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr "Se encontró anteriormente un alias."
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "An alias was expected."
msgid "An alias was expected after AS."
msgstr "Se esperaba un alias."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"¡Se esperaba un nombre de símbolo! Una palabra reservada no puede usarse "
"como nombre de columna sin comillas."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "¡Se esperaba un nombre de símbolo!"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "Se esperaba una coma o un corchete de cierre."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr "Se esperaba un corchete de cierre."
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr "Tipo de dato desconocido."
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr "Se esperaba una expresión."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr "Se esperaba un alias."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr "Punto inesperado."
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr "Símbolo (token) inesperado."
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr "Se espera un desplazamiento."
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of LOCK expression."
msgstr "Final inesperado de expresión CASE"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of Lock expression."
msgstr "Final inesperado de expresión CASE"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr "Esta opción tiene conflictos con \"%1$s\"."
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr "Se esperaba el nombre anterior de la tabla."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr "Se esperaba la palabra clave \"TO\"."
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr "Se esperaba el nuevo nombre de la tabla."
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr "Se esperaba un cambio de nombre."
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr "Expresión desaparecida."
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr "Caracter inesperado."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr "Espacio(s) en blanco esperado(s) antes de delimitador."
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr "Delimitador esperado."
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr "Se esperaba terminar la cita %1$s."
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr "Se esperaba el nombre de la variable."
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr "Comienzo inesperado de declaración."
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr "Tipo de declaración desconocida."
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr "Ninguna operación se inició anteriormente."
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr "Este tipo de cláusula se analizó previamente."
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr "Palabra clave no reconocida."
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr "Palabra clave al final de la sentencia."
#: src/Statement.php:551
msgid "Unexpected ordering of clauses."
msgstr "Orden inesperado de condiciones."
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr "Se esperaba el nombre de la entidad."
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr "Se esperaba un nombre de tabla."
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr "Se esperaba la definición de al menos una columna."
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr "Se esperaba una palabra \"RETURNS\"."
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr "Este tipo de cláusula no es válida en consultas multi-tabla."
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "Unexpected beginning of statement."
msgid "Unexpected end of LOCK statement."
msgstr "Comienzo inesperado de declaración."
#: src/Statements/PurgeStatement.php:136
#, fuzzy
#| msgid "Unexpected keyword."
msgid "Unexpected keyword"
msgstr "Palabra clave inesperada."
#~ msgid "error #1"
#~ msgstr "error #1"
#~ msgid "strict error"
#~ msgstr "error estricto"
@@ -0,0 +1,256 @@
#
#
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2020-03-30 06:26+0000\n"
"Last-Translator: Kristjan Räts <kristjanrats@gmail.com>\n"
"Language-Team: Estonian <https://hosted.weblate.org/projects/phpmyadmin/"
"sql-parser/et/>\n"
"Language: et\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.0-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "Hetkel veel rakendamata."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr "Leiti uus lause, kuid selle ja talle järgneva vahelt puudub eraldaja."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr "Uue ALTER operatsiooni eest puudub koma."
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "Tundmatu ALTER operatsioon."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "Oodati %1$d väärtust, kuid leiti %2$d."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr "Oodati avanevat sulgu, millele järgnevad väärtused."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "Oodati avanevat sulgu."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "Ootamatu võtmesõna."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "Ootamatu CASE lause lõpp"
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr "Võimalik topelt alias CASE lauses."
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr "Fraasi AS järel oodati aliast, kuid leiti "
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr "Eelnevalt leiti alias."
#: src/Components/CaseExpression.php:262
msgid "An alias was expected after AS."
msgstr "Fraasi AS taha oodati aliast."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"Oodati sümboli nime! Reserveeritud võtmesõna saab kasutada veeru nimena "
"ainult siis, kui ta on ühekordsete tagurpidi jutumärkide vahel."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "Oodati sümboli nime!"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "Oodati koma või lõpetavat sulgu."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr "Oodati lõpetavat sulgu."
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr "Tundmatu andmetüüp."
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr "Oodati avaldist."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr "Oodati aliast."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr "Ootamatu punkt."
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr "Ootamatud märk."
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr "Oodati nihet."
#: src/Components/LockExpression.php:91
msgid "Unexpected end of LOCK expression."
msgstr "Ootamatu LOCK lause lõpp."
#: src/Components/LockExpression.php:199
msgid "Unexpected end of Lock expression."
msgstr "Ootamatu LOCK lause lõpp."
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr "See säte põhjustab konflikti sättega \"%1$s\"."
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr "Oodati tabeli vana nime."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr "Oodati võtmesõna \"TO\"."
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr "Oodati tabeli uut nime."
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr "Oodati ümbernimetamist."
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr "Avaldis puudub."
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr "Ootamatu sümbol."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr "Oodati eraldajale eelnevat tühemikku."
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr "Oodati eraldajat."
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr "Oodati lõpetavat sümbolit %1$s."
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr "Oodati muutuja nime."
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr "Ootamatu lause algus."
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr "Tundmatut tüüpi lause."
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr "Transaktsiooni ei olnud eelnevalt alustatud."
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr "Sellist tüüpi klausel parsiti eelnevalt."
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr "Tundmatu võtmesõna."
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr "Võtmesõna lause lõpus."
#: src/Statement.php:551
msgid "Unexpected ordering of clauses."
msgstr "Ootamatu lausete järjestus."
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr "Oodati olemi nime."
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr "Oodati tabeli nime."
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr "Oodati vähemalt ühe veeru kirjeldust."
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr "Oodati võtmesõna \"RETURNS\"."
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr "Sellist tüüpi klausel ei ole mitme tabeli päringus kehtiv."
#: src/Statements/LockStatement.php:116
msgid "Unexpected end of LOCK statement."
msgstr "Ootamatu LOCK lause lõpp."
#: src/Statements/PurgeStatement.php:136
msgid "Unexpected keyword"
msgstr "Ootamatu võtmesõna"
#~ msgid "error #1"
#~ msgstr "viga #1"
#~ msgid "strict error"
#~ msgstr "otsene viga"
@@ -0,0 +1,285 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2015-10-15 11:26+0200\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: Basque <https://hosted.weblate.org/projects/phpmyadmin/master/"
"eu/>\n"
"Language: eu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.5-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr ""
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr ""
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr ""
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr ""
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr ""
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr ""
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr ""
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr ""
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr ""
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "No databases selected."
msgid "An alias was expected after AS."
msgstr "Ez dago datu-baserik aukeratuta."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
#: src/Components/CreateDefinition.php:266
#, fuzzy
msgid "A symbol name was expected!"
msgstr "Txantiloi-fitxategiaren izena"
#: src/Components/CreateDefinition.php:301
#, fuzzy
#| msgid "No databases selected."
msgid "A comma or a closing bracket was expected."
msgstr "Ez dago datu-baserik aukeratuta."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr ""
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr ""
#: src/Components/ExpressionArray.php:101
#, fuzzy
#| msgid "No databases selected."
msgid "An expression was expected."
msgstr "Ez dago datu-baserik aukeratuta."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
#, fuzzy
#| msgid "No databases selected."
msgid "An alias was expected."
msgstr "Ez dago datu-baserik aukeratuta."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr ""
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr ""
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr ""
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of LOCK expression."
msgstr "Taularen hasieran"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of Lock expression."
msgstr "Taularen hasieran"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr ""
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr ""
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:151
#, fuzzy
#| msgid "The row has been deleted."
msgid "A rename operation was expected."
msgstr "Errenkada ezabatua izan da"
#: src/Components/SetOperation.php:121
#, fuzzy
#| msgid "as regular expression"
msgid "Missing expression."
msgstr "adierazpen erregular moduan"
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr ""
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr ""
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr ""
#: src/Lexer.php:909
#, fuzzy, php-format
msgid "Ending quote %1$s was expected."
msgstr "%s taula ezabatu egin da"
#: src/Lexer.php:955
#, fuzzy
msgid "Variable name was expected."
msgstr "Txantiloi-fitxategiaren izena"
#: src/Parser.php:451
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected beginning of statement."
msgstr "Taularen hasieran"
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr ""
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr ""
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr ""
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr ""
#: src/Statement.php:407
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Keyword at end of statement."
msgstr "Taularen hasieran"
#: src/Statement.php:551
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected ordering of clauses."
msgstr "Taularen hasieran"
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr ""
#: src/Statements/CreateStatement.php:542
#, fuzzy
msgid "A table name was expected."
msgstr "Txantiloi-fitxategiaren izena"
#: src/Statements/CreateStatement.php:550
#, fuzzy
#| msgid "The row has been deleted."
msgid "At least one column definition was expected."
msgstr "Errenkada ezabatua izan da"
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr ""
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr ""
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of LOCK statement."
msgstr "Taularen hasieran"
#: src/Statements/PurgeStatement.php:136
msgid "Unexpected keyword"
msgstr ""
#, fuzzy
#~| msgid "Error"
#~ msgid "error #1"
#~ msgstr "Errorea"
#, fuzzy
#~| msgid "Query type"
#~ msgid "strict error"
#~ msgstr "Kontsulta mota"
@@ -0,0 +1,286 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2020-09-15 15:36+0000\n"
"Last-Translator: eshesh <eshqali@gmail.com>\n"
"Language-Team: Persian <https://hosted.weblate.org/projects/phpmyadmin/"
"sql-parser/fa/>\n"
"Language: fa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.3-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "هنوز پیاده سازی نشده."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr "بیانیه‌ی جدیدی یافت شد،اما هیچ محدودیتی قبل و بعد از آن یافت نشد."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "عملیاتِ تغییرِ غیر قابل تشخیص"
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "مقادیر %1$d انتظار می رود، اما %2$d یافت شد."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr "باید یک براکت آغازین و بعد از آن چند مقدار وجود داشته باشد."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "یک براکت آغازین باید وجود داشته باشد."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "کلمات کلیدی غیرمنتظره!"
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "پایان غیرمنتظره برای عبارت CASE!"
#: src/Components/CaseExpression.php:225
#, fuzzy
msgid "Potential duplicate alias of CASE expression."
msgstr "پایان ناشناخته عبارات"
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr ""
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "No databases selected."
msgid "An alias was expected after AS."
msgstr "هیچ پایگاه داده ای انتخاب نشده است."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
#: src/Components/CreateDefinition.php:266
#, fuzzy
#| msgid "No databases selected."
msgid "A symbol name was expected!"
msgstr "هیچ پایگاه داده ای انتخاب نشده است."
#: src/Components/CreateDefinition.php:301
#, fuzzy
#| msgid "No databases selected."
msgid "A comma or a closing bracket was expected."
msgstr "هیچ پایگاه داده ای انتخاب نشده است."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr ""
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr ""
#: src/Components/ExpressionArray.php:101
#, fuzzy
#| msgid "No rows selected"
msgid "An expression was expected."
msgstr "هیچ سطری انتخاب نشده است"
#: src/Components/Expression.php:258 src/Components/Expression.php:420
#, fuzzy
#| msgid "No databases selected."
msgid "An alias was expected."
msgstr "هیچ پایگاه داده ای انتخاب نشده است."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr ""
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr ""
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr ""
#: src/Components/LockExpression.php:91
#, fuzzy
msgid "Unexpected end of LOCK expression."
msgstr "پایان ناشناخته عبارات"
#: src/Components/LockExpression.php:199
#, fuzzy
msgid "Unexpected end of Lock expression."
msgstr "پایان ناشناخته عبارات"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr ""
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr ""
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr ""
#: src/Components/RenameOperation.php:151
#, fuzzy
#| msgid "The row has been deleted."
msgid "A rename operation was expected."
msgstr "سطر حذف گرديد"
#: src/Components/SetOperation.php:121
#, fuzzy
#| msgid "as regular expression"
msgid "Missing expression."
msgstr "بعنوان مبين منظم(as regular expression)"
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr ""
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr ""
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr ""
#: src/Lexer.php:909
#, fuzzy, php-format
msgid "Ending quote %1$s was expected."
msgstr "جدول %s حذف گرديد"
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr ""
#: src/Parser.php:451
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected beginning of statement."
msgstr "در ابتداي جدول"
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr ""
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr ""
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr ""
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr ""
#: src/Statement.php:407
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Keyword at end of statement."
msgstr "در ابتداي جدول"
#: src/Statement.php:551
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected ordering of clauses."
msgstr "در ابتداي جدول"
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr ""
#: src/Statements/CreateStatement.php:542
#, fuzzy
#| msgid "No databases selected."
msgid "A table name was expected."
msgstr "هیچ پایگاه داده ای انتخاب نشده است."
#: src/Statements/CreateStatement.php:550
#, fuzzy
#| msgid "The row has been deleted."
msgid "At least one column definition was expected."
msgstr "سطر حذف گرديد"
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr ""
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr ""
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected end of LOCK statement."
msgstr "در ابتداي جدول"
#: src/Statements/PurgeStatement.php:136
#, fuzzy
msgid "Unexpected keyword"
msgstr "کلمه کلیدی ناشناس"
#, fuzzy
#~| msgid "Error"
#~ msgid "error #1"
#~ msgstr "خطا"
#, fuzzy
#~| msgid "Query"
#~ msgid "strict error"
#~ msgstr "پرس و جو"
@@ -0,0 +1,285 @@
# Automatically generated <>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: SQL parser 5\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2017-12-01 19:45+0000\n"
"Last-Translator: ekeimaja <ekeimaja@gmail.com>\n"
"Language-Team: Finnish <https://hosted.weblate.org/projects/phpmyadmin/sql-"
"parser/fi/>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.18-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "Ei vielä toteutettu."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
"Löydettiin uusi lauseke, muttei erotinta sen ja sitä edeltäneen välillä."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr ""
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "Tunnistamaton \"alter\"-toiminto."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "Odotettiin arvoa %1$d , mutta löydettiin %2$d."
#: src/Components/Array2d.php:110
#, fuzzy
msgid "An opening bracket followed by a set of values was expected."
msgstr "Odotettiin avausmerkki ja sitä odotettiin seuraavan arvoja."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "Odotettiin avausmerkkiä."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "Odottamaton avainsana."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "Odottamaton loppu CASE-ilmaisulle"
#: src/Components/CaseExpression.php:225
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Potential duplicate alias of CASE expression."
msgstr "Odottamaton loppu CASE-ilmaisulle"
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr ""
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr ""
#: src/Components/CaseExpression.php:262
#, fuzzy
#| msgid "An alias was expected."
msgid "An alias was expected after AS."
msgstr "Odotettiin aliasta."
#: src/Components/CreateDefinition.php:252
#, fuzzy
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"Odotettiin symbolin nimeä! Varattua avainsanaa ei voida käyttää palstan "
"nimenä ilman lainausmerkkejä."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "Odotettiin symbolinimeä!"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "Odotettiin pilkkua tai sulkumerkkiä."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr "Odotettiin sulkumerkkiä."
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr "Tunnistamaton datatyyppi."
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr "Odotettiin ilmaisua."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr "Odotettiin aliasta."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr "Odottamaton piste."
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr "Odottamaton merkki."
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr ""
#: src/Components/LockExpression.php:91
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of LOCK expression."
msgstr "Odottamaton loppu CASE-ilmaisulle"
#: src/Components/LockExpression.php:199
#, fuzzy
#| msgid "Unexpected end of CASE expression"
msgid "Unexpected end of Lock expression."
msgstr "Odottamaton loppu CASE-ilmaisulle"
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr ""
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr "Odotettiin vanhaa taulunimeä."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr ""
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr "Odotettiin uutta taulunimeä."
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr "Odotettiin uudelleennimeämistoimintoa."
#: src/Components/SetOperation.php:121
#, fuzzy
#| msgid "as regular expression"
msgid "Missing expression."
msgstr "regexp-haku"
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr "Odottamatton merkki."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr ""
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr ""
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr "Odotettiin loppumerkkiä %1$s."
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr "Odotettiin muuttujaa."
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr "Odottamaton ilmaisun alku."
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr ""
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr ""
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr ""
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr ""
#: src/Statement.php:407
#, fuzzy
#| msgid "Unexpected beginning of statement."
msgid "Keyword at end of statement."
msgstr "Odottamaton ilmaisun alku."
#: src/Statement.php:551
#, fuzzy
#| msgid "At Beginning of Table"
msgid "Unexpected ordering of clauses."
msgstr "Taulun alkuun"
#: src/Statements/CreateStatement.php:492
#, fuzzy
#| msgid "The number of tables that are open."
msgid "The name of the entity was expected."
msgstr "Avoinna olevien taulujen määrä."
#: src/Statements/CreateStatement.php:542
#, fuzzy
#| msgid "Table name template"
msgid "A table name was expected."
msgstr "Taulunimen pohja"
#: src/Statements/CreateStatement.php:550
#, fuzzy
#| msgid "The row has been deleted."
msgid "At least one column definition was expected."
msgstr "Rivi on nyt poistettu."
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr ""
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr ""
#: src/Statements/LockStatement.php:116
#, fuzzy
#| msgid "Unexpected beginning of statement."
msgid "Unexpected end of LOCK statement."
msgstr "Odottamaton ilmaisun alku."
#: src/Statements/PurgeStatement.php:136
#, fuzzy
#| msgid "Unexpected keyword."
msgid "Unexpected keyword"
msgstr "Odottamaton avainsana."
#, fuzzy
#~| msgid "errors."
#~ msgid "error #1"
#~ msgstr "virhettä."
#, fuzzy
#~| msgid "Gather errors"
#~ msgid "strict error"
#~ msgstr "Kerää virheet"
@@ -0,0 +1,256 @@
# Automatically generated <>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: phpMyAdmin-docs 4.0.0-dev\n"
"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
"POT-Creation-Date: 2020-03-20 21:01+0100\n"
"PO-Revision-Date: 2020-03-20 20:58+0000\n"
"Last-Translator: William Desportes <williamdes@wdes.fr>\n"
"Language-Team: French <https://hosted.weblate.org/projects/phpmyadmin/"
"sql-parser/fr/>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.0-dev\n"
#: src/Component.php:41 src/Component.php:61
msgid "Not implemented yet."
msgstr "Pas encore mis en œuvre."
#: src/Components/AlterOperation.php:278 src/Statement.php:351
msgid ""
"A new statement was found, but no delimiter between it and the previous one."
msgstr ""
"Un nouvel énoncé a été trouvé, mais il n'y a aucun délimiteur entre celui-ci "
"et le précédent."
#: src/Components/AlterOperation.php:290
msgid "Missing comma before start of a new alter operation."
msgstr "Virgule manquante avant le début dune nouvelle opération ALTER."
#: src/Components/AlterOperation.php:302
msgid "Unrecognized alter operation."
msgstr "Opération ALTER non reconnue."
#: src/Components/Array2d.php:86
#, php-format
msgid "%1$d values were expected, but found %2$d."
msgstr "%1$d valeurs étaient attendues, mais %2$d ont été trouvées."
#: src/Components/Array2d.php:110
msgid "An opening bracket followed by a set of values was expected."
msgstr "Une parenthèse gauche suivie d'un ensemble de valeurs était attendus."
#: src/Components/ArrayObj.php:112 src/Components/CreateDefinition.php:230
msgid "An opening bracket was expected."
msgstr "Une parenthèse gauche était attendue."
#: src/Components/CaseExpression.php:136 src/Components/CaseExpression.php:164
#: src/Components/CaseExpression.php:177 src/Components/CaseExpression.php:191
#: src/Components/IndexHint.php:131 src/Components/IndexHint.php:160
#: src/Components/LockExpression.php:171 src/Components/LockExpression.php:181
#: src/Components/LockExpression.php:189 src/Statements/DeleteStatement.php:254
#: src/Statements/DeleteStatement.php:269
#: src/Statements/DeleteStatement.php:313
#: src/Statements/DeleteStatement.php:325
#: src/Statements/DeleteStatement.php:356
#: src/Statements/DeleteStatement.php:367
#: src/Statements/InsertStatement.php:189
#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:271
#: src/Statements/LockStatement.php:86 src/Statements/ReplaceStatement.php:155
#: src/Statements/ReplaceStatement.php:183
msgid "Unexpected keyword."
msgstr "Mot clef inattendu."
#: src/Components/CaseExpression.php:200
msgid "Unexpected end of CASE expression"
msgstr "Fin inattendue d'une expression CASE"
#: src/Components/CaseExpression.php:225
msgid "Potential duplicate alias of CASE expression."
msgstr "Potentiel duplicata de l'alias d'expression CASE."
#: src/Components/CaseExpression.php:236
msgid "An alias expected after AS but got "
msgstr "Un alias était attendu après AS mais obtenu: "
#: src/Components/CaseExpression.php:248 src/Components/Expression.php:353
#: src/Components/Expression.php:373 src/Components/Expression.php:408
msgid "An alias was previously found."
msgstr "Un alias a été constaté précédemment."
#: src/Components/CaseExpression.php:262
msgid "An alias was expected after AS."
msgstr "Un alias était attendu après AS."
#: src/Components/CreateDefinition.php:252
msgid ""
"A symbol name was expected! A reserved keyword can not be used as a column "
"name without backquotes."
msgstr ""
"Un nom de symbole était attendu ! Un mot clé réservé ne peut pas servir "
"comme nom de colonne sans les apostrophes inverses."
#: src/Components/CreateDefinition.php:266
msgid "A symbol name was expected!"
msgstr "Un nom de variable était attendu !"
#: src/Components/CreateDefinition.php:301
msgid "A comma or a closing bracket was expected."
msgstr "Une virgule ou une parenthèse droite était attendus."
#: src/Components/CreateDefinition.php:317
msgid "A closing bracket was expected."
msgstr "Une parenthèse droite était attendue."
#: src/Components/DataType.php:130
msgid "Unrecognized data type."
msgstr "Type de données non reconnu."
#: src/Components/ExpressionArray.php:101
msgid "An expression was expected."
msgstr "Une expression était attendue."
#: src/Components/Expression.php:258 src/Components/Expression.php:420
msgid "An alias was expected."
msgstr "Un alias était attendu."
#: src/Components/Expression.php:387
msgid "Unexpected dot."
msgstr "Point inattendu."
#: src/Components/IndexHint.php:137 src/Components/IndexHint.php:166
#: src/Components/LockExpression.php:159 src/Components/SetOperation.php:138
#: src/Statement.php:247 src/Statements/DeleteStatement.php:278
#: src/Statements/DeleteStatement.php:329
#: src/Statements/InsertStatement.php:227
#: src/Statements/InsertStatement.php:247 src/Statements/LoadStatement.php:274
#: src/Statements/LoadStatement.php:302 src/Statements/LoadStatement.php:323
#: src/Statements/LockStatement.php:93 src/Statements/LockStatement.php:99
#: src/Statements/PurgeStatement.php:109 src/Statements/PurgeStatement.php:119
#: src/Statements/PurgeStatement.php:139
#: src/Statements/ReplaceStatement.php:192
msgid "Unexpected token."
msgstr "Jeton inattendu."
#: src/Components/Limit.php:80 src/Components/Limit.php:108
msgid "An offset was expected."
msgstr "Un décalage était prévu."
#: src/Components/LockExpression.php:91
msgid "Unexpected end of LOCK expression."
msgstr "Fin inattendue de l'expression CASE."
#: src/Components/LockExpression.php:199
msgid "Unexpected end of Lock expression."
msgstr "Fin inattendue de l'expression LOCK."
#: src/Components/OptionsArray.php:145
#, php-format
msgid "This option conflicts with \"%1$s\"."
msgstr "Cette option entre en conflit avec « %1$s »."
#: src/Components/RenameOperation.php:105
msgid "The old name of the table was expected."
msgstr "L'ancien nom de la table était attendu."
#: src/Components/RenameOperation.php:116
msgid "Keyword \"TO\" was expected."
msgstr "Le mot clé « TO » était attendu."
#: src/Components/RenameOperation.php:132
msgid "The new name of the table was expected."
msgstr "Le nouveau nom de la table était attendu."
#: src/Components/RenameOperation.php:151
msgid "A rename operation was expected."
msgstr "Une opération de renommage était attendue."
#: src/Components/SetOperation.php:121
msgid "Missing expression."
msgstr "Expression manquante."
#: src/Lexer.php:244
msgid "Unexpected character."
msgstr "Caractère inattendu."
#: src/Lexer.php:285
msgid "Expected whitespace(s) before delimiter."
msgstr "Des espaces ou tabulations étaient attendus avant le délimiteur."
#: src/Lexer.php:303 src/Lexer.php:325
msgid "Expected delimiter."
msgstr "Un délimiteur était attendu."
#: src/Lexer.php:909
#, php-format
msgid "Ending quote %1$s was expected."
msgstr "Un guillemet %1$s était attendu."
#: src/Lexer.php:955
msgid "Variable name was expected."
msgstr "Un nom de variable était attendu."
#: src/Parser.php:451
msgid "Unexpected beginning of statement."
msgstr "Début d'énoncé inattendu."
#: src/Parser.php:476
msgid "Unrecognized statement type."
msgstr "Type d'énoncé non reconnu."
#: src/Parser.php:565
msgid "No transaction was previously started."
msgstr "Aucune transaction n'a été précédemment démarrée."
#: src/Statement.php:318
msgid "This type of clause was previously parsed."
msgstr "Ce type de clause a été analysé précédemment."
#: src/Statement.php:396
msgid "Unrecognized keyword."
msgstr "Mot clé non reconnu."
#: src/Statement.php:407
msgid "Keyword at end of statement."
msgstr "Mot clé à la fin de l'énoncé."
#: src/Statement.php:551
msgid "Unexpected ordering of clauses."
msgstr "Classement inattendu des clauses."
#: src/Statements/CreateStatement.php:492
msgid "The name of the entity was expected."
msgstr "Le nom de l'entité était attendu."
#: src/Statements/CreateStatement.php:542
msgid "A table name was expected."
msgstr "Un nom de table était attendu."
#: src/Statements/CreateStatement.php:550
msgid "At least one column definition was expected."
msgstr "La définition d'au moins une colonne était attendue."
#: src/Statements/CreateStatement.php:665
msgid "A \"RETURNS\" keyword was expected."
msgstr "Le mot clé « RETURNS » était attendu."
#: src/Statements/DeleteStatement.php:337
msgid "This type of clause is not valid in Multi-table queries."
msgstr "Ce type de clause a été analysé précédemment."
#: src/Statements/LockStatement.php:116
msgid "Unexpected end of LOCK statement."
msgstr "Fin inattendue de l'instruction LOCK."
#: src/Statements/PurgeStatement.php:136
msgid "Unexpected keyword"
msgstr "Mot clef inattendu"
#~ msgid "error #1"
#~ msgstr "erreur #1"
#~ msgid "strict error"
#~ msgstr "erreur stricte"

Some files were not shown because too many files have changed in this diff Show More