6 Replies Latest reply on Nov 30, 2016 3:34 PM by siplus

    Landing Page with Multiple Languages


      I have a landing page that all users see when they open the solution.  It has a Legal Disclaimer layout they must acknowledge by clicking an "Agree" button.  They are then directed into the solution.


      I will be adding users that speak Spanish and Portuguese for now, with additional European countries down the road.  Our legal department wants users in other countries to see the disclaimer statement in their native language.


      Has anyone else had experience with something like this?  Maybe a script that shows the language specific layout based on their location?  Though I'm not sure how our computers see the location since we are all on the same network.


      Maybe a button setup?

        • 1. Re: Landing Page with Multiple Languages

          I wouldn't use multiples layouts; use a single layout, and display the text as a related field from a table. This means: add a new record for a new language, rather than a new layout with all that entails.


          The relationship to that table would be driven by however you determine the appropriate language.

          • 2. Re: Landing Page with Multiple Languages

            So, your saying create a new table just for that layout?  Once the user gets past the "Agree" layout the rest of the solution will stay in English for everyone.

            • 3. Re: Landing Page with Multiple Languages

              That basically is how the web carts handle multiple languages. This is also good for "labels" that the client wants to customize. Keep in mind the placement and sizing of these kinds of elements.


              Sent from miPhone

              • 4. Re: Landing Page with Multiple Languages

                I'm suggesting that for starters, you create a new table to hold any language-specific texts (even if it is only one text).


                What table you base the landing page layout on and how you get to display those texts (native language records, a relationship, a merge variable initialized with the appropriate text etc.) is a matter of implementation.

                • 5. Re: Landing Page with Multiple Languages

                  I use a global table for labels and texts of that sort. On opening, I get the language of FM installation and following this value, I fill the global table values with the values that fits with the language record. It takes just some milli-seconds to fill the tables.


                  Label_Table - one record by language

                  Language     Text

                  Labels          Text[n] n = number of labels



                  Language     Text

                  Messages     Text[m] m = number of messages


                  Global-Table - only one record

                  Global_Label            Text[n]

                  Global_Message      Text[m]


                  Do the same with a Message_Table and Global_Message and show Global_Message on layout.

                  The first layout where people must agree is associates with Global_Table.


                  All labels in this layout are fields as Global_Label

                  All messages in this layout are fields as Global_Message

                  • 6. Re: Landing Page with Multiple Languages

                    In a nutshell, what erolst says (and I endorse) is:


                    - have a table "Translations" with 3 fields


                    - language

                    - fieldName

                    - content


                    create records with language = "SPA"; "POR"; "ENG", fieldName <- "disclaimer", also other needed values, combos of language, fieldName and content, as u want and need. For each language, have a set of records for each fieldName.




                    on your disclaimer layout have a globalField gContent and a global field gLanguage, popup;

                    have a gFieldName set to "disclaimer" or "agreement" or whatever, depending on the layout - trigger on layout


                    have a trigger on the gLanguage popup - a script firing on modify - which sets gContent to ExecuteSQL("SELECT content FROM Translations WHERE fieldName = ? AND language = ? FETCH FIRST ROW ONLY";"";""; gFieldName; gLanguage)