This is one way to do this using common table expressions.
SQL Fiddle
In the first article, you calculate the counts, grouped by sentence and language. In the following quote, use rankor row_numberto designate the 1sentence with the highest number of languages. Finally, choose from ranks of 1st rank.
with counts as(
select offer, language, count(*) cnt
from tablename
group by offer, language)
,ranking as
(select rank() over(partition by offer order by cnt desc) rnk
, c.*
from counts c)
select language, offer
from ranking
where rnk = 1
An alternative approach without window functions:
with counts as (
select offer, language, count(*) cnt
from tablename
group by offer, language)
,maxcount as (select offer, max(cnt) mxcnt from counts group by offer)
select c.language, m.offer
from counts c
join maxcount m on m.offer = c.offer and m.mxcnt = c.cnt