language back to default language after Ajax reload
The ajax callback should return the dynamic form element (and not directly the value). I've created some sample code where the translated content / string is correct after an ajax reload.

function YOURMODULE_form($form, &amp;$form_state, $file_group)
{
    $form['update'] = array(
        '#value' =&gt; t('Update'),
        '#type' =&gt; 'button',
        '#ajax' =&gt; array(
            'callback' =&gt; 'YOURMODULE_form_ajax_cb',
            'wrapper' =&gt; 'ajaxWrapper',
            'method' =&gt; 'replace',
            'effect' =&gt; 'fade'
        )   
    );

    $form['ajax'] = array(
        '#type' =&gt; 'container',
        '#attributes' =&gt; array(
            'id' =&gt; 'ajaxWrapper',
        ),
    );

    $form['ajax']['text'] = array(
        '#type' =&gt; 'markup',
        '#markup' =&gt; t('My translated string'),
    );

    // Rest of the form
}

function YOURMODULE_form_ajax_cb($form, &amp;$form_state)
{
    return $form['ajax'];
}