Login
芋圆社区 > 编程 > Python > 生成国际化翻译Key

生成国际化翻译Key

665
0
2024-02-21
2024-02-21
Hey、小怪兽

  • • 由于需求需要,拿到翻译文本后,要有个独一无二的Key,就写了一个小工具帮忙生成,只需要到时候去个重就可以了
  • • 像是这样,Excel第一列是拿到的翻译,第二列就是小工具生成的Key(加上前缀,把翻译文本去除空格,驼峰的方式生成)
  • • 需要安装 openpyxl 处理Excel文件:
  • pip install openpyxl
  • • 注释已经写的很详细了,通过读取Excel里的第一列,生成Key放入第二列并且生成一个output.txt:
  • import re
    from openpyxl import load_workbook
    
    # 读取的excel文件名
    file_name = "demo.xlsx"
    # 读取第几列 默认为1
    column_num = 1
    # 写入第几列 默认为2
    write_column_num = 2
    # 前缀名,默认为tag.
    prefix = "tag."
    
    # 读取excel文件
    wb = load_workbook(filename=file_name)
    # 第一个工作表
    sheet1 = wb.worksheets[0]
    # 获取工作表总行数
    rows = sheet1.max_row
    
    print("开始处理excel文件")
    
    # 打开一个txt文件,如果不存在则创建
    with open('output.txt', 'w', encoding='utf-8') as file:
        for i in range(1, rows+1):
            # 读取第一列的英文
            en = sheet1.cell(row=i, column=column_num).value
            if en:
                # 去掉符号
                en_stripped = re.sub(r'[^\w\s]','', en)
                # 根据空格分割单词,首字母大写
                en_stripped = en_stripped.title()
                # 去掉空格
                en_stripped = en_stripped.replace(" ", "")
                # 第一个单词小写
                en_stripped = en_stripped[0].lower() + en_stripped[1:]
                # 在英文单词前加上前缀 tag.
                en_with_prefix = prefix + en_stripped
                # 如果长度超过35,截取到35前的一个大写字符
                if len(en_with_prefix) > 35:
                    en_with_prefix = en_with_prefix[:35]
                    en_with_prefix = en_with_prefix[:en_with_prefix.rfind(next(filter(str.isupper, reversed(en_with_prefix))))]
                # 写入第二列
                sheet1.cell(row=i, column=write_column_num, value=en_with_prefix)
                # 写入txt
                file.write(en_with_prefix + '\n')
    
    # 保存修改后的Excel文件
    wb.save(file_name)
    
    print("处理后的数据已成功写入output.txt文件")

上一篇:Excel生成SQL

下一篇:获取项目所有中文行

Message Board
回复
回复内容不允许为空
留言字数要大于2,小于200!
提交成功,5s后刷新页面!
编程导航

Excel生成SQL

生成国际化翻译Key

获取项目所有中文行

Copyright © 2020 芋圆社区

Powered by 浙ICP备2020039309号-1

此页面不支持夜间模式!

已进入夜间模式!

已进入普通模式!

搜索框不允许为空

签到成功!经验+5!芋圆币+2!

签到失败!今日已签到!

需要登录社区账号才可以进入!

复制成功
寄,页面未加载完成或页面无锚点