== Fixing is_imported flag to indicate upstream translations == Basically: * ''is_current'' -> ''is_current_in_ubuntu'' * ''is_imported'' -> ''is_current_upstream'' === Implementation === * (Implemented) [[Bug:544420]] Rename is_current/is_imported flags to is_current_ubuntu/is_current_upstream (cleanup) * [[Bug:564477]] Provide isCurrent and makeCurrent methods to hide distinction when needed (convenience) * (Implemented) [[Bug:545100]] Rename is_published to from_upstream on `TranslationImportQueue` (cleanup) * (Implemented) [[Bug:545123]] Change 'changed in Launchpad' terminology to be 'changed in Ubuntu' * (Implemented) [[Bug:545365]] Remove reference to 'published' uploads from the UI (cleanup) * (Implemented) [[Bug:545070]] Change terminology in `ExistingPOFileInDatabase` (cleanup) * updateTranslation cleanup and changes * Find exact same translationmessage * Privilege checks for updateTranslation replacement calls * (Implemented) [[Bug:546334]] Sanitization and validation code into utility * (Implemented) [[Bug:546521]] submitSuggestion method * [[Bug:562858]] Clearing/unsetting translations * (Implemented) Dismiss suggestions * (Implemented) [[/setCurrentTranslation|setCurrentTranslation]] * Diverge translation * Replace updateTranslation calls with calls to new methods * [[Bug:546310]] Adapt UI to work with new flags and new semantics for upstream projects * [[Bug:611668]] Make getPOTMsgSetsWithNewSuggestions side-aware. * [[Bug:611674]] Check for conflicts on import. * Translations overview pages for projects (statistics update) * POFile:+translate filters * Privileges for updateTranslation * Migration script: set is_current_upstream from is_current_ubuntu flag on upstream projects, clear is_current_ubuntu if there is no link * Update message-sharing-merge script for the new semantics * Fix up gettext-check-messages script to be symmetric for is_current_upstream and is_current_ubuntu flags * [[Bug:545354]] Enable sharing between templates in products and Ubuntu === Q/A === ==== Import and sharing ==== * OK: Upstream import replaces Ubuntu tracking translation (without Ubuntu-side privileges). * OK: Upstream import does not replace Ubuntu non-tracking translation (without Ubuntu-side privileges). * OK: Upstream import does not replace Ubuntu non-tracking translation (with Ubuntu-side privileges). * '''BAD:''' First upstream import does not replace Ubuntu-only translation. Bug: [[Bug:702468]] * OK: Importing a first translation in Ubuntu without upstream privileges creates a translation in Ubuntu only. * OK: Import without upstream privileges updates a non-tracking Ubuntu message, but leaves the upstream-side message alone. * OK: Import on Ubuntu without upstream privileges updates a tracking Ubuntu message, but not the upstream message (so that it becomes non-tracking). * OK: Import on Ubuntu with upstream privileges updates a tracking message on both sides (so that it continues to track). * OK: Import on Ubuntu with upstream privileges updates a non-tracking Ubuntu message, but not the upstream message (so that it continues to be non-tracking). * OK: Import of a template on Upstream finds POFiles on sharing templates in Ubuntu. * OK: Import of a template on Upstream to a series that is not linked to a source package finds sharing POFiles. ==== Export ==== * OK: Partial downloads on Upstream side produces strings from Ubuntu. ==== Webinterface ==== * The "In upstream" and "In Ubuntu" translations are denoted as "suggested by". That probably should read "translated by". OTOH these are treated as suggestions when they are newer than the current translation. * OK: "Changed in Ubuntu" filter works on upstream side. * OK: "Changed in Ubuntu" filter works on Ubuntu side. * OK: Admin translates tracking message in upstream, stays tracking * OK: Ubuntu translator translates tracking message in Ubuntu, becomes non-tracking. * OK: Translate non-tracking message in Ubuntu w/upstream privileges that is empty upstream: it becomes tracking. * OK: Translate non-tracking message in Ubuntu w/o upstream privileges that is empty upstream: stays non-tracking. * OK: Translate non-tracking message in upstream that is empty in Ubuntu: it becomes tracking. * OK: Add Suggestion Ubuntu, shows up in upstream. * But: Upstream had "Closed" permissions! Normally, the Ubuntu translator would not have been allowed to add a suggestion directly to the upstream project. * OK: Accept suggestion on tracking message upstream: stays tracking. * OK: Accept suggestion on tracking message in Ubuntu w/upstream privileges: stays tracking. * OK: Ubuntu translator accepts upstream translation in Ubuntu * Obviously, the reviewer is updated upstream, too. * OK: Translate a non-tracking message in Ubuntu with upstream privileges does not update upstream (stays non-tracking) * OK: Translate a tracking message in Ubuntu with upstream privileges updates upstream (stays tracking) * OK: Translations are available in other series, both upstream and Ubuntu * OK: Reset tracking translation in Ubuntu w/upstream privileges resets upstream, too. * OK: Reset tracking translation in upstream resets Ubuntu, too. * OK: Reset non-tracking translation in Ubuntu w/upstream privileges leaves upstream untouched. * Upstream has no mention of "not translated in Ubuntu" Maybe it should? * OK: Reset non-tracking translation in upstream leaves Ubuntu untouched. * Ubuntu has no mention of "not translated in upstream" Maybe it should? * OK: Dismissing all suggestions on a tracking translation in Ubuntu w/upstream privileges dismisses on upstream, too. * OK: Dismissing all suggestions on a non-tracking translation works independently on both sides. * OK: No ping-ponging: Different translations upstream and in Ubuntu appear as new suggestion on the other side but can be dismissed without the current translation becoming a suggestion on the other side in turn. * OK: Accept suggestion as "diverged" in upstream. Makes it disappear on the Ubuntu side. I first thought this is Not Good but it makes sense since it shouldn't be need elsewhere if it is accepted as diverged. Also, divergence is not a widely used feature. * '''BAD:''' Translation credits on new POFiles show the dummy string for the other side. "This is a dummy translation so that the credits are counted as translated." Bug: [[Bug:702477]] * '''BAD:''' First upstream translation does not replace Ubuntu-only translation, just like in imports. Bug: [[Bug:702468]] ==== Statistics ==== * OK: Statistics are updated correctly upon change although I wish it would update sharing POFiles, too.