diff --git a/flags/ar.png b/flags/ar.png
deleted file mode 100644
index 1e89198..0000000
Binary files a/flags/ar.png and /dev/null differ
diff --git a/flags/bg.png b/flags/bg.png
deleted file mode 100644
index 25a388c..0000000
Binary files a/flags/bg.png and /dev/null differ
diff --git a/flags/ca.png b/flags/ca.png
deleted file mode 100644
index fd6266a..0000000
Binary files a/flags/ca.png and /dev/null differ
diff --git a/flags/cs.png b/flags/cs.png
deleted file mode 100644
index 641f1e6..0000000
Binary files a/flags/cs.png and /dev/null differ
diff --git a/flags/da.png b/flags/da.png
deleted file mode 100644
index 1504e21..0000000
Binary files a/flags/da.png and /dev/null differ
diff --git a/flags/de.png b/flags/de.png
deleted file mode 100644
index 41fea25..0000000
Binary files a/flags/de.png and /dev/null differ
diff --git a/flags/el.png b/flags/el.png
deleted file mode 100644
index 53cb69a..0000000
Binary files a/flags/el.png and /dev/null differ
diff --git a/flags/en.png b/flags/en.png
deleted file mode 100644
index 84b934a..0000000
Binary files a/flags/en.png and /dev/null differ
diff --git a/flags/eo.png b/flags/eo.png
deleted file mode 100644
index a1da5dd..0000000
Binary files a/flags/eo.png and /dev/null differ
diff --git a/flags/es.png b/flags/es.png
deleted file mode 100644
index bf2b5b8..0000000
Binary files a/flags/es.png and /dev/null differ
diff --git a/flags/et.png b/flags/et.png
deleted file mode 100644
index ad7871a..0000000
Binary files a/flags/et.png and /dev/null differ
diff --git a/flags/eu.png b/flags/eu.png
deleted file mode 100644
index 086a26b..0000000
Binary files a/flags/eu.png and /dev/null differ
diff --git a/flags/fa.png b/flags/fa.png
deleted file mode 100644
index 46e1be7..0000000
Binary files a/flags/fa.png and /dev/null differ
diff --git a/flags/fi.png b/flags/fi.png
deleted file mode 100644
index d9e3a14..0000000
Binary files a/flags/fi.png and /dev/null differ
diff --git a/flags/fo.png b/flags/fo.png
deleted file mode 100644
index 6e1f3eb..0000000
Binary files a/flags/fo.png and /dev/null differ
diff --git a/flags/fr.png b/flags/fr.png
deleted file mode 100644
index 275dcb1..0000000
Binary files a/flags/fr.png and /dev/null differ
diff --git a/flags/ga.png b/flags/ga.png
deleted file mode 100644
index 8890413..0000000
Binary files a/flags/ga.png and /dev/null differ
diff --git a/flags/gl.png b/flags/gl.png
deleted file mode 100644
index 9228562..0000000
Binary files a/flags/gl.png and /dev/null differ
diff --git a/flags/he.png b/flags/he.png
deleted file mode 100644
index 4e05cfa..0000000
Binary files a/flags/he.png and /dev/null differ
diff --git a/flags/hr.png b/flags/hr.png
deleted file mode 100644
index d3c6744..0000000
Binary files a/flags/hr.png and /dev/null differ
diff --git a/flags/hu.png b/flags/hu.png
deleted file mode 100644
index 0e2fa72..0000000
Binary files a/flags/hu.png and /dev/null differ
diff --git a/flags/is.png b/flags/is.png
deleted file mode 100644
index 3987457..0000000
Binary files a/flags/is.png and /dev/null differ
diff --git a/flags/it.png b/flags/it.png
deleted file mode 100644
index db7195d..0000000
Binary files a/flags/it.png and /dev/null differ
diff --git a/flags/ja.png b/flags/ja.png
deleted file mode 100644
index 3d4efad..0000000
Binary files a/flags/ja.png and /dev/null differ
diff --git a/flags/km.png b/flags/km.png
deleted file mode 100644
index af10328..0000000
Binary files a/flags/km.png and /dev/null differ
diff --git a/flags/lb.png b/flags/lb.png
deleted file mode 100644
index 1140c10..0000000
Binary files a/flags/lb.png and /dev/null differ
diff --git a/flags/lt.png b/flags/lt.png
deleted file mode 100644
index 00f5eb6..0000000
Binary files a/flags/lt.png and /dev/null differ
diff --git a/flags/lv.png b/flags/lv.png
deleted file mode 100644
index 0b2fbdd..0000000
Binary files a/flags/lv.png and /dev/null differ
diff --git a/flags/nb.png b/flags/nb.png
deleted file mode 100644
index 857924d..0000000
Binary files a/flags/nb.png and /dev/null differ
diff --git a/flags/nl.png b/flags/nl.png
deleted file mode 100644
index 972ee71..0000000
Binary files a/flags/nl.png and /dev/null differ
diff --git a/flags/nn.png b/flags/nn.png
deleted file mode 100644
index 857924d..0000000
Binary files a/flags/nn.png and /dev/null differ
diff --git a/flags/pl.png b/flags/pl.png
deleted file mode 100644
index 15b39b3..0000000
Binary files a/flags/pl.png and /dev/null differ
diff --git a/flags/pt-br.png b/flags/pt-br.png
deleted file mode 100644
index 22a8df7..0000000
Binary files a/flags/pt-br.png and /dev/null differ
diff --git a/flags/pt-pt.png b/flags/pt-pt.png
deleted file mode 100644
index 66d5bd7..0000000
Binary files a/flags/pt-pt.png and /dev/null differ
diff --git a/flags/ro.png b/flags/ro.png
deleted file mode 100644
index a5be3be..0000000
Binary files a/flags/ro.png and /dev/null differ
diff --git a/flags/ru.png b/flags/ru.png
deleted file mode 100644
index eaa57d8..0000000
Binary files a/flags/ru.png and /dev/null differ
diff --git a/flags/sco.png b/flags/sco.png
deleted file mode 100644
index 4749b7a..0000000
Binary files a/flags/sco.png and /dev/null differ
diff --git a/flags/sk.png b/flags/sk.png
deleted file mode 100644
index c9a4ad5..0000000
Binary files a/flags/sk.png and /dev/null differ
diff --git a/flags/sl.png b/flags/sl.png
deleted file mode 100644
index 53b6d98..0000000
Binary files a/flags/sl.png and /dev/null differ
diff --git a/flags/sv.png b/flags/sv.png
deleted file mode 100644
index bb27ed1..0000000
Binary files a/flags/sv.png and /dev/null differ
diff --git a/flags/tg.png b/flags/tg.png
deleted file mode 100644
index 225ce85..0000000
Binary files a/flags/tg.png and /dev/null differ
diff --git a/flags/th.png b/flags/th.png
deleted file mode 100644
index 6830411..0000000
Binary files a/flags/th.png and /dev/null differ
diff --git a/flags/tr.png b/flags/tr.png
deleted file mode 100644
index 60287a4..0000000
Binary files a/flags/tr.png and /dev/null differ
diff --git a/flags/uk.png b/flags/uk.png
deleted file mode 100644
index 485b5d0..0000000
Binary files a/flags/uk.png and /dev/null differ
diff --git a/flags/vi.png b/flags/vi.png
deleted file mode 100644
index 2adcc20..0000000
Binary files a/flags/vi.png and /dev/null differ
diff --git a/flags/zh-hans.png b/flags/zh-hans.png
deleted file mode 100644
index 3665064..0000000
Binary files a/flags/zh-hans.png and /dev/null differ
diff --git a/flags/zh-hant.png b/flags/zh-hant.png
deleted file mode 100644
index 9c75444..0000000
Binary files a/flags/zh-hant.png and /dev/null differ
diff --git a/languageicons.admin.inc b/languageicons.admin.inc
index afc1275..caa3787 100644
--- a/languageicons.admin.inc
+++ b/languageicons.admin.inc
@@ -11,12 +11,38 @@
  *
  * @ingroup forms
  * @see system_settings_form()
