Multilingual settings form using i18n variable I'm using a settings form for my module and I'm trying to make some of the fields multilingual.

I've declared the multilingual variables with hook_variable_variable_info (and with hook_variable_group_info for my custom group):

function MYMODULE_variable_info() {
  $variable['my_variable_name'] = array(
    'type' =&gt; 'string',
    'title' =&gt; t('My title'),
    'default' =&gt; MY_DEFAULT_VALUE,
    'description' =&gt; t('My description.'),
    'localize' =&gt; TRUE,
    'group' =&gt; 'my_group'
  );

  return $variable;
}


I've added my settings form (one field for example)

function MYMODULE_settings_form() {
  $form = array();

  $form['my_variable_name'] = array(
    '#type' =&gt; 'textfield',
    '#title' =&gt; t('My title'),
    '#title_display' =&gt; 'before',
    '#default_value' =&gt; variable_get_value('my_variable_name'),
  );

  return system_settings_form($form); 
}


And as you can see I've used system_settings_form($form) to save my form fields as variables.
I've checked my new variable at 'admin/config/regional/i18n/variable' and the form shows that it's a multilingual form and multilingual field, but when I'm switching to another language the value isn't saved. (Only the English version saves and changes the value for all languages)

Thanks.
I was in a need to create translatable strings for text entered using Page title module and I used the following code to create variable

function module_variable_info($options) {
    $variables['page_title_type_news_and_event'] = array(
    'type' =&gt; 'text',
    'title' =&gt; t('Page title CT New Events', array(), $options),
    'default' =&gt; '',
    'description' =&gt; t('Module : Page title', array(), $options),
  );

  return $variables;
}


Now I can see them in others tab at admin/config/regional/i18n/variable and I enabled the check box there



Then I can translate my string at admin/config/system/variable and at others tab