When there is no translator - how should it be possible to get to 'Blahblahblah' at all?
Because it is not explicietly stated in the documentation:
The "Engineering English" text that you see in the user interface for development builds is indicated with a //% comment. If you do not include this, the text ID will be shown in the user interface. This is especially important when you have texts with parameters. The //% comment needs to include the parameters indicators in the string. For example, //% "Number of files: %1"
I assumed that somehow the moc would take care of it. Again, my opinion is that the id based system is only useful on your own application level. Not for shared libraries. Because it requires manual action from users that develop applications on top of those libs. In the meantime I also noticed, that the Qt framework itself, despite containing a lot of strings and thus matching the description
This requires a little more work for the user interface developers but makes it much easier to manage large numbers of translated texts.
does not use the id based system at all.
I like the id based approach a lot, but I cannot deliver libraries to customers when there is a chance that they see cryptic text ids in their debug outputs. Default strings are a must have. Furthermore, imagine the situation when you want to have id based translations in your application but at the same time you want to use a translated qt framework, you are forced to mix plain text and text id approaches, since the framework is only using plain texts. And you have to load both id based and plain text
*.qm files together. This is discouraged as well by the documentation.
I will stay with the plain texts for now.