Bug 127115 - language-agnostic styles
Summary: language-agnostic styles
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
(earliest affected) release
Hardware: x86-64 (AMD64) Windows (All)
: medium enhancement
Assignee: Not Assigned
Keywords: needsUXEval
Depends on:
Blocks: Writer-Styles
  Show dependency treegraph
Reported: 2019-08-23 12:13 UTC by lvm
Modified: 2019-08-29 18:03 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Note You need to log in before you can comment on or make changes to this bug.
Description lvm 2019-08-23 12:13:34 UTC
Currently style definition includes language (located on the Font tab of Style dialogue). When style is applied to existing text its language is always reset to the one defined in the style. In my opinion this behaviour is seldom correct, typically style defines visual formatting and should leave language information intact. In a single-language environment it is not a problem as one can hardcode this language into all styles, but it doesn't work at all in a multilingual environment. Please provide an option to define a style with no language information and which will leave existing language information intact when applied. Setting style language to None is not it.

Steps to Reproduce:
1. open styles (F11),rightclick on 'Heading 1', select 'Modify', go to 'Font' tab and note the style language in the 'Language' picklist
2. type some text into the document, select it and apply a different language (Tools-Language-For selection)
3. press ^1 to apply 'Heading 1' style
4. check the selection language (Tools-Language-For selection)

Actual Results:
selection language is changed to the language defined in the 'heading 1' style

Expected Results:
selection language should've remained unchanged

Reproducible: Always

User Profile Reset: No

Additional Info:
Comment 1 Dieter 2019-08-24 05:32:23 UTC
I confirm the described bahaviour, but I don't think, that this is a bug. As far as I understand, changing language is treated like direct formatting, and this is always overwritten, if you apply a paragraph style. => NAB
Comment 2 lvm 2019-08-24 07:52:38 UTC
Ok, an enhancement then. A configurable option. A special [Unchanged] language is probably even better.
Comment 3 lvm 2019-08-26 07:51:26 UTC
I kept on thinking about this issue and while I don't really care how it is done as long as it gets done, it is in fact an indication of a fundamental design flaw. Document can be split into two domains: content and presentation. Style - fonts, colours, spacing etс - belongs to the presentation domain, text - to the content. Text is always written in specific language, applying German language to text written in French is meaningless as it won't translate it into German - not yet anyway; language is an invariable attribute of text and belongs to the content domain which means that linking language with fonts and styles is incorrect, and the proper way of resolving this issue requires complete separation of language from the presentation domain. Language should be assigned to text not as one of the attributes of the font and shouldn't be linked to styles in any way, but should be a completely independent text attribute (which to some extent is already done via Tools-Language menu, but unless you pick a language from a 3-item frequently used list you still end up in the same font selection dialogue). Incidentally, ODF standard is similarly flawed: fo:language is the attribute of style:text-properties.
Comment 4 Dieter 2019-08-26 08:10:02 UTC
cc: Design-Team for further input
Comment 5 Heiko Tietze 2019-08-26 09:06:46 UTC
Language of styles is bound to Tools > Options > Language > Locale. Switching from English to French changes the default for Default (and styles based on it). Seems to be kind of agnostic since Default is not always English. And since we are bound to the open document format we cannot change much here. Fortunately you can create templates for all languages you use with the properties you need.
Comment 6 lvm 2019-08-26 10:38:49 UTC
Not Locale, but Default Language for Documents, but that's beside the point. Default language is applied to the whole document, changing it will comprehensively screw up language information of a multilingual document - exactly the issue I am trying to avoid. If you type a French word and assign it French language, then a German word and assign it German language, and then change Default language to English US it will be changed for both of these words. What I am looking for is the ability to change styles while preserving language information (content!) intact: apply heading style and keep one word German and another French. As for creating separate styles for each language, I sincerely hope you are joking.
Comment 7 Regina Henschel 2019-08-26 12:05:44 UTC
The problem is this: Actually, language is a property of character portions. However, the paragraph can have a default language. This is used if the characters do not have their own language setting.
The problem in your case is, that if you select an entire paragraph, then the choosen language is not applied to the characters, but it is set as default language into the paragraph. If you then apply a new paragraph style it will use the default of that new style.

For to set a language to a portion of text, define a _character_ style with that language. To change the language of the text portion, apply that style. In this case the "portion" may be an entire paragraph.

If you look into the generated file, the difference is, whether a <text:span> element with a "Tn" (or your own character style name) style exists, or there is only the <text:p> element with a "Pn" (or your own paragraph style name) style.

There is indeed a UX problem: It is not clear, what happens, if an entire paragraph is selected and something is done with this selection. Sometimes the setting is uses as paragraph property, sometimes as character property. Only the assignment of a character style seems to reliably generate the <text:span> elements, needed for multi-language documents.
Comment 8 Heiko Tietze 2019-08-26 12:14:40 UTC
As for the feedback I'd hope to solve it with the style inspector proposed in bug 115311.
Comment 9 Heiko Tietze 2019-08-27 07:25:27 UTC
(In reply to Heiko Tietze from comment #8)
> As for the feedback I'd hope to solve it with the style inspector proposed
> in bug 115311.

And since Regina recommended the character style as another solution we should resolve the ticket as WF.
Comment 10 Thomas Lendo 2019-08-29 18:03:01 UTC
Language property is suggested in bug 120932 (derived from bug 35186).