Internationalization

Certified Senior Developer

Hi,

I want to develop an application that can work in 2 languages - English and French, I went through the documentation and other resources but it is not very clear how to go about it. Can someone kindly provide a step by step document or a resource if you have any (As in which files/plugins to download, where to store them, what changes are to be made in the appian objects and how to run the site finally). I understand some of the earlier plug ins used for this has been discontinued as well. It will be of great help.

Thanks in advance

Swetha

  Discussion posts and replies are publicly visible

Parents
  • If it helps in your specific situation, you can simply try designing the interfaces in the following way without installing anything extra, even though it may not be the fastest approach.

    a!localVariables(
      local!language: "German",
      {
        a!columnsLayout(
          columns: {
            a!columnLayout(
              contents: {},
              width: "WIDE"
            ),
            a!columnLayout(
              contents: {},
              width: "NARROW"
            ),
            a!columnLayout(
              contents: {
                a!richTextDisplayField(
                  label: "Rich Text",
                  labelPosition: "COLLAPSED",
                  value: {
                    a!richTextItem(
                      text: 
                      a!richTextItem(
                        text: 
                        if(or(isnull(ri!language), ri!language=local!language),
                        "Sprache",
                        "Language"
                        ),
                        color: "SECONDARY"
                      ),
                      size: "SMALL"
                    )
                  },
                  align: "RIGHT"
                )
              },
              width: "NARROW"
            ),
            a!columnLayout(
              contents: {
                a!dropdownField(
                  label: 
                  if(or(isnull(ri!language), ri!language=local!language),
                  "Sprache",
                  "Language"
                  ),
                  labelPosition: "COLLAPSED",
                  placeholder: 
                  if(or(isnull(ri!language), ri!language=local!language),
                  "--- Wählen Sie eine Sprache ---",
                  "--- Select a Language ---"
                  ),
                  choiceLabels: 
                  if(or(isnull(ri!language), ri!language=local!language),
                  {
                    "Deutsch", 
                    "Englisch"
                  },
                  {
                    "German", 
                    "English"
                  }
                  ),
                  choiceValues: 
                  {
                    "German", 
                    "English"
                  },
                  value: 
                  if(or(isnull(ri!language), ri!language=local!language), 
                  local!language, 
                  ri!language
                  ),
                  saveInto: ri!language,
                  validations: {}
                )
              },
              width: "NARROW"
            )
          },
          alignvertical: "MIDDLE"
        ),
        a!columnsLayout(
          columns: {
            /* Form content */
            a!columnLayout(
              contents: {
                a!columnsLayout(
                  columns: {
                    a!columnLayout(
                      contents: {
                        a!sectionLayout(
                          label: 
                          if(or(isnull(ri!language), ri!language=local!language),
                          "Mitarbeiteradresse aktualisieren",
                          "Update Employee Address"
                          ),
                          labelSize: "LARGE",
                          labelColor: "STANDARD",
                          contents: {
                            a!dropdownField(
                              label: 
                              if(or(isnull(ri!language), ri!language=local!language),
                              "Land",
                              "Country"
                              ),
                              placeholder: 
                              if(or(isnull(ri!language), ri!language=local!language),
                              "--- Wählen Sie ein Land ---",
                              "--- Select a Country ---"
                              ),
                              choiceLabels: 
                              if(or(isnull(ri!language), ri!language=local!language),
                              {
                                "Vereinigte Staaten von Amerika", 
                                "Deutschland"
                              },
                              {
                                "United States of America", 
                                "Germany"
                              }
                              ),
                              choiceValues: 
                              {
                                "United States of America", 
                                "Germany"
                              },
                              value: ri!country,
                              saveInto: ri!country,
                              searchDisplay: "AUTO",
                              required: true,
                              requiredMessage: 
                              if(or(isnull(ri!language), ri!language=local!language),
                              "Das Feld ist obligatorisch",
                              "This field is mandatory"
                              ),
                              validations: {},
                              validationGroup: "isRequired"
                            ),
                            a!textField(
                              label: 
                              if(or(isnull(ri!language), ri!language=local!language),
                              "Adresse",
                              "Address"
                              ),
                              placeholder: 
                              if(or(isnull(ri!language), ri!language=local!language),
                              "--- Schreiben Sie eine Adresse ---",
                              "--- Enter an Address ---"
                              ),
                              value: ri!address,
                              saveInto: ri!address,
                              refreshAfter: "KEYPRESS",
                              required: true,
                              requiredMessage: 
                              if(or(isnull(ri!language), ri!language=local!language),
                              "Das Feld ist obligatorisch",
                              "This field is mandatory"
                              ),
                              validations: {},
                              validationGroup: "isRequired"
                            )
                          }
                        ),
    
                        a!buttonLayout(
                          primaryButtons: {
                            a!buttonWidgetSubmit(
                              label: 
                              if(or(isnull(ri!language), ri!language=local!language),
                              "Senden",
                              "Submit"
                              ),
                              saveInto: {},
                              showwhen: true,
                              style: "PRIMARY",
                              validationGroup: "isRequired"
                            )
                          },
                          secondaryButtons: 
                            a!buttonWidgetSubmit(
                              label: 
                              if(or(isnull(ri!language), ri!language=local!language),
                              "Stornieren",
                              "Cancel"
                              ),
                              value: true,
                              saveInto: ri!cancel,
                              showwhen: true,
                              style: "NORMAL",
                              skipValidation: false
                            )
                        )
    
                      }
                    )
                  }
                )
              }
            )
    
          }
        )
      }
    )

  • 0
    Certified Senior Developer
    in reply to muhammedk

    Thank you , I had worked on similar lines

Reply Children
No Data