+ * @see languageicons_admin_settings_submit()
  */
 function languageicons_admin_settings() {
+  if (!is_dir(drupal_get_path('module', 'languageicons') . '/flags')) {
+    $form['notfoundnotice'] = array(
+      '#type' => 'fieldset',
+      '#title' => t('Language icons flag package not found'),
+      '#description' => '<p>' . t('The language icons flag package was not found. Because of licensing issues, it can not be distributed through the official Drupal CVS repository which has a GPL-only licensing policy. You can trigger automatic download of the package here.') . '</p>',
+    );
+    $form['notfoundnotice']['downloadflags'] = array(
+      '#type' => 'button',
+      '#value' => t('Download flags'),
+
+    );
+    return $form;
+  }
+
+  $hide_custom_fieldset_js =
+    '(function($){' .
+    '  $(document).ready(function() {' .
+    '    $("input#edit-languageicons-path-custom:not(:checked)").parents("form").find("input#edit-languageicons-custompath").parent().parent().hide();' .
+    '    $("input#edit-languageicons-path-custom").click(function(){' .
+    '      $("#edit-languageicons-custompath").parent().parent().show("fast");' .
+    '    });' .
+    '  });' .
+    '})(jQuery);';
+  drupal_add_js($hide_custom_fieldset_js, array('type' => 'inline', 'scope' => 'header'));
+
   $form['show'] = array(
     '#type' => 'fieldset',
     '#title' => t('Add language icons'),
-    '#description' => t('Link types to add language icons.'),
+    '#description' => t('Link types to add language icons to.'),
   );
   $form['show']['languageicons_show_node'] = array(
     '#type' => 'checkbox',
@@ -36,21 +62,107 @@ function languageicons_admin_settings() {
     '#description' => t('Where to display the icon, relative to the link title.'),
   );
   $form['languageicons_path'] = array(
+    '#type' => 'radios',
+    '#title' => t('Flag icon set'),
+    '#default_value' => variable_get('languageicons_path', drupal_get_path('module', 'languageicons') . '/flags/plain/*.png'),
+    '#options' => array_merge(_languageicons_flagsets('options'), array('custom' => t('Custom (set below)'))),
+    '#description' => t('Flag icon sets are located within the flags folder in the languageicons module directory.'),
+  );
+  $form['custom'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Custom icons'),
+  );
+  $form['custom']['languageicons_custompath'] = array(
     '#type' => 'textfield',
-    '#title' => t('Icons file path'),
-    '#default_value' => variable_get('languageicons_path', drupal_get_path('module', 'languageicons') .'/flags/*.png'),
+    '#title' => t('Custom icons file path'),
+    '#default_value' => variable_get('languageicons_path', drupal_get_path('module', 'languageicons') . '/flags/plain/*.png'),
     '#size' => 70,
     '#maxlength' => 180,
     '#description' => t('Path for language icons, relative to Drupal installation. \'*\' is a placeholder for language code.'),
   );
-  $form['languageicons_size'] = array(
+  $form['custom']['languageicons_size'] = array(
     '#type' => 'textfield',
-    '#title' => t('Image size'),
+    '#title' => t('Custom Icon size'),
     '#default_value' => variable_get('languageicons_size', '16x12'),
     '#size' => 10,
     '#maxlength' => 10,
-    '#description' => t('Image size for language icons, in the form "width x height".'),
+    '#description' => t('Image size for language icons, in the form "width x height" (only for custom Flag icon set).'),
   );
+  $form['#validate'][] = 'languageicons_admin_settings_validate';
+  $form['#submit'][] = 'languageicons_admin_settings_submit';
 
   return system_settings_form($form);
 }
+
+/**
+ * Validate custom path existance
+ */
+function languageicons_admin_settings_validate($form, &$form_state) {
+  if (!empty($form_state['clicked_button']) && $form_state['clicked_button']['#value'] == t('Download flags')) {
+    // this needs patch from http://drupal.org/node/573300 applied to core
+    if ($tarpath = system_retrieve_file('http://hfopi.org/files/temp/languageiconsflags.tar.gz')) {
+      module_load_include('inc', 'system', 'system.tar');
+      if (class_exists('Archive_Tar')) {
+        $tar = new Archive_Tar(drupal_realpath($tarpath));
+        if ($tar->extract(drupal_get_path('module', 'languageicons'))) {
+          drupal_set_message(t('Flag package successfully downloaded.'));
+        }
+      }
+      else {
+        form_set_error('downloadflags', t('Loading tar extraction code failed.'));
+      }
+      file_unmanaged_delete($tarpath);
+    }
+    else {
+      form_set_error('downloadflags', t('Fetching the flag package failed.'));
+    }
+    drupal_goto('admin/config/regional/language/icons');
+  }
+  elseif (!empty($form_state['values']['languageicons_path'])
+      && $form_state['values']['languageicons_path'] == 'custom'
+      && !file_check_location($form_state['values']['languageicons_custompath'])) {
+    form_set_error('custompath', t('The given path does not exist.'));
+  }
+}
+
+/**
+ * Handle languageicons settings form submit
+ *
+ * Before saving icon path and size, set path to custompath if custom,
+ * otherwise retrieve size from flagsetinfo.
+ */
+function languageicons_admin_settings_submit($form, &$form_state) {
+  $languageicons_path =& $form_state['values']['languageicons_path'];
+  if ($languageicons_path == 'custom') {
+      $languageicons_path = $form_state['values']['languageicons_custompath'];
+  }
+  $flagsetsizes = _languageicons_flagsets('dimensions');
+  if (isset($flagsetsizes[$languageicons_path])) {
+    $form_state['values']['languageicons_size'] = $flagsetsizes[$languageicons_path];
+  }
+}
+
+/**
+ * Searches for .flagsetinfo-files within the modules flags directory.
+ * @param $query
+ *
+ * @return
+ *   array with requested flagset info keyed on path.
+ */
+function _languageicons_flagsets($query) {
+  $flagsets = array();
+  $flagspath = drupal_get_path('module', 'languageicons') . '/flags/';
+  $setinfofiles = file_scan_directory($flagspath, '/.*flagsetinfo/');
+  foreach ($setinfofiles as $setinfofile) {
+    $setinfo = drupal_parse_info_file($setinfofile->uri);
+    $setpath = $flagspath . $setinfo['name'] . '/*.' . $setinfo['format'];
+    switch ($query) {
+      case 'dimensions':
+        $flagsets[$setpath] = $setinfo['dimensions'];
+        break;
+      case 'options':
+        $flagsets[$setpath] = $setinfo['name'] . ' theme (' . $setinfo['dimensions'] . 'px): ' . $setinfo['description'];
+    }
+  }
+  return $flagsets;
+}
diff --git a/languageicons.info b/languageicons.info
index 975828f..d6422f4 100644
--- a/languageicons.info
+++ b/languageicons.info
@@ -2,4 +2,6 @@ name = Language Icons
 description = Adds icons to language links.
 dependencies[] = locale
 package = Multilanguage
-core = 6.x
+core = 7.x
+files[] = languageicons.module
+files[] = languageicons.install
diff --git a/languageicons.install b/languageicons.install
index 670be8c..273f277 100644
--- a/languageicons.install
+++ b/languageicons.install
@@ -7,15 +7,13 @@
  */
 
 /**
- * Implementation of hook_install().
+ * Implements hook_install().
  */
-function languageicons_install() {
-  // Convert old "i18n_icon_*" variables, if any.
-  _languageicons_convert_i18n_icon_variables();
-}
+// function languageicons_install() {
+// }
 
 /**
- * Implementation of hook_uninstall().
+ * Implements hook_uninstall().
  */
 function languageicons_uninstall() {
   // Clear any variables that might be in use
@@ -31,38 +29,3 @@ function languageicons_uninstall() {
   }
 }
 
-/**
- * Private helper to convert i18n_icon_* variables.
- *
- * @see languageicons_install()
- * @see languageicons_update_6000()
- */
-function _languageicons_convert_i18n_icon_variables() {
-  $variables = array('path', 'size');
-  foreach ($variables as $variable) {
-    $old_variable = 'i18n_icon_'. $variable;
-    $new_variable = 'languageicons_'. $variable;
-    if (variable_get($new_variable, NULL) === NULL) {
-      $old_variable_value = variable_get($old_variable, NULL);
-      // If the standard path for flag icons was used, reset it.
-      if ($variable == 'path') {
-        $old_default_path = drupal_get_path('module', 'i18n') .'/flags/*.png';
-        if ($old_variable_value == $old_default_path) {
-          unset($old_variable_value, $old_default_path);
-        }
-      }
-      if (!empty($old_variable_value)) {
-        variable_set($new_variable, $old_variable_value);
-      }
-    }
-    variable_del($old_variable);
-  }
-}
-
-/**
- * Convert old "i18n_icon_*" variables.
- */
-function languageicons_update_6000() {
-  _languageicons_convert_i18n_icon_variables();
-  return array();
-}
diff --git a/languageicons.module b/languageicons.module
index 96eaa5f..29adc0b 100644
--- a/languageicons.module
+++ b/languageicons.module
@@ -11,43 +11,50 @@
  */
 
 /**
- * Implementation of hook_theme().
+ * Implements hook_theme().
  */
 function languageicons_theme() {
   return array(
     'languageicons_icon' => array(
-      'arguments' => array('language' => NULL, 'title' => NULL),
+      'arguments' => array(
+        'language' => NULL,
+        'title' => NULL,
+      ),
     ),
     'languageicons_place' => array(
-      'arguments' => array('text' => NULL, 'icon' => NULL, 'separator' => ' '),
+      'arguments' => array(
+        'text' => NULL,
+        'icon' => NULL,
+        'separator' => ' ',
+      ),
     ),
   );
 }
 
 /**
- * Implementation of hook_help().
+ * Implements hook_help().
  */
 function languageicons_help($path, $arg) {
   switch ($path) {
     case 'admin/help#languageicons' :
-      $output = '<p>'. t('This module manages language icons for multilingual sites:') .'</p>';
+      $output = '<p>' . t('This module manages language icons for multilingual sites:') . '</p>';
       $output .= '<ul>';
-      $output .= '<li>'. t('Automatically adds icons to language links') .'</li>';
-      $output .= '<li>'. t('Provides related theme functions') .'</li>';
+      $output .= '<li>' . t('Automatically adds icons to language links') . '</li>';
+      $output .= '<li>' . t('Provides related theme functions') . '</li>';
       $output .= '</ul>';
-      $output .= '<p>'. t('For more information please read the <a href="@i18n">on-line help pages</a>.', array('@i18n' => 'http://drupal.org/node/31631')) .'</p>';
+      $output .= '<p>' . t('For more information please read the <a href="@i18n">on-line help pages</a>.', array('@i18n' => 'http://drupal.org/node/31631')) . '</p>';
       return $output;
     case 'admin/settings/languageicons':
-      $output .= '<p>'. t('To enable multilingual support for specific content types go to !configure_content_types.', array('!configure_content_types' => l(t('configure content types'), 'admin/content/types'))) .'</p>';
+      $output .= '<p>' . t('To enable multilingual support for specific content types go to !configure_content_types.', array('!configure_content_types' => l(t('configure content types'), 'admin/content/types'))) . '</p>';
       return $output;
   }
 }
 
 /**
- * Implementation of hook_menu().
+ * Implements hook_menu().
  */
 function languageicons_menu() {
-  $items['admin/settings/language/icons'] = array(
+  $items['admin/config/regional/language/icons'] = array(
     'title' => 'Icons',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('languageicons_admin_settings'),
@@ -60,7 +67,7 @@ function languageicons_menu() {
 }
 
 /**
- * Implementation of hook_alter_translation_link().
+ * Implements hook_alter_translation_link().
  *
  * Adds language icons to normal translation links.
  */
@@ -73,15 +80,16 @@ function languageicons_translation_link_alter(&$links, $path) {
 }
 
 /**
- * Implementation of hook_link_alter().
+ * Implements hook_link_alter().
  *
  * Adds language icons to node links.
  */
 function languageicons_link_alter(&$links, $node) {
-  if (variable_get('languageicons_show_node', 1) && (!empty($node->tnid)) && $translations = module_invoke('translation', 'node_get_translations', $node->tnid)) {
+  if (variable_get('languageicons_show_node', 1) && (!empty($node->tnid))
+      && $translations = module_invoke('translation', 'node_get_translations', $node->tnid)) {
     $languages = language_list();
     foreach ($translations as $langcode => $translation) {
-      $index = 'node_translation_'. $langcode;
+      $index = 'node_translation_' . $langcode;
       if (!empty($links[$index])) {
         languageicons_link_add($links[$index]);
       }
@@ -109,16 +117,25 @@ function languageicons_link_add(&$link, $title = NULL) {
  * This function can be overridden for no language icons.
  */
 function theme_languageicons_icon($language, $title = NULL) {
-  if ($path = variable_get('languageicons_path', drupal_get_path('module', 'languageicons') .'/flags/*.png')) {
+  if ($path = variable_get('languageicons_path', '')) {
     $src = base_path() . str_replace('*', $language->language, $path);
     $title = $title ? $title : $language->native;
-    $attribs = array('class' => 'language-icon', 'alt' => $title);
-    if ($size = variable_get('languageicons_size', '16x12')) {
+    $attribs = array(
+      'class' => 'language-icon',
+      'alt' => $title,
+      'style' => 'position:relative; top: -0.1em; vertical-align: middle',
+    );
+    if ($size = variable_get('languageicons_size', '')) {
       list($width, $height) = explode('x', $size);
-      $attribs += array('width' => $width, 'height' => $height);
+      $attribs += array(
+        'width' => $width,
+        'height' => $height,
+      );
     }
-    return "<img src='$src' ". drupal_attributes($attribs) .' />';
+    return "<img src='$src' " . drupal_attributes($attribs) . ' />';
   }
+  else
+    drupal_set_message(t('The flag icon theme is not set, this can be done at the !settingspage', array('!settingspage' => l(t('language icons settings page'), 'admin/config/regional/language/icons'))), 'warning');
 }
 
 /**
diff --git a/translations/da.po b/translations/da.po
index 8338948..ad3875f 100644
--- a/translations/da.po
+++ b/translations/da.po
@@ -1,4 +1,4 @@
-# $Id: da.po,v 1.2 2008-10-11 13:36:15 freso Exp $
+# $Id: da.po,v 1.1.2.1 2008/08/26 19:09:25 freso Exp $
 #
 # Danish translation of Drupal (languageicons)
 # Generated from files:
diff --git a/translations/el.po b/translations/el.po
index 7a56485..01fdcc0 100644
--- a/translations/el.po
+++ b/translations/el.po
@@ -1,5 +1,5 @@
 # translation of el.po to Greek
-# $Id: el.po,v 1.2 2008-10-11 13:36:15 freso Exp $
+# $Id: el.po,v 1.1.2.1 2008/08/26 20:23:09 goofyx Exp $
 # LANGUAGE translation of Drupal (general)
 # Copyright YEAR NAME <EMAIL@ADDRESS>
 # Generated from files:
diff --git a/translations/languageicons.pot b/translations/languageicons.pot
index 6a30049..f6cdfbb 100644
--- a/translations/languageicons.pot
+++ b/translations/languageicons.pot
@@ -1,17 +1,17 @@
-# $Id: languageicons.pot,v 1.2 2008-10-11 13:36:15 freso Exp $
+# $Id$
 #
 # LANGUAGE translation of Drupal (general)
 # Copyright YEAR NAME <EMAIL@ADDRESS>
 # Generated from files:
-#  languageicons.admin.inc,v 1.1.2.2 2008/08/11 17:25:55 freso
-#  languageicons.module,v 1.2.2.3 2008/08/16 13:16:24 freso
+#  languageicons.admin.inc,v 1.2 2008-10-11 13:36:12 freso
+#  languageicons.module,v 1.5 2009-03-10 11:14:23 freso
 #  languageicons.info: n/a
 #
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
-"POT-Creation-Date: 2008-08-26 20:39+0200\n"
+"POT-Creation-Date: 2009-09-10 12:56+0200\n"
 "PO-Revision-Date: YYYY-mm-DD HH:MM+ZZZZ\n"
 "Last-Translator: NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
@@ -20,92 +20,136 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: languageicons.admin.inc:18
+#: languageicons.admin.inc:20
+msgid "Language icons flag package not found"
+msgstr ""
+
+#: languageicons.admin.inc:21
+msgid "The language icons flag package was not found. Because of licensing issues, it can not be distributed through the official Drupal CVS repository which has a GPL-only licensing policy. You can trigger automatic download of the package here."
+msgstr ""
+
+#: languageicons.admin.inc:25;101
+msgid "Download flags"
+msgstr ""
+
+#: languageicons.admin.inc:44
 msgid "Add language icons"
 msgstr ""
 
-#: languageicons.admin.inc:19
-msgid "Link types to add language icons."
+#: languageicons.admin.inc:45
+msgid "Link types to add language icons to."
 msgstr ""
 
-#: languageicons.admin.inc:23
+#: languageicons.admin.inc:49
 msgid "Node links"
 msgstr ""
 
-#: languageicons.admin.inc:28
+#: languageicons.admin.inc:54
 msgid "Language switcher block"
 msgstr ""
 
-#: languageicons.admin.inc:33
+#: languageicons.admin.inc:59
 msgid "Icon placement"
 msgstr ""
 
-#: languageicons.admin.inc:34
+#: languageicons.admin.inc:60
 msgid "Before"
 msgstr ""
 
-#: languageicons.admin.inc:34
+#: languageicons.admin.inc:60
 msgid "After"
 msgstr ""
 
-#: languageicons.admin.inc:34
+#: languageicons.admin.inc:60
 msgid "Replace"
 msgstr ""
 
-#: languageicons.admin.inc:36
+#: languageicons.admin.inc:62
 msgid "Where to display the icon, relative to the link title."
 msgstr ""
 
-#: languageicons.admin.inc:40
-msgid "Icons file path"
+#: languageicons.admin.inc:66
+msgid "Flag icon set"
 msgstr ""
 
-#: languageicons.admin.inc:44
+#: languageicons.admin.inc:68
+msgid "Custom (set below)"
+msgstr ""
+
+#: languageicons.admin.inc:69
+msgid "Flag icon sets are located within the flags folder in the languageicons module directory."
+msgstr ""
+
+#: languageicons.admin.inc:73
+msgid "Custom icons"
+msgstr ""
+
+#: languageicons.admin.inc:77
+msgid "Custom icons file path"
+msgstr ""
+
+#: languageicons.admin.inc:81
 msgid "Path for language icons, relative to Drupal installation. '*' is a placeholder for language code."
 msgstr ""
 
-#: languageicons.admin.inc:48
-msgid "Image size"
+#: languageicons.admin.inc:85
+msgid "Custom Icon size"
+msgstr ""
+
+#: languageicons.admin.inc:89
+msgid "Image size for language icons, in the form \"width x height\" (only for custom Flag icon set)."
+msgstr ""
+
+#: languageicons.admin.inc:108
+msgid "Flag package successfully downloaded."
+msgstr ""
+
+#: languageicons.admin.inc:112
+msgid "Loading tar extraction code failed."
+msgstr ""
+
+#: languageicons.admin.inc:117
+msgid "Fetching the flag package failed."
 msgstr ""
 
-#: languageicons.admin.inc:52
-msgid "Image size for language icons, in the form \"width x height\"."
+#: languageicons.admin.inc:124
+msgid "The given path does not exist."
 msgstr ""
 
-#: languageicons.module:33
+#: languageicons.module:40
 msgid "This module manages language icons for multilingual sites:"
 msgstr ""
 
-#: languageicons.module:35
+#: languageicons.module:42
 msgid "Automatically adds icons to language links"
 msgstr ""
 
-#: languageicons.module:36
+#: languageicons.module:43
 msgid "Provides related theme functions"
 msgstr ""
 
-#: languageicons.module:38
+#: languageicons.module:45
 msgid "For more information please read the <a href=\"@i18n\">on-line help pages</a>."
 msgstr ""
 
-#: languageicons.module:41
+#: languageicons.module:48
 msgid "To enable multilingual support for specific content types go to !configure_content_types."
 msgstr ""
 
-#: languageicons.module:41
+#: languageicons.module:48
 msgid "configure content types"
 msgstr ""
 
-#: languageicons.module:51
-msgid "Configure"
+#: languageicons.module:138
+msgid "The flag icon theme is not set, this can be done at the !settingspage"
 msgstr ""
 
-#: languageicons.module:58
-msgid "Icons"
+#: languageicons.module:138
+msgid "language icons settings page"
 msgstr ""
 
-#: languageicons.module:0
-msgid "languageicons"
+#: languageicons.module:58
+msgid "Icons"
 msgstr ""
 
 #: languageicons.info:0
