Translated Interface when enable Tooltips #76101

Closed
opened 2020-04-25 18:24:42 +02:00 by Grigoriy Titaev · 31 comments

Operating system: Windows
Blender Version: 2.83.15

Short description of error
If you enable translation "Tooltips" then some interface elements are translated.
They must be translated if you enable translation "Interface", not "Tooltips".
Blender translation.png

Operating system: Windows Blender Version: 2.83.15 **Short description of error** If you enable translation "Tooltips" then some interface elements are translated. They must be translated if you enable translation "Interface", not "Tooltips". ![Blender translation.png](https://archive.blender.org/developer/F8494626/Blender_translation.png)

Added subscriber: @gtitaev

Added subscriber: @gtitaev

#76228 was marked as duplicate of this issue

#76228 was marked as duplicate of this issue
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Member

Added subscriber: @ankitm

Added subscriber: @ankitm
Member

Added subscriber: @pablovazquez

Added subscriber: @pablovazquez

Added subscriber: @brecht

Added subscriber: @brecht

This is a matter of going through the code and changing TIP_ to IFACE_ in a bunch of places.

This is a matter of going through the code and changing `TIP_` to `IFACE_` in a bunch of places.
Member

Added subscriber: @HooglyBoogly

Added subscriber: @HooglyBoogly
Member

@brecht In general the only string that should use TIP_ are the tooltips that show up on mouse hover, right? Just want to be sure, then I can fix this stuff when I run into it.

@brecht In general the only string that should use `TIP_` are the tooltips that show up on mouse hover, right? Just want to be sure, then I can fix this stuff when I run into it.

@HooglyBoogly indeed, that's how I would expect the option to work. The idea being that you can enable just tooltips and have interface completely in English, except when hovering over buttons.

@HooglyBoogly indeed, that's how I would expect the option to work. The idea being that you can enable just tooltips and have interface completely in English, except when hovering over buttons.
Member

Do you think it's fine to commit those fixes or would a patch be necessary?

Do you think it's fine to commit those fixes or would a patch be necessary?

You can commit those fixes directly.

You can commit those fixes directly.
Member

Added subscriber: @mont29

Added subscriber: @mont29
Member

While looking into this I actually found this commit from @mont29: 23df1a774b

I realized I was mostly reversing those changes so it's probably best to talk about it first.
There seems to be lots of confusion about what the "Interface" property in preferences means.
I get the argument that these strings are sort of like tooltips, but it doesn't seem clear to me that
that setting is meant to change reports and status text as well. That's why we get bug reports about it.

Admittedly I don't have the experience of using Blender in a language besides my native language, but
I would suggest a couple options:

  1. Add a third option for for reports and messages
  2. Clarify the meaning / name of the "Interface" property
  3. Only translate these areas with interface translation turned on.
While looking into this I actually found this commit from @mont29: 23df1a774b I realized I was mostly reversing those changes so it's probably best to talk about it first. There seems to be lots of confusion about what the "Interface" property in preferences means. I get the argument that these strings are sort of like tooltips, but it doesn't seem clear to me that that setting is meant to change reports and status text as well. That's why we get bug reports about it. Admittedly I don't have the experience of using Blender in a language besides my native language, but I would suggest a couple options: 1. Add a third option for for reports and messages 2. Clarify the meaning / name of the "Interface" property 3. Only translate these areas with interface translation turned on.
Member

Added subscriber: @JulianEisel

Added subscriber: @JulianEisel
Member

From what Hans linked and explained, there is a design question. And what's reported here is an intentional change. So changing this into a known issue, it's not a bug.

From what Hans linked and explained, there is a design question. And what's reported here is an intentional change. So changing this into a known issue, it's not a bug.
Bastien Montagne added this to the User Interface project 2023-02-09 15:34:10 +01:00
Philipp Oeser removed the
Interest
User Interface
label 2023-02-10 09:24:31 +01:00

The way it works now sometimes gets in the way. Sometimes you have to disable and enable tooltips.

  1. Add a third option for for reports and messages

This seems to be a more flexible solution:

  • "Tooltips" TIP_ only for tooltips that show up on mouse hover.
  • And add new option "Interface Tips" ITIP_ for some interface messages.
The way it works now sometimes gets in the way. Sometimes you have to disable and enable tooltips. > 1. Add a third option for for reports and messages This seems to be a more flexible solution: - "Tooltips" `TIP_` only for tooltips that show up on mouse hover. - And add new option "Interface Tips" `ITIP_` for some interface messages.
Member

My opinion is that we should make these changes, replacing TIP_ to IFACE_ for usages that are not for popup tooltips.

I think Brecht's comment explains the intent with these perfectly: "you can enable just tooltips and have interface completely in English, except when hovering over buttons". If "Tooltips" is enabled but not "Interface" the program should be indistinguishable from running it in English, expect when you hover over an item to see a tooltip. Every other part, including logs, warnings, info, and even console messages should be in English. This is meant for bilingual users who want to run the program as they see it in tutorials but still need to confirm some parts with the tooltips in their native language.

Much more controversial, is that once this is done I think we should consider taking this a step further. Allow the program to display the interface in any language and the tooltips in any language. Therefore the intent for this to aid bilingual users extends to everyone, not just being bilingual with English.

The use case for this might seem small for those of us who speak English, but the world has a very large amount of people who know more than one language that does not include English. For these users they are likely to watch tutorials in the more popular of their languages but might need tooltips for their native one.

My opinion is that we **should** make these changes, replacing `TIP_` to `IFACE_` for usages that are not for popup tooltips. I think Brecht's comment explains the intent with these perfectly: "you can enable just tooltips and have interface completely in English, except when hovering over buttons". If "Tooltips" is enabled but not "Interface" the program should be indistinguishable from running it in English, expect when you hover over an item to see a tooltip. Every other part, including logs, warnings, info, and even console messages should be in English. This is meant for bilingual users who want to run the program as they see it in tutorials but still need to confirm some parts with the tooltips in their native language. Much more controversial, is that once this is done I think we should _consider_ taking this a step further. Allow the program to display the interface in any language and the tooltips in any language. Therefore the intent for this to aid bilingual users extends to everyone, not just being bilingual with English. The use case for this might seem small for those of us who speak English, but the world has a very _large amount of people who know more than one language that does not include English_. For these users they are likely to watch tutorials in the more popular of their languages but might need tooltips for their native one.

I fully disagree here.

The points of these options is not to be pretty or neat, it's to help as much as possible users who are not at ease enough in English. As such, the current distinction between UI and Tooltip options has been based on how complex and informative the message is, vs. how important it is to keep it in English to be able to follow documentation referencing the default UI:

  • Tooltips, log/error messages, and other long(ish) info are typically more complicated English, and the vast majority of these will not appear by default in the UI. Further more, their reference in documentation will also be fairly rare.
  • Labels are very short, usually simpler English, and are omnipresent in default UI, and in documentation.

I'd rather improve current naming and descriptions of the options, than change their current behavior. Adding a third 'interface tip' would be more acceptable, but right now I don't really see the benefits of it...

@gtitaev I would like to know what is exactly your issue with the current design? Why do you have to sometimes enable/disable tooltips option?

As for mixing two different, non-English languages in the UI, the change would be trivial technically, but would add more clutter in the settings. And I highly doubt it would add any actual benefit to the users, even bi-lingual ones that do not know any English. At least given the current state of most of our translations.

  • Typically users will be (way) more at ease in one language anyway, in which case they would just choose their same 'best' language for both UI and tooltips.
  • Only potentially useful case where users would want to enable two different languages I can think of would be if their primary language was very poorly translated - but in such case, that would lead to having three languages in the end, English, one good-enough translation that would not be the ideal choice, and one poor translation in their primary language... Does not sound like a nice situation to me.
  • On top of that, getting proper terminology consistency within a single translation is already... far from trivial. And terminology choices vary widely between translations. Another great source of confusion.
I fully disagree here. The points of these options is not to be pretty or neat, it's to help as much as possible users who are not at ease enough in English. As such, the current distinction between UI and Tooltip options has been based on how complex and informative the message is, vs. how important it is to keep it in English to be able to follow documentation referencing the default UI: * Tooltips, log/error messages, and other long(ish) info are typically more complicated English, and the vast majority of these will not appear by default in the UI. Further more, their reference in documentation will also be fairly rare. * Labels are very short, usually simpler English, and are omnipresent in default UI, and in documentation. I'd rather improve current naming and descriptions of the options, than change their current behavior. Adding a third 'interface tip' would be more acceptable, but right now I don't really see the benefits of it... @gtitaev I would like to know what is exactly your issue with the current design? Why do you have to sometimes enable/disable tooltips option? As for mixing two different, non-English languages in the UI, the change would be trivial technically, but would add more clutter in the settings. And I highly doubt it would add any actual benefit to the users, even bi-lingual ones that do not know any English. At least given the current state of most of our translations. * Typically users will be (way) more at ease in one language anyway, in which case they would just choose their same 'best' language for both UI and tooltips. * Only potentially useful case where users would want to enable two different languages I can think of would be if their primary language was very poorly translated - but in such case, that would lead to having three languages in the end, English, one good-enough translation that would not be the ideal choice, and one poor translation in their primary language... Does not sound like a nice situation to me. * On top of that, getting proper terminology consistency within a single translation is already... far from trivial. And terminology choices vary widely between translations. Another great source of confusion.
Member

Main problem is that the Preferences clearly provide an option labeled "Tooltips" which affects way more than tooltips. This is misleading and keeps causing confusion. Not just for users, how many times did we have to correct the code and explain this to developers?

I think there is use in keeping explanation texts (tooltips) translated to make them more understandable, while keeping things like warning, error or even info messages in English. This way you can search for the message online and find more help this way. So to me it seems like this should be a separate option (and we make the "Tooltips" option only actually apply to tooltips!).

Main problem is that the Preferences clearly provide an option labeled "Tooltips" which affects way more than tooltips. This is misleading and keeps causing confusion. Not just for users, how many times did we have to correct the code and explain this to developers? I think there is use in keeping explanation texts (tooltips) translated to make them more understandable, while keeping things like warning, error or even info messages in English. This way you can search for the message online and find more help this way. So to me it seems like this should be a separate option (and we make the "Tooltips" option only actually apply to tooltips!).

@gtitaev I would like to know what is exactly your issue with the current design?

Inconsistency, bilingualism of the interface.
The same thing in the status bar and interface in different languages, it sometimes causes confusion.
It would like the terminology, parameters, tools, operations, ... to be in the same language everywhere.
Translation - Status Bar.png

Why do you have to sometimes enable/disable tooltips option?

There were a couple of places in the interface where what was not needed was translated, like this: #106422.
Now I don't remember where it was, maybe it was fixed in new versions.

  • Typically users will be (way) more at ease in one language anyway, in which case they would just choose their same 'best' language for both UI and tooltips.

I prefer the entire interface in English (including all messages), and only tooltips in my language.
It may be useful for someone to translate messages in the interface (as it is done now), but I would prefer to be able to disable this.

Ideally, to meet the needs of all users, there should be three parameters in the settings:

  1. Translate only the tooltips.
  2. Translate in the interface: messages, other hints, ...
  3. Translate the entire interface.
> @gtitaev I would like to know what is exactly your issue with the current design? Inconsistency, bilingualism of the interface. The same thing in the status bar and interface in different languages, it sometimes causes confusion. It would like the terminology, parameters, tools, operations, ... to be in the same language everywhere. ![Translation - Status Bar.png](/attachments/2b491666-086e-4380-84ee-10acff021ce4) > Why do you have to sometimes enable/disable tooltips option? There were a couple of places in the interface where what was not needed was translated, like this: #106422. Now I don't remember where it was, maybe it was fixed in new versions. > * Typically users will be (way) more at ease in one language anyway, in which case they would just choose their same 'best' language for both UI and tooltips. I prefer the entire interface in English (including all messages), and only tooltips in my language. It may be useful for someone to translate messages in the interface (as it is done now), but I would prefer to be able to disable this. Ideally, to meet the needs of all users, there should be three parameters in the settings: 1. Translate only the tooltips. 2. Translate in the interface: messages, other hints, ... 3. Translate the entire interface.

I think there is use in keeping explanation texts (tooltips) translated to make them more understandable, while keeping things like warning, error or even info messages in English. This way you can search for the message online and find more help this way. So to me it seems like this should be a separate option (and we make the "Tooltips" option only actually apply to tooltips!).

I think this suggestion by @JulianEisel was good.

@mont29 in your previous comment you said you didn't see the benefit, but it seems others here do and there are no significant downsides that I can see. Do you have any objection to that change, can someone just go ahead and implement it?

> I think there is use in keeping explanation texts (tooltips) translated to make them more understandable, while keeping things like warning, error or even info messages in English. This way you can search for the message online and find more help this way. So to me it seems like this should be a separate option (and we make the "Tooltips" option only actually apply to tooltips!). I think this suggestion by @JulianEisel was good. @mont29 in your previous comment you said you didn't see the benefit, but it seems others here do and there are no significant downsides that I can see. Do you have any objection to that change, can someone just go ahead and implement it?

Am not convinced (mainly because this adds yet another set of macros and option for i18n), but not really opposed to it either, if other people think this is helpful.

For the naming base of this new set, we could use report (and RPT for short, for the macros e.g.)?

I can do the initial 'low-level' change, but could use some help to track down all cases in the UI messages that needs to be modified. And i18n doc will also need to be updated. @pioverfour maybe would be interested in helping (or fully taking over to implement this change, think it's fairly straightforward)?

Am not convinced (mainly because this adds yet another set of macros and option for i18n), but not really opposed to it either, if other people think this is helpful. For the naming base of this new set, we could use `report` (and `RPT` for short, for the macros e.g.)? I can do the initial 'low-level' change, but could use some help to track down all cases in the UI messages that needs to be modified. And i18n doc will also need to be updated. @pioverfour maybe would be interested in helping (or fully taking over to implement this change, think it's fairly straightforward)?
Member

@mont29 Hi, I could definitely help with it. I also think it’s straightforward but I’ll need to try it to know if it’s in my reach. I’ll let you know soon.

FWIW I agree that the current state is confusing both for developers and users, and a new category would help. report sounds good to me at first glance, but it might need to be changed when we go over the various uses, if it turns out not to fit. At first I was thinking of "Extra info" / info myself, but not too sure about it.

I also agree with Harley’s assessment that for many folks, it would be useful to set a different language for each category. But that’s another step.

@mont29 Hi, I could definitely help with it. I also think it’s straightforward but I’ll need to try it to know if it’s in my reach. I’ll let you know soon. FWIW I agree that the current state is confusing both for developers and users, and a new category would help. `report` sounds good to me at first glance, but it might need to be changed when we go over the various uses, if it turns out not to fit. At first I was thinking of "Extra info" / `info` myself, but not too sure about it. I also agree with Harley’s assessment that for many folks, it would be useful to set a different language for each category. But that’s another step.

Regarding multi-languages selection, I would like to get answers to my reasoning about why I find it a bad idea then. :)

  • Typically users will be (way) more at ease in one language anyway, in which case they would just choose their same 'best' language for both UI and tooltips.
  • Only potentially useful case where users would want to enable two different languages I can think of would be if their primary language was very poorly translated - but in such case, that would lead to having three languages in the end, English, one good-enough translation that would not be the ideal choice, and one poor translation in their primary language... Does not sound like a nice situation to me.
  • On top of that, getting proper terminology consistency within a single translation is already... far from trivial. And terminology choices vary widely between translations. Another great source of confusion.
Regarding multi-languages selection, I would like to get answers to my reasoning about why I find it a bad idea then. :) > * Typically users will be (way) more at ease in one language anyway, in which case they would just choose their same 'best' language for both UI and tooltips. > * Only potentially useful case where users would want to enable two different languages I can think of would be if their primary language was very poorly translated - but in such case, that would lead to having three languages in the end, English, one good-enough translation that would not be the ideal choice, and one poor translation in their primary language... Does not sound like a nice situation to me. > * On top of that, getting proper terminology consistency within a single translation is already... far from trivial. And terminology choices vary widely between translations. Another great source of confusion.
Member

I can’t say it better than Harley, that while English seems to have the majority of documentation compared to other languages, you can find tutorials and information in many others. It’s easy to imagine someone speaking, say Catalan and Spanish, or Turkish and German, or Nepali and Hindi, or any combination of languages where a specific tutorial exists only in one language, wanting to have tooltips in one and interface in the other.

I don’t think we should limit the choice based on the current state of translations, especially with many languages making good progress since the new Weblate interface. Even if one or both risk being only partially translated, it’s better than nothing for someone speaking no English, IMO.

As to the confusion from terminology, I’m not knowledgeable enough about linguistics to know how much of a problem it is. But here too I think it’s better than nothing, and a separate issue.

I can’t say it better than Harley, that while English seems to have the majority of documentation compared to other languages, you can find tutorials and information in many others. It’s easy to imagine someone speaking, say Catalan and Spanish, or Turkish and German, or Nepali and Hindi, or any combination of languages where a specific tutorial exists only in one language, wanting to have tooltips in one and interface in the other. I don’t think we should limit the choice based on the current state of translations, especially with many languages making good progress since the new Weblate interface. Even if one or both risk being only partially translated, it’s better than nothing for someone speaking no English, IMO. As to the confusion from terminology, I’m not knowledgeable enough about linguistics to know how much of a problem it is. But here too I think it’s better than nothing, and a separate issue.

For multiple languages, I guess that should not be about picking which parts of the UI use which language, but rather about choosing a fallback language other than English for everything.

And those fallback languages probably should only be ones that are > 99% translated. So for example you could have 54% translated Portuguese fall back to Spanish.

For multiple languages, I guess that should not be about picking which parts of the UI use which language, but rather about choosing a fallback language other than English for everything. And those fallback languages probably should only be ones that are > 99% translated. So for example you could have 54% translated Portuguese fall back to Spanish.

Sounds doable, since we already sort languages by completeness for the menu, for the second backup we could just show these in the Complete section (although current threshold is 95%).

But that means that the list of backup will get languages added and removed (almost) every week on translations updates... Not an issue for releases, but could be annoying for users of the nightly builds?

Also, how should 'disabled translations' categories be handled then (e.g. if user disable the translation of tooltips, do these show in English, or in the fallback language)?

Sounds doable, since we already sort languages by completeness for the menu, for the second backup we could just show these in the `Complete` section (although current threshold is 95%). But that means that the list of backup will get languages added and removed (almost) every week on translations updates... Not an issue for releases, but could be annoying for users of the nightly builds? Also, how should 'disabled translations' categories be handled then (e.g. if user disable the translation of tooltips, do these show in English, or in the fallback language)?

I don't know what exactly the right threshold is. I would guess > 95 is going to be pretty stable in practice.

I think disabled translations would show in the fallback language, if this is for users who don't understand English that well. Having 3 languages used seems a bit much.

I don't know what exactly the right threshold is. I would guess > 95 is going to be pretty stable in practice. I think disabled translations would show in the fallback language, if this is for users who don't understand English that well. Having 3 languages used seems a bit much.
Member

Creating !116804 was indeed a rather straightforward copy-paste affair, but going over most or all uses of each macro should take much longer!

Messages that are not obvious are those that appear as labels in panels, but contain extra information currently translated with TIP_(). One example is the light cache status in EEVEE’s Indirect Lighting panel:
image

Or various messages displayed in modifiers:
image

I’d like to bring those back to the regular interface translation, but they could also be switched to RPT_().

Creating !116804 was indeed a rather straightforward copy-paste affair, but going over most or all uses of each macro should take much longer! Messages that are not obvious are those that appear as labels in panels, but contain extra information currently translated with `TIP_()`. One example is the light cache status in EEVEE’s Indirect Lighting panel: ![image](/attachments/fbb8d800-0447-419d-b045-e7c62bc0d492) Or various messages displayed in modifiers: ![image](/attachments/5876dbaf-1760-47cd-a6a1-1425ab6b9639) I’d like to bring those back to the regular interface translation, but they could also be switched to `RPT_()`.

Creating !116804 was indeed a rather straightforward copy-paste affair, but going over most or all uses of each macro should take much longer!

Nice! 👍

Messages that are not obvious are those that appear as labels in panels, but contain extra information currently translated with TIP_(). One example is the light cache status in EEVEE’s Indirect Lighting panel:
image

Or various messages displayed in modifiers:
image

I’d like to bring those back to the regular interface translation, but they could also be switched to RPT_().

I would also expect these to be moved to the new report category indeed!

> Creating !116804 was indeed a rather straightforward copy-paste affair, but going over most or all uses of each macro should take much longer! Nice! 👍 > Messages that are not obvious are those that appear as labels in panels, but contain extra information currently translated with `TIP_()`. One example is the light cache status in EEVEE’s Indirect Lighting panel: > ![image](/attachments/fbb8d800-0447-419d-b045-e7c62bc0d492) > > Or various messages displayed in modifiers: > ![image](/attachments/5876dbaf-1760-47cd-a6a1-1425ab6b9639) > > I’d like to bring those back to the regular interface translation, but they could also be switched to `RPT_()`. I would also expect these to be moved to the new report category indeed!
Blender Bot added
Status
Resolved
and removed
Status
Confirmed
labels 2024-01-12 13:37:45 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
9 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#76101
No description provided.