Well... all the options you propose are difficult and/or nasty for the user... in some cases, translators modify the order of the XML tags, to adapt the string to their native languages, which is correct. For this cases, checking the XML structure would be a wrong idea, since the tool would generate several false positives.
What about creating a «temporal dictionary» for each string, with the tags used in that string, and check if these strings are properly located in the translated string? For example, if you have an original string with a <_:quote-1/> tag, but the translated string has a <:quote-1/>, it might be an error, and user should be advised. Ok, maybe it is a bit agressive method, since it can report false positives, but maybe it will be better than checking the whole XML structure. Note that, at the end, the translated string must have the same tags than the original one, so if the script detects a missing or an incorrect string, should warn about it.
What do you think about this idea? Would it be very difficult to implement?
Well... all the options you propose are difficult and/or nasty for the user... in some cases, translators modify the order of the XML tags, to adapt the string to their native languages, which is correct. For this cases, checking the XML structure would be a wrong idea, since the tool would generate several false positives.
What about creating a «temporal dictionary» for each string, with the tags used in that string, and check if these strings are properly located in the translated string? For example, if you have an original string with a <_:quote-1/> tag, but the translated string has a <:quote-1/>, it might be an error, and user should be advised. Ok, maybe it is a bit agressive method, since it can report false positives, but maybe it will be better than checking the whole XML structure. Note that, at the end, the translated string must have the same tags than the original one, so if the script detects a missing or an incorrect string, should warn about it.
What do you think about this idea? Would it be very difficult to implement?