Notepads: [Bug] Text on some Buttons is cut off

Created on 6 Jun 2020  ยท  20Comments  ยท  Source: JasonStein/Notepads

Describe the bug
This is a small visual issue.
If you want to close Notepads, but there are still one or more unsaved files,
it asks you whether to "Save and quit" or "Discard and quit".
The text / label on these buttons is cut off on the right side.
How much of is cut off seems to depend
on the size of the window (see screenshots below).

This doesn't happen for the buttons in the specific dialogue
for saving changes when trying to close the files individually.

In the screenshots below you can see the german version,
because I couldn't find Language Preferences in Settings > Advanced.
So this may only happen in the german version.

To Reproduce
See description above.

Expected behavior
Text shouldn't be cut off.

Screenshots
01-Small Window

02-Wide Window

Desktop:

  • OS: Windows 10 Pro 1909 18363.836, Windows 10 Home 2004 19041.264
  • Version: v1.3.8.0

Additional context
This is independent from Disyplay Scaling Settings in Windows (100%, 125%, 200%, ...).

kinbug

All 20 comments

Issue-Label Bot is automatically applying the label kind/bug to this issue, with a confidence of 0.99. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

What language is that?

It's the german version.

Since I couldn't find Language Preferences in Settings > Advanced, I couldn't check if it also happens in other languages.
So this may only happen in the german version.

@WalterWolf49 Can you help take a look?

The word "und" used to be the "&" character for that exact reason. @milotype changed that with #467

This is how it looks in Swiss German (de-CH) and how it looked prior to #467.
de-CH
"und" instead of "&" does look better imho.
@JasonStein can the dialog be bigger to fit the additional space needed?

This is how it looks in Swiss German (de-CH) and how it looked prior to #467.
de-CH
"und" instead of "&" does look better imho.
@JasonStein can the dialog be bigger to fit the additional space needed?

I don't think we can make it bigger and I don't feel like we should do that. "&" seems more reasonable to me. Feel free to send out PR. I can do it if you don't have time. Just let me know.

I'm no programmer, so I don't have a solution, but I think it is important to adapt the code, in order to make it work for other languages as well.

A defined number of characters for strings is bad for any translation!!

In this case for German, an alternative could be, to at least use the "+" character.
Speichern + beenden

The "&" character is not a common German "expression" for the word "and" โ€“ except, for instance in names of legal agencies and advertising agencies, who like to pretend being international.

I'm no programmer, so I don't have a solution, but I think it is important to adapt the code, in order to make it work for other languages as well.

A defined number of characters for strings is _bad_ for any translation!!

In this case for German, an alternative could be, to at least use the "+" character.
Speichern + beenden

The "&" character is not a common German "expression" for the word "and" โ€“ except, for instance in names of legal agencies and advertising agencies, who like to pretend being international.

This is a design problem not a coding problem. Having a long width button makes no sense from design perspective. That's why button has an predefined max width. This is done by the MSFT design team not me which further proves my point here.

I'm no programmer, so I don't have a solution, but I think it is important to adapt the code, in order to make it work for other languages as well.
A defined number of characters for strings is _bad_ for any translation!!
In this case for German, an alternative could be, to at least use the "+" character.
Speichern + beenden
The "&" character is not a common German "expression" for the word "and" โ€“ except, for instance in names of legal agencies and advertising agencies, who like to pretend being international.

This is a design problem not a coding problem. Having a long width button makes no sense from design perspective. That's why button has an predefined max width (I did not do anything special here, the whole dialog UX is a system default Windows 10 dialog control). This is done by the MSFT design team not me which further proves my point here. If you need to explain more, you should put strings into descriptions. For buttons, they should be short in length and more straight forward.

I'm no programmer, so I don't have a solution, but I think it is important to adapt the code, in order to make it work for other languages as well.

A defined number of characters for strings is _bad_ for any translation!!

In this case for German, an alternative could be, to at least use the "+" character.
Speichern + beenden

The "&" character is not a common German "expression" for the word "and" โ€“ except, for instance in names of legal agencies and advertising agencies, who like to pretend being international.

Take a look at how MSFT is handling the translation here in Paint 3D:
image

"Speichern" is good enough here. Since this dialog will only pop up when user click on "Exit"
button, so there is no need to tell user "beenden" here at all.

Take a look at how MSFT is handling the translation here in Paint 3D:
image

"Speichern" is good enough here. Since this dialog will only pop up when user click on "Exit"
button, so there is no need to tell user "beenden" here at all.

I don't know if my opinion is of any help here, but
I agree with @JasonStein and I would also very much prefer the simple version of just "Speichern" and "Nicht speichern", as commonly seen in other german applications instead of using "und"s, "&"s or even "+"s.

As mentioned, I'm not a programmer. I'm a translator.
Design or code, it's al the same to me ...

