You tried grouping? Keep at it... that was the right direction.
SELECT ID
, MAX(Lang1) AS Language1
,MAX(Lang2) AS Language2
,Max(Lang3) As language3
,MAX(Lang4) AS Language4
FROM
(SELECT 1001 AS ID, Null as Lang1,'Japanese' as Lang2,Null As Lang3, Null AS Lang4
UNION ALL
SELECT 1001,'Spanish',Null,Null,Null
UNION ALL
SELECT 1001,Null,Null,Null,'English'
UNION ALL
SELECT 1001,'Spanish','Japanese','Russian','English') d
GROUP BY Id;