Querying for a specific language and if not found use default one instead
Giving next example:

create table a (id int, description text);
create table b (id int, lang text, description text, default_lang int);
insert into a values (1, 'Yo vivo en Barcelona');
insert into b values 
(1, 'en-US', 'I am living in Barcelona', 0), 
(1, 'es-AR', 'Yo vivo en Barcelona', 1);


If you table have a default text for the default language you could use a LEFT JOIN and COALESCE in this way:

select
    a.id,
    coalesce(b.description, a.description) as description
from
    a
left join
    b
    on b.id = a.id and b.lang = 'en-US';




id | description             
-: | :-----------------------
 1 | I am living in Barcelona



Or you could add a default_lang column in translations table and use a LATERAL JOIN with LIMIT 1:

select
    a.id,
    coalesce(b.description, a.description) as description
from
    a
join lateral
    (select id, description
     from   b
     where  lang = 'en-EN' or lang = 'es-AR'
     order by default_lang
     limit 1) b on true 




id | description         
-: | :-------------------
 1 | Yo vivo en Barcelona



db&lt;>fiddle here