Commit 68bf844
fix(i18n): correct Turkish percent interpolation placeholders (TMCU-626) (#28469)
## **Description**
This PR fixes Turkish translations that used `%{{variable}}` patterns,
which conflict with the i18n parser’s `%{...}` placeholder syntax and
can render `[missing ... value]` text in UI.
Updated all affected `tr.json` strings to the safe/consistent form
`{{variable}}%`, preserving meaning while preventing placeholder parsing
collisions.
## **Changelog**
CHANGELOG entry: Fixed Turkish percentage strings that could render
missing placeholder text on the homepage and related flows.
## **Related issues**
Fixes: #28412
Refs:
[TMCU-626](https://consensyssoftware.atlassian.net/browse/TMCU-626)
## **Manual testing steps**
```gherkin
Feature: Turkish percentage translations render correctly
Scenario: Turkish UI shows percentage values without missing placeholder errors
Given the app language is set to Turkish
And the user opens views that render percentage-based strings (e.g. Homepage/Earn/Bridge/Perps)
When percentage-based localized copy is displayed
Then text should render with a numeric percentage format like "{{value}}%"
And no "[missing ... value]" placeholder text should appear
```
## **Screenshots/Recordings**
### **Before**
<img width="396" height="843" alt="Screenshot 2026-04-07 at 15 46 14"
src="https://github.com/user-attachments/assets/e4fcd7c9-355a-4a06-af99-9936963ce469"
/>
### **After**
<img width="393" height="838" alt="Screenshot 2026-04-07 at 15 47 30"
src="https://github.com/user-attachments/assets/8a46f42d-589d-4982-a177-c1cf709efd1e"
/>
## **Pre-merge author checklist**
- [x] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I've included tests if applicable
- [x] I've documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I've applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Low Risk**
> Translation-only changes that adjust placeholder formatting; low
functional risk, with the main risk being minor copy/format regressions
if any string expects the old ordering.
>
> **Overview**
> Fixes Turkish localization strings that embed percentage values by
changing placeholders from `%{{var}}` to `{{var}}%` (and related
word-order tweaks) across perps, swap/bridge quotes, slippage, fees, and
Earn/mUSD copy.
>
> This prevents i18n interpolation collisions that could display
`[missing ... value]` in the UI while keeping the same meaning and
formatting for percent-based messages.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
eaacb8e. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
[TMCU-626]:
https://consensyssoftware.atlassian.net/browse/TMCU-626?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Patryk Łucka <PatrykLucka@users.noreply.github.com>1 parent 8575cca commit 68bf844
1 file changed
Lines changed: 25 additions & 25 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1057 | 1057 | | |
1058 | 1058 | | |
1059 | 1059 | | |
1060 | | - | |
| 1060 | + | |
1061 | 1061 | | |
1062 | 1062 | | |
1063 | 1063 | | |
| |||
1300 | 1300 | | |
1301 | 1301 | | |
1302 | 1302 | | |
1303 | | - | |
| 1303 | + | |
1304 | 1304 | | |
1305 | 1305 | | |
1306 | 1306 | | |
| |||
1730 | 1730 | | |
1731 | 1731 | | |
1732 | 1732 | | |
1733 | | - | |
| 1733 | + | |
1734 | 1734 | | |
1735 | 1735 | | |
1736 | 1736 | | |
| |||
2359 | 2359 | | |
2360 | 2360 | | |
2361 | 2361 | | |
2362 | | - | |
| 2362 | + | |
2363 | 2363 | | |
2364 | 2364 | | |
2365 | 2365 | | |
| |||
5395 | 5395 | | |
5396 | 5396 | | |
5397 | 5397 | | |
5398 | | - | |
5399 | | - | |
| 5398 | + | |
| 5399 | + | |
5400 | 5400 | | |
5401 | 5401 | | |
5402 | 5402 | | |
| |||
5999 | 5999 | | |
6000 | 6000 | | |
6001 | 6001 | | |
6002 | | - | |
6003 | | - | |
| 6002 | + | |
| 6003 | + | |
6004 | 6004 | | |
6005 | 6005 | | |
6006 | 6006 | | |
6007 | 6007 | | |
6008 | | - | |
| 6008 | + | |
6009 | 6009 | | |
6010 | 6010 | | |
6011 | | - | |
| 6011 | + | |
6012 | 6012 | | |
6013 | 6013 | | |
6014 | 6014 | | |
| |||
6094 | 6094 | | |
6095 | 6095 | | |
6096 | 6096 | | |
6097 | | - | |
| 6097 | + | |
6098 | 6098 | | |
6099 | 6099 | | |
6100 | 6100 | | |
6101 | 6101 | | |
6102 | 6102 | | |
6103 | 6103 | | |
6104 | | - | |
| 6104 | + | |
6105 | 6105 | | |
6106 | 6106 | | |
6107 | 6107 | | |
| |||
6117 | 6117 | | |
6118 | 6118 | | |
6119 | 6119 | | |
6120 | | - | |
6121 | | - | |
| 6120 | + | |
| 6121 | + | |
6122 | 6122 | | |
6123 | 6123 | | |
6124 | 6124 | | |
6125 | 6125 | | |
6126 | 6126 | | |
6127 | 6127 | | |
6128 | | - | |
6129 | | - | |
| 6128 | + | |
| 6129 | + | |
6130 | 6130 | | |
6131 | 6131 | | |
6132 | 6132 | | |
6133 | 6133 | | |
6134 | 6134 | | |
6135 | 6135 | | |
6136 | 6136 | | |
6137 | | - | |
6138 | | - | |
| 6137 | + | |
| 6138 | + | |
6139 | 6139 | | |
6140 | 6140 | | |
6141 | 6141 | | |
6142 | 6142 | | |
6143 | 6143 | | |
6144 | | - | |
| 6144 | + | |
6145 | 6145 | | |
6146 | 6146 | | |
6147 | 6147 | | |
| |||
6164 | 6164 | | |
6165 | 6165 | | |
6166 | 6166 | | |
6167 | | - | |
| 6167 | + | |
6168 | 6168 | | |
6169 | 6169 | | |
6170 | 6170 | | |
| |||
6196 | 6196 | | |
6197 | 6197 | | |
6198 | 6198 | | |
6199 | | - | |
| 6199 | + | |
6200 | 6200 | | |
6201 | 6201 | | |
6202 | 6202 | | |
| |||
6359 | 6359 | | |
6360 | 6360 | | |
6361 | 6361 | | |
6362 | | - | |
| 6362 | + | |
6363 | 6363 | | |
6364 | 6364 | | |
6365 | 6365 | | |
| |||
6719 | 6719 | | |
6720 | 6720 | | |
6721 | 6721 | | |
6722 | | - | |
| 6722 | + | |
6723 | 6723 | | |
6724 | 6724 | | |
6725 | 6725 | | |
| |||
6754 | 6754 | | |
6755 | 6755 | | |
6756 | 6756 | | |
6757 | | - | |
6758 | | - | |
| 6757 | + | |
| 6758 | + | |
6759 | 6759 | | |
6760 | 6760 | | |
6761 | 6761 | | |
| |||
0 commit comments