How to populate Category field form frontend form?
Couple things. First, I believe you need to add an extra set of brackets to the name attribute. The reason being that category fields (as well as all 'related' fieldTypes) store more than one element, even if as in this case there is only one category being assigned. Secondly you'll need to assign the category id as the value.

&lt;select id="language" name="fields[language][]"&gt;
    {% for category in craft.categories.group('languages') %}
         &lt;option value="{{ category.id }}"&gt;{{ category.title }}&lt;/option&gt;
    {% endfor %}
&lt;/select&gt;