Our system use language-aware search powered by Apache Solr. 
This means the search system understands the structure and nuances of different languages—like stemming, accents, and common word variations—so your users get more accurate and relevant results, based on the language they selected when using our app.

To learn about the search in general click here.

This is how it works when having multiple languages.


When content translation is enabled (via Google translation or other APIs)

New content is translated from the actual language the content was typed into all enabled system languages andages, and keep it in a dedicated table.
The UI language is meaningless when inserting the content).

The actual language doesn't have to be one of the system languages. It just needs to be "known" by the translation API.

For example:
If the system languages are English and German, and I type “ice cream” or even if type “gelato” (in Italian)-- > system will translate the string I typed to English + German and keep these strings,

 

 

When the user Searches, the search is done according to the UI language the user is currently at:
When the user is in German, the system will look for the strings in German in the dedicated table (whether inserted in German originally OR translated to German from any other language)

 

When translation is disabled

The original strings are kept so results should be the same regardless of my UI language, BUT the UI language can has some impact since the search will be performed according to rules and nuances that language.