summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichal Čihař <michal@cihar.com>2016-03-01 17:14:40 +0100
committerMichal Čihař <michal@cihar.com>2016-12-21 15:03:20 +0100
commit5f81f21c24c820b6b315a5d4d2ff9e74b4a7dc35 (patch)
treed3ad1aa2b69d187b322029ed9514b27176f5b3cf /src
parent741897c4108b12eab04a887f0c9093e183e72c26 (diff)
downloadsql-parser-5f81f21c24c820b6b315a5d4d2ff9e74b4a7dc35.zip
sql-parser-5f81f21c24c820b6b315a5d4d2ff9e74b4a7dc35.tar.gz
sql-parser-5f81f21c24c820b6b315a5d4d2ff9e74b4a7dc35.tar.bz2
Replace __( usage by Translator class
Signed-off-by: Michal Čihař <michal@cihar.com>
Diffstat (limited to 'src')
-rw-r--r--src/Components/AlterOperation.php2
-rw-r--r--src/Components/Array2d.php5
-rw-r--r--src/Components/ArrayObj.php2
-rw-r--r--src/Components/CreateDefinition.php6
-rw-r--r--src/Components/DataType.php2
-rw-r--r--src/Components/Expression.php14
-rw-r--r--src/Components/ExpressionArray.php2
-rw-r--r--src/Components/Limit.php4
-rw-r--r--src/Components/OptionsArray.php3
-rw-r--r--src/Components/RenameOperation.php8
-rw-r--r--src/Lexer.php13
-rw-r--r--src/Parser.php7
-rw-r--r--src/Statement.php8
-rw-r--r--src/Statements/CreateStatement.php6
-rw-r--r--src/Translator.php84
15 files changed, 125 insertions, 41 deletions
diff --git a/src/Components/AlterOperation.php b/src/Components/AlterOperation.php
index c2344c6..2bcb530 100644
--- a/src/Components/AlterOperation.php
+++ b/src/Components/AlterOperation.php
@@ -237,7 +237,7 @@ class AlterOperation extends Component
if ($ret->options->isEmpty()) {
$parser->error(
- __('Unrecognized alter operation.'),
+ 'Unrecognized alter operation.',
$list->tokens[$list->idx]
);
}
diff --git a/src/Components/Array2d.php b/src/Components/Array2d.php
index 2199efe..584ab4d 100644
--- a/src/Components/Array2d.php
+++ b/src/Components/Array2d.php
@@ -12,6 +12,7 @@ use SqlParser\Component;
use SqlParser\Parser;
use SqlParser\Token;
use SqlParser\TokensList;
+use SQLParser\Translator;
/**
* `VALUES` keyword parser.
@@ -88,7 +89,7 @@ class Array2d extends Component
} elseif ($arrCount != $count) {
$parser->error(
sprintf(
- __('%1$d values were expected, but found %2$d.'),
+ Translator::getInstance()->gettext('%1$d values were expected, but found %2$d.'),
$count,
$arrCount
),
@@ -111,7 +112,7 @@ class Array2d extends Component
if ($state === 0) {
$parser->error(
- __('An opening bracket followed by a set of values was expected.'),
+ 'An opening bracket followed by a set of values was expected.',
$list->tokens[$list->idx]
);
}
diff --git a/src/Components/ArrayObj.php b/src/Components/ArrayObj.php
index bed7fc7..d9449f2 100644
--- a/src/Components/ArrayObj.php
+++ b/src/Components/ArrayObj.php
@@ -115,7 +115,7 @@ class ArrayObj extends Component
&& (($token->type !== Token::TYPE_OPERATOR)
|| ($token->value !== '('))
) {
- $parser->error(__('An opening bracket was expected.'), $token);
+ $parser->error('An opening bracket was expected.', $token);
break;
}
diff --git a/src/Components/CreateDefinition.php b/src/Components/CreateDefinition.php
index 86bb315..1b15c21 100644
--- a/src/Components/CreateDefinition.php
+++ b/src/Components/CreateDefinition.php
@@ -203,7 +203,7 @@ class CreateDefinition extends Component
$state = 1;
} else {
$parser->error(
- __('An opening bracket was expected.'),
+ 'An opening bracket was expected.',
$token
);
break;
@@ -270,7 +270,7 @@ class CreateDefinition extends Component
break;
} else {
$parser->error(
- __('A comma or a closing bracket was expected.'),
+ 'A comma or a closing bracket was expected.',
$token
);
$state = 0;
@@ -286,7 +286,7 @@ class CreateDefinition extends Component
if (($state !== 0) && ($state !== 6)) {
$parser->error(
- __('A closing bracket was expected.'),
+ 'A closing bracket was expected.',
$list->tokens[$list->idx - 1]
);
}
diff --git a/src/Components/DataType.php b/src/Components/DataType.php
index 378ec9d..084fb01 100644
--- a/src/Components/DataType.php
+++ b/src/Components/DataType.php
@@ -124,7 +124,7 @@ class DataType extends Component
if ($state === 0) {
$ret->name = strtoupper($token->value);
if (($token->type !== Token::TYPE_KEYWORD) || (!($token->flags & Token::FLAG_KEYWORD_DATA_TYPE))) {
- $parser->error(__('Unrecognized data type.'), $token);
+ $parser->error('Unrecognized data type.', $token);
}
$state = 1;
} elseif ($state === 1) {
diff --git a/src/Components/Expression.php b/src/Components/Expression.php
index 7a7a333..569199c 100644
--- a/src/Components/Expression.php
+++ b/src/Components/Expression.php
@@ -245,7 +245,7 @@ class Expression extends Component
}
if ($alias) {
$parser->error(
- __('An alias was expected.'),
+ 'An alias was expected.',
$token
);
break;
@@ -314,7 +314,7 @@ class Expression extends Component
break;
}
} elseif ($brackets < 0) {
- // $parser->error(__('Unexpected closing bracket.'), $token);
+ // $parser->error('Unexpected closing bracket.', $token);
// $brackets = 0;
break;
}
@@ -333,7 +333,7 @@ class Expression extends Component
if ($alias) {
// An alias is expected (the keyword `AS` was previously found).
if (!empty($ret->alias)) {
- $parser->error(__('An alias was previously found.'), $token);
+ $parser->error('An alias was previously found.', $token);
break;
}
$ret->alias = $token->value;
@@ -352,7 +352,7 @@ class Expression extends Component
|| ($prev[1]->type === Token::TYPE_NONE))
) {
if (!empty($ret->alias)) {
- $parser->error(__('An alias was previously found.'), $token);
+ $parser->error('An alias was previously found.', $token);
break;
}
$ret->alias = $prev[1]->value;
@@ -365,7 +365,7 @@ class Expression extends Component
// the column name we parsed is actually the table name
// and the table name is actually a database name.
if ((!empty($ret->database)) || ($dot)) {
- $parser->error(__('Unexpected dot.'), $token);
+ $parser->error('Unexpected dot.', $token);
}
$ret->database = $ret->table;
$ret->table = $ret->column;
@@ -384,7 +384,7 @@ class Expression extends Component
break;
}
if (!empty($ret->alias)) {
- $parser->error(__('An alias was previously found.'), $token);
+ $parser->error('An alias was previously found.', $token);
break;
}
$ret->alias = $token->value;
@@ -395,7 +395,7 @@ class Expression extends Component
if ($alias) {
$parser->error(
- __('An alias was expected.'),
+ 'An alias was expected.',
$list->tokens[$list->idx - 1]
);
}
diff --git a/src/Components/ExpressionArray.php b/src/Components/ExpressionArray.php
index e2aa86e..1bfce74 100644
--- a/src/Components/ExpressionArray.php
+++ b/src/Components/ExpressionArray.php
@@ -103,7 +103,7 @@ class ExpressionArray extends Component
if ($state === 0) {
$parser->error(
- __('An expression was expected.'),
+ 'An expression was expected.',
$list->tokens[$list->idx]
);
}
diff --git a/src/Components/Limit.php b/src/Components/Limit.php
index 13a1127..434b9f8 100644
--- a/src/Components/Limit.php
+++ b/src/Components/Limit.php
@@ -87,7 +87,7 @@ class Limit extends Component
if (($token->type === Token::TYPE_KEYWORD) && ($token->value === 'OFFSET')) {
if ($offset) {
- $parser->error(__('An offset was expected.'), $token);
+ $parser->error('An offset was expected.', $token);
}
$offset = true;
continue;
@@ -109,7 +109,7 @@ class Limit extends Component
if ($offset) {
$parser->error(
- __('An offset was expected.'),
+ 'An offset was expected.',
$list->tokens[$list->idx - 1]
);
}
diff --git a/src/Components/OptionsArray.php b/src/Components/OptionsArray.php
index 0c80e0d..1b937b2 100644
--- a/src/Components/OptionsArray.php
+++ b/src/Components/OptionsArray.php
@@ -12,6 +12,7 @@ use SqlParser\Component;
use SqlParser\Parser;
use SqlParser\Token;
use SqlParser\TokensList;
+use SQLParser\Translator;
/**
* Parses a list of options.
@@ -143,7 +144,7 @@ class OptionsArray extends Component
if (isset($ret->options[$lastOptionId])) {
$parser->error(
sprintf(
- __('This option conflicts with "%1$s".'),
+ Translator::getInstance()->gettext('This option conflicts with "%1$s".'),
is_array($ret->options[$lastOptionId])
? $ret->options[$lastOptionId]['name']
: $ret->options[$lastOptionId]
diff --git a/src/Components/RenameOperation.php b/src/Components/RenameOperation.php
index 291bd43..9f6b1b4 100644
--- a/src/Components/RenameOperation.php
+++ b/src/Components/RenameOperation.php
@@ -98,7 +98,7 @@ class RenameOperation extends Component
);
if (empty($expr->old)) {
$parser->error(
- __('The old name of the table was expected.'),
+ 'The old name of the table was expected.',
$token
);
}
@@ -108,7 +108,7 @@ class RenameOperation extends Component
$state = 2;
} else {
$parser->error(
- __('Keyword "TO" was expected.'),
+ 'Keyword "TO" was expected.',
$token
);
break;
@@ -124,7 +124,7 @@ class RenameOperation extends Component
);
if (empty($expr->new)) {
$parser->error(
- __('The new name of the table was expected.'),
+ 'The new name of the table was expected.',
$token
);
}
@@ -142,7 +142,7 @@ class RenameOperation extends Component
if ($state !== 3) {
$parser->error(
- __('A rename operation was expected.'),
+ 'A rename operation was expected.',
$list->tokens[$list->idx - 1]
);
}
diff --git a/src/Lexer.php b/src/Lexer.php
index f4a5309..9ce6561 100644
--- a/src/Lexer.php
+++ b/src/Lexer.php
@@ -160,7 +160,6 @@ class Lexer extends Core
*/
public function __construct($str, $strict = false, $delimiter = null)
{
- parent::__construct();
// `strlen` is used instead of `mb_strlen` because the lexer needs to
// parse each byte of the input.
$len = ($str instanceof UtfString) ? $str->length() : strlen($str);
@@ -240,7 +239,7 @@ class Lexer extends Core
// @assert($this->last === $lastIdx);
$token = new Token($this->str[$this->last]);
$this->error(
- __('Unexpected character.'),
+ 'Unexpected character.',
$this->str[$this->last],
$this->last
);
@@ -277,7 +276,7 @@ class Lexer extends Core
if (($token->type === Token::TYPE_NONE) && ($token->value === 'DELIMITER')) {
if ($this->last + 1 >= $this->len) {
$this->error(
- __('Expected whitespace(s) before delimiter.'),
+ 'Expected whitespace(s) before delimiter.',
'',
$this->last + 1
);
@@ -295,7 +294,7 @@ class Lexer extends Core
// Preparing the token that holds the new delimiter.
if ($this->last + 1 >= $this->len) {
$this->error(
- __('Expected delimiter.'),
+ 'Expected delimiter.',
'',
$this->last + 1
);
@@ -311,7 +310,7 @@ class Lexer extends Core
if (empty($this->delimiter)) {
$this->error(
- __('Expected delimiter.'),
+ 'Expected delimiter.',
'',
$this->last
);
@@ -812,7 +811,7 @@ class Lexer extends Core
if (($this->last >= $this->len) || ($this->str[$this->last] !== $quote)) {
$this->error(
sprintf(
- __('Ending quote %1$s was expected.'),
+ Translator::getInstance()->gettext('Ending quote %1$s was expected.'),
$quote
),
'',
@@ -852,7 +851,7 @@ class Lexer extends Core
if (($str = $this->parseString('`')) === null) {
if (($str = static::parseUnknown()) === null) {
$this->error(
- __('Variable name was expected.'),
+ 'Variable name was expected.',
$this->str[$this->last],
$this->last
);
diff --git a/src/Parser.php b/src/Parser.php
index 6524574..47fb08d 100644
--- a/src/Parser.php
+++ b/src/Parser.php
@@ -338,7 +338,6 @@ class Parser extends Core
*/
public function __construct($list = null, $strict = false)
{
- parent::__construct();
if ((is_string($list)) || ($list instanceof UtfString)) {
$lexer = new Lexer($list, $strict);
$this->list = $lexer->list;
@@ -430,7 +429,7 @@ class Parser extends Core
&& ($token->type !== Token::TYPE_DELIMITER)
) {
$this->error(
- __('Unexpected beginning of statement.'),
+ 'Unexpected beginning of statement.',
$token
);
}
@@ -449,7 +448,7 @@ class Parser extends Core
// is aware that it is a statement, but it does not have
// a parser for it yet.
$this->error(
- __('Unrecognized statement type.'),
+ 'Unrecognized statement type.',
$token
);
}
@@ -534,7 +533,7 @@ class Parser extends Core
// saved.
$this->statements[] = $statement;
$this->error(
- __('No transaction was previously started.'),
+ 'No transaction was previously started.',
$token
);
} else {
diff --git a/src/Statement.php b/src/Statement.php
index e3e5968..0d18596 100644
--- a/src/Statement.php
+++ b/src/Statement.php
@@ -242,7 +242,7 @@ abstract class Statement
if (($token->type !== TOKEN::TYPE_COMMENT)
&& ($token->type !== Token::TYPE_WHITESPACE)
) {
- $parser->error(__('Unexpected token.'), $token);
+ $parser->error('Unexpected token.', $token);
}
continue;
}
@@ -306,7 +306,7 @@ abstract class Statement
) {
if (!empty($parsedClauses[$token->value])) {
$parser->error(
- __('This type of clause was previously parsed.'),
+ 'This type of clause was previously parsed.',
$token
);
break;
@@ -334,7 +334,7 @@ abstract class Statement
// this statement it means it is a new statement, but no
// delimiter was found between them.
$parser->error(
- __('A new statement was found, but no delimiter between it and the previous one.'),
+ 'A new statement was found, but no delimiter between it and the previous one.',
$token
);
break;
@@ -366,7 +366,7 @@ abstract class Statement
} else {
// There is no parser for this keyword and isn't the beginning
// of a statement (so no options) either.
- $parser->error(__('Unrecognized keyword.'), $token);
+ $parser->error('Unrecognized keyword.', $token);
continue;
}
}
diff --git a/src/Statements/CreateStatement.php b/src/Statements/CreateStatement.php
index ed13952..f59ad8b 100644
--- a/src/Statements/CreateStatement.php
+++ b/src/Statements/CreateStatement.php
@@ -378,7 +378,7 @@ class CreateStatement extends Statement
if ((!isset($this->name)) || ($this->name === '')) {
$parser->error(
- __('The name of the entity was expected.'),
+ 'The name of the entity was expected.',
$list->tokens[$list->idx]
);
} else {
@@ -441,7 +441,7 @@ class CreateStatement extends Statement
$this->fields = CreateDefinition::parse($parser, $list);
if (empty($this->fields)) {
$parser->error(
- __('At least one column definition was expected.'),
+ 'At least one column definition was expected.',
$list->tokens[$list->idx]
);
}
@@ -552,7 +552,7 @@ class CreateStatement extends Statement
$token = $list->getNextOfType(Token::TYPE_KEYWORD);
if ($token->value !== 'RETURNS') {
$parser->error(
- __('A "RETURNS" keyword was expected.'),
+ 'A "RETURNS" keyword was expected.',
$token
);
} else {
diff --git a/src/Translator.php b/src/Translator.php
new file mode 100644
index 0000000..d18500d
--- /dev/null
+++ b/src/Translator.php
@@ -0,0 +1,84 @@
+<?php
+
+/**
+ * Defines the localization helper infrastructure of the library.
+ *
+ * @package SqlParser
+ */
+namespace SqlParser;
+
+use MoTranslator;
+
+class Translator
+{
+ /**
+ * Translator instance
+ *
+ * @access private
+ * @static
+ * @var Translator
+ */
+ private static $_instance;
+
+ /**
+ * The MoTranslator loader object.
+ *
+ * @var MoTranslator\Loader
+ */
+ private $loader;
+
+ /**
+ * The MoTranslator translator object.
+ *
+ * @var MoTranslator\Translator
+ */
+ private $translator;
+
+ /**
+ * Constructor.
+ */
+ public function __construct()
+ {
+ // Create loader object
+ $this->loader = new MoTranslator\Loader();
+
+ // Set locale
+ $this->loader->setlocale(
+ $this->loader->detectlocale()
+ );
+
+ // Set default text domain
+ $this->loader->textdomain('sqlparser');
+
+ // Set path where to look for a domain
+ $this->loader->bindtextdomain('sqlparser', __DIR__ . '/../locale/');
+
+ // Get translator
+ $this->translator = $this->loader->get_translator();
+ }
+
+ /**
+ * Translates a string
+ *
+ * @param string $msgid String to be translated
+ *
+ * @return string translated string (or original, if not found)
+ */
+ public function gettext($msgid)
+ {
+ return $this->translator->gettext($msgid);
+ }
+
+ /**
+ * Returns the singleton Translator object
+ *
+ * @return Translator object
+ */
+ public static function getInstance()
+ {
+ if (empty(self::$_instance)) {
+ self::$_instance = new Translator();
+ }
+ return self::$_instance;
+ }
+}