The translatable string specifies: <value>Save All &amp; Exit</value>, just as the other one <value>Discard &amp; Exit</value> (Actually the German would have to be even longer in the first case: Alles speichern + beenden)

From a translators point of view, please don't expect translators to shorten translations to a certain number of characters, nor to check the display of any string in the application, especially, as there is no comment/information for translators about the strings length!!

So in this case, maybe the source string needs to be changed!?

Whatever you do, please do keep in mind, that translations do not and can not follow (generally english) string lengths (and IMO, there is no specific reason for it).
Example:
en: Backup (noun) โ€“ 6 characters
hr: Sigurnosna kopija โ€“ 17 charaters

I'm just trying to help ...

As mentioned, I'm not a programmer. I'm a translator.
Design or code, it's al the same to me ...

The translatable string specifies: <value>Save All &amp; Exit</value>, just as the other one <value>Discard &amp; Exit</value> (Actually the German would have to be even longer in the first case: Alles speichern + beenden)

From a translators point of view, please don't expect translators to shorten translations to a certain number of characters, nor to check the display of any string in the application, especially, as there is no comment/information for translators about the strings length!!

So in this case, maybe the source string needs to be changed!?

Whatever you do, please do keep in mind, that translations do not and can not follow (generally english) string lengths (and IMO, there is no specific reason for it).
Example:
en: Backup (noun) โ€“ 6 characters
hr: Sigurnosna kopija โ€“ 17 charaters

I'm just trying to help ...

image

This is exactly why I call it out since I started this project. I am expecting translators to do the research and validation here not me. Otherwise I will just use Google Translate here.

https://github.com/JasonStein/Notepads/blob/master/CONTRIBUTING.md

Sorry, I haven't read that. No offense, please do proceed as you like and excuse me if I generated a problem ...

The issue is actually a general problem ... expecting, that translators โ€“ who are often/mostly not programmers โ€“ should check/compare apps on systems they might not even use.

As mentioned, I'm not a programmer. I'm a translator.
Design or code, it's al the same to me ...

The translatable string specifies: <value>Save All &amp; Exit</value>, just as the other one <value>Discard &amp; Exit</value> (Actually the German would have to be even longer in the first case: Alles speichern + beenden)

From a translators point of view, please don't expect translators to shorten translations to a certain number of characters, nor to check the display of any string in the application, especially, as there is no comment/information for translators about the strings length!!

So in this case, maybe the source string needs to be changed!?

Whatever you do, please do keep in mind, that translations do not and can not follow (generally english) string lengths (and IMO, there is no specific reason for it).
Example:
en: Backup (noun) โ€“ 6 characters
hr: Sigurnosna kopija โ€“ 17 charaters

I'm just trying to help ...

I think we can all agree, that translations for user interfaces can't be done literally most of the times. A lot of times the meaning of the original needs to be slightly altered to fit some of the restrictions that are out of our control. By doing that, translations can end up more or less descriptive than the original, depending on word lengths in the specific language.

Since other people may have run into the same problem at some point, taking inspiration from their solutions can help. I think the existing solution @JasonStein proposed ("Speichern", "Nicht speichern") is the one most german users will immediately recognize and be familiar with, even if the original english strings may have a slightly different meaning.
"Speichern" and "Nicht speichern" are by the way already the same pair of german strings, that are used if one wants to close an individual unsaved file, but not closing the application at the same time. Choosing those as a fix would even help to unify the user experience.

I am very grateful to all of the author(s) and contributors of this project and I'm happy to also help improving the experience for everyone. Thank you!

As mentioned before, it's not an issue about literal translation. Most (good) translators translate semantically and where needed, OS system specifically anyways. Unfortunately, programmers of apps often expect, that translators should/need/have to think about/abide by diverse lenghts of strings ...

As a non-programmer, I nevertheless believe it should be possible, to change/addapt the font size of a (translated) string, when the translated string doesn't fit the length of a source string. In the case that there are multiple buttons in a dialog, the button with the longest string would be decisive for the font size, no matter what the "defined" stylesheet for buttons may be ... but I don't know how/if this is possible to realize ...

IMO, this is a general translation/localisation issue. It's not a Notepads specific issue ...

"Speichern" and "Nicht speichern" make sense, so I created a PR for those translations.

Why don't you just make width of buttons flexible to text content?
And maybe also check how german version of regular Notepad looks.

Why don't you just make width of buttons flexible to text content?
And maybe also check how german version of regular Notepad looks.

I can but read above replies first.
It will become unnecessarily bulky if I blinded increase the maxWidth and by the way, the default max width of button in ContentDialog is predefined by the MSFT design team which I am following.
Screen Shot 2020-06-18 at 9 46 09 AM

Also think about small devices and when Notepads window is small. ContentDialog will be resized to fit the window of its parent as well. So we should not just blindly increase any UI framework just because we can. In that particular case, it will be shrined anyway.

Was this page helpful?
0 / 5 - 0 ratings