uPortal
  1. uPortal
  2. UP-3095

Localized names of layout structure elements are ignored

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.0.0-RC1, 4.0.0-RC2
    • Fix Version/s: 4.0.2
    • Component/s: Internationalization
    • Labels:
      None

      Description

      There's up_layout_struct_mdata table where user layout structure node names can be translated, but these translations are not used.

        Activity

        Hide
        Arvids Grabovskis added a comment -

        In order to enable tab name translations there are several options:

        1. Use up_layout_struct_mdata table for holding translated strings, but there are some problems. Current layout implementation copies the layout of fragment owner (in case of modifications in layouts derived from layout owners). In order to keep all locales available to each user, data in up_layout_struct_mdata must also be copied. Current layout management code makes this additional copying, updating and retrieving very hard and cumbersome to implement.
        2. Use up_layout_param with key values like name-lv_LV and name-es_ES and set the values of those keys to appropriate translations. XSL would use one of these values depending on user locale. But with this solution there are problems when renaming tabs. For example, original tab name is "Welcome" and translated is "Willcommen". User selects German locale and renames this tab to "My Home", but current implementation would change only the original translation, and user will see "Willcommen" no matter what.
        3. Use message resource (either file or DB based). This seems the easiest and safest solution. Since layout structures are stored in DB, message resource should be also DB-based (but it is not mandatory).
        Show
        Arvids Grabovskis added a comment - In order to enable tab name translations there are several options: Use up_layout_struct_mdata table for holding translated strings, but there are some problems. Current layout implementation copies the layout of fragment owner (in case of modifications in layouts derived from layout owners). In order to keep all locales available to each user, data in up_layout_struct_mdata must also be copied. Current layout management code makes this additional copying, updating and retrieving very hard and cumbersome to implement. Use up_layout_param with key values like name-lv_LV and name-es_ES and set the values of those keys to appropriate translations. XSL would use one of these values depending on user locale. But with this solution there are problems when renaming tabs. For example, original tab name is "Welcome" and translated is "Willcommen". User selects German locale and renames this tab to "My Home", but current implementation would change only the original translation, and user will see "Willcommen" no matter what. Use message resource (either file or DB based). This seems the easiest and safest solution. Since layout structures are stored in DB, message resource should be also DB-based (but it is not mandatory).
        Hide
        Arvids Grabovskis added a comment -

        Currently there's tab title translation support (revision 25364). Other nodes (like columns) can be internationalized by making additional changes to XSL files, but that's not mandatory because those titles are not visible to users.

        Show
        Arvids Grabovskis added a comment - Currently there's tab title translation support (revision 25364). Other nodes (like columns) can be internationalized by making additional changes to XSL files, but that's not mandatory because those titles are not visible to users.

          People

          • Assignee:
            Arvids Grabovskis
            Reporter:
            Arvids Grabovskis
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: