Index: sites/all/modules/simplemeta/simplemeta.module
===================================================================
--- sites/all/modules/simplemeta/simplemeta.module
+++ sites/all/modules/simplemeta/simplemeta.module
@@ -79,13 +79,14 @@
  * Implements hook_page_alter()
  */
 function simplemeta_page_alter(&$page) {
+  $language = simplemeta_get_language();
   if (user_access('administer simplemeta') && (arg(0) != 'admin')) {
-    $meta = simplemeta_meta_load_by_path($_GET['q']);
+    $meta = simplemeta_meta_load_by_path($_GET['q'], $language);
     if (!$meta) {
       $meta = new stdClass();
       $meta->path = $_GET['q'];
       $meta->data = array();
-      $meta->language = '';
+      $meta->language = $language;
     }
     $page['page_bottom']['simplemeta'] = array(
       '#markup' => drupal_render(drupal_get_form('simplemeta_meta_form', $meta, TRUE)),
@@ -196,6 +197,18 @@
 }
 
 /**
+ * Get activelanguage
+ */
+function simplemeta_get_language() {
+    global $language;
+    if (isset($language->language)) {
+        return $language->language;
+    } else {
+        return '';
+    }
+}
+
+/**
  * Save meta data
  */
 function simplemeta_meta_save($meta) {
@@ -211,7 +224,7 @@
     module_invoke_all('simplemeta', $meta, 'insert');
   }
   else {
-    $result = drupal_write_record('simplemeta', $record, array('path'));
+    $result = drupal_write_record('simplemeta', $record, array('path', 'language'));
     module_invoke_all('simplemeta', $meta, 'update');
   }
   return $result;
@@ -257,11 +270,21 @@
   return FALSE;
 }
 
-function simplemeta_get_page_meta($path = NULL, $language = '', $reset = FALSE) {
+/**
+ * Get meta data for some page
+ * @var string $path Drupal path (NULL for current path)
+ * @var string $language language code (NULL for current language, '' for language-neutral)
+ * @var bool $reset reset cache
+ * @returns object a metadata object
+ */
+function simplemeta_get_page_meta($path = NULL, $language = NULL, $reset = FALSE) {
   static $meta = array();
   if (!isset($path)) {
     $path = $_GET['q'];
   }
+  if (!isset($language)) {
+    $language = simplemeta_get_language();
+  }
   if ((!isset($meta[$path])) || $reset) {
     $meta[$path] = FALSE;
     $cid = $path . ':' . $language;
@@ -284,7 +307,7 @@
       if ((!$row) && $language) {
         $query = db_select('simplemeta', 's')
           ->fields('s')
-          ->condition('s.path', $placeholders, 'IN')
+          ->condition('s.path', $ancestors, 'IN')
           ->condition('s.language', '', '=')
           ->orderBy('s.fit', 'DESC')
           ->range(0, 1);
