Thread history

Fragment of a discussion from Support
Viewing a history listing
Jump to navigation Jump to search
Time User Activity Comment
No results

German uses GENDER for these messages too without problems. Maybe Gomoko can explain his/her edits?

Raymond14:56, 2 September 2020

Most probably this is because the original English message makes no reference to any variable. Then the "Fuzzybot" changes what is edited and marks it as fuzzy, as if we forgot to remove a reference to an older variable (whose name or ordering would have changed in past versions.

This can only be fixed if the English version makes an explicit reference to {{GENDER:$1|}} even if it is empty in its second parameter or contains a single text (which will be still displayed independently of the variable.

The fact that a variable is marked as "supported" by the underlying app or in the "/qqq" doc page is not enough. Such variable should be present in the source message, even if its value is not used in English or does not change anything.

I tried to use the GENDER there too, I got the same behavior. I don't kwno why it works in German (may the German version was validated BEFORE FuzzyBot makes this check, and not modified since, so FuyzzyBot sees no reason to change it after edit if there's no edit at all.

Note: I the German version is *also* marked now as fuzzy (even if did not change since 2015. The source English message also did not change since 2010).

Or may be the German version was not created by using the normal Translate UI or the normal wiki editor, but by an admin-only tool (such as ReplaceText) whuich can bypass any action made silently by FuyzzyBot or any other deployed hook for Mediawiki on this wiki (this tool makes direct access to the underlying data store, nothing is checked, that's why this tool is reserved to admins only). In summary, ask to the maintainer of the English version to include this variable in the source, even if its value does not change the generated message.

So this can only be caused by a new rule added in FuzzyBot, making SILENT edits (invisible in the history log of the edited pages): Click the "Edit" link on any page. Don't change anything, save the page as is: Noting will be reported in the history log of the page, but FuzzyBot performs changes (it never even adds any tag for the pages that it marks as "FUZZY". Most probably, the "!!FUZZY!!" mark is not even part of the wikitext, but saved as a separate status, it only becomes visible in the wiki editor where it is automatically prepended to the wiki text in the input form.

Each time you press the "Save changes" button in the Translate tool or the wiki editor, there's some hook on this wiki which allows Fuzzybot to check if "!!FUZZYBOT!!" is still present at started (it is silently removed from the actual wikitext, but the fuzzy statis is kept to be set) otherwise Fuzzybot parses the edited text and compares it to the source text, to detect placeholders: if there's any mismatch (notably references to variables that are not part of the source text, it forces the "fuzzy" status. But no change will be really made to the wikitext which is still saved as is (so there's nothing visible in the page's history). Still the status is applied and kept in a specific separate data table of the local database (this table is not part of the core Mediawiki engine).

This really means that

  • But really the English source message should be updated to explicitly contain a reference (even a dummy one) to the "GENDER" magic keyword and to the "$1" placeholder. This requires action by MediaWiki developers to reimport a new version of the English source message to this wiki.
  • This is also another bug in the Translate tool : FuzzyBot makes silent modifications and is not auditable. Only some admin can use admin tools to remove these incorrect status inside the SQL store. This requires action by developers of Fuzzybot for the Translate tool (notably a way to list additional supported variables or magic keywords that can be used in translated messages even if they are not present in the source message, and a modification of the UI for the Translate interface so that it can list these supported placeholders/variables, and some additions to properly tag the syntax to parse the source and target message: Mediawiki / PHP/ C /C++ printf formats/ Java / Javascript I18n/ etc. ? or other flags like restrictions on some forbidden characters, or case folding/normalization, or some custom regexps for filtering whitelisted or blacklisted text fragments, and other options similar to those used in online translate tools for .po/.pot files used in many opensource projects, or other common formats like resource bundles in java, XML-based formats, HTML with a way to associate them with pluggable parsers...)

Two bugs in one (but 3 separate actions to fix it by different admins, plus an admin action on each target wikis where the translated message will be imported) !

  • For now, a local admin on this wiki must use "Replacetext" or some similar SQL tool to remove the status (we know that admins on this wiki have lot of work and have a long list of reported problems they don't fix, including those related to incorrect permanent lokcs left by the "SemanticMediawiki" extension in many categories). Normal users cannot set this status with the existing UI. They just see the result because what is visible is not what they edited and saved themselves.
Verdy p (talk)19:11, 2 September 2020