Home > Software engineering >  Behavior QT translate tr() method with arguments (%1)
Behavior QT translate tr() method with arguments (%1)

Time:08-30

Will dynamic translation work for such a code:

const QString myText = tr("%1 Hello World").arg(someVar);

I have few doubts:

1: Will the translation entry be generated for above code (when running lupdate). If yes, will the "%1" argument part be ignored?

2: Is the above code correct ? Should the dynamic part be translated separately before using it in the argument with tr. Provided we know all possible value of someVar

CodePudding user response:

When your run lupdate, you will see this in your .ts file:

<source>%1 Hello World</source>

The translator will need to know they can just ignore the '%1' part.

If someVar is a number, there is no need to do anything else. If it's a string, it will need to be translated separately.

  • Related