SFCC Resource Bundle Locale Diff
Paste two or more .properties bundles. The tool surfaces missing keys, extra keys, and value drift across locales.
Total keys
5
Locales
2
Value mismatches
3
Missing keys
- en: none
- fr: 2
checkout.button.checkout, checkout.message.thanks
Extra keys
- en: none
- fr: none
| Key | en | fr |
|---|---|---|
| checkout.button.checkout | Checkout | — |
| checkout.button.continue | Continue | Continuer |
| checkout.cart.empty | Your cart is empty | Votre panier est vide |
| checkout.cart.title | Your Cart | Votre panier |
| checkout.message.thanks | Thank you! | — |
About SFCC Resource Bundle Diff
Compare SFCC .properties resource bundles across locales to find missing translations, extra keys, and value drift before they ship as silent untranslated strings on your storefront. Paste two or more locale files and get a key-by-key matrix with per-locale missing/extra counts.
Pipeline
- Text Diff — compare two individual locale files line by line.
Frequently asked
- What is a resource bundle in SFCC?
- Resource bundles are Java .properties files that store translatable strings for SFRA and SiteGenesis storefronts. Each cartridge has a /cartridge/templates/resources/ directory containing one .properties file per locale (e.g. account.properties, account_fr.properties, account_de_DE.properties). The storefront loads the file matching the active locale and falls back to the default.
- What does "missing key" mean?
- A key present in the reference locale (usually en) but absent in another locale. At runtime, SFCC falls back to the default locale for missing keys — so the page renders, but in the wrong language. These are silent bugs that only surface during QA or after a customer complaint.
- What does "extra key" mean?
- A key present in a non-reference locale but not in the reference. This usually means a key was deleted from the reference but not cleaned up in translations, or a translator added a locale-specific key by mistake.
- What is a value mismatch?
- Two locales have the same key but different values. This is expected for translations, but the tool counts it so you can spot cases where a value was accidentally left identical across locales (untranslated) or where a placeholder like {0} is present in one locale but missing in another.
- Does this tool handle continuation lines and Unicode escapes?
- Yes. The parser implements the full Java .properties spec: backslash line continuation, key/value separators (=, :, whitespace), and \uXXXX Unicode escapes. It also detects duplicate keys within a single file.