public static function parseFile($locale)
    {
        $path = self::$fileLocation . DIRECTORY_SEPARATOR;
        $file = $path . 'hyph_' . $locale . '.dic';
        if (! file_Exists($file)) {
            throw new \Org\Heigl\Hyphenator\Exception\PathNotFoundException('The given Path does not exist');
        }

        $items = file($file);
        $source = trim($items[0]);
        if (0===strpos($source, 'ISO8859')) {
            $source = str_Replace('ISO8859', 'ISO-8859', $source);
        }
        unset($items[0]);
        $fh = fopen($path . $locale . '.ini', 'w+');
        foreach ($items as $item) {
            // Remove comment-lines starting with '#' or '%'.
            if (in_array(mb_substr($item, 0, 1), array('#', '%'))) {
                continue;
            }
            // Ignore empty lines.
            if ('' == trim($item)) {
                continue;
            }
            // Remove all Upper-case items as they are OOo-specific
            if ($item === mb_strtoupper($item)) {
                continue;
            }
            // Ignore lines containing an '=' sign as these are specific
            // instructions for non-standard-hyphenations. These will be
            // implemented later.
            if (false !== mb_strpos($item, '=')) {
                continue;
            }
            $item = mb_convert_Encoding($item, 'UTF-8', $source);
            $result = Pattern::factory($item);
            $string = '@:' . $result->getText() . ' = "' . $result->getPattern() . '"' . "\n";
            fwrite($fh, $string);
        }
        fclose($fh);

        return $path . $locale . '.ini';
    }