Page MenuHome

Some texts exists in the 'blender.pot' and are translated but did not appear in GUI
Closed, DuplicatePublic

Description

System Information
Operating system: Darwin-19.6.0-x86_64-i386-64bit 64 Bits

Blender Version
Broken: version: 2.91.0 Alpha, branch: master, commit date: 2020-08-13 18:18, hash: rB275f1039d22c

Short description of error

One text in particular, 'Force Field' as seen in this image:

A bit digging found that this text exists in this file:

blender/release/scripts/startup/bl_ui/properties_physics_common.py

and in this block of code:

if obj.field.type == 'NONE':
           col.operator("object.forcefield_toggle", text="Force Field", icon='FORCE_FORCE')
       else:
           col.operator("object.forcefield_toggle", text="Force Field", icon='X')

It turns out that the code did not have a reference to:

text_ctxt=i18n_contexts.default

which is used in the 'physics_add'

Event Timeline

Just to add the 'blender.mo' file I'm using is this one:

drop it to this directory of the executable:

datafiles/locale/vi/LC_MESSAGES/

then turn on the 'Vietnamese' translation in the 'Preferences->Interface' and you should see problem described.

I suggest you use the above translation file and go through every workspace layout, every menus and options, and spot texts where you could read, in English, then they are NOT translatable. I had gone through the whole blender.pot file (Revision: 5245) and translated all that was translatable, apart from the reserved words (such as data types, int, string, bool etc..). I also recorded about 0.5hrs worth of video showing all the screens, menus, and options I went through to check for untranslated words, but I thought that would be too much to post on here.

Thanks for report I think this is essentially same as T66844, but there may be some missing items. Force Field is missing there.

Do you have a list of these items or could you produce one? so we can update report T66844?

I do not have such a list. As I suggested, you just needed to switch to a foreign language of choice and use it as a mask to see untranslated text. You won't be able to read the mask. Then go through each screen layout, each menu/options and work out from there. There are of course two possibilities here:

  1. Text exists in blender.pot but is not yet translated (you can validate this against the PO file of the masked language)
  2. Text exits in blender.pot but is programmatically failed to appear on the screen, due to programming bug (as pointed out in the 'Force Field' example above.
  3. Text doesn't exist in blender.pot at all.

I don't know if you would have a function that could triggered in a 'DEBUG' mode or something, which when drawing texts on the screen, has failed to replace with a translation text, and the displayed text is identical to the source. Of course, limit this to menu/panel/options labels and not the data, which then keep a list of failed texts and print out to a debug file, or something. That would really help you to point out where the missing items are. I do not have the inside knowledge of Blender and thus can only suggest it as a direction you could go down to track out problem,.

I have decided to upload the screen recording video I made when reporting this problem. I think this is as far as I could do for you.

I am not sure how translation code works and if it is possible to create list of untranslatable strings programatically. I will have to investigate that. Thanks for sharing video though.