Skip to content

Languages and special characters

RowSprout works in every language. Accented letters (é, ü, ß, ø, ł), other alphabets (Greek, Cyrillic, Arabic, Hebrew, Chinese, Japanese, Korean and more), emoji, quotes and backslashes are all supported, in the rows you type and on the pages RowSprout generates.

Whatever you type in a row arrives on the page exactly as you typed it: Café Zürich, Αθήνα, 東京都, תל אביב or Düsseldorf & Co “Rhein” 😀. That goes for the title, text fields, textareas and every other property, wherever its placeholder appears: in running text, headings, links, image alt text and the fields your page builder or SEO plugin stores with the page.

  • Quotes and & are escaped where needed (for example inside a link or an attribute), so they never break your page.
  • Backslashes stay, such as in C:\Projects or in custom CSS like content: "\f00c".
  • In a Title, double spaces and line breaks are reduced to one space.

A row’s URL / Slug value becomes part of the page’s address, the same way WordPress makes a slug from a post title. RowSprout shows the result as soon as you leave the field, so you see the address before you save:

You type The address part
Café Zürich cafe-zurich
Saint-Étienne saint-etienne
Ærø Łódź aero-lodz
Αθήνα αθήνα
東京 Tokyo 東京-tokyo
Fish & chips — "best" fish-chips-best
  • Accents on Latin letters are dropped and the text is lowercased. A site in German follows German spelling (Zürich → zuerich, Straße → strasse), and a site in Danish follows Danish spelling (Ærø → aeroe, på → paa). The site language is the one under Settings → General.
  • Letters of other alphabets stay as they are, so a Greek or Japanese page gets a Greek or Japanese address. Browsers show it in its own script; behind the scenes it is sent encoded (%CE%B1…), which is how every WordPress site handles it.
  • Spaces, dots and slashes become hyphens; other punctuation is left out.
  • Two rows that end up with the same address are flagged, also when they only differed in accents (Tōkyō and tokyo).

A property’s code is what its placeholder token uses, as in @code_town_123@. Codes always consist of plain lowercase letters, digits and underscores, so tokens work everywhere, including in URLs and in translation tools.

The code is made from the property’s label when you add it: Città becomes citta, Prijs per uur becomes prijs_per_uur. A label in another alphabet, such as 名前 or Город, gets the type’s default code (text_field), and a code that is already taken gets a number (text_field_2). The label itself keeps its own script: it is what you see in the Properties and Groups tabs. Once saved, a property keeps its code, even when you rename it.

An Email property accepts international domain names: info@müller.de is stored as info@xn--mller-kva.de, the form every mail server understands. Letters outside plain ASCII before the @ (jörg@…) are flagged and not saved, instead of being changed silently, because most mail servers don’t accept them.

The conversion needs PHP’s intl extension, which most hosts enable; without it, an address with an international domain is refused (see System requirements).

The Grid widget and block sort pages alphabetically in the site language: Ärzte sits next to apotheek, not after zahnarzt. Without PHP’s intl extension, accents and capitals are ignored when sorting.

With RowSprout Pro and WPML, you translate a template once and its pages are generated in every language, in any alphabet. See WPML.