Turkish Numeric Soundex
A C# Soundex adaptation for Turkish names that normalizes Turkish-specific characters and packs the conventional phonetic code into a single Int32 candidate key.
The role of this component is deliberately modest: shrink a name-search candidate set before a more expensive comparison stage. It preserves the familiar Soundex idea while making Turkish-specific choices explicit, including handling for Ç, Ğ and Ş and normalization of an initial Turkish character into the compact code space.
A small implementation choice matters in high-volume grouping. Instead of returning the conventional four-character form such as S530 as a freshly allocated string, the representation is packed deterministically into one Int32. That value can be used directly as a hash/grouping key without turning the phonetic code into an object-heavy intermediate format.
Equal keys are not proof that two names identify the same person. Collisions are expected; this is candidate generation, not authentication or linguistic inference. When the task is actual syllable boundary generation rather than phonetic pre-indexing, Turkish Finite-State Syllabifier uses a different formal model.