diff --git a/includes/locale.inc b/includes/locale.inc
index c168da0..d7f3c5e 100644
--- a/includes/locale.inc
+++ b/includes/locale.inc
@@ -1855,6 +1855,7 @@ function _locale_translate_seek() {
       'translation' => 'all',
       'group' => 'all',
       'language' => 'all',
+      'version' => 'all',
       'string' => '',
     );
   }
@@ -1870,9 +1871,24 @@ function _locale_translate_seek() {
     $sql_query->leftJoin('locales_target', 't', 't.lid = s.lid');
   }
 
-  $sql_query->fields('s', array('source', 'location', 'context', 'lid', 'textgroup'));
+  $sql_query->fields('s', array('source', 'location', 'context', 'lid', 'textgroup', 'version'));
   $sql_query->fields('t', array('translation', 'language'));
 
+  switch ($query['version']) {
+    // Only strings used in current version
+    case 'current':
+      $sql_query->condition('s.version', VERSION);
+      break;
+    // Only strings unused (yet) in current version
+    case 'old':
+      $sql_query->condition('s.version', VERSION, '!=');
+      break;
+    // No version-limit
+    case 'all':
+    default:
+      break;
+  }
+
   // Compute LIKE section.
   switch ($query['translation']) {
     case 'translated':
@@ -1907,7 +1923,7 @@ function _locale_translate_seek() {
   $locales = $sql_query->execute();
 
   $groups = module_invoke_all('locale', 'groups');
-  $header = array(t('Text group'), t('String'), t('Context'), ($limit_language) ? t('Language') : t('Languages'), array('data' => t('Operations'), 'colspan' => '2'));
+  $header = array(t('Text group'), t('String'), t('Context'), t('Version'), ($limit_language) ? t('Language') : t('Languages'), array('data' => t('Operations'), 'colspan' => '2'));
 
   $strings = array();
   foreach ($locales as $locale) {
@@ -1918,6 +1934,7 @@ function _locale_translate_seek() {
         'location' => $locale->location,
         'source' => $locale->source,
         'context' => $locale->context,
+        'version' => $locale->version == 'none' ? t('Not used yet') : $locale->version,
       );
     }
     if (isset($locale->language)) {
@@ -1931,6 +1948,7 @@ function _locale_translate_seek() {
       $groups[$string['group']],
       array('data' => check_plain(truncate_utf8($string['source'], 150, FALSE, TRUE)) . '<br /><small>' . $string['location'] . '</small>'),
       $string['context'],
+      array('data' => check_plain($string['version'])),
       array('data' => _locale_translate_language_list($string['languages'], $limit_language), 'align' => 'center'),
       array('data' => l(t('edit'), "admin/config/regional/translate/edit/$lid", array('query' => drupal_get_destination())), 'class' => array('nowrap')),
       array('data' => l(t('delete'), "admin/config/regional/translate/delete/$lid", array('query' => drupal_get_destination())), 'class' => array('nowrap')),
@@ -1950,7 +1968,7 @@ function _locale_translate_seek_query() {
   $query = &drupal_static(__FUNCTION__);
   if (!isset($query)) {
     $query = array();
-    $fields = array('string', 'language', 'translation', 'group');
+    $fields = array('string', 'language', 'translation', 'group', 'version');
     foreach ($fields as $field) {
       if (isset($_SESSION['locale_translation_filter'][$field])) {
         $query[$field] = $_SESSION['locale_translation_filter'][$field];
diff --git a/modules/locale/locale.admin.inc b/modules/locale/locale.admin.inc
index 2535357..bf5ff23 100644
--- a/modules/locale/locale.admin.inc
+++ b/modules/locale/locale.admin.inc
@@ -816,6 +816,11 @@ function locale_translation_filters() {
     'description' => t('Leave blank to show all strings. The search is case sensitive.'),
   );
 
+  $filters['version'] = array(
+    'title' => t('Drupal Version'),
+    'options' => array('all' => t('All'), 'current' => t('Used in !version', array('!version' => VERSION)), 'old' => t('Not yet used in current Drupal version')),
+  );
+
   $filters['language'] = array(
     'title' => t('Language'),
     'options' => array_merge(array('all' => t('All languages'), 'en' => t('English (provided by Drupal)')), $languages),
