You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
While Unicode characters are undeniably important, there can be occasions where you need text only in US-ASCII format. This is where theR packageunidecoder can help. If you provide text tounidecoder along with the input language, it will replace accented letters, ligatures, and other Unicode characters with US-ASCII equivalents.
Installation
Installunidecoder from GitHub using thedevtools package.
Use theunidecoder package's functionunidecode() to transform text to ASCII. The function takes in a vector of strings and replaces Unicode characters with their best equivalents. Knowing which equivalents are best depends on providing the source language for the input text. Transliterations can be accomplished for several languages: Armenian, Bulgarian, Czech, Danish, French, Georgian, German, Greek, Norwegian, Polish, Romanian, Russian, and Slovenian.
Take, for example, Goethe'sTotentanz (1813):
Der Türmer, der schaut zu Mitten der NachtHinab auf die Gräber in Lage;Der Mond, der hat alles ins Helle gebracht;Der Kirchhof, er liegt wie am Tage.Da regt sich ein Grab und ein anderes dann:Sie kommen hervor, ein Weib da, ein Mann,In weißen und schleppenden Hemden.Das reckt nun, es will sich ergetzen sogleich,Die Knöchel zur Runde, zum Kranze,So arm und so jung, und so alt und so reich;Doch hindern die Schleppen am Tanze.Und weil hier die Scham nun nicht weiter gebeut,Sie schütteln sich alle, da liegen zerstreutDie Hemdlein über den Hügeln.Nun hebt sich der Schenkel, nun wackelt das Bein,Gebärden da gibt es vertrackte;Dann klippert's und klappert's mitunter hinein,Als schlüg' man die Hölzlein zum Takte.Das kommt nun dem Türmer so lächerlich vor;Da raunt ihm der Schalk, der Versucher, ins Ohr:Geh! hole dir einen der Laken.Getan wie gedacht! und er flüchtet sich schnellNun hinter geheiligte Türen.Der Mond, und noch immer er scheinet so hellZum Tanz, den sie schauderlich führen.Doch endlich verlieret sich dieser und der,Schleicht eins nach dem andern gekleidet einher,Und, husch, ist es unter dem Rasen.Nur einer, der trippelt und stolpert zuletztUnd tappet und grapst an den Grüften;Doch hat kein Geselle so schwer ihn verletzt,Er wittert das Tuch in den Lüften.Er rüttelt die Turmtür, sie schlägt ihn zurück,Geziert und gesegnet, dem Türmer zum Glück,Sie blinkt von metallenen Kreuzen.Das Hemd muß er haben, da rastet er nicht,Da gilt auch kein langes Besinnen,Den gotischen Zierat ergreift nun der WichtUnd klettert von Zinne zu Zinnen.Nun ist's um den armen, den Türmer getan!Es ruckt sich von Schnörkel zu Schnörkel hinan,Langbeinigen Spinnen vergleichbar.Der Türmer erbleichet, der Türmer erbebt,Gern gäb er ihn wieder, den Laken.Da häkelt—jetzt hat er am längsten gelebt—Den Zipfel ein eiserner Zacken.Schon trübet der Mond sich verschwindenden Scheins,Die Glocke, sie donnert ein mächtiges Eins,Und unten zerschellt das Gerippe.
Written in German, it contains letters with umlauts and the ß character, all of which are not part of the US-ASCII character set. To process this text, read the lines into anR object and call theunidecode() function withlanguage = "German" orlanguage = "de".
library("downloader")library("unidecoder")# Download some Goethedownload("https://raw.githubusercontent.com/rich-iannone/unidecoder/main/inst/examples/Totentanz__de.txt","Totentanz__de.txt")# Read the poem from the file 'Totentanz__de.txt'totentanz<- readLines("Totentanz__de.txt")# Replace the Unicode characters with US-ASCII replacementstotentanz_ascii<- unidecode(data=totentanz,language="German")# View the modified textcat(totentanz_ascii)
The resulting text transliteration is returned:
Der Tuermer, der schaut zu Mitten der NachtHinab auf die Graeber in Lage;Der Mond, der hat alles ins Helle gebracht;Der Kirchhof, er liegt wie am Tage.Da regt sich ein Grab und ein anderes dann:Sie kommen hervor, ein Weib da, ein Mann,In weissen und schleppenden Hemden.Das reckt nun, es will sich ergetzen sogleich,Die Knoechel zur Runde, zum Kranze,So arm und so jung, und so alt und so reich;Doch hindern die Schleppen am Tanze.Und weil hier die Scham nun nicht weiter gebeut,Sie schuetteln sich alle, da liegen zerstreutDie Hemdlein ueber den Huegeln.Nun hebt sich der Schenkel, nun wackelt das Bein,Gebaerden da gibt es vertrackte;Dann klippert's und klappert's mitunter hinein,Als schlueg' man die Hoelzlein zum Takte.Das kommt nun dem Tuermer so laecherlich vor;Da raunt ihm der Schalk, der Versucher, ins Ohr:Geh! hole dir einen der Laken.Getan wie gedacht! und er fluechtet sich schnellNun hinter geheiligte Tueren.Der Mond, und noch immer er scheinet so hellZum Tanz, den sie schauderlich fuehren.Doch endlich verlieret sich dieser und der,Schleicht eins nach dem andern gekleidet einher,Und, husch, ist es unter dem Rasen.Nur einer, der trippelt und stolpert zuletztUnd tappet und grapst an den Grueften;Doch hat kein Geselle so schwer ihn verletzt,Er wittert das Tuch in den Lueften.Er ruettelt die Turmtuer, sie schlaegt ihn zurueck,Geziert und gesegnet, dem Tuermer zum Glueck,Sie blinkt von metallenen Kreuzen.Das Hemd muss er haben, da rastet er nicht,Da gilt auch kein langes Besinnen,Den gotischen Zierat ergreift nun der WichtUnd klettert von Zinne zu Zinnen.Nun ist's um den armen, den Tuermer getan!Es ruckt sich von Schnoerkel zu Schnoerkel hinan,Langbeinigen Spinnen vergleichbar.Der Tuermer erbleichet, der Tuermer erbebt,Gern gaeb er ihn wieder, den Laken.Da haekelt—jetzt hat er am laengsten gelebt—Den Zipfel ein eiserner Zacken.Schon truebet der Mond sich verschwindenden Scheins,Die Glocke, sie donnert ein maechtiges Eins,Und unten zerschellt das Gerippe.
So, words likeKnöchel were transliterated toKnoechel, resulting in text that is entirely in the US-ASCII character set. Moreover, this is the expected transliteration that's in wide use. Thelanguage argument accepts the following formats: language name in English (e.g., German), the native language name (e.g., Deutsch), and ISO 639-1 language code (e.g., de).
Unidecoding in Other Languages
Bulgarian // български език, bǎlgarski ezik // bg
Hristo Botev'sHadji Dimiter (1873)
Жив е той, жив е! Там на Балкана, # -> Zhiv e toy, zhiv e! Tam na Balkana,потънал в кърви, лежи и пъшка # -> potanal v karvi, lezhi i pashkaюнак с дълбока на гърди рана, # -> yunak s dalboka na gardi rana,юнак във младост и в сила мъжка. # -> yunak vav mladost i v sila mazhka. На една страна захвърлил пушка, # -> Na edna strana zahvarlil pushka,на друга сабля на две строшена; # -> na druga sablya na dve stroshena;очи темнеят, глава се люшка, # -> ochi temneyat, glava se lyushka,уста проклинат цяла вселена! # -> usta proklinat tsyala vselena! Лежи юнакът, а на небето # -> Lezhi yunakat, a na nebetoслънцето спряно сърдито пече; # -> slantseto spryano sardito peche;жътварка пее нейде в полето, # -> zhatvarka pee neyde v poleto,и кръвта още по-силно тече! # -> i kravta oshte po-silno teche! Жътва е сега... Пейте, робини, # -> Zhatva e sega... Peyte, robini,тез тъжни песни! Грей и ти, слънце, # -> tez tazhni pesni! Grey i ti, slantse,в таз робска земя! Ще да загине # -> v taz robska zemya! Shte da zagineи тоя юнак... Но млъкни, сърце! # -> i toya yunak... No mlakni, sartse!
Czech // čeština, český jazyk // cs
Karel Hynek Mácha'sMáj (1836)
Klesla hvězda s nebes výše, # -> Klesla hvezda s nebes vyse,mrtvá hvězda siný svit; # -> mrtva hvezda siny svit;padá v neskončené říše # -> pada v neskoncene risepadá věčně v věčný byt. # -> pada vecne v vecny byt.Její pláč zní z hrobu všeho, # -> Jeji plac zni z hrobu vseho,strašný jekot, hrůzný kvíl. # -> strasny jekot, hruzny kvil.„Kdy dopadne konce svého?“ # -> "Kdy dopadne konce sveho?"
French // français // fr
Charles Baudelaire'sTout entière (1857)
Le Démon, dans ma chambre haute # -> Le Demon, dans ma chambre hauteCe matin est venu me voir, # -> Ce matin est venu me voir,Et, tâchant à me prendre en faute # -> Et, tachant a me prendre en fauteMe dit: «Je voudrais bien savoir # -> Me dit: "Je voudrais bien savoirParmi toutes les belles choses # -> Parmi toutes les belles chosesDont est fait son enchantement, # -> Dont est fait son enchantement,Parmi les objets noirs ou roses # -> Parmi les objets noirs ou rosesQui composent son corps charmant, # -> Qui composent son corps charmant,Quel est le plus doux.» — Ô mon âme! # -> Quel est le plus doux." — O mon ame!Tu répondis à l'Abhorré: # -> Tu repondis a l'Abhorre:«Puisqu'en Elle tout est dictame # -> "Puisqu'en Elle tout est dictameRien ne peut être préféré. # -> Rien ne peut etre prefere.
Georgian // kartuli, ქართული // ka
Giorgi Leonidze'sQ'ivchaghis P'aemani (1928)
ქსანზედ არაგვზედ ისევ ყვავიან # -> ksanzed aragvzed isev q'vavianხოდაბუნები თავთუხებისა # -> khodabunebi tavtukhebisaშენი ტუჩებიც ისე ტკბილია, # -> sheni t'uchebits ise t'k'bilia,როგორც ბადაგი დადუღებისას. # -> rogorts badagi dadughebisas.ხოხბობას გნახე მიწურვილ იყო, # -> khokhbobas gnakhe mits'urvil iq'o,როცა ზაფხული რუსთაველისა # -> rotsa zapkhuli rustavelisaნეტამც ბადაგი არ დამელია # -> net'amts badagi ar dameliaდა იმ დღეს ხმალი არ ამელესა. # -> da im dghes khmali ar amelesa.
German // Deutsch, deutsche Sprache // de
Goethe'sAuf Dem See (1775)
Und frische Nahrung, neues Blut # -> Und frische Nahrung, neues BlutSaug ich aus freier Welt: # -> Saug ich aus freier Welt:Wie ist Natur so hold und gut, # -> Wie ist Natur so hold und gut,Die mich am Busen hält! # -> Die mich am Busen haelt!Die Welle wieget unsern Kahn # -> Die Welle wieget unsern KahnIm Rudertakt hinauf, # -> Im Rudertakt hinauf,Und Berge, wolkig himmelan, # -> Und Berge, wolkig himmelan,Begegnen unserm Lauf. # -> Begegnen unserm Lauf.Aug, mein Aug, was sinkst du nieder? # -> Aug, mein Aug, was sinkst du nieder?Goldne Träume, kommt ihr wieder? # -> Goldne Traeume, kommt ihr wieder?Weg, du Traum! so gold du bist: # -> Weg, du Traum! so gold du bist:Hier auch Lieb und Leben ist. # -> Hier auch Lieb und Leben ist.Auf der Welle blinken # -> Auf der Welle blinkenTausend schwebende Sterne, # -> Tausend schwebende Sterne,Weiche Nebel trinken # -> Weiche Nebel trinkenRings die türmende Ferne; # -> Rings die tuermende Ferne;Morgenwind umflügelt # -> Morgenwind umfluegeltDie beschattete Bucht, # -> Die beschattete Bucht,Und im See bespiegelt # -> Und im See bespiegeltSich die reifende Frucht. # -> Sich die reifende Frucht.
Greek // ελληνικά // el
Giorgos Seferis'sThe King of Asine (1938)
Κοιτάξαμε όλο το πρωί γύρω-γύρω το κάστρο % -> Koitaxame olo to proi yiro-yiro to kastroαρχίζοντας από το μέρος του ίσκιου εκεί που η θάλασσα % -> arhizontas apo to meros toi iskioi ekei poi i thalassaπράσινη και χωρίς αναλαμπή, το στήθος σκοτωμένου % -> prasini kai horis analampi, to stithos skotomenoiπαγονιού % -> payonioiΜας δέχτηκε όπως ο καιρός χωρίς κανένα χάσμα. % -> Mas dehtike opos o kairos horis kanena hasma.Οι φλέβες του βράχου κατέβαιναν από ψηλά % -> Oi fleves toi vrahoi katevainan apo psilaστριμμένα κλήματα γυμνά πολύκλωνα ζωντανεύοντας % -> strimmena klimata yimna poliklona zontaneiontasστ άγγιγμα του νερού, καθώς το μάτι ακολουθώυτας τις % -> st ayyiyma toi neroi, kathos to mati akoloithoitas tisπάλευε να ξεφύγει το κουραστικό λίκνισμα % -> paleie na xefiyei to koirastiko liknismaχάνοντας δύναμη ολοένα. % -> hanontas dinami oloena.
Hungarian // magyar // hu
Sándor Márai'sHol vagyok? (Where am I?) (1972)
Ülök a padon, nézem az eget % -> Ulok a padon, nezem az eget. A Central Park nem a Margitsziget. % -> A Central Park nem a Margitsziget.Milyen szép az élet, - kapok, amit kérek. % -> Milyen szep az elet, - kapok, amit kerek.Milyen furcsa íze van itt a kenyérnek. % -> Milyen furcsa ize van itt a kenyernek.Micsoda házak és micsoda utak! % -> Micsoda hazak es micsoda utak!Vajon, hogy hívják most a Károly körutat? % -> Vajon, hogy hivjak most a Karoly korutat?Micsoda nép! - az iramot bírják. % -> Micsoda nep! - az iramot birjak.Vajon ki ápolja szegény Mama sírját? % -> Vajon ki apolja szegeny Mama sirjat?Izzik a levegő, a Nap ragyog. % -> Izzik a levego, a Nap ragyog.Szent Isten! - hol vagyok? % -> Szent Isten! - hol vagyok?
Polish // język polski // pl
Szymborska Wisława'sUtopia (1976)
Wyspa na której wszystko się wyjaśnia. # -> Wyspa na ktorej wszystko sie wyjasnia.Tu można stanąć na gruncie dowodów. # -> Tu mozna stanac na gruncie dowodow.Nie ma dróg innych oprócz drogi dojścia. # -> Nie ma drog innych oprocz drogi dojscia.Krzaki aż uginają się od odpowiedzi. # -> Krzaki az uginaja sie od odpowiedzi.Rośnie tu drzewo Słusznego Domysłu # -> Rosnie tu drzewo Slusznego Domysluo rozwikłanych wiecznie gałęziach. # -> o rozwiklanych wiecznie galeziach.Olśniewająco proste drzewo Zrozumienia # -> Olsniewajaco proste drzewo Zrozumieniaprzy źródle, co się zwie Ach Więc To Tak. # -> przy zrodle, co sie zwie Ach Wiec To Tak.
Romanian // limba română // ro
George Coşbuc'sCrăiasa zânelor (1893)
Orcanul însuşi stă domol # -> Orcanul insusi sta domolŞi-n gânduri dulci se pierde, # -> Si-n ganduri dulci se pierde,Când zânele cu pieptul gol # -> Cand zanele cu pieptul golRăsar pe lunca verde. # -> Rasar pe lunca verde.Uşoare, ca de neguri, fug # -> Usoare, ca de neguri, fugPrin liniştea adâncă, # -> Prin linistea adanca,Obrajii lor, ca flori de rug, # -> Obrajii lor, ca flori de rug,Sunt nesărutaţi încă. # -> Sunt nesarutati inca.Vezi tu departe-n Răsărit # -> Vezi tu departe-n RasaritAprins lucind ca focul # -> Aprins lucind ca foculPalatul lor? Împrejmuit # -> Palatul lor? ImprejmuitCu zid d-argint e locul: # -> Cu zid d-argint e locul:Acolo ele-n veci nu mor # -> Acolo ele-n veci nu morŞi vara-n veci nu moare, # -> Si vara-n veci nu moare,Iar ele-şi au crăiasa lor # -> Iar ele-si au craiasa lorŞi toate sunt fecioare. # -> Si toate sunt fecioare.
Russian // русский язык // ru
Mikhail Lermontov'sValerik (1843)
И знать вам также нету нужды, # -> I znаt' vаm tаkzhе nеtu nuzhdy'Где я? что я? в какой глуши? # -> Gdе ya? chto ya? v kаkoj glushi?Душою мы друг другу чужды, # -> Dushoyu my' drug drugu chuzhdy',Да вряд ли есть родство души. # -> Dа vryad li еct' rodctvo dushi.Страницы прошлого читая, # -> Ctrаniczy' proshlogo chitаya,Их по порядку разбирая # -> Ikh po poryadku rаzbirаyaТеперь остынувшим умом, # -> Tеpеr' octy'nuvshim umom,Разуверяюсь я во всем. # -> Rаzuvеryayuc' ya vo vcеm.Смешно же сердцем лицемерить # -> Cmеshno zhе cеrdczеm liczеmеrit'Перед собою столько лет; # -> Pеrеd coboyu ctol'ko lеt;Добро б еще морочить свет! # -> Dobro b еshhе morochit' cvеt!
Slovenian // slovenski jezik, slovenščina // sl
France Prešeren'sProšnja (1834)
Po drugih se oziraj, # -> Po drugih se oziraj,ne morem ti branít; # -> ne morem ti branit;še men' oči odpiraj, # -> se men' oci odpiraj,mi gledat daj njih svit! # -> mi gledat daj njih svit!Obešajo glavíce, # -> Obesajo glavice,ni rožam mar cvetét; # -> ni rozam mar cvetet;molčijo v gójzdi tice, # -> molcijo v gojzdi tice,ne ljubi se jim pét'. # -> ne ljubi se jim pet'.Ne letajo čebele, # -> Ne letajo cebele,krog cvetja ne šumé; # -> krog cvetja ne sume;c'lo ribice vesele # -> c'lo ribice veselese klavrno držé. # -> se klavrno drze.
About
Replace Unicode characters with sensible US-ASCII equivalents