[0.16.39] search is case-sensitive for russian language
[0.16.39] search is case-sensitive for russian language
Full version of title: "[0.16.39] search in techonologies (and other places) is (wrongly) case-sensitive for non-english languages"
Steps to reproduce:
1. Install factorio
2. Change interface language from English to Russian
3. Start new game
4. Open techonologies tree
5. Type "оптика" (it is russian word "optics", note that it starts with lowercase) in search box
Expected behaviour: optics techonology is displayed
Actual behaviour: no techonologies are displayed
Note: search is also case-sensitive in other places, like inventory.
Thanks for factorio!
Steps to reproduce:
1. Install factorio
2. Change interface language from English to Russian
3. Start new game
4. Open techonologies tree
5. Type "оптика" (it is russian word "optics", note that it starts with lowercase) in search box
Expected behaviour: optics techonology is displayed
Actual behaviour: no techonologies are displayed
Note: search is also case-sensitive in other places, like inventory.
Thanks for factorio!
Re: [0.16.39] search is case-sensitive for russian language
Thanks for the report however we don't have any plans to fix this for the foreseeable future.
If you want to get ahold of me I'm almost always on Discord.
Re: [0.16.39] search is case-sensitive for russian language
Doesn't lowercase() work for russian?Rseding91 wrote:Thanks for the report however we don't have any plans to fix this for the foreseeable future.
It's state of the art to compare strings lower or uppercase if case sensitivity isn't necessary.
Re: [0.16.39] search is case-sensitive for russian language
If it did, it would work right nowsteinio wrote:Doesn't lowercase() work for russian?Rseding91 wrote:Thanks for the report however we don't have any plans to fix this for the foreseeable future.
It's state of the art to compare strings lower or uppercase if case sensitivity isn't necessary.
If you want to get ahold of me I'm almost always on Discord.
Re: [0.16.39] search is case-sensitive for russian language
It's wrong to convert case for comparisons. Greek for example has an upper case letter that corresponds to two different lower case letters. And german has a letter that expands to two letters when it turns to upper case.
Re: [0.16.39] search is case-sensitive for russian language
What? There's ẞ (uppercase ß), Ö, Ü, and Ä, so what are you talking about?henke37 wrote:And german has a letter that expands to two letters when it turns to upper case.
I'm an admin over at https://wiki.factorio.com. Feel free to contact me if there's anything wrong (or right) with it.
Re: [0.16.39] search is case-sensitive for russian language
Uppercase ß is new.Bilka wrote:What? There's ẞ (uppercase ß), Ö, Ü, and Ä, so what are you talking about?henke37 wrote:And german has a letter that expands to two letters when it turns to upper case.
-
- Fast Inserter
- Posts: 133
- Joined: Fri Mar 02, 2018 2:55 pm
- Contact:
Re: [0.16.39] search is case-sensitive for russian language
5 years have passed, is there a ray of hope for a fix?
Re: [0.16.39] search is case-sensitive for russian language
Nothing has changed about the complexity of any kind of fix to my knowledge.
If you want to get ahold of me I'm almost always on Discord.
-
- Fast Inserter
- Posts: 133
- Joined: Fri Mar 02, 2018 2:55 pm
- Contact:
Re: [0.16.39] search is case-sensitive for russian language
What is the reason for this function not working?
What function is used when comparing strings? Standard or custom?
It seems that the solution is on the surface, but no one sees it.
-
- Manual Inserter
- Posts: 4
- Joined: Mon Aug 28, 2023 11:36 pm
- Contact:
Re: [0.16.39] search is case-sensitive for russian language
I don't work on Factorio but having dealt with unicode and their encoding shenanigans I can attest to the fact that it is not, in fact, trivial to do.Shadow_Man wrote: ↑Thu Aug 24, 2023 10:24 pmWhat is the reason for this function not working?
What function is used when comparing strings? Standard or custom?
It seems that the solution is on the surface, but no one sees it.
For example, some characters (like ç) can be encoded either as one code point or two.
Couple this with no lower / upper case equivalents which some languages apparently have and now you lowercase() function is not 1 line of C, but maybe 50 including looking up the lowecase characters hidden somewhere in the 16-bit space that is unicode.
Again, I do not work on Factorio, I just play it, but I often see that non-programmers underestimate the effort required for seemingly simple tasks.
Because yes, it would be nice if it were that simple, but it's not.