ACF select filed translation via qTranslate

Those who use these plugins know that you can translate some of ACF fields via qTranslate (text, text area, etc). But I need on my website translate also select field with options. So any advise? I was looking for other plugin options, like Polylang which offers registration of pll_register_string() in function.php. But migrating to Polylang may be will consume more time.

Upvotes: 0

Views: 1524

Answers (1)

acidrums4
acidrums4

Reputation: 255

I seem to recall there's a WordPress dedicated subsite here on StackExchange for such questions; maybe there you'd got an answer way sooner.

However... if I understood correctly, you are/were looking for translate text on Select fields with ACF & qTranslate, right? You're right about the "ACF qTranslate" plugin not having a solution for Select fields.

I was struggling for finding a solution for this, too (that's why I strumbled upon this question!), but I just figured out one can use the markup qTranslate uses for regular text, but inside Select text options. Not an elegant solution, though, but it worked for me and I hope it works too for you.

For example, say you have the following options on the "Choices" field on your ACF Select setup (remember they go on the "Value : Label" format - the latter is what you're going to see on frontend):

apples : Apples
oranges : Oranges
bananas : Bananas
lemons : Lemons

And say you want to translate them to spanish (my native language, sorry for my bad english btw). As qTranslate follows ISO 639-1 standard for its markup, you'd need en code for the current text, given in english, and es code for its spanish translation.

In order to give qTranslate a multilingual string, you need to separate each portion of each language with a prefix telling its language - that goes into squared brackets and a semicolon before its code:

[:en]Text[:es]Texto[:fr]Texte

As you'd need to translate labels, just the second column of your Select text options (text after semicolon) is what you need to change. So that would become

apples : [:en]Apples[:es]Manzanas
oranges : [:en]Oranges[:es]Naranjas
bananas : [:en]Bananas[:es]Bananos
lemons : [:en]Lemons[:es]Limones

Save it, and don't forget to update the pages/blogs/whatever using those custom fields, 'cause they changed and they're going to lose their saved values.

Hope that helps (you or whoever needs this)!

Upvotes: 2

Related Questions