Created attachment 155069 [details] l10n-wrong-function-names-1.txt function names There's quite some mess in general in the formula module's translations. Specifically, names in msgctxt "RID_STRLIST_FUNCTION_NAMES": * Translated function names MUST NOT contain spaces, parentheses, hyphens, or anything else that would be an operator in spreadsheet formula context. Function names may only contain letters (of any alphabet or script of course, not just ASCII) or digits or '.' dot or '_' underscore, and must start with a letter. * Attached is l10n-wrong-function-names-1.txt that hopefully caught all, created by the command line grep -E -A1 'msgid "[A-Z0-9._]+"' translations/source/*/formula/messages.po|grep -B1 'msgstr ".*[-+*/ ()~]' (all on one line) also repeated on top of the attached list. * Translated identifiers like "#All" or "#Headers" if they start with a '#' hash character MUST start with a '#' character also in the translation, this is vital to recognize them as table reference identifiers (or error constants possibly). * Attached is l10n-wrong-function-names-2.txt that hopefully caught all, created by the command line grep -E -A1 'msgid "#' translations/source/*/formula/messages.po | grep -B1 'msgstr "[^#"]' (all on one line) also repeated on top of the attached list. While these wrong translations display correctly when loading a document, any attempt to compile such formula expression that does not meet the criteria will fail. PLEASE, check the attached lists for your language's translation (the list is sorted by language codes between translations/source/ and /formula/messages.po) and correct errors ASAP; corrections should also end up in the 6-3 branch, Cloph probably can help with that. Also, (possibly after any change) please load the 6.2 attachment https://bugs.documentfoundation.org/attachment.cgi?id=150855 of https://bugs.documentfoundation.org/show_bug.cgi?id=93992 in your translated UI, to check for duplicated function names. Thanks
Created attachment 155070 [details] l10n-wrong-function-names-2.txt identifiers
Hi Eike, is it something you're working on? Otherwsise, can we turn it into an easyhack ?
It's a translation-only problem, nothing that can be worked on otherwise. Translators will have to fix the malformed translations.
Created attachment 158357 [details] l10n-wrong-function-names-1.txt function names Updated list from current master, still 319 bad translations.
Created attachment 158358 [details] l10n-wrong-function-names-2.txt identifiers Updated list from current master, still 150 bad translations.
Created attachment 160011 [details] SQL function names SQL function names (msgctxt "RID_RSC_SQL_INTERNATIONAL") seems to suffer from the same issue, see e.g. bug 103736. I generated this list with (in module translations; in one line) git grep -A2 -F 'RID_RSC_SQL_INTERNATIONAL' | egrep -B2 'msgstr ".*[^[:alnum:]_].*"' This assumes [:alnum:] does the right thing in all languages / character sets.
Using the predefined character classes [:alpha:] and [:alnum:] may even be better, it catches things not thought of.. Though it depends on the current locale and delivers false positives in a C or non-UTF-8 locale. On the other hand Calc allows some constructs like mid letter, spacing marks and modifier letters, I'll have to rethink the Calc grep.
FYI: added a check to weblate for the calc formula issues, using the matches erAck proposed: in formula/messages.po for strings with context of RID_STRLIST_FUNCTION_NAMES: Throw error if translation matches the regex [-+*/ ()~] and throw error if one of source or translation starts with # but the other one doesn't. Did use bulk change in weblate to flag all the strings as fuzzy, so while they'll still be present in the po file, they won't actually be used/treated as untranslated. Please keep in mind that weblate is python based, so I'd need python re compatible expressions
Found out that translators had even more creative ideas.. and this catches more bad cases: grep -E 'msgstr "(([^[:alpha:]])|(.*[-+*/&% ()~<=>!]))"' However, python apparently doesn't know the predefined [:alpha:] class, so this could do as well: 'msgstr \"(([0-9_.].*)|(.*[-+*/&% ()~<=>!].*))\"' If *only* the function name is to be matched, not the msgstr ..., then this is sufficient: (^[0-9_.])|(.*[-+*/&% ()~<=>!])
(In reply to Lionel Elie Mamane from comment #6) > > git grep -A2 -F 'RID_RSC_SQL_INTERNATIONAL' | > egrep -B2 'msgstr ".*[^[:alnum:]_].*"' > > This assumes [:alnum:] does the right thing in all languages / character > sets. Hmm. Please specify what "the right thing" is. I was assuming it should accept numerical and characters from all scripts, but the list also refuses combined characters, e.g. the গ্য that is a combination of গ + য (according to http://www.wbsed.gov.in/feedback/bengali_help.html, I have no idea of writing in that script :-)) Not treating combinations and advanced characters matches python's behaviour in regards to the \w character class, so I added a check for strings with context RID_RSC_SQL_INTERNATIONAL that complains unless the translation matches ^[\w\d]+$ (unicode word and digit characters, \w includes underscore)
Dear Eike Rathke, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://web.libera.chat/?settings=#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug
Created attachment 179967 [details] l10n-wrong-function-names-1.txt function names Updated list from current master, 121 bad translations.
Created attachment 179968 [details] l10n-wrong-function-names-2.txt identifiers Updated list from current master, 3 bad translations.
Created attachment 179969 [details] l10n-wrong-function-names-1.txt function names Updated list from current master, 122 bad translations.
Created attachment 181851 [details] l10n-wrong-function-names-1.txt function names Updated list from current master. Unfortunately earlier lists omitted the separate scaddins' function names so we're now at 272 bad function names. Affected translations are: am bo br brx ckb da dgo dz fa gu gug it kab kmr-Latn kok ks lb lo mai mn mni my nr pa-IN rw sa-IN sat sd sid tn ts ve zu
Ignore all translations/source/*/scaddins/messages.po:msgid "N" hits, that are false positives (description's parameter name).
(In reply to Eike Rathke from comment #13) > Created attachment 179968 [details] > l10n-wrong-function-names-2.txt identifiers > > Updated list from current master, 3 bad translations. Fwiw, all 3 are _still_ present in current master after 2 years.. Affected is (only) the 'sd' "Sindhi, Devanagari" translation. Functionality / reparsing of table structured references in Calc is broken in that localization.
Created attachment 194869 [details] l10n-wrong-function-names-1.txt function names Updated list from current master, 263 bad function names translations. Affected translations are: am bo br brx da dgo dz fa gu gug kab kmr-Latn kok ks lb lo mai mn mni my nn nr rw sa-IN sat sd sid tn ts ve zu