The JSON opens, but your greeting has lost its name: review it before export

AI-generated image; illustrative scene.
The source greeting says Hello, {name} and the Spanish proposal says Hola. The place where our example application inserts the name has disappeared. Fix the placeholder first; then review the meaning of the rest of the message. A file that parses as JSON can still contain an incorrect translation.
We will resolve an invented two-resource example. The sample application replaces the literal {name} with Ada; that behavior is defined here, not supplied by JSON. The proposals below are ours, not results obtained from Iria.
The file opens, but both messages fail
This is the source:
{
"greeting": "Hello, {name}",
"saveNotice": "Changes have not been saved."
}
And this is the proposal to review:
{
"greeting": "Hola",
"saveNotice": "Se han guardado los cambios."
}
There are two different problems. In greeting, {name} has disappeared. In saveNotice, the negation is lost: the Spanish text now says the changes were saved. Adding a variable would not fix that second sentence.
The review of our example looks like this:
| Resource | What to check | Proposed correction |
|---|---|---|
greeting | Preserve the literal placeholder | Hola, {name} |
saveNotice | Keep the meaning that changes remain unsaved | No se han guardado los cambios. |
Check the result, beyond the braces
The corrected file is:
{
"greeting": "Hola, {name}",
"saveNotice": "No se han guardado los cambios."
}
Under the stated contract, replacing {name} with Ada produces Hola, Ada. The previous version produced only Hola. The second message again says the changes have not been saved. To choose the final wording for a real application, also check when it appears: during an unfinished edit or after a failed save attempt.
In RESX, you can document that context alongside the resource. This fragment is illustrative; it is not a complete RESX file:
<data name="saveNotice" xml:space="preserve">
<value>No se han guardado los cambios.</value>
<comment>Shown after a save request fails; changes remain unsaved.</comment>
</data>
name identifies the resource; value contains the message. Microsoft describes RESX as XML resources with name/value pairs; the documentation shows a resource file with its format elements, not just this fragment. The comment explains our chosen case. Checking that XML is well formed and checking that the translation preserves the negation remain separate jobs.
Where Iria Localization Studio fits
The current Studio documentation describes local JSON and RESX string-resource projects on Windows, with multiple files, context, a glossary, drafts, review, and export to a new folder. Iria’s public reference identifies download 1.0.21 and says it includes the documented Studio 1.0.20 workflow. The documentation organizes the workflow into a project, context, drafts, review and export. Prepare your resource review as follows:
- Keep the original and open a project with the files you want to localize.
- Add the message context and relevant terminology. According to Studio’s guide, new RESX keys can inherit their comment as context when imported.
- Generate drafts and compare each important translation with its source and context.
- Review blockers, approve the appropriate resources, and export to a new folder. Integrate that copy into your own test application before distributing it.
Neither the substitution example nor the corrected negation certifies an Iria result. Contextual verification belongs to your project: open the screen containing these two messages and check each with your test data.
Two reviews before calling the file ready
Check the two example corrections separately:
| Manual check with fictional data | Expected result under the example’s contract |
|---|---|
Replace the literal {name} with Ada in greeting | Hola, Ada |
Display saveNotice after the failed save defined in its comment | No se han guardado los cambios. |
The first review checks name insertion. The second preserves negation and the chosen context. Fixing greeting does not fix saveNotice: review both resources before approving them.
Studio’s documentation separates structural checks from meaning review. Keep default human review: compare resources with the original and context, consult blockers and approve checked corrections before exporting to a new folder. Then integrate that copy into your test application and check both cases there.
The table defines results for this literal-replacement example; it does not certify an Iria run or compatibility with other variable engines. If your application uses different syntax or displays the notice in another situation, start from that actual contract.
Other references for preparing a review
Crowdin documents its placeholders, and Weblate explains special text and translation context. They are alternatives to investigate if you need a different localization workflow. We have not compared their accuracy with Iria here: we have resolved a review example you can check separately. References consulted on 23 October 2026.
Format reference: Microsoft, RESX resources.
Before taking the example into your project
First check what you want to localize: this workflow handles JSON and RESX string resources, not complete documents with layout preservation. Review the published languages and formats before preparing your files. The two-resource example does not establish compatibility with every structure or variable engine.
Iria is a paid Windows product. Inference runs locally, while license validation and model downloads use the network. Before installing, review the product, requirements and current download and its capabilities and limits. If the workflow fits, keep a source copy and prepare an application test case where you can check both the inserted name and the unsaved-changes notice.