Shahi LegalFlowSuite

Set Up Multi-Language Support

Configure Multi-Language Cookie Banners & Documents

Enable Multi-Language Support

Step 1: Install Language Plugins

Choose one of these multilingual plugins:

WPML (Recommended)
`
WordPress Admin → Plugins → Add New
Search: “WPML Multilingual CMS”
Install and activate
`

Polylang
`
WordPress Admin → Plugins → Add New
Search: “Polylang”
Install and activate
`

TranslatePress
`
WordPress Admin → Plugins → Add New
Search: “TranslatePress”
Install and activate
`

Step 2: Configure Languages

`
SLOS → Settings → Languages
`

Add your supported languages:

    1. English (en) – Primary
    2. Spanish (es)
    3. French (fr)
    4. German (de)
    5. Portuguese (pt)
    6. Italian (it)
    7. Configure Cookie Banner Translations

      Step 1: Access Banner Translation

      `
      SLOS → Consent Management → Banner Settings → Translations
      `

      Step 2: Translate Banner Text

      Main Banner Text:
      `json
      {
      “en”: {
      “title”: “We use cookies”,
      “description”: “We use cookies to enhance your experience…”,
      “accept_all”: “Accept All”,
      “reject_all”: “Reject All”,
      “customize”: “Customize”
      },
      “es”: {
      “title”: “Usamos cookies”,
      “description”: “Usamos cookies para mejorar tu experiencia…”,
      “accept_all”: “Aceptar Todo”,
      “reject_all”: “Rechazar Todo”,
      “customize”: “Personalizar”
      }
      }
      `

      Step 3: Translate Cookie Categories

      Essential Cookies:

    8. EN: “Essential Cookies”
    9. ES: “Cookies Esenciales”
    10. FR: “Cookies Essentiels”
    11. DE: “Notwendige Cookies”
    12. Analytics Cookies:

    13. EN: “Analytics Cookies”
    14. ES: “Cookies de Analítica”
    15. FR: “Cookies d’Analyse”
    16. DE: “Analyse-Cookies”
    17. Marketing Cookies:

    18. EN: “Marketing Cookies”
    19. ES: “Cookies de Marketing”
    20. FR: “Cookies de Marketing”
    21. DE: “Marketing-Cookies”
    22. Preferences Cookies:

    23. EN: “Preferences Cookies”
    24. ES: “Cookies de Preferencias”
    25. FR: “Cookies de Préférences”
    26. DE: “Präferenz-Cookies”
    27. Set Up Geo-Language Detection

      Step 1: Configure Geo-Detection

      `
      SLOS → Consent Management → Geo-Targeting → Language Settings
      `

      Step 2: Map Countries to Languages

      `javascript
      const geoLanguageMap = {
      // Spanish-speaking countries
      ‘ES’: ‘es’, ‘MX’: ‘es’, ‘AR’: ‘es’, ‘CO’: ‘es’, ‘PE’: ‘es’,
      ‘VE’: ‘es’, ‘CL’: ‘es’, ‘EC’: ‘es’, ‘GT’: ‘es’, ‘CU’: ‘es’,
      ‘BO’: ‘es’, ‘DO’: ‘es’, ‘HN’: ‘es’, ‘PY’: ‘es’, ‘SV’: ‘es’,
      ‘NI’: ‘es’, ‘CR’: ‘es’, ‘PA’: ‘es’, ‘UY’: ‘es’, ‘GQ’: ‘es’,

      // French-speaking countries
      ‘FR’: ‘fr’, ‘BE’: ‘fr’, ‘CH’: ‘fr’, ‘CA’: ‘fr’, ‘LU’: ‘fr’,
      ‘MC’: ‘fr’, ‘SN’: ‘fr’, ‘CI’: ‘fr’, ‘ML’: ‘fr’, ‘NE’: ‘fr’,

      // German-speaking countries
      ‘DE’: ‘de’, ‘AT’: ‘de’, ‘LI’: ‘fr’, // Liechtenstein uses French

      // Portuguese-speaking countries
      ‘PT’: ‘pt’, ‘BR’: ‘pt’, ‘AO’: ‘pt’, ‘MZ’: ‘pt’, ‘CV’: ‘pt’,
      ‘GW’: ‘pt’, ‘ST’: ‘pt’, ‘TL’: ‘pt’,

      // Italian-speaking countries
      ‘IT’: ‘it’, ‘SM’: ‘it’, ‘VA’: ‘it’, // Vatican City

      // Default fallback
      ‘default’: ‘en’
      };
      `

      Step 3: Browser Language Fallback

      Enable automatic browser language detection as secondary fallback.

      Configure Legal Document Translations

      Step 1: Access Document Translation

      `
      SLOS → Legal Documents → Templates → Translations
      `

      Step 2: Translate Document Templates

      Privacy Policy Sections:

    28. Data Collection (Recopilación de Datos)
    29. Legal Basis (Base Legal)
    30. Data Subject Rights (Derechos del Interesado)
    31. Contact Information (Información de Contacto)
    32. Cookie Policy Sections:

    33. What are Cookies (Qué son las Cookies)
    34. How We Use Cookies (Cómo Usamos las Cookies)
    35. Managing Cookies (Gestionar Cookies)
    36. Third-party Cookies (Cookies de Terceros)
    37. Step 3: Auto-Translation Setup

      For initial translations, use:

    38. Google Translate API
    39. DeepL Pro API
    40. Manual translation services
    41. Set Up DSR Portal Multi-Language

      Step 1: Portal Language Configuration

      `
      SLOS → DSR Portal → Settings → Languages
      `

      Step 2: Translate Portal Interface

      Request Form Labels:
      `json
      {
      “request_type”: {
      “en”: “Request Type”,
      “es”: “Tipo de Solicitud”,
      “fr”: “Type de Demande”,
      “de”: “Anfragetyp”
      },
      “personal_info”: {
      “en”: “Personal Information”,
      “es”: “Información Personal”,
      “fr”: “Informations Personnelles”,
      “de”: “Persönliche Informationen”
      }
      }
      `

      Step 3: Translate Response Templates

      Approval Responses:

    42. EN: “Your request has been approved…”
    43. ES: “Su solicitud ha sido aprobada…”
    44. FR: “Votre demande a été approuvée…”
    45. DE: “Ihr Antrag wurde genehmigt…”
    46. Rejection Responses:

    47. EN: “Your request cannot be fulfilled…”
    48. ES: “Su solicitud no puede ser cumplida…”
    49. FR: “Votre demande ne peut pas être satisfaite…”
    50. DE: “Ihr Antrag kann nicht erfüllt werden…”
    51. Configure Analytics Multi-Language

      Step 1: Event Translation

      `
      SLOS → Analytics Integration → Event Settings → Translations
      `

      Step 2: Translate Custom Events

      Consent Events:
      `json
      {
      “consent_granted”: {
      “en”: “Consent Granted”,
      “es”: “Consentimiento Otorgado”,
      “fr”: “Consentement Accordé”,
      “de”: “Einwilligung Erteilt”
      }
      }
      `

      Step 3: Language-Specific Dashboards

      Create separate analytics dashboards for each language to track:

    52. Consent rates by language
    53. Popular request types by region
    54. Document downloads by language
    55. Portal usage by language
    56. Implement Language Switching

      Step 1: Add Language Switcher

      `php
      // Add to theme functions.php
      function sloslanguageswitcher() {
      if (functionexists(‘iclget_languages’)) {
      // WPML language switcher
      doaction(‘wpmllanguage_switcher’);
      } elseif (functionexists(‘pllthe_languages’)) {
      // Polylang language switcher
      pllthelanguages(array(‘show_flags’ => 1));
      }
      }
      addaction(‘wpfooter’, ‘sloslanguageswitcher’);
      `

      Step 2: Cookie Banner Language Sync

      Ensure banner language matches site language:

      `javascript
      // Sync banner language with site language
      document.addEventListener(‘DOMContentLoaded’, function() {
      const siteLang = document.documentElement.lang || ‘en’;
      if (window.SLOS && window.SLOS.setLanguage) {
      window.SLOS.setLanguage(siteLang);
      }
      });
      `

      Test Multi-Language Setup

      Step 1: Language Testing Checklist

      Banner Testing:

    57. [ ] Banner appears in correct language for each region
    58. [ ] All buttons and text translate properly
    59. [ ] Cookie categories display in correct language
    60. [ ] Consent choices save correctly across languages
    61. Document Testing:

    62. [ ] Legal documents generate in selected language
    63. [ ] Templates translate all sections correctly
    64. [ ] PDF export maintains language formatting
    65. [ ] Links and references work in all languages
    66. Portal Testing:

    67. [ ] Request form displays in user’s language
    68. [ ] Email notifications send in correct language
    69. [ ] Status updates maintain language consistency
    70. [ ] Document exports respect language selection
    71. Step 2: Cross-Language Consistency

    72. Test consent status carries across language switches
    73. Verify cookie settings persist across languages
    74. Check analytics tracking works with all languages
    75. Ensure accessibility features work in all languages
    76. Advanced Multi-Language Features

      Step 1: Custom Language Packs

      Create custom language files for industry-specific terms:

      `php
      // Custom language pack for healthcare
      $healthcare_terms = array(
      ‘en’ => array(
      ‘medical_data’ => ‘Medical Data’,
      ‘health_records’ => ‘Health Records’
      ),
      ‘es’ => array(
      ‘medical_data’ => ‘Datos Médicos’,
      ‘health_records’ => ‘Registros de Salud’
      )
      );
      `

      Step 2: Dynamic Content Translation

      Set up real-time translation for user-generated content:

    77. DSR request descriptions
    78. Custom document sections
    79. Support ticket communications
    80. Audit log entries
    81. Step 3: RTL Language Support

      For right-to-left languages (Arabic, Hebrew):

      `css
      / RTL language support /
      [dir=”rtl”] .slos-consent-banner {
      text-align: right;
      }

      [dir=”rtl”] .banner-buttons {
      flex-direction: row-reverse;
      }
      `

      Monitor Multi-Language Performance

      Step 1: Language Analytics

      Track usage by language:

    82. Most popular languages
    83. Consent rates by language
    84. Document downloads by language
    85. Portal usage by language
    86. Step 2: Translation Quality

      Monitor translation effectiveness:

    87. User feedback on translations
    88. Error rates in translated content
    89. Support tickets about translations
    90. A/B testing of translation variations
    91. Maintenance and Updates

      Step 1: Regular Translation Updates

    92. Review translations quarterly
    93. Update for new regulations
    94. Add new language support
    95. Improve translation quality
    96. Step 2: Language Pack Management

    97. Keep language packs updated
    98. Backup custom translations
    99. Version control translations
    100. Document translation changes
    101. Troubleshooting Multi-Language Issues

      Common Problems

      Language Not Detected:

    102. Check geo-detection service
    103. Verify browser language settings
    104. Test with different IP addresses
    105. Check language fallback settings
    106. Translation Missing:

    107. Verify language pack installation
    108. Check for incomplete translations
    109. Update translation files
    110. Use fallback language
    111. Consent Not Syncing:

    112. Check cross-language cookie settings
    113. Verify language switcher integration
    114. Test consent persistence
    115. Debug cookie domain settings
    116. Support Resources

    117. Translation service providers
    118. Language plugin documentation
    119. Browser language detection guides
    120. Internationalization best practices

Share this article

Was this article helpful?

Help us improve our documentation

Still need help?

Our support team is ready to assist you with personalized guidance for your workspace.

Submit a support ticket