Apache OpenOffice (AOO) Bugzilla – Issue 112478
[Automation] Testscript needed to find duplicate functionnames
Last modified: 2013-01-29 21:44:44 UTC
To make sure that there are no duplicate functionnames implemented by Translation an automated test is needed
setting target to 3.3 as double function names are showstoppers that can put a release to risk.
setting target 3.4
adding md
resetting target. As discussed and agreed during our PM meeting, this issue need to be resolved for the 3.3. An automatic test need to be created in order not to introduce double name functions which are definitively showstoppers. Such an automatic test need to be in place by September 30th.
Automatic testing by the testtool is not a solution for this problem, maybe it is possible to implement a check within the sourcecode => fma
Reassign to ihi, we need a solution (as discussed before) to check for different en-US source-strings and equal target-strings in area function-names.
-> gh
@gh, fma: there is also another area where the usage of the same name in the translation breaks the function. This is in the Stylist. An example is Title and Heading translated with the same word or no distinction in the plural form. May be we can use the same script to check this area as well?
@coni: please add short sdf files with the en-US strings which have to be unique in the translation, so I can see what exactly to check. alternatively name the (src) files which contain the sources, if necessary describing which part(s) are to be checked. thanks
@nn,mba can you please help check if there are more files containing strings that need to be unique to guarantee functionality? Styles: /sw/source/ui/utlui.po Function names: /formula / source / core / resource.po /sc / source / ui / src.po
Function names are in formula/source/core/resource/core_resource.src, scaddins/source/analysis/analysis_funcnames.src and scaddins/source/datefunc/datefunc.src. analysis_funcnames has already been a problem in the past, see issue 115937. I'm not sure about sc/source/ui/src. Which strings from there do you check?
Gregor,which is the status of this issue? Any progress with this? Thx!
added checks for the following items: formula/source/core/resource.core_resource.src Gid RID_STRLIST_FUNCTION_NAMES scaddins/source/analysis/analysis_funcnames.src Gid RID_ANALYSIS_FUNCTION_NAMES scaddins/source/datefunc/datefunc.src Gid RID_DATE_FUNCTION_NAMES sw/source/ui/utlui/poolfmt.src Gid "STR_POOLNUMRULE_.*" sw/source/ui/utlui/poolfmt.src Gid "STR_POOLCOLL_.*" Need more exact info on what to check in /sc / source / ui / src.po Please check if that's all in the abobe mentioned checks
Created attachment 76246 [details] results of duplicate check. Encoding is utf8 Just ran the script over all languages, attached the results. Encoding is utf8 There is some work to do!
sorry, the log was from an m100 and not on the current pootle and download files. will redo in a minute
Created attachment 76247 [details] new log of duplicates here is a new run with the sdf files found on the continuous l10n buildmachine for m105 dated yesterday (31. of March) only 10 duplicates left
Created attachment 76248 [details] and here comes the sdf and here comes the corresponding sdf file
Hi, I was too quick last week, I checked only the languages which were part of that build. These were de es fr hu it ja ko nl pl pt pt-BR ru sv th tr zh-CN zh-TW ar I will attach a new file containing the results for all languages in a minute sorry for the confusion
The following is distrubution of duplicates # Module File =========================== 39 formula source\core\resource\core_resource.src 83 scaddins source\analysis\analysis_funcnames.src 7 scaddins source\datefunc\datefunc.src 164 sw source\ui\utlui\poolfmt.src # Language ============================ 2 as 8 ast 1 be-BY 1 bg 7 bn 13 bo 5 br 3 brx 2 bs 5 ca 5 ca-XV 3 cy 1 dgo 4 eo 1 fa 29 gd 2 gl 1 gu 1 he 4 hi 5 hr 4 id 1 it 2 ka 2 kk 3 kn 7 kok 3 ks 16 ku 1 lt 2 lv 4 mai 2 mk 1 ml 4 mn 3 mni 1 mr 1 my 1 nb 1 ne 2 nn 2 oc 2 om 2 or 2 pl 1 pt 1 pt-BR 1 ro 1 ru 1 rw 1 sa-IN 1 sat 1 sd 2 sh 2 sk 1 sl 91 sq 2 sr 1 sv 3 ta 1 te 3 tg 3 tr 2 ug 1 uk 1 uz
Created attachment 76270 [details] logfile of all duplicates (alllang) the following languages contain no translations in any of the sections and this will also fail building once this check is in the buildprocess bo brx dgo dz fa fur gd he hi jbo kab ka kk kok ks mai mni my ne ny pa-IN pap ps sa-IN sat sc sd so th tk uk
Created attachment 76271 [details] sdf file containing the duplicate strings (alllang)
@coni: please send back when the majority of duplicate strings is fixed, so I can proceed implementing this feature in every build. *NOTE* this will break the build if duplicate strings are detected
Langauges fixed so far are: it, pl, br, sv, pt
There is a tool called poconflicts that can be used to do these types of checks. I'd suggest using that instead. http://translate.sourceforge.net/wiki/toolkit/poconflicts
@dwayne: thanks for the suggestion, but as I read it poconflicts does the reverse thing. What we need here is that englich different words are also different in the translation. E.g. the calc function names must be distinct.
Created attachment 76398 [details] Serbian Cyrillic (sr) and Serbian Latin (sh) fix Two translations are changed to avoid duplicates, SDF file is attached.
Catalan (ca) fixed in Pootle.
Latvian (lv) fixed in poootle.
(In reply to comment #25) > @dwayne: thanks for the suggestion, but as I read it poconflicts does the > reverse thing. > > What we need here is that englich different words are also different in the > translation. E.g. the calc function names must be distinct. poconflicts -v would do that More importantly can you create output that is immediately useful for the translator? A URL that links back to the offending string in Pootle is much more useful then trying to interpret the output. I spent more time doing two things 1) Trying to understand the error, 2) Finding the error in Pootle, then it took to actually correct the error.
Russian (ru) fixed in Pootle. And yes, Pootle can not find messages by "#:" ids, so we can't use RID_STRLIST_FUNCTION_NAMES or same unique ids for search (in Pootle).
(In reply to comment #30) > Russian (ru) fixed in Pootle. > > And yes, Pootle can not find messages by "#:" ids, so we can't use > RID_STRLIST_FUNCTION_NAMES or same unique ids for search (in Pootle). It can find locations. You need to select location from the dropdown.
(In reply to comment #31) > (In reply to comment #30) > > Russian (ru) fixed in Pootle. > > > > And yes, Pootle can not find messages by "#:" ids, so we can't use > > RID_STRLIST_FUNCTION_NAMES or same unique ids for search (in Pootle). > > It can find locations. You need to select location from the dropdown. All four checkboxes of search dropdown was selected before search was satrted. This didn't help. "No matching strings to translate" was returned.
(In reply to comment #31) > (In reply to comment #30) > > Russian (ru) fixed in Pootle. > > > > And yes, Pootle can not find messages by "#:" ids, so we can't use > > RID_STRLIST_FUNCTION_NAMES or same unique ids for search (in Pootle). > > It can find locations. You need to select location from the dropdown. I found that underscore "_" breaks search. I can find "RID", "STRLIST", "FUNCTION", "NAMES", but not "RID_STRLIST_FUNCTION_NAMES". Quotes doesn't help.
(In reply to comment #32) > (In reply to comment #31) > > (In reply to comment #30) > > > Russian (ru) fixed in Pootle. > > > > > > And yes, Pootle can not find messages by "#:" ids, so we can't use > > > RID_STRLIST_FUNCTION_NAMES or same unique ids for search (in Pootle). > > > > It can find locations. You need to select location from the dropdown. > > All four checkboxes of search dropdown was selected before search was satrted. > This didn't help. "No matching strings to translate" was returned. The Pootle server needs upgrading.