Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Globalization in .NET: CultureInfo, CurrentCulture/CurrentUICulture, the Turkish I and ICU on Linux
In .NET, CurrentCulture decides formatting and comparison and CurrentUICulture decides UI text; both flow through async code, and without ICU a container falls into invariant mode. Using Bookstore's catalog sorting and search box we show Turkish sorting, the ı/İ conversion, the culture-dependent dictionary comparer trap, PredefinedCulturesOnly and how tr-TR breaks in chiseled and alpine images, all with real output.
Analyzers and Turkish: Tokenizers, Token Filters, the turkish Analyzer, ASCII Folding and Synonyms
Turkish search in Elasticsearch is not fixed by the built-in turkish analyzer as is: the apostrophe and Turkish lowercase filters help, but the Snowball stemmer reduces "İnce" to "i" and "kasaba" to "kasap"; the fix is keyword_marker, a sub-field without Turkish characters and querying several fields together. With real output: the analyzer chain, the stemmer's limits, Turkish sorting with ICU and the Synonyms API without reindexing.