iOS多语言国际化(二)-python脚本自动翻译

本文介绍了如何使用Python脚本结合百度翻译API实现iOS项目的多语言国际化,包括生成KEY、分析.m文件获取翻译内容、更新strings文件等步骤。执行脚本时可能遇到Python模块导入错误,需确保使用Python3环境。
摘要由CSDN通过智能技术生成

基于百度翻译API实现国际化自动翻译脚本
(背景:手写多语言的KEY,替换文件中的中文繁琐、耗时)

1、通过接入百度翻译API生成xx.strings所需要的KEY
2、通过分析项目中的.m文件找到所需的翻译的中文,生成KEY、VALUE的对应关系,并替换.m文件中的中文
3、将翻译生成的对应关系的词条写入xx.strings文件

操作方式:
进入项目autoTranslation.py所在的目录下,执行python autoTranslation.py "HBTest"
tips:HBTest代表xx.strings中KEY的前缀

目录如下

主要需要三个python文件,如果自己路径有变化,修改成对应路径。

#!/usr/bin/env python3
#-*- coding:utf-8 -*-

fliterFileNameList=['xx.m']//过滤部分不需要翻译的文件

import os,sys
from autoTranslationHelper import translateHelper

def filter_oc_file(dirpath,pretext):
    L1=[]
    ext = ('.m','.mm')
    for x in os.listdir(dirpath):
       if x not in fliterFileNameList:
        fullPath=os.path.join(dirpath,x)
        L1.append(fullPath)	
    L1 = [x for x in L1 if os.path.isfile(x) and x.endswith(ext)]
    if L1:
        [translateHelper.handle_oc_file(x,pretext) for x in L1]
    L2 = [os.path.join(dirpath,x) for x in os.listdir(dirpath)]
    L2 = [x for x in L2 if os.path.isdir(x)]
    if L2:
        [filter_oc_file(x,pretext) for x in L2]   

if __name__ == '__main__':
    translateHelper.remove_Localized()
    dirpath = os.path.abspath('./xx/xxx')//需要翻译的文件夹目录
    filter_oc_file(dirpath,sys.argv[1])
    translateHelper.write_oc_file()
    print('----------------------FINISH-----------------------')
    print('---------------------------------------------------')
   
# -*- coding: utf-8 -*-
import os,datetime,re
from autoTranslationHelper import translate

SPLIT_LIST = ('%@', '%d', '%ld', '%lld', '%f')

def handle_oc_file(filepath,pre
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值