blob: aace5723a200a6dd9c124ae7265dcad49122dd33 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
<?php
$options = getopt("h");
if (array_key_exists('h', $options)) {
help();
}
if (1 === $argc || 4 < $argc) {
help();
}
require_once __DIR__ . '/i18n/I18nFile.php';
$i18nFile = new I18nFile();
$i18nData = $i18nFile->load();
switch ($argv[1]) {
case 'add_language' :
$i18nData->addLanguage($argv[2]);
break;
case 'add_key' :
if (3 === $argc) {
help();
}
$i18nData->addKey($argv[2], $argv[3]);
break;
case 'duplicate_key' :
$i18nData->duplicateKey($argv[2]);
break;
case 'delete_key' :
$i18nData->removeKey($argv[2]);
break;
default :
help();
}
if ($i18nData->hasChanged()) {
$i18nFile->dump($i18nData);
}
/**
* Output help message.
*/
function help() {
$help = <<<HELP
NAME
%s
SYNOPSIS
php %s [OPTION] [OPERATION] [KEY] [VALUE]
DESCRIPTION
Manipulate translation files. Available operations are
Check if translation files have missing keys or missing translations.
-h display this help and exit.
OPERATION
add_language
add a new language by duplicating the referential. This operation
needs only a KEY.
add_key add a new key in the referential. This operation needs a KEY and
a VALUE.
duplicate_key
duplicate a referential key in other languages. This operation
needs only a KEY.
delete_key
delete a referential key from all languages. This operation needs
only a KEY.
HELP;
$file = str_replace(__DIR__ . '/', '', __FILE__);
echo sprintf($help, $file, $file);
exit;
}
|