Update:
For resolving the problem with the search results links I made plugin so I can configure as many Itemids for as many languages I need.
Then, on the com_Search tmpl override, I pulled the plugin's params to see what ItemID I needed to use for the current language. It now works with my 2 languages and I think I will work if I add a new language.
The plugin is not for admins, is more for developers and customizers. I'm attaching it in case someone needs it.
Note: You can add more fields to the plugin by editing the XML. You can also use a different logic for determining the name of the param to be used.
The code I used in the com_search override (default_results.php) was:
On the First lines of the file:
$plugin = JPluginHelper::getPlugin('system', 'likan_hikashop_multilang');
$params = new JRegistry;
$params->loadString($plugin->params);
$localizedParamID = JText::_('LK_LOCALIZED_ITEM_ID'); // You need to add the fieldnamames to the language file(S)
$localizedItemid = $params->get($localizedParamID);
Then, right before displaying each result:
<?php
if ( $result->href ) :
// Added by Likan
$hspattern = '/com_hikashop/';
if (preg_match($hspattern, $result->href)){
// This is a HS product, brand or category
$pattern = '/Itemid=[0-9A-Za-z]*/';
$url_itemID = 'Itemid=' . $localizedItemid;
if (preg_match($pattern, $result->href))
$result->href = preg_replace($pattern, $url_itemID, $result->href);
else
$result->href .= '&' . $url_itemID;
}
?>
Note: On the foreach, I added a '&' to the $result var, to modify it's actual content.
<?php foreach ($this->results as &$result) : ?>
That worked for me. Please update this thread if you guys know how to do it in a better way.