GnuCash
Contact   Instructions
Bug 792975 - missing hellip in menu entries
Summary: missing hellip in menu entries
Status: NEW
Alias: None
Product: GnuCash
Classification: Unclassified
Component: User Interface General (show other bugs)
Version: 2.7.x
Hardware: Other Linux
: Normal normal
Target Milestone: ---
Assignee: ui
QA Contact: ui
URL:
Whiteboard:
Keywords: HIG, I18N
Depends on:
Blocks:
 
Reported: 2018-01-27 12:57 EST by Mechtilde
Modified: 2020-08-19 15:00 EDT (History)
5 users (show)

See Also:


Attachments

Description Mechtilde 2018-01-27 12:57:11 EST
this is an issue to collect all strings of menu entries. Hier I can add all occurrences I see.

It follows my PR #268:

 ../gnucash/gnome/gnc-plugin-basic-commands.c:191  msgid "_Price Database"
 ../gnucash/gnome/gnc-plugin-basic-commands.c:196  msgid "_Security Editor"
 ../gnucash/gnome/gnc-plugin-basic-commands.c:201  msgid "_Loan Repayment Calculator"
 ../gnucash/gnome/gnc-plugin-basic-commands.c:206  msgid "_Close Book"
 ../gnucash/gnome/gnc-plugin-basic-commands.c:216  msgid "_Transaction Associations"
Comment 1 Mechtilde 2018-01-27 13:00:52 EST
and this is the background:

We should follow this standard to prevent confusion by the user about the following step.

https://en.wikipedia.org/wiki/IBM_Common_User_Access

It is part of the SAA standard https://de.wikipedia.org/wiki/Systems_Application_Architecture

Instead of an ellipsis we can also use three dots
Comment 2 Mechtilde 2018-01-28 04:36:01 EST
../gnucash/import-export/aqb/gnc-plugin-aqbanking.c:103   msgid "Get _Balance"
# Fixme: Source should have HEllip?
#: ../gnucash/gnome/gnc-plugin-basic-commands.c:166       msgid "_Scheduled Transaction Editor"
Comment 3 Mechtilde 2018-01-28 07:56:27 EST
../gnucash/gnome/gnc-plugin-basic-commands.c:211   msgid "_Import Map Editor"
Comment 4 Mechtilde 2018-01-28 09:01:56 EST
This must be without a hellip. This function runs directly.

