Thanks for the video! For Arabic, typically content are from right to left, so translating text only is not enough. Is there a way that allows for example repeating groups, header content, etc to shift from left to right -> right to left so it gives full experience for Arabic language?
I apologize for the delay. Option sets are awful if you need translations. We avoid option sets for anything that is client-facing for that reason (which is too bad). If we absolutely have to display something that is part of an option set, we add a conditional to the display that, if the user's language is not english, the display is automatically translated using Google translate. I can do a video on that as well if it would be of interest.
great video! but i have a problem when it comes to importing i get "text_name is missing" or "pluging_name is missing" even tho neither of them are blank. what should i do? thanks
One thing i would like to know is the button itself. Im still new to bubble and would love to know how you made this feature to work. Hope to hear from you soon!
I am so sorry for the delay. Are you referring to the button in the header used to choose the language? If so - pressing that button shows a popup. Inside the popup is a repeating group with all of the languages we set up ahead of time as part of an option set. For each language in the option set we attribute a display (language name like "French), a 4 character lowercase ISO Code (fr_fr) to use with Bubble, a 2 character lowercase ISO (fr) to use with Google Translate, and speaker's glyph (Française). When a user clicks on the option set's name, there is a workflow that has the page navigate to itself and "send more parameters to the page" checked. The new paramater is "lang=[language's 4-character ISO]". You have to make sure "send same parameters" is not checked otherwise you will have 2 competing "lang" parameters in the url.
@@genstatetechnology I actually got it 2 weeks ago. I forgot to delete/edit my post here im so sorry. But thank you so much for showing this approach! Its waaay simpler and easier + i prefer this one compared to injecting lang= in url. Thank you once again!
Sorry for the delay. Translating dynamic data is not as easy as this. It requires a full set of workflows that do the translations on the back end once those fields are created or changed. When I get some time I will make a video showing how we do it.
It doesn't really matter, performance-wise. Bubble has issues with lots of things, but it is lightning fast with App text. However - I would suggest doing a single "Your Photo" because sometimes context changes the translations from other languages.
Wonderful!!! You saved me so much time. Could you please clarify how to attribute a "language" value to the user? I used some plugins which retrieve the browser language, but it didn't work. Best regards and thanks.
We have an option set for "languages". For each language we attribute a display (language name like "French), a 4 character lowercase ISO Code (fr_fr) to use with Bubble, a 2 character lowercase ISO (fr) to use with Google Translate, and speaker's glyph (Française). Each user has a "language" field that points to one of the languages in the option set. When a page loads, it looks for the user's language and changes the "lang" parameter in the page url. If the user hasn't chosen a language, the language parameter is English (?lang=en_us). If that still seems like gibberish, send me a note at Rick@genstate.com and I'll send a link to a screen recording that shows it in action.
Sorry for the delay. I'm sure there are several ways to store language beyond url parameters, but I haven't figured any out yet. I know that each page can be attributed with a data type and that you can pass on a specific data type record when you navigate from page to page. If you use "language" as the page's data type you can pass that info from page to page without it mucking up the url.
Many, many apologies for the delay. I didn't realize anyone actually looked at this video! Anyway - can you give a bit more detail as to what you are missing? Do you mean the App text (?) feature or the ?lang= feature?
Thanks for sharing 👏🏻👏🏻
Thank you, very useful, clear and still up to date!
Thanks for the video! For Arabic, typically content are from right to left, so translating text only is not enough. Is there a way that allows for example repeating groups, header content, etc to shift from left to right -> right to left so it gives full experience for Arabic language?
Bubble will automatically switch to right justify, and load text right to left when you choose Arabic.
Exactly what i needed. Thank you for this!
You're so welcome!
Thanks man!
Happy to help!
Thanks for the explanation.
How do you manage the translation for Option Sets?
Did you find a way for this?
I apologize for the delay. Option sets are awful if you need translations. We avoid option sets for anything that is client-facing for that reason (which is too bad). If we absolutely have to display something that is part of an option set, we add a conditional to the display that, if the user's language is not english, the display is automatically translated using Google translate. I can do a video on that as well if it would be of interest.
great video! but i have a problem when it comes to importing i get "text_name is missing" or "pluging_name is missing" even tho neither of them are blank. what should i do? thanks
I haven't seen that error before. Can you send me the .csv? Send it to info@genstate.com.
One thing i would like to know is the button itself. Im still new to bubble and would love to know how you made this feature to work. Hope to hear from you soon!
same here! :)
I am so sorry for the delay. Are you referring to the button in the header used to choose the language? If so - pressing that button shows a popup. Inside the popup is a repeating group with all of the languages we set up ahead of time as part of an option set. For each language in the option set we attribute a display (language name like "French), a 4 character lowercase ISO Code (fr_fr) to use with Bubble, a 2 character lowercase ISO (fr) to use with Google Translate, and speaker's glyph (Française). When a user clicks on the option set's name, there is a workflow that has the page navigate to itself and "send more parameters to the page" checked. The new paramater is "lang=[language's 4-character ISO]". You have to make sure "send same parameters" is not checked otherwise you will have 2 competing "lang" parameters in the url.
@@genstatetechnology I actually got it 2 weeks ago. I forgot to delete/edit my post here im so sorry. But thank you so much for showing this approach! Its waaay simpler and easier + i prefer this one compared to injecting lang= in url.
Thank you once again!
Hello. How would you translate dynamic data posted by users using the app text?
Sorry for the delay. Translating dynamic data is not as easy as this. It requires a full set of workflows that do the translations on the back end once those fields are created or changed. When I get some time I will make a video showing how we do it.
Performance wise, does anyone if its better to use single app text or multiple app text to separate words?
i.e "Your Photo" could be "Your" "Photo".
It doesn't really matter, performance-wise. Bubble has issues with lots of things, but it is lightning fast with App text. However - I would suggest doing a single "Your Photo" because sometimes context changes the translations from other languages.
Wonderful!!! You saved me so much time. Could you please clarify how to attribute a "language" value to the user? I used some plugins which retrieve the browser language, but it didn't work. Best regards and thanks.
We have an option set for "languages". For each language we attribute a display (language name like "French), a 4 character lowercase ISO Code (fr_fr) to use with Bubble, a 2 character lowercase ISO (fr) to use with Google Translate, and speaker's glyph (Française). Each user has a "language" field that points to one of the languages in the option set. When a page loads, it looks for the user's language and changes the "lang" parameter in the page url. If the user hasn't chosen a language, the language parameter is English (?lang=en_us). If that still seems like gibberish, send me a note at Rick@genstate.com and I'll send a link to a screen recording that shows it in action.
@@genstatetechnology wow! Thanks for the fast reply. I will indeed send you an email...
How do you store the current language? Is there any other way than using URL parameters? :)
Sorry for the delay. I'm sure there are several ways to store language beyond url parameters, but I haven't figured any out yet. I know that each page can be attributed with a data type and that you can pass on a specific data type record when you navigate from page to page. If you use "language" as the page's data type you can pass that info from page to page without it mucking up the url.
great video, thanks. but I dont have the (Attribute for language field)? is that an add-on?
any help?
Many, many apologies for the delay. I didn't realize anyone actually looked at this video! Anyway - can you give a bit more detail as to what you are missing? Do you mean the App text (?) feature or the ?lang= feature?