L10ntools merge skipped reading po files entirely when got
an invalid entry from one of these po files, by now just
skip the invalid po file instead.
Change-Id: I787d531e1842e53e2074690b1300a204abd928f5
1. A typo in export.cxx makes not working replacing
2. EscapeAll() ignored single backlash characters
Change-Id: I1a5309778acdd601391f643ebf3c66d04a6601d4
lets try this hack, if it fails revert and I'll just
manually update the baseline with a newer flex than
flex-2.5.4a-41.fc6
Change-Id: If644489e80fc4e4cdba97808af0fe4d544d08646
transex3 crashed if a new language was added to the StringArray
PairedList in svtools/source/misc/langtab.src and that resource was
attempted to be built.
For the new entry doesn't exist a MergeEntrys entry in vMergeEntryVector
yet, but ExportList::GetSourceLanguageListEntryCount() already includes
it so nMaxList is greater than size of vMergeEntryVector. Check nLIndex
first.
Change-Id: I3b706bea7aea7cd7ecd8245d99587b944510952d
Add doxygen documentation for classes and methods
Delete useless comments.
Add include guards where missing.
Delete some useless typedef.
Change-Id: I9bba16560790239d7775fcd40981465e70e5d437
1. get rid of some unefficiency
The "old" executables used to parse items which has
other language than en-US. To this items executables
search MergeEntrys(read from po) and change the content if
possible. This mixed localization method not need any longer.
-cfgex: cfgmerge:WorkOnText()
-xrmex: xrmmerge:WorkOnText()
-transex3: export:PrepareTextToMerge()
2. Change the container of MergeData to get a bit efficiency.
The new MergeDataHashMap is exploit that in most case the
insertion and search happen in the same order.(similar to fifo)
So add an iterator-chain to define an insertion order in the
original hashmap.
Every call of find it is a hint that the next element, to
the last found one, is the searched one. If not than search
such like in a HasMap.
3. Set up some order in helpex
Helpex is the only one, which was not used to merge strings
in the same order as export, so change it to work effective
with the new HashMap.
Helpex works with all file of a specific directory and po
files contain the strings of these files in lexical order
so use the same order for merge.(HelpTarget.mk)
4. Make export use MergeDataHashMap a bit more effective
-The same MergeData contains strings to all language,
so it need to get only once.
-Just text entrys have MergeData, others not need to
search for it. (e.g. bitmap)
Plus delete some unused code.
Change-Id: I6ec80cd2323ffea8f783d0b59dc89ca7eac3c205
Executalbes, which work one language, generat qtz by own.
(stringex,helpex,treex,propex)
So these executables can generate qtz without po file
when use them with qtz, call them with "-m" flag without parameter.
Change-Id: I56c34db7151dc3ef0ce1c85ed607719e4cbb5e92
Past: Use "-l en-US, af, hu..." parameter for transex
and to work with this string use InitLanguages() function.
Now: Use "-l all" parameter and get langauges from po files.
So InitLanguages is unneeded.
Change-Id: Ide6b3d24fb8b483c0c31034b1ffd6aba31c5e4c9
Steps of escaping process:
1. Executables unescape the string for export(if necessary)
2. Po class work with unescaped string
3. Escape strings to PO format and write out
4. Read from PO and unescape strings
5. Executables make own transformation on string and merge
Use general functions for escaping (helper)
Delete unneeded escaping methods(xrmmerge, merge)
Delete some unused method from PoEntry class
Change-Id: I7f9414581aae9e6de7d1573862a32cdbd68c9545
Modules sal, salhelper, cppu, cppuhelper, codemaker (selectively) and odk
have kept them, in order not to break external API (the automatic using declaration
is LO-internal).
Change-Id: I588fc9e0c45b914f824f91c0376980621d730f09
...whether or not this is already the correct fix. The twisted
nEndPos/nStartPos arguments in the calls to lcl_QuotRange look somewhat odd.
Change-Id: If22afb058012c830b5aa6d059c7df0b4e9c53696
*Not escape tags and double quots in tags,
but find tags(icu regexp) when merge and
use this infromation to make strings valid.
*Define a new Quot function for helpex,
which works with icu UnicodeCharacter.
*Move tag search to xmlparse.cxx and use icu
just in helpex.
*QuotHTML not unescape just replace xml charcters.
(unescaping is also useless in uimerge.cxx)
*Move UnQuotHTML() to helper.
(was used it in xmlparse.cxx and cfgmerge.cxx)
*Use UnQuotHTML() in uimerge.cxx too.
Change-Id: Ice8940ef69279709a1c5d84c6ae1b0d62a71ca76
...inspired by comments to <https://gerrit.libreoffice.org/#/c/3068/>
"String::AppendAscii cleanup in dbaccess," but it quickly becomes apparent that
lots of code rely on s[s.getLength()] == 0, so live with a weakened precondition
check for now.
Change-Id: Ifad96c706b14433df4a084ab8054b32433b8b5b6
Delete unused functions.
Make Export class more encapsulated.
Move to local that functions which are used only in one file.
Common contans method which are used by all executables.
Helper contains methods belong to xml parsing.
Change-Id: I28773a2c7eea90da7df7f32720fd38de2cb661ac
...replacing hard-coded GCC version checks. Those checks that guard
#pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
appear relevant only for GCC itself, not Clang (which used to fail the old
guards because it typically announces itself with a rather low
__GNUC__/__GNUC_MINOR__ version), see 6e67c03dc0225fc66343546b14e902b9d238b1a3
"Enable -Wnon-virtual-dtor for GCC 4.6"
Change-Id: I6bfa4d5caa6192e7a203ce829682bf6bb8d61a1b