say, we have a table tbl1(id=4, 'Belgium), and translations ir_translation(res_id=4, lang='fr_FR', value='Belgique'), (res_id=4, lang='nl_NL', value='België')
We would want that search( ['name' = 'Belgique'], context.lang='fr_FR') == True search( ['name' = 'Belgium'], context.lang='fr_FR') == False # ! search( ['name' = 'België'], context.lang='fr_FR') == False # no cross-lang search( ['name' = 'België'], context.lang='nl_NL') == True search( ['name' = 'Belgie'], context.lang='nl_NL') == True # ignore accent search(['name' = 'Belgium'], context.lang='el_GR') == True # no translation, so default
Let's see what behaviour we consider ideal:
say, we have a table tbl1(id=4, 'Belgium), and translations ir_translation( res_id= 4, lang='fr_FR', value='Belgique'), (res_id=4, lang='nl_NL', value='België')
We would want that search( ['name' = 'Belgique'], context. lang='fr_ FR') == True
search( ['name' = 'Belgium'], context. lang='fr_ FR') == False # !
search( ['name' = 'België'], context. lang='fr_ FR') == False # no cross-lang
search( ['name' = 'België'], context. lang='nl_ NL') == True
search( ['name' = 'Belgie'], context. lang='nl_ NL') == True # ignore accent
search( ['name' = 'Belgium'], context. lang='el_ GR') == True # no translation, so default