diff options
author | Michal Čihař <michal@cihar.com> | 2016-03-01 17:14:40 +0100 |
---|---|---|
committer | Michal Čihař <michal@cihar.com> | 2016-12-21 15:03:20 +0100 |
commit | 5f81f21c24c820b6b315a5d4d2ff9e74b4a7dc35 (patch) | |
tree | d3ad1aa2b69d187b322029ed9514b27176f5b3cf /src | |
parent | 741897c4108b12eab04a887f0c9093e183e72c26 (diff) | |
download | sql-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.php | 2 | ||||
-rw-r--r-- | src/Components/Array2d.php | 5 | ||||
-rw-r--r-- | src/Components/ArrayObj.php | 2 | ||||
-rw-r--r-- | src/Components/CreateDefinition.php | 6 | ||||
-rw-r--r-- | src/Components/DataType.php | 2 | ||||
-rw-r--r-- | src/Components/Expression.php | 14 | ||||
-rw-r--r-- | src/Components/ExpressionArray.php | 2 | ||||
-rw-r--r-- | src/Components/Limit.php | 4 | ||||
-rw-r--r-- | src/Components/OptionsArray.php | 3 | ||||
-rw-r--r-- | src/Components/RenameOperation.php | 8 | ||||
-rw-r--r-- | src/Lexer.php | 13 | ||||
-rw-r--r-- | src/Parser.php | 7 | ||||
-rw-r--r-- | src/Statement.php | 8 | ||||
-rw-r--r-- | src/Statements/CreateStatement.php | 6 | ||||
-rw-r--r-- | src/Translator.php | 84 |
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; + } +} |