def METHOD_NAME(self, fname=None):
    fname = self.fname if fname == None else fname
    try:
        f = open(fname, encoding='utf_8', mode='r')
    except:
        print('File %s does not exist.' % fname)
        exit(-1)
    line = f.readline()
    while line:
        comments = [line]
        if not re_comment_single.match(line):
            while line and not re_comment_end.match(line):
                line = f.readline()
                comments.append(line)
        line = f.readline()
        if line and re_translation.match(line):
            translation = line
        else:
            raise Exception('invalid file')
        line = f.readline()
        while line and line == '\n':
            line = f.readline()
        string = LocalizedString(comments, translation)
        self.strings.append(string)
        self.strings_d[string.key] = string
    f.close()