diff --git a/web/themes/interledger/interledger.theme b/web/themes/interledger/interledger.theme index 4ff78c882..d156b3301 100644 --- a/web/themes/interledger/interledger.theme +++ b/web/themes/interledger/interledger.theme @@ -1,5 +1,7 @@ getDefaultLanguage()->getId()); + $lang_code = strtolower(\Drupal::languageManager()->getCurrentLanguage()->getId()); + $needs_translation = $lang_code !== $default_lang_code; + + if ($variables['menu_name'] === 'main' && $needs_translation) { + $path_to_translate = '/developers'; + $translated_path = 'developers/' . $lang_code; + foreach ($variables['items'] as $key => $item) { + if (!empty($item['below']) && is_array($item["below"])) { + foreach ($item['below'] as $skey => $submenu) { + if (isset($submenu['url']) && is_object($submenu['url'])) { + $url_string = strtolower($submenu['url']->toString()); + if (str_starts_with($url_string, $path_to_translate)) { + $translationStr = substr_replace($url_string, $translated_path, 0, strlen($path_to_translate)); + $translationUrl = Url::fromUri('base:' . $translationStr); + $variables['items'][$key]['below'][$skey]['url'] = $translationUrl; + } + } + } + } + } + } +}