Translation does not work at all

I have a delivery slip template that needs to provide translations for strings to multiple languages.

I tagged the words that need to be translated and the tagging works as I can see when I activate the highlighting feature:

I exported the pot file and created a translation to nl_NL in Poedit. I translated the strings, saved the po file and loaded it from the local C: drive in the Translation section of the resource tree:

image

I set the locale from a Datamapper field:

I have tried both ISO-639-1 variations here, “nl” and “nl-NL” (is that even correct? Documentation says it has to be nl-NL, but afaik nl_NL would be correct - but of course I guess your documentation should be correct here).

But nothing is translated.

What is the problem?

TIA.

Do you see an error message in the Message pane?

If so, it could be due to the format of the PO file from latest versions of POEdit.

Unless you set plurals in it, it won’t put this line in it:
“Plural-Forms: nplurals=2; plural=(n==1) ? 0 : 1;\n”

If this is the case, simply add that line in your PO file(s) as the last line of the header part.

image

1 Like

No, I see no error messages in the message pane.

Did you tried my workaround by adding the line in the .PO file?

I understood that this is only the solution if I see errors in the message pane.

I added the line to the po file and now it works. Thanks. That should be added to the documentation, it would probably save other users from hours of work.

If there is no translation for a tagged word in the po file, the word is empty in the translated document. Shouldn’t that fall back to the original language string, at least that is how I know it from other software that is translateable via po/mo files.

It was giving an error in older version of the software. Most likely now it doesn’t give an error but still doesn’t work. I will notify our R&D.

We’ve filed a bug for this (internal ref: SHARED-90209)

This still does not work as expected.

If I use new Translation → PO files

the po files are embedded and if the pluralization fix is in there the translation works, but if the translations files change (which happens comparativley often) it is not updated and there also is no update indicator at the file in designer. The “Update” option in context menu is greyed out.

Is it really true that to update the translation someone would have to open the template and update it manually? That is not how translations via pot/po files work in other software.

If I use new Translation → Remote PO files

The translation does not work at all. If I open the remote po file, the Pluralization fix is not in there. If I open the same file in a text editor, the Pluralization fix is in there.

I suggest you open a technical support ticket through our website.
This way an agent will be able to see and reproduce the issue and help you further.

The missing plural forms was reporterted after POEdit changed their default translation properties for plurals. In previous versions these were always added but in more recent versions this is no longer the case. To enable the old behavior in POEdit:

  1. Choose: Translation > Properties
  2. Select: Use default rules for this language
  3. Click OK and Save the po file

This adds the plural rules for the specified language.

In ticket SHARED-90209 we plan to add the default plural rules for po files based on the specified ISO language (but only when the plural form is not found).

It sounds like the remote translations are cached. Please retry after selecting: View > Refresh

This happens automatically for .rpo files on generating output.

We will investigate this further and created a ticket (internal ref: SHARED-91620). Let’s see how we can improve the behavior in a future version. I feel these should be fetched on invoking the Preview mode and when double clicking the rpo file.

So do I understand this correct? Neither local nor remote translation files are automatically updated in Designer if they are changed? I always have to open the template in designer and update them manually? That does not seem realistic in a production environment, because:

The reason for translation files is usually that a translation editor can change them, the translations then may be reviewed by an editor and rolled out and used. Not IT people have to be involved in this.

With your software there always is the need for someone from the IT department to open and update the translations in Designer, because both options to include translations files do not autoupdate them, not even if you use the remote file.

I am sure you do agree that this is not a reasonable approach in a production environment and defies the reason for external translation files?

Embedded resources require the user to update them in the template manually. Remote resources are automatically fetched on generating output (only the path is stored with the template).

Ah, sorry, I misunderstood that. So the remote resources are actually refreshed automatically, good to know.

However, the problem persists that remote translation files do not work at all. Not in the preview and not in test documents, even if the pluralization fix is in there.

Thanks for the hint, but it is already set this way in Poedit.

Did you try the Refresh button in the View menu?

Yes, I did.

(this is to add stuff to get to 20 characters minimally needed for a post).

If you enter the URL of the remote PO file into a web browser, does it display the correct contents?

Yes, it does:

I’m not able to reproduce it. I tried using both the file: and http: protocols. Both work on my end when invoking the Refresh option in the View. I suggest to create a tech support ticket as jchamel suggested earlier. Provide your files with the request so the support team can have a look.