Uploaded image for project: 'In-Portal CMS'
  1. In-Portal CMS
  2. INP-241

Translation system refactoring

    XMLWordPrintable

    Details

      Description

      Currently phrases and email event translations are stored for each language separately, so adding new language creates twice more records to Phrase and EmailMessage tables. Also after that same phrase/email event translation have different id for different languages and this enlarges amount of cached data.

      I propose to make Translation column (in Phrase table) and Template/Subject columns (in EmailMessage table) multilingual. This way record count in Phrase and EmailMessage tables will be equals to actual phrase and email event count in system.

      There also side benefit of that: in cases, when phrase is not translated in given language, then we still could show it's translation from primary language. This is better, then show "Unable to render embedded object: File (LU_MISSING_PHRASE) not found." on Front-End at least.

      After proposed refactoring is made, then "Configuration -> Website -> Regional" section can no longer exist, because each record in Phrase/EmailMessage table will represent all languages at once. This should lead to making "phrases" and "emailmessages" prefixes no subitems of "lang" prefix, but self sufficient entities with their own grid/edit templates.

      There are "Website & Content -> Phrases & Labels" and "Website & Content -> Email Messages" separate grids for that purpose. They will be transformed to show translations from all languages in one record.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                alex Alex
                Reporter:
                alex Alex
                Developer:
                Alex
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: