how can I update some table rows using data from existing rows?
In general (if "many rows contain empty values" means "they contains NULL"):

UPDATE store_locator_store_lang t1
  JOIN store_locator_store_lang t2 ON t1.id_store = t2.id_store 
                                  AND t1.lang_id = 1
                                  AND t2.lang_id = 2
SET t2.partner = COALESCE(t2.partner, t1.partner),
    t2.address = COALESCE(t2.address, t1.address),
    t2.city = COALESCE(t2.city, t1.city),
    t2.occupation = COALESCE(t2.occupation, t1.occupation);



  The empty value seems to be zero-length string and not null.


UPDATE store_locator_store_lang t1
  JOIN store_locator_store_lang t2 ON t1.id_store = t2.id_store 
                                  AND t1.lang_id = 1
                                  AND t2.lang_id = 2
SET t2.partner = CASE WHEN t2.partner = ''
                      THEN t1.partner
                      ELSE t2.partner END,
    t2.address = CASE WHEN t2.address = ''
                      THEN t1.address 
                      ELSE t2.address END,
    t2.city = CASE WHEN t2.city = ''
                   THEN t1.city 
                   ELSE t2.city END,
    t2.occupation = CASE WHEN t2.occupation = ''
                         THEN t1.occupation 
                         ELSE t2.occupation END
/* WHERE '' IN (t2.partner, t2.address, t2.city, t2.occupation) */
    ;