What's the difference between Language and Source Language?

When a text value is created, the language that it's created in is considered as the source language in the translation editor. This value is used as the default one if no translated text is available.

When a translated text is entered, the source language value is updated to the language for that translated text. For example, suppose you have a row with text value created in American English. If you use the translation editor to update that row with the value for language as Spanish, the source language for that row will be updated to Spanish. So, a quick glance at the translation editor tells you which values are translated and which aren't. For example, if the values in the Language and Source Language fields match, that means the values are translated. While, if they don't match, that means the values aren't translated, and you can also tell where the default value is coming from. If the default value for a row's source language is changed, all values for the rows whose Language and Source Language fields match, will also change.