Search

On a multilingual site (with this approach) I use the & sign in some fields, for example "work & sales". The handle magically turns to "work-and-sales", that's wonderful. In a datasource, I am using the handle as a filter, provided by a page parameter. An uri of a page is for example /projects/works-and-sales.

I other languages than English I would like to have an uri like /projekte/arbeit-und-verkauf, "and" would need to be "und" in German. Although I am using the multilingual text box, the & is converted into the English word "and".

Is there a way to have the & converted to another language automatically? Is this a matter of Page LHandles? Or will I need to have a two title fields for each entry, one with the title written with & and one where I write the title with "und" (German for "and")?

Thanks for you thoughts! Moritz

I think this uses a function in the core, I'm not sure if there is a set of transliterations for other languages. My bet would be that you'd have to install the German Language backend extension in addition to that set, and maybe use Backend Language Switcher..

To be fair I usually set up a separate handle field to give me full control - as at times the titles we used are way longer then the shorter handles we'd like to use. And we don't really use & so I wasn't really aware of the mentioned transliteration.

Strange characters in for example urls are changed by what is in the transliteration file (default it is in english (symphony/lib/lang/transliterations.php).

You can change the back-end language by installing a language extension in your desired language. If you switch the backend to another language then the transliterations for that language will be used.

But I don't know if that will work for multiple languages because you only load one language in the backend.

I once changed the transliterations as & in - for a multilanguage site as a workaround.

Edit: gunglien was faster than me but same thoughts

But I don't know if that will work for multiple languages because you only load one language in the backend.

I think this is actually a problem (noticed this myself a while ago).

Opened an issue on GitHub to discuss this further with core devs.

I once changed the transliterations as & in - for a multilanguage site as a workaround.

Was my fix as well, but gets overwritten and you have to remember and reapply your change every time you update the core.

To be fair I usually set up a separate handle field to give me full control - as at times the titles we used are way longer then the shorter handles we'd like to use.

Better workaround, I guess.

You could restrict such a field to simply not allow any characters that would be replaced by language specific terms.

Thanks for your quick and helpful replies. Installing the German language backend extension indeed changed -and- to -und-. Luckily, the site I need this for is in German only at the moment; I have prepared the sections to be multilingual at a later time but I don't use any other language yet.

Thanks for opening the issue on GitHub. Maybe a solution is at hand when the sites really goes multilingual. If not, I will remember your idea of another field, gunglien, or forbid language specific characters, jensscherbl.

Thanks to all three of you!

I will remember your idea of another field, gunglien, or forbid language specific characters, jensscherbl.

That was meant in addition to gunglien's suggestion. Use a separate field for handles and restrict the characters on that field. You shouldn't have to restrict your actual content fields, that would be a bad idea.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details