diff options
Diffstat (limited to 'cli/manipulate.translation.php')
| -rw-r--r-- | cli/manipulate.translation.php | 47 |
1 files changed, 19 insertions, 28 deletions
diff --git a/cli/manipulate.translation.php b/cli/manipulate.translation.php index 35405bb89..c6aa328d9 100644 --- a/cli/manipulate.translation.php +++ b/cli/manipulate.translation.php @@ -1,5 +1,9 @@ <?php +require_once __DIR__ . '/i18n/I18nData.php'; +require_once __DIR__ . '/i18n/I18nFile.php'; +require_once __DIR__ . '/i18n/I18nIgnoreFile.php'; + $options = getopt("a:hk:l:rv:"); if (array_key_exists('h', $options)) { @@ -10,14 +14,9 @@ if (!array_key_exists('a', $options)) { error('You need to specify the action to perform.'); } -if ('ignore' === $options['a']) { - require_once __DIR__ . '/i18n/I18nIgnoreFile.php'; - $i18nFile = new I18nIgnoreFile(); -} else { - require_once __DIR__ . '/i18n/I18nFile.php'; - $i18nFile = new I18nFile(); -} -$i18nData = $i18nFile->load(); +$data = new I18nFile(); +$ignore = new I18nIgnoreFile(); +$i18nData = new I18nData($data->load(), $ignore->load()); switch ($options['a']) { case 'add' : @@ -29,6 +28,7 @@ switch ($options['a']) { $i18nData->addLanguage($options['l']); } else { error('You need to specify a valid set of options.'); + exit; } break; case 'delete' : @@ -36,32 +36,26 @@ switch ($options['a']) { $i18nData->removeKey($options['k']); } else { error('You need to specify the key to delete.'); - } - break; - case 'duplicate' : - if (array_key_exists('k', $options)) { - $i18nData->duplicateKey($options['k']); - } else { - error('You need to specify the key to duplicate'); + exit; } break; case 'format' : - $i18nFile->dump($i18nData); break; case 'ignore' : if (array_key_exists('l', $options) && array_key_exists('k', $options)) { $i18nData->ignore($options['k'], $options['l'], array_key_exists('r', $options)); } else { error('You need to specify a valid set of options.'); + exit; } break; default : help(); + exit; } -if ($i18nData->hasChanged()) { - $i18nFile->dump($i18nData); -} +$data->dump($i18nData->getData()); +$ignore->dump($i18nData->getIgnore()); /** * Output error message. @@ -91,7 +85,7 @@ DESCRIPTION -a=ACTION select the action to perform. Available actions are add, delete, - duplicate, format, and ignore. This option is mandatory. + format, and ignore. This option is mandatory. -k=KEY select the key to work on. -v=VAL select the value to set. -l=LANG select the language to work on. @@ -101,25 +95,22 @@ EXEMPLE Exemple 1: add a language. It adds a new language by duplicating the referential. php %1\$s -a add -l my_lang -Exemple 2: add a new key. It adds the key in the referential. +Exemple 2: add a new key. It adds the key for all supported languages. php %1\$s -a add -k my_key -v my_value Exemple 3: add a new value. It adds a new value for the selected key in the selected language. php %1\$s -a add -k my_key -v my_value -l my_lang -Exemple 4: delete a key. It deletes the selected key in every languages. +Exemple 4: delete a key. It deletes the selected key from all supported languages. php %1\$s -a delete -k my_key -Exemple 5: duplicate a key. It duplicates the key from the referential in every languages. - php %1\$s -a duplicate -k my_key - -Exemple 6: format i18n files. +Exemple 5: format i18n files. php %1\$s -a format -Exemple 7: ignore a key. It adds the key in the ignore file to mark it as translated. +Exemple 6: ignore a key. It adds the key in the ignore file to mark it as translated. php %1\$s -a ignore -k my_key -l my_lang -Exemple 8: revert ignore a key. It removes the key from the ignore file. +Exemple 7: revert ignore a key. It removes the key from the ignore file. php %1\$s -a ignore -r -k my_key -l my_lang\n\n HELP; $file = str_replace(__DIR__ . '/', '', __FILE__); |
