New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(localize): render correct closing tag placeholder names in XLIFF 2 #41152
fix(localize): render correct closing tag placeholder names in XLIFF 2 #41152
Conversation
When there are elements in a translated message, the start and end tags are encoded as placeholders. The names of these placeholders are computed from the name of the element. For example `<a> will be `START_LINK` and `</a>` will be `CLOSE_LINK`. If there are more than one element with the same name, but different attributes, then the starting placeholder name is made unique. For example `<a href="a">` would be `START_LINK`, while `<a href="b">` in the same message would then be called `START_LINK_1`. But the closing tags will not be made unique since there are no attrbutes; the always have the same text `</a>`, which will produce, for example, `CLOSE_LINK`. Previously, when extracting XLIFF 2 formatted translation files, the closing tag placeholder names were computed incorrectly from the opening tag placeholder names. For example `CLOSE_LINK_1`. This commit strips these `_1` type endings from the start tag placeholder name when computing the closing tag placeholder name. It also ensures that the `type` of the placeholder is computed accurately in these cases too. Fixes angular#41142
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the fix @petebacondarwin 👍
#41152) When there are elements in a translated message, the start and end tags are encoded as placeholders. The names of these placeholders are computed from the name of the element. For example `<a> will be `START_LINK` and `</a>` will be `CLOSE_LINK`. If there are more than one element with the same name, but different attributes, then the starting placeholder name is made unique. For example `<a href="a">` would be `START_LINK`, while `<a href="b">` in the same message would then be called `START_LINK_1`. But the closing tags will not be made unique since there are no attrbutes; the always have the same text `</a>`, which will produce, for example, `CLOSE_LINK`. Previously, when extracting XLIFF 2 formatted translation files, the closing tag placeholder names were computed incorrectly from the opening tag placeholder names. For example `CLOSE_LINK_1`. This commit strips these `_1` type endings from the start tag placeholder name when computing the closing tag placeholder name. It also ensures that the `type` of the placeholder is computed accurately in these cases too. Fixes #41142 PR Close #41152
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
When there are elements in a translated message, the start and end tags
are encoded as placeholders. The names of these placeholders are computed
from the name of the element. For example
<a> will be
START_LINKand
will be
CLOSE_LINK`.If there are more than one element with the same name, but different attributes,
then the starting placeholder name is made unique.
For example
<a href="a">
would beSTART_LINK
, while<a href="b">
inthe same message would then be called
START_LINK_1
.But the closing tags will not be made unique since there are no attrbutes;
the always have the same text
</a>
, which will produce, for example,CLOSE_LINK
.Previously, when extracting XLIFF 2 formatted translation files, the closing
tag placeholder names were computed incorrectly from the opening tag
placeholder names. For example
CLOSE_LINK_1
.This commit strips these
_1
type endings from the start tag placeholdername when computing the closing tag placeholder name. It also ensures
that the
type
of the placeholder is computed accurately in these casestoo.
Fixes #41142