Open akincel opened 6 years ago
The combined purpose of steps 4 and 5 in the second deliberation is unclear to me. Could you elaborate?
Each step features a call to the Translations service. Do they modify the same blob?
There are 2 different resources in Translations service:
The structure dictates what keys can be translated and it also adds context (human-readable name, description) to the keys. An individual blob can be viewed as a materialization of the structure.
Therefore, there are 2 separate steps needed:
While I agree that by updating the blob we can automatically add/remove keys from the structure it is not optimal from the Translations service API standpoint. Imagine a situation when someone adds blob for a new language which only has a few keys translated. That will trigger the update of the structure and thus deletion of all keys which were not present in the blob.
That's why Translations service introduced a separate endpoint for patching the structure. In the future, the blobs might also be validated against the structure. Then if you try to add a blob which is not valid against the structure it will be refused by the service.
Does that make more sense now?
We would like to support our use case and also make it a recommended way on how to use Cimpress's translations service. The steps are the following:
To make this happen, we propose that the cimpress-translations-webpack-plugin should support step 3. The process of the step can be the following: