public static function parseGroupFile($filename)
 {
     $data = file_get_contents($filename);
     $documents = preg_split("/^---\$/m", $data, -1, PREG_SPLIT_NO_EMPTY);
     $groups = array();
     $template = false;
     foreach ($documents as $document) {
         $document = TranslateYaml::loadString($document);
         if (isset($document['TEMPLATE'])) {
             $template = $document['TEMPLATE'];
         } else {
             if (!isset($document['BASIC']['id'])) {
                 trigger_error("No path ./BASIC/id (group id not defined) " . "in yaml document located in {$filename}");
                 continue;
             }
             $groups[$document['BASIC']['id']] = $document;
         }
     }
     foreach ($groups as $i => $group) {
         $groups[$i] = TranslateYaml::mergeTemplate($template, $group);
     }
     return $groups;
 }