Conversation
| <trans-unit id="dialogs.uninstall_success.content"> | ||
| <source xml:lang="en">{app_title} was successfully uninstalled.</source> | ||
| <target xml:lang="id">{app_title} berhasil dicopot pemasangannya.</target> | ||
| <target xml:lang="id" state="needs-translation">{app_title} was successfully uninstalled.</target> |
There was a problem hiding this comment.
🚩 Indonesian translation reverted to English in velopack.xlf
The existing Indonesian translation for dialogs.uninstall_success.content was replaced with untranslated English text:
- Before:
<target xml:lang="id">{app_title} berhasil dicopot pemasangannya.</target> - After:
<target xml:lang="id" state="needs-translation">{app_title} was successfully uninstalled.</target>
This is a translation regression — a valid Indonesian localization was replaced with English. The state="needs-translation" attribute was added, which suggests Crowdin intentionally reset this translation (perhaps due to a source string change or translator action). However, it's worth confirming this was intentional and not a Crowdin sync artifact that accidentally lost a valid translation.
Was this helpful? React with 👍 or 👎 to provide feedback.
| <target xml:lang="pt-PT" state="translated">Usando a assinatura da **Comunidade Local** por **{0}**. Expira {1}</target> | ||
| <note>ID: SubscriptionStatus.UsingLocalCommunitySubscription</note> | ||
| </trans-unit> | ||
| <trans-unit id="SubscriptionStatus.UsingEnterpriseSubscription" approved="yes"> | ||
| <trans-unit id="SubscriptionStatus.UsingEnterpriseSubscription"> | ||
| <source xml:lang="en">Using **Enterprise** subscription for {0}. Expires **{1}**</source> | ||
| <target xml:lang="pt-PT" state="final">Usando a assinatura de **Enterprise** para {0}. Expira **{1}**</target> | ||
| <target xml:lang="pt-PT" state="translated">Usando a assinatura de **Enterprise** para **{0}**. Expira **{1}**</target> |
There was a problem hiding this comment.
🚩 Portuguese translations modified bold formatting on placeholders
Two translation entries in pt/Bloom.xlf had their approved="yes" removed and their state changed from final to translated, with the translation text modified to bold-wrap the {0} placeholder:
SubscriptionStatus.UsingLocalCommunitySubscription:por {0}→por **{0}**SubscriptionStatus.UsingEnterpriseSubscription:para {0}→para **{0}**
The English source strings do NOT have **{0}** (only {0}), so the Portuguese translation now adds bold formatting that doesn't exist in the source. This could be an intentional translator choice for emphasis, or it could be an accidental deviation from the source format. Worth verifying this was intentional.
Was this helpful? React with 👍 or 👎 to provide feedback.
| <trans-unit id="EditTab.FrontMatter.OriginalCopyrightSentence" approved="yes"> | ||
| <source xml:lang="en">This book is an adaptation of the original, {0}.</source> | ||
| <target xml:lang="prs" state="final">گرفته شده از اصلی، {0}.</target> | ||
| <target xml:lang="prs" state="final">گرفته شده از اصلی، {0}.</target> |
There was a problem hiding this comment.
🔴 Unicode LRM character moved inside {0} placeholder breaks string substitution
The translation for EditTab.FrontMatter.OriginalCopyrightSentence in the Dari (prs) locale had its Left-to-Right Mark (U+200E) repositioned from before the {0} placeholder to inside it, changing {0} to {0}.
Root Cause and Impact
Previously the target text was (hex): e2 80 8e 7b 30 7d = {0} — the LRM was placed before the opening brace, so the placeholder {0} remained intact for string formatting.
Now the target text is (hex): 7b e2 80 8e 30 7d = {0} — the LRM is inside the braces between { and 0. This means the runtime string substitution (e.g. String.Format or equivalent) will look for the literal {0} placeholder but won't find it, because the actual content is {\u200E0}. As a result, the copyright sentence for Dari users will display the raw {0} placeholder text instead of the original book's copyright information.
Impact: Dari-language users will see a broken copyright attribution sentence on the front matter of adapted books, with the placeholder literal shown instead of the original book title/copyright.
| <target xml:lang="prs" state="final">گرفته شده از اصلی، {0}.</target> | |
| <target xml:lang="prs" state="final">گرفته شده از اصلی، {0}.</target> |
Was this helpful? React with 👍 or 👎 to provide feedback.
| <trans-unit id="dialogs.uninstall_success.content"> | ||
| <source xml:lang="en">{app_title} was successfully uninstalled.</source> | ||
| <target xml:lang="id">{app_title} berhasil dicopot pemasangannya.</target> | ||
| <target xml:lang="id" state="needs-translation">{app_title} was successfully uninstalled.</target> |
There was a problem hiding this comment.
🟡 Indonesian uninstall success translation regressed to English source text
The Indonesian (id) velopack translation for dialogs.uninstall_success.content was replaced from a valid Indonesian translation to the English source text.
Translation Regression Details
The previous translation was:
{app_title} berhasil dicopot pemasangannya.
This was a proper Indonesian translation meaning the app was successfully uninstalled. The new version replaces it with:
{app_title} was successfully uninstalled. with state="needs-translation"
This appears to be a Crowdin sync issue that lost an existing translation. Indonesian users will now see English text for this uninstall success message instead of the previously available Indonesian translation.
Impact: Indonesian users see English instead of their native language for the uninstall success dialog.
| <target xml:lang="id" state="needs-translation">{app_title} was successfully uninstalled.</target> | |
| <target xml:lang="id" state="translated">{app_title} berhasil dicopot pemasangannya.</target> |
Was this helpful? React with 👍 or 👎 to provide feedback.
This change is