Beispiel #1
0
def main():
    cd = sys.path[0]
    translation_path = os.path.join(cd, '../translation')

    lang_file = os.path.join(translation_path, 'lang/en.lang.csv')
    with open(lang_file, 'rt', encoding='utf-8') as fp:
        fp.readline()
        lines = [LangLine.from_csv_line(line).origin for line in fp.readlines()]

    pregame_file = os.path.join(translation_path, 'en_pregame.lua')
    client_file = os.path.join(translation_path, 'en_client.lua')
    ui_mgr = UiMgr()
    ui_mgr.load_lua_file(pregame_file)
    ui_mgr.load_lua_file(client_file)
    lines.extend([ui_line.origin for ui_line in ui_mgr.ui_lines.values()])

    # 寻找累类似 <<1>> 的标记
    tagger = re.compile(r'<<.*?>>')
    tags = set()

    # 搜索 去重
    for line in lines:
        for match in tagger.finditer(line):
            tags.add(match.group(0))

    # 排序输出
    for tag in sorted(tags):
        print(tag)
Beispiel #2
0
def main():
    cd = sys.path[0]
    translation_path = os.path.join(cd, '../translation')

    lang_file = os.path.join(translation_path, 'lang/en.lang.csv')
    with open(lang_file, 'rt', encoding='utf-8') as fp:
        fp.readline()
        lines = [
            LangLine.from_csv_line(line).origin for line in fp.readlines()
        ]

    pregame_file = os.path.join(translation_path, 'en_pregame.lua')
    client_file = os.path.join(translation_path, 'en_client.lua')
    ui_mgr = UiMgr()
    ui_mgr.load_lua_file(pregame_file)
    ui_mgr.load_lua_file(client_file)
    lines.extend([ui_line.origin for ui_line in ui_mgr.ui_lines.values()])

    # 寻找累类似 <<1>> 的标记
    tagger = re.compile(r'<<.*?>>')
    tags = set()

    # 搜索 去重
    for line in lines:
        for match in tagger.finditer(line):
            tags.add(match.group(0))

    # 排序输出
    for tag in sorted(tags):
        print(tag)
Beispiel #3
0
    def add(self, file_id, unknown, index, offset, origin):
        """添加一行其他内容

        index 必须与当前一致

        Args:
            file_id (int): ID
            unknown (int):
            index (int):
            offset (int):
            origin (str): 原文
        """
        if index != self.index:
            raise RuntimeError('index does not match')

        lang_line = LangLine(file_id, unknown, index, offset, origin)
        self.lines[lang_line.get_key()] = lang_line
Beispiel #4
0
    def add(self, file_id, unknown, index, offset, origin):
        """添加一行其他内容

        index 必须与当前一致

        Args:
            file_id (int): ID
            unknown (int):
            index (int):
            offset (int):
            origin (str): 原文
        """
        if index != self.index:
            log.error('index does not match: %d, %d' % (index, self.index))
            raise RuntimeError('index does not match')

        lang_line = LangLine(file_id, unknown, index, offset, origin)
        self.lines[lang_line.get_key()] = lang_line
Beispiel #5
0
    def add_jp(self, file_id, unknown, index, offset, origin_jp):
        """添加一行日文其他内容,添加到对应的 LangLine 对象中

        index 必须与当前一致

        Args:
            file_id (int): ID
            unknown (int):
            index (int):
            offset (int):
            origin_jp (str): 日文原文
        """
        if index != self.index:
            raise RuntimeError('index does not match')

        key = LangLine(file_id, unknown, index, offset, origin_jp).get_key()
        if key in self.lines:
            self.lines[key].set_origin_jp(origin_jp)
Beispiel #6
0
 def test_translation(self):
     lang_line = LangLine.from_csv_line('"3427285","0","3","0","Laugh"')
     lang_line.set_translation('笑')
     self.assertEqual('"3427285","0","3","0","笑"', lang_line.to_csv_line())
Beispiel #7
0
 def test_ctor_file_header(self):
     self.assertIsNone(
         LangLine.from_csv_line('"ID","Unknown","Index","Offset","Text"'))
Beispiel #8
0
 def test_ctor(self):
     line = '"3427285","0","3","0","Laugh"'
     lang_line = LangLine.from_csv_line(line)
     self.assertEqual(line, lang_line.to_csv_line())
Beispiel #9
0
 def test_translation(self):
     lang_line = LangLine.from_csv_line('"3427285","0","3","0","Laugh"')
     lang_line.set_translation('笑')
     self.assertEqual('"3427285","0","3","0","笑"', lang_line.to_csv_line())
Beispiel #10
0
 def test_ctor_file_header(self):
     self.assertIsNone(LangLine.from_csv_line('"ID","Unknown","Index","Offset","Text"'))
Beispiel #11
0
 def test_ctor(self):
     line = '"3427285","0","3","0","Laugh"'
     lang_line = LangLine.from_csv_line(line)
     self.assertEqual(line, lang_line.to_csv_line())