Bug 161033 - Installed languages not available for automatic spell checking until user changes locale setting
Summary: Installed languages not available for automatic spell checking until user cha...
Status: RESOLVED INVALID
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
24.2.3.2 release
Hardware: x86-64 (AMD64) Windows (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-05-10 21:56 UTC by daniel.schaaaf
Modified: 2024-05-28 13:49 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
Language changes in Writer don't get remembered (1.79 MB, image/gif)
2024-05-27 18:50 UTC, daniel.schaaaf
Details
Language changes get screwed up in Writer with text present (2.71 MB, image/gif)
2024-05-27 19:08 UTC, daniel.schaaaf
Details

Note You need to log in before you can comment on or make changes to this bug.
Description daniel.schaaaf 2024-05-10 21:56:00 UTC
Description:
When I want to select a language for automatic spell checking, only English (UK), and possibly one single additional language are available. I have several other language extensions installed. This is a problem in all LibrOffice applications.

Steps to Reproduce:
1. Install LibreOffice with English (UK) as default language, and several additional dictionaries.
2. Create a new document in Writer, Calc, ...
3. Select "Tools > Language > For All Text".

Actual Results:
Only "English (UK)" is available as language for automatic spell checking.

Expected Results:
All installed languages should be available for automatic spell checking.


Reproducible: Always


User Profile Reset: Yes

Additional Info:
When I change the Locale setting (Tools > Options > Language and Locales > General > Formats > Locale settings) to a different language, that language gets available for spell checking in addition to English (UK). Still, no other languages are available, although the corresponding extensions are installed.
Comment 1 Stéphane Guillou (stragu) 2024-05-27 07:00:32 UTC
I can't reproduce on Linux nor macOS:

Version: 24.8.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: 101b08fe1ec77ffe8c1a9b2b8f9f20884269a1ed
CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US

Version: 24.2.2.2 (X86_64) / LibreOffice Community
Build ID: d56cc158d8a96260b836f100ef4b4ef25d6f1a01
CPU threads: 4; OS: macOS 10.15.7; UI render: default; VCL: osx
Locale: en-AU (en_AU.UTF-8); UI: en-US

When going to "Tools > Language > For all text", there is a shortlist of recently used languages in the menu. I am able to use those for the whole document. If it is not listed, I use "More", pick one from the list, and select "For the current document only" to make sure it doesn't become a default.
Or I use "For paragraph / For selection" if there are different languages throughout the document.

That doesn't work for you?

Please share the full version information copied from Help > About LibreOffice
Comment 2 daniel.schaaaf 2024-05-27 18:50:49 UTC
Created attachment 194384 [details]
Language changes in Writer don't get remembered

Language changes "For Selection" (as well as "For Paragraph" and "For All Text"; not shown) only remembers the default language (English UK) and one additional language.

At 00:36, I change the language "For All Text" once, and suddenly, Writer remembers three languages "For Selection"(as well as "For Paragraph" and "For All Text"; not shown), but not more than three.

At 01:15, I change the language "For All Text" again, and the remembered languages "For Selection" (as well as "For Paragraph" and "For All Text"; not shown) reset to the default language (English UK) and the last manually selected language.
Comment 3 daniel.schaaaf 2024-05-27 19:08:23 UTC
Created attachment 194385 [details]
Language changes get screwed up in Writer with text present

When entering text into a new Writer document, the list of available languages for the spell checker gets extended by a random language.

Writing "test" adds Estonian (not installed!) to the default language (English UK).
Writing "car" adds Romanian Romania (not installed!) to the default language (English UK).



Language changes "For Selection" (as well as "For Paragraph" and "For All Text"; not shown) only remembers the default language (English UK) and one additional language.

At 00:26, I change the language "For All Text" once, and suddenly, Writer remembers three languages "For Selection"(as well as "For Paragraph" and "For All Text"; not shown), but not more than three.

Then, I change the language "For Selection" two times, and Writer remembers five languages.

At 01:15, I change the language "For All Text" again, and Writer continues to remember only five languages (replacing Norwegian Bokmål with Spanish Panama). A consecutive language change "For All Text" replaces the last chosen language "For All Text" (from Spanish Panama to Spanish Paraguay).

At 01:36, I change the language "For Selection", and Writer suddenly remembers up to seven languages.

At 01:56, I change the language "For All Text" again, and Writer continues to remember seven languages.
Comment 4 daniel.schaaaf 2024-05-27 19:10:31 UTC
Sorry for the mess with two uploaded GIFs and this additional comment. I found this bug to be very messy to replicate or make sens out of.

I reset my user profile and tried again. When I open LO and create a new Writer document, I get the reported behaviour when I chose "Language > For All Text".

Only when I select "Language > For Selection" or "Language > For Paragraph", does LO actually remember the languages selected with "More...".

As soon as I select a language "For All Text", LO resets the recently used languages to the default English (UK) and the newly selected language for all three language selection modes (Selection, Paragraph, and All Text).


To make things worse, having text in the Writer document screws up the language selection more. When I write "test", Writer lets me chose from "English (UK)" and "Estonian" (not installed) by default. When I write "car", I get "English (UK)" and "Romanian (Romania)" (not installed).


From a user's perspective, it seems weird that selecting ("More...") a language "For All Text" brings up the LO options dialogue to set the "Default Languages for Documents", while selecting ("More...") a language for a "Selection/Paragraph" opens the "Character" dialogue.
Could this be the root cause of the weird behaviour. The "Default Languages for Documents" (sometimes) overwrites/clears any choices that were made through the "Character" dialogue.
Comment 5 Stéphane Guillou (stragu) 2024-05-28 01:42:56 UTC
(In reply to daniel.schaaaf from comment #4)
> As soon as I select a language "For All Text", LO resets the recently used
> languages to the default English (UK) and the newly selected language for
> all three language selection modes (Selection, Paragraph, and All Text).
I tried these steps:
1. Delete user profile
2. Open Writer
3. Write some text
4. Change paragraph language to e.g. Catalan. Now, all 3 submenus list "Catalan".
5. Go to Tools > Language > For all text > More, change the Default Language for Documents to e.g. Aranese, click OK. (It doesn't matter if the setting is changed for all documents or only this document.)

Result: Catalan is gone from the list.

My understanding then is that the list shows the languages used currently in the document, not what was recently selected.

(In reply to daniel.schaaaf from comment #3)
> When entering text into a new Writer document, the list of available
> languages for the spell checker gets extended by a random language.
I can reproduce this, but testing with writing some text in other languages, you'll find that it is not random and tries to guess a good suggestion for the paragraph you are currently in. For example, typing "Bonjour" will suggest French, and "Vielleicht" will suggest German, and "Teclado" will suggest Spanish. Of course, many words will be found in many dictionaries.
But I am surprised it does detect languages I don't have a dictionary for...
I think this feature should limit itself to installed dictionaries.

For populating of the list with languages, I think it makes sense to:
- always have the user locale's language listed
- always have the UI language listed
- always have the default document language listed
- always show the languages used in the document
- show a guessed language for the current paragraph

And therefore, listing languages just because they were picked recently (but are not currently used) is not a priority and shouldn't be done.

Does the list above make sense to you?

Maybe this report can focus on the language suggestion that picks languages that don't have a dictionary?
Comment 6 Stéphane Guillou (stragu) 2024-05-28 06:30:24 UTC
Right, now I have been pointed to libexttextcat being the library that does the language guessing.
And I now see bug 95274, which is about the same issue. The list I came up with in comment 5 is similar to what others have pulled out of the code in bug 95274 comment 45 and bug 139185 comment 4.

As it would be impractical to list "all installed languages" in the menu, and the logic of language listing is explained in the comment linked above, I suggest closing as duplicate of bug 95274.

Also, I realise I forgot to comment on:

(In reply to daniel.schaaaf from comment #4)
> From a user's perspective, it seems weird that selecting ("More...") a
> language "For All Text" brings up the LO options dialogue to set the
> "Default Languages for Documents", while selecting ("More...") a language
> for a "Selection/Paragraph" opens the "Character" dialogue.
> Could this be the root cause of the weird behaviour. The "Default Languages
> for Documents" (sometimes) overwrites/clears any choices that were made
> through the "Character" dialogue.
This is indeed confusing, has been mentioned in bug 95274 and elsewhere, and parts of the solution are tracked in reports like bug 103036 and bug 151290.

*** This bug has been marked as a duplicate of bug 95274 ***
Comment 7 daniel.schaaaf 2024-05-28 12:46:00 UTC
Thanks for looking into this, Stéphane.

I think you are right in that "the list shows the languages used currently in the document, not what was recently selected". Somehow, I expected these lists tho show "recently used languages". Although ...

1) Open/create a new Writer document.
2) Write "test text", and select the word "test".
3) Change the language "For Selection" to several different languages.

Expected result: The language lists should only contain the default language and the last selected language.

Actual results: The language lists contain all recently chosen languages, up to a maximum of seven different languages. Even changing the language "For All Text" does not remove unused languages from the list(s).


I reopened this bug report for now. Should I open a new bug report for the behaviour in the current comment? In a way, it is the opposite of my original bug report. What I crave most from a UI is consistency. So, either show recently used languages in the language lists, or show only currently used languages.

In addition, only the language list "For Selection" correctly indicates the used language with a check mark. This is either not implemented or not working "For Paragraph" and "For All Text".

Maybe someone liked the idea of "recently used languages" and a check mark to indicate the currently used language, but it was only implemented "For Selection", causing the other language lists to behave inconsistently?
Comment 8 Stéphane Guillou (stragu) 2024-05-28 13:00:48 UTC
(In reply to daniel.schaaaf from comment #7)
> I reopened this bug report for now. Should I open a new bug report for the
> behaviour in the current comment? In a way, it is the opposite of my
> original bug report. What I crave most from a UI is consistency. So, either
> show recently used languages in the language lists, or show only currently
> used languages.
Because we have both been going through a lot of figuring out throughout this report's comments, I'd say yes: the best would be to open a fresh report, in which you'll have a concise description of the issue, and precise steps with actual results and expected results.
Thanks!
Comment 9 daniel.schaaaf 2024-05-28 13:49:34 UTC
Alright, I marked this as "resolved, invalid" and will open a new bug report soon. Thanks for your time and a helpful discussion.