Skip to content

Instantly share code, notes, and snippets.

@enginkartal
Last active April 22, 2024 13:11
Show Gist options
  • Star 26 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save enginkartal/84a215589e6739de6f0cbeb9fd088e4f to your computer and use it in GitHub Desktop.
Save enginkartal/84a215589e6739de6f0cbeb9fd088e4f to your computer and use it in GitHub Desktop.
Javascript Turkish character to english characters change
String.prototype.turkishtoEnglish = function () {
return this.replace('Ğ','g')
.replace('Ü','u')
.replace('Ş','s')
.replace('I','i')
.replace('İ','i')
.replace('Ö','o')
.replace('Ç','c')
.replace('ğ','g')
.replace('ü','u')
.replace('ş','s')
.replace('ı','i')
.replace('ö','o')
.replace('ç','c');
};
// Example
// let text = 'Ne güzel bir gökkuşağı';
// newText = text.turkishtoEnglish();
// console.log(newText) /Ne guzel bir gokkusagi
@pemre
Copy link

pemre commented Apr 22, 2024

Herkese merhaba, biraz daha guncel bir cozum:

With ES2015/ES6 String.prototype.normalize(),

const turkish_letters_to_convert = 'Ç,Ğ,İ,Ö,Ş,Ü,ç,ğ,ı,i,ö,ş,ü';

console.log(turkish_letters_to_convert.normalize('NFD').replace(/\p{Diacritic}/gu, ''));

// Expected output: "C,G,I,O,S,U,c,g,ı,i,o,s,u"

The example uses the combination of "Canonical Decomposition (NFD)" with Unicode property escapes.

See the source: https://stackoverflow.com/a/37511463

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment