Project

General

Profile

Bug #2485

Journal alphabetical index doesn't match "Morrowind content language" setting

Added by Atterratio Aeternus over 2 years ago. Updated 11 days ago.

Status:
Confirmed
Priority:
Normal
Assignee:
-
Category:
Game Mechanics
Target version:
Start date:
04/12/2015
% Done:

0%

Reproducibility:
Have not tried
Operating system:
Linux
Severity:
Normal

Description

I play in the Russian version of Morrowind, but alphabetical index in the journal corresponds to the English alphabet. As a result of an attempt to find anything at the sign opens a blank page.


Related issues

Duplicated by OpenMW - Bug #3485: Problem of russian localization of the Journal Rejected 08/07/2016
Duplicated by OpenMW - Bug #3975: Topic search in journal menu is not localized Rejected 07/29/2017

History

#1 Updated by scrawl . over 2 years ago

  • Subject changed from Journal alphabetical index does't match "Morrowind contant launguage" setting to Journal alphabetical index doesn't match "Morrowind content launguage" setting

#2 Updated by Latyshev Grigory almost 2 years ago

Atterratio Aeternus wrote:

I play in the Russian version of Morrowind, but alphabetical index in the journal corresponds to the English alphabet. As a result of an attempt to find anything at the sign opens a blank page.

Hi all,

As deep as I can understand (I'm not a C++ master) there is also a problem with string comparison. During preparation of list of topics for given character only first byte of topic's name is used.
I mean:

void visitTopicNamesStartingWith (char character, boost::function < void (const std::string&) > visitor) const
{
MWBase::Journal * journal = MWBase::Environment::get().getJournal();

for (MWBase::Journal::TTopicIter i = journal->topicBegin (); i != journal->topicEnd (); ++i)
{
if (i->first [0] != std::tolower (character, mLocale))
continue;

visitor (i->second.getName());
}

}

But for UTF8 encoded string i->first[0] is not a letter (I have checked -- it is pseudographics). I have got a real russian letter from converted to std::string i->first via substr(0, 2)

So (at least for Russian) i->first[0] will never match with character and topic's list will be empty.

#3 Updated by Miroslav Remák about 1 year ago

  • Duplicated by Bug #3485: Problem of russian localization of the Journal added

#4 Updated by scrawl . 7 months ago

  • Status changed from New to Confirmed

#5 Updated by Alexei Dobrohotov about 2 months ago

  • Duplicated by Bug #3975: Topic search in journal menu is not localized added

#6 Updated by Will Herrmann about 2 months ago

  • Category set to Game Mechanics
  • Target version set to openmw-0.43

#7 Updated by Andrei Kortunov about 2 months ago

Can we handle UTF-8 here similar to dialogue keyword search?

#8 Updated by Andrei Kortunov about 2 months ago

Note: we do not store a content language, only encoding.

What we have to do:
1) Store a content language in openmw.cfg
2) Fill alphabetical index by symbols of national alphabet
3) Implement a some kind of case-indepentent equality check for multibyte strings

FYI: if you are using a russian version of game, you can take a look at this code: https://github.com/akortunov/openmw/tree/rusjournal
It works with a russian alphabet and WIN1251 encoding.

#9 Updated by Alexei Dobrohotov about 2 months ago

  • Subject changed from Journal alphabetical index doesn't match "Morrowind content launguage" setting to Journal alphabetical index doesn't match "Morrowind content language" setting

#10 Updated by scrawl . 11 days ago

  • Target version changed from openmw-0.43 to openmw-1.0

Also available in: Atom PDF