../gnucash/import-export/csv-exp/gnc-plugin-csv-export.c:64
msgid "Export _Active Register to CSV..."
Comment 5 Frank H. Ellenberger 2019-04-24 22:05:11 EDT
(In reply to Mechtilde from comment #1)
:
> Instead of an ellipsis we can also use three dots

I just saw at the bottom of
https://developer.gnome.org/hig/stable/writing-style.html.en
section Ellipses (…):

Use an ellipsis (…) at the end of a label if further input or confirmation is required from the user before the action can be carried out. For example, Save As…, Find… or Delete….
:

John confused us here by mentioning C(++) source have to be in ASCII, but that is IMHO not valid for strings in the sources.

So we have to change the already changed source files and patch the po's.
Comment 6 John Ralls 2019-04-25 00:28:53 EDT
Depends on what sources. Menu items defined in Glade are different from menu items defined in C or Scheme.

I'm pretty sure that UTF8 is just fine in builder and UI files. It's not in program sources, where strings must be pure ASCII and use escapes for code points > 0x7f.  That applies to C, C++, and because Guile 2.0 screwed up their Unicode implementation (seems to be fixed in Guile 2.2), Scheme.

Escapes is tricky: In theory you can use "\uXXXX" (e.g. "\u2026" for the ellipsis character), but you're depending on the compiler to convert that to UTF-8 for a normal string and older compilers (like gcc 4.8 on Ubuntu 14.04, the reference "oldest supported" for GnuCash 3.x) might not. If you *really* want to use U+2026 instead of three ASCII dots the safest way would be to explicitly use the UTF8 encoding in hex: '0xE2' '0x80' '0xA6'. For an ellipsis it's easier to just use ASCII "...".

Also we can't expect translators to understand either form of escape so if you use one be sure to provide a translator comment explaining it.
Comment 7 Frank H. Ellenberger 2019-04-25 18:59:54 EDT
For the records, there was a talk on IRC:
https://lists.gnucash.org/logs/2019/04/25.html#T18:12:42
Comment 8 Frank H. Ellenberger 2020-05-09 19:41:54 EDT
As we are still in Gnucash, I will use 3 dots.

Todo:
An entry in the glossary file linking https://en.wikipedia.org/wiki/Ellipsis:
#Usage in menus
#In different languages
#Computer representations
seem to be most important sections.
Comment 9 Frank H. Ellenberger 2020-05-10 00:15:42 EDT
[accidentally saved]
... in Gnucash 3, still allowing outdated compilers, ...

I am currently reviewing the menus.
Comment 10 John Ralls 2020-05-10 11:40:44 EDT
GnuCash 4 requires C++17. No more outdated compilers.
Comment 11 Frank H. Ellenberger 2020-05-13 03:26:54 EDT
From https://lists.gnucash.org/logs/2020/05/10.html#T16:59:38:
Clang seems to need `-finput-charset=utf8`

For replacing "..." with '…' a simple sed s/.../…/ should do before running msgmerge, which would else set the fuzzy flag.
Comment 12 Frank H. Ellenberger 2020-07-26 07:02:39 EDT
In comment5 I already mentioned https://developer.gnome.org/hig/stable/writing-style.html. Today I am clueless because of the next section there:
> Do not add an ellipsis to labels such as Properties or Preferences. While these
> commands open windows that can incorporate further functionality, the label does
> not specify an action, and therefore does not need to communicate that
> further input or confirmation is required.
That would mean for the examples from comment1
"_Price Database": no action, no "…"
"_Security Editor": no action, no "…"
"_Loan Repayment Calculator": no action, no "…"
"_Close Book…": Action "Close"
"_Transaction Associations": I am unsure, could become
"Manage _Transaction Associations…" or
"_Transaction Association Manager",
see also https://github.com/Gnucash/gnucash/pull/758
Comment 13 John Ralls 2020-07-26 11:25:17 EDT
Look at the other HIGs. Once one filters out the platform specific stuff they're  pretty consistent because they all codify the same 40 years of experience with what works and what doesn't in GUI design. But they're written by different people and some may more thoroughly explain points that others somewhat gloss over.

Apple's (https://developer.apple.com/design/human-interface-guidelines/macos/menus/menu-anatomy/) says
"Use an ellipsis whenever choosing a menu item requires additional input from the user. The ellipsis character (…) means a dialog or separate window will open and prompt the user for additional information or to make a choice."

Even more terse than Gnome's, so not too helpful.

Microsoft(https://docs.microsoft.com/en-us/windows/win32/uxguide/cmd-menus) on the other hand has a whole section devoted to ellipses. Some salient excerpts:

"While menu commands are used for immediate actions, more information might be needed to perform the action. Indicate a command that needs additional information (including a confirmation) by adding an ellipsis at the end of the label."

and

"This doesn't mean you should use an ellipsis whenever an action displays another window only when additional information is required to perform the action. For example, the commands About, Advanced, Help, Options, Properties, and Settings must display another window when clicked, but don't require additional information from the user. Therefore they don't need ellipses.

"In case of ambiguity (for example, the command label lacks a verb), decide based on the most likely user action. If simply viewing the window is a common action, don't use an ellipsis."

KDE (https://hig.kde.org/style/writing/labels.html) also has a section on ellipses with lots of examples.

For the transaction association dialog there is as well the question of whether to have a state or a verb label, i.e. "Transaction Associations" or "Manage Transaction Associations". Well, one use of the dialog is to simply look at what transactions have associations and all four HIGs suggest that would make "Manage" superfluous and ellipses unnecessary because there's no required action initiated by selecting the menu item.

Incidentally, ISTM we should consider renaming Price Database to Prices and Security Editor to Commodities. The latter doesn't even launch an editor, that's done from a button on the window that it opens.
Comment 14 John Erling Blad 2020-08-18 15:59:26 EDT
How to use ellipsis is one of the things I disagree with the Gnome-community on. When an additional dialog opens, then always add ellipsis. The reason is to support the users mental model of what to expect, and in particular use of “visual memory” i.e. what you see before you click.
Comment 15 Frank H. Ellenberger 2020-08-19 15:00:46 EDT
(In reply to John Erling Blad from comment #14)
> How to use ellipsis is one of the things I disagree with the Gnome-community
> on.

It is not only the Gnome comunity look in typical programs like Firefox, Libreoffice …
File->Properties, Print Preview, …, Help
are always without ellipses – at least in the localizations, which I checked. If that is different in nynorsk, feel free to append them in your translation.

Note You need to log in before you can comment on or make changes to this bug.