Bug 748157
Summary: | Documenting the interaction between --copy-trans and --push-trans | ||
---|---|---|---|
Product: | [Retired] Zanata | Reporter: | Joshua Wulf <jwulf> |
Component: | Component-Docs | Assignee: | Joshua Wulf <jwulf> |
Status: | CLOSED NOTABUG | QA Contact: | Ding-Yi Chen <dchen> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 1.5 | CC: | camunoz, damason, lcarlon, mkim, sflaniga, zanata-bugs |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2012-11-20 02:32:19 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 748154 | ||
Bug Blocks: |
Description
Joshua Wulf
2011-10-22 16:08:12 UTC
This behaviour has recently changed. Requesting information on the above for Zanata 2.0. I recently worked on some changes for the maven client in regards to this workflow. Below the answers: Q1. i. Correct. The maven client will first do a push (source and / or target) and then will run a copy trans on the document. Only untranslated entries are written by copy trans. (See the answer below for more details on this behavior) ii. It depends. Copy trans can now accept arguments. You can take a look at what they are when running copy trans manually form the web UI. In the case of the maven client (and python client for that matter), the arguments used will be the default for the project (again, these can be set from the web UI), or if those haven't been set, it will use a very conservative set of arguments. These arguments basically determine how lenient or strict the 'matching' procedure is. So for example, if the settings determine that only translations for the same project are to be copied, your initial statement should hold true, otherwise, copy trans might copy translations from other projects. iii. I think there are two scenarios here: "Any string with a translation in the import, and no matching source string"; in this case, since there is no source, there will be warning and the translation will simply not get used. "a matching source string with no translation"; here, since there is no translation, the entry becomes a candidate for copy trans. If the source is in the previous version then it will get reused (provided the copy trans arguments allow it). iv. Yes. Since the translation is already there (provided it is not fuzzy), copy trans will disregard the entry. Q2. This is specific to the python client, and is an option specific to the translation push. It does have an impact, but I will explain with an example: When doing an "import" push, translations that are removed from the local documents will be removed from Zanata. This means that they now become available for copy trans to try and find a matching translation for them. When doing a "default" merge, these translations will not be removed, and if they are approved they will not be targeted by copy trans. So the results MIGHT be different. I would also like to point out a few differences in the behavior of the python client vs the new maven client. The python client will only run copy trans on the first document import, and I THINK it cannot do so along with a target push. The maven client can run copy trans on demand when pushing sources, targets, or both as described above. Q1.i: The Maven client does not invoke CopyTrans when pushing translations only. CopyTrans is only run if there might be a new source string which needs translating. ii: The CopyTrans parameters can only be configured via the web UI, not from the client. Q2: The Python client currently invokes CopyTrans the old way: straight after the source is uploaded, before the translations. This means that CopyTrans won't get a chance to fill in an empty "imported" translation. Essentially, in the case of the Python client, using the options CopyTrans=true and merge=import will cause Zanata to perform CopyTrans, and then completely overwrite anything it may have done. (Except that any files which don't have local files for a given locale will not be overwritten by merge=import.) |