forked from serge-community/serge
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES
139 lines (87 loc) · 5.82 KB
/
CHANGES
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
Revision history
1.2 Pending release
- Make TS File serialization pluggable (see #11)
- .PO file support is now implemented as a serialization plugin
- .CSV serialization plugin added
- Fix feature_branch plugin to properly compare strings against the master job,
not the entire database
- Fix parse_pot plugin bug in import mode (language would not be passed back
in a callback in import mode, causing a DB constraint error)
- Print nice plural separators and show line breaks in strings in import reports
- JSON parser now accepts source files with relaxed syntax (trailing commas and
comments) (#13)
- Fix bug in translation variant counting that would prevent reusing strings
effectively (incorrectly treating more translations as "uncertain" ones)
- When MySQL database is initialized, utf8_bin collation is now enforced
- parse_js plugin can now extract comments at the end of each line
- Add `serge import` support for .plist parser (#16)
- Add `serge import` support for parse_json and parse_json_keyvalue parsers
- Improve `transform` plugin logic
- Add `yaml_kind` to the YAML parser to support Rails-specific file format
- Add `leave_untranslated_blank` job option to allow cleaning up untranslated
entries during post-processing; this in turn allows for custom fallback
mechanisms and also reduces resource file sizes
- In Git plugin, old branches are automatically pruned to avoid conflicts
on `git fetch`
- JSON and YAML parsers now sort keys alphabetically at parsing time.
This is to guarantee stable output between multiple runs and between
different Perl versions (#29)
- 'before_update_database_from_ts_file' callback has been deprecated in favor of
'before_update_database_from_ts_files'
- Fix unwanted escaping of quotes/apostrophes inside tag markup embedded in a string
(e.g. <xliff:g id="...">)
- Added support for tests that report job validation errors (and compare them
with reference error messages)
- Added better error reporting for incorrectly set up jobs, e.g. the ones
that have empty `db_source` or `db_namespace` parameters
- `db_namespace` parameter can now contain %ENV:...% macros
- When job fails, we now move on to the next job in the config
(previously the entire config would be skipped)
1.1 April 20, 2016
- On OS X, expand `~` to the actual `$HOME` path in SQLite DB connection string (#1)
- Accept multiple `message` entries in append_hint_message plugin (#2)
- Require JSON::XS (#3)
- Make serge and tools find their libs when they are symlinked (#4)
- Fixed: Uppercase letters in language names are unsupported (#5)
- Accept multiple `command` entries in run_command plugin (#6)
- parse_android plugin now supports `serge import` mode
(generates string keys for alignment) (#7)
- parse_pot plugin now supports `serge import` mode
(generates string keys for alignment) (#8)
- Fix performance when `reuse_uncertain` mode is off (#9)
- parse_xliff plugin now supports `serge import` mode
- Parsers are now aware when they are used in import mode, and can adjust their
behavior accordingly; one can now run `serge test-parser --import-mode <...>`
to test parsers in import mode.
- Added the ability to specify any arbitrary class name and plugin data for
`test-parser` command, which allows one to use this command for any
custom plugins
- Added support for %OUTFILE% and %OUTPATH% macros in `run_command` plugin;
other macros like %FILE% now work consistently with the rest of the config code
- Fixed some tests due to broken source files
- Fixed a regression with job's `active` parameter not defaulting to `YES`
- Added `feature_branch` plugin that allows one to add strings from multiple sources
(branches) and exclude duplicate strings.
- Added `log_translation` callback that allows one to log/cache translations
- String context and key is now passed in `can_extract` callback
- String key is now passed in `get_translation` and `get_translation_pre` callbacks
- `test_language` plugin now handles URLs better (doesn't try to
transliterate them), it allows string expansion (disabled by default),
and transliteration can now be optionally turned off (it is enabled by default)
- `test_language` plugin now won't generate TS files if its `save_translations`
option is turned off
- `completeness` plugin has got a new `bypass_languages` option the allows to
skip its logic for certain languages (this is primarily useful for
pseudo-localization, see `test_language` plugin)
- Caching/lookup algorithm for translations was rewritten, giving a significant
performance boost when processing new strings, at the expense of loading
more data into memory (which also can take some time depending on a size of the
database)
- Fixed USN-based optimization when generating TS files
- Fixed TS file content hash-based optimization caused by inconsistent UTF-8 handling
at file save/load time
- Fixed text unescaping in XML parser (it is now CDATA-aware and is also applied
for embedded HTML nodes)
- Fixed typos in embedded documentation
1.0 October 15, 2015
* Code published on GitHub *