Hi everyone,
I’m facing a strange internationalization (i18n) issue with a custom Splunk app where German translations are being overwritten by English strings specifically after the dashboard finishes rendering.
Environment & Setup
Splunk Version: 10.2
App Structure: ...\etc\apps\<app_name>\locale\de_DE\LC_MESSAGES\messages.mo (and .po)
Customizations: Dashboards utilize custom JavaScript and CSS.
History: This setup worked perfectly a few months ago. No changes have been made to the .po or .mo files since then.
The Problem
When loading a dashboard via the /de-DE/ locale in the URL, the translation initially works. While the "Loading..." bar is active, the labels correctly appear in German.
However, as soon as the searches complete and the dashboard finishes rendering:
Custom App Strings: All labels and titles defined in my app’s messages.mo "flicker" and revert back to English.
Splunk Default Strings: Core UI elements (menus, loading bars, etc.) stay in German. I’ve confirmed these are correctly pulling from:
...\splunk\appserver\mrsparkle\locale\de_DE\LC_MESSAGES\messages.po
It seems like the server-side render is correct, but the client-side UI hand-off is losing the custom app's translation catalog.
What I’ve Checked So Far
String Matching: Verified msgid strings in the .po file exactly match the XML labels (no extra spaces/case issues).
Permissions: All folders and files have correct read permissions.
Validation: The initial "flicker" proves the .mo file is being read initially, but it is being overwritten later in the lifecycle.
Questions
Has anyone seen this "flickering" behavior in Splunk 10.x where custom JS/CSS might interfere with the i18n catalog after the DOM is fully loaded?
Are there specific logs (beyond web_service.log) that I can check to see the exact moment these strings are being replaced?
Could a recent Splunk version change affect how the client-side UI hydrates the translation catalog for custom apps?
Any insights or troubleshooting tips would be greatly appreciated!
Thanks,
Sanjai
Hi @livehybrid ,
Thanks for the quick response.
I did try bumping and debug/refresh, but it didn’t help. I’ll spend some time investigating further and see what I can find. If I’m unable to resolve it, I’ll go ahead and raise a ticket.
Hi @sanjai
I havent seen this issue previously, the first thing I would try is clearing the web UI cache with the bump endpoint: http://<host:mport>/<locale_string>/_bump
(See https://help.splunk.com/en/splunk-enterprise/developing-views-and-apps-for-splunk-web/10.2/customize... for more info)
Then give the page a force refresh and see if it resolves the issue. If not then I would recommend raising a support case (https://splunk.com/support) and give them as much information about the issue as possible and they can help look into this for you.
🌟 Did this answer help you? If so, please consider:
Your feedback encourages the volunteers in this community to continue contributing
Hi Everyone,
I did some further testing to isolate why some strings translate and others don't. It seems the issue is tag-specific.
The Test: I created a clean dashboard using the exact same strings in different tags.
The Result:
SUCCESS: Strings inside <title>, <label>, and <description> translate perfectly into German.
FAILURE: The exact same strings inside <h3>, <ul>, or <li> tags (within an <html> block) stay in English.
The Code I used for testing:
<dashboard version="1.1">
<label>i18n String Verification</label>
<description>XXXX is a product for monitoring XXXXX application usage and performance.</description>
<row>
<panel>
<title>Top 10 users with most actions</title>
<html>
<p>Panel content here...</p>
</html>
</panel>
<panel>
<title>Top 10 machines with most actions</title>
</panel>
</row>
<row>
<panel>
<title>Top 10 users with most actions</title>
</panel>
<panel>
<title>Top 10 machines with most actions</title>
</panel>
</row>
<row>
<panel>
<html>
<h2>Testing Dashboard Labels:</h2>
<ul>
<li><strong>Label 1:</strong> Top 10 users with most actions</li>
<li><strong>Label 2:</strong> Top 10 machines with most actions</li>
<li><strong>Label 3:</strong> Captured actions by type</li>
<li><strong>Label 4:</strong> Discarded actions by type</li>
<li><strong>Label 5:</strong> Captured actions timeline</li>
<li><strong>Label 6:</strong> Top 25 most time-consuming UI actions (by UI value)</li>
</ul>
</html>
<html>
<h3>Top 10 users with most actions</h3>
<h3>Top 10 machines with most actions</h3>
<h3>Captured actions by type</h3>
<h3>Captured actions by type</h3>
<h3>Top 25 most time-consuming UI actions (by UI value)</h3>
<h3>Captured actions timeline</h3>
<h3>Discarded actions by type</h3>
</html>
</panel>
</row>
</dashboard>
What this confirms: My .mo and .po files are correctly compiled and located, otherwise the <title> wouldn't work. It seems Splunk 10.0.2’s translation engine ignores text nested inside <html> tags in Simple XML.
Since my real app relies heavily on custom HTML and JavaScript, how can I force Splunk to include these HTML-wrapped strings in the i18n catalog? Is there a way to make the server-side parser scan inside <html> blocks?
I'm not sure if I'm missing a simple setting or if this requires a more complex workaround. I’d appreciate any insights or thoughts you might have on why these specific tags are being skipped.
Thanks,
Sanjai Sankar