Crowdin In-Context shows pseudo-language key (crwdns6302:0crwdne6...) instead of translation

We are using In-Context and noticed that there are a few places where the crowdin specific key is not replaced by a translation and instead displays the key (e.g. See the key under 4054 in the screenshot below crwdns6302:0crwdne6…).

At first I thought it was because maybe the French translation file (message_fr.properties) was missing a translation for i18n key mapped in the “pseudo-language” key (messages_ach.properties) file.

However, it looks like all three files (pseudo-language (messages_ach.properties), English (messages.properties), French (messages_fr.properties) all have the same key.

Any thoughts on why the In-Context plugin would miss these?

This is what the HTML looks like

<a target="_blank" rel="noopener noreferrer" href="/openboxes/report/showBinLocationReport?location.id=8a8a9e9665c4f59d0165c54ec6b10027&amp;status=inStock" class="number-card">
    <div class="" style="display: inline;">
        <div class="number-div">
            <div class="number-body">
                <span class="title-card crowdin_jipt_translated">L'inventaire par lot et panier</span>
                <span class="result-card"> 4,054 </span>
                <span class="subtitle-card">crwdns6302:0crwdne6...</span>
            </div>
            <div class="number-infos">
                <div class="" data-tooltipped="" aria-describedby="tippy-tooltip-7" data-original-title="undefined" style="display: inline;">
                    <i class="fa fa-info-circle"></i>
                </div>
            </div>
            <span class="drag-handler"><i class="fa fa-ellipsis-v"></i></span>
        </div>
    </div>
</a>

Because I’m a new user, Discourse wouldn’t allow me to include two screenshots in the same post. So here’s a screenshot providing a look at the three messages*.properties files involved.

Hello @jcm62 any chance you can share link to website with me? From the glance, if in overall in context works fine, the reason is beneath those particular strings. Probably they’re marked somehow that tool desides that shouldnt be tranlsated at all. From the screenshot 1 i see that they’re translated as key as well. Try build the project, probably translations are outdated. Also, it’s only with French or other languages have the same behavior?

Thank you for the response.

  1. You can log into our demo instance at the following URL with the following credentials

    Login
    username: admin
    password: password

  2. Once you authenticate, choose Main Warehouse as your location (although any location would work).

  3. You’ll be redirected to the main dashboard. Here you’ll need to enter our “translation mode” feature.

  4. And then select the pseudo-language locale (Acoli) at the bottom of the page.

  5. Now you’ll be able to edit any translations on the page. The ones I’m having trouble with aren’t being picked up by In-Context feature, but I know they are there.

For example, here’s the String URL for the “crwdns13408:0crwdne…” key in the first card on the dashboard…

https://crowdin.com/translate/openboxes/16/en-fr?filter=basic&value=0#q=13408

This string is associated with the following i18n key which has a corresponding translation in our source (messages.properties) and French translation file (messages_fr.properties).

react.dashboard.subtitle.inStock.label

Also, it’s only with French or other languages have the same behavior?

Yes, it happens for all languages.

1 Like

Hello there, thanks for the details you’ve provided and the research you’ve done. I’m going to run a couple of tests from my side and confirm my assumptions with the development team as well.

Once I’ll have any news I’ll update you.

Hello @jcm62

Most likely there’s something from your side that cuts off / changes those stings, that’s why the system can’t parse those stings well. I’m assuming it’s related to this part of your HTML file: “subtitle card”>crwdns6302:0crwdne6.

I see you’ve emailed us directly, let’s continue our conversation in that thread.

Thank you. You were correct.

<span className="subtitle-card">
  {_.truncate(translate(cardSubtitle, cardSubtitle), { length: 22 })}
</span>

Seems obvious now, so apologies for posting this question.

1 Like

No need to apologies, glad to hear that all works fine now :wink: