各国が対応する翻訳1000を持っていなければならないため、同社の事業開発は、最も厄介なの国際化の過程で、必ず国際業務を行う必要が書き込みへの国際言語である、言語に対応したビルドstring.xmlをファイルには、国際出願をすることができます彼は、対応するコピーである場合の行については、全体の人々は夢中になります。
国際言語処理bashスクリプトで書かれたバージョン
だから、怠惰に関するスクリプトを書くために怠惰な方法を学んだ、スクリプトがまだ完璧ではないかもしれないが、我々は彼らのニーズに応じて変更することができます。
1.bash実施形態(以下パイソン)
オリジナルコンテンツ
コンテンツを生成した後
1.特定の翻訳作業の国際化は、次にやる、それを行うための特別な人を持っていることは、Excelのテーブルの下にあります
我々は、XMLを取得したいすべてのまずCSVファイルの接尾辞として保存しました
translation.sh与え3.次のスクリプトを実行し、実行の権限
#!/bin/bash
bak=$IFS
#检查是否有文件输入
if [ $# -ne 1 ];then
echo "Usage $0 filename"
exit
fi
#检查输入的是否是文件
if [ ! -f $1 ];then
echo "the $1 is not a file"
exit
fi
IFS=$'\n'
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>">> string.xml
echo "<resources>">> string.xml
for line in `cat $1`
do
read1=`echo $line|cut -d "," -f 1`
read1=${read1##*' '} #切割key前面的空格
if [ -z "$read1" ];then #去除掉空字符串
continue
fi
read2=`echo $line|cut -d "," -f 3`
echo "<string name=\"$read1\""">"$read2"</string>" #打印要写入的内容
echo "<string name=\"$read1\""">"$read2"</string>" >> string.xml #将内容写入
done
echo "</resources>">> string.xml
IFS=$bak
ターミナルで実行./translation.sh .CSVファイル変換
XMLのような出力が完了したが、完全な生成されます(XML翻訳に含まれるコンテンツの多くは解決できないのでノートは、オープンgeditのを選択してください):次のように端末に出力され表示されます
2.Python方法
#! /usr/bin/python
# coding=utf-8
import os, re
import xlrd
import sys, getopt
import operator
################国际化多语言替换start
def intl(file):
print ('-------------------- Start intl--------------------')
#print(sys.argv[0])
#print(sys.argv[1])
file_03_excel = "/Users/xulei/Desktop/int/012_i18n_android_part1_en_1027.xlsx"
print (file)
print (file_03_excel)
# 1、打开文件
x1 = xlrd.open_workbook(file_03_excel)
# 2、获取sheet对象
print ('sheet_names:', x1.sheet_names()) # 获取所有sheet名字
print ('sheet_number:', x1.nsheets ) # 获取sheet数量
print ('sheet_object:', x1.sheets() ) # 获取所有sheet对象
print ('By_name:', x1.sheet_by_name("Sheet1") ) # 通过sheet名查找
print ('By_index:', x1.sheet_by_index(0)) # 通过索引查找
# 读取第一个工作表
table = x1.sheets()[0]
# 统计行数
n_rows = table.nrows
print ('n_rows:', n_rows)
f1 = open('/Users/xulei/Desktop/int/intl.txt', 'w')
data = []
# 微信文章属性:wechat_name wechat_id title abstract url time read like number
for v in range(1, n_rows-1):
# 每一行数据形成一个列表
values = table.row_values(v)
# 列表形成字典
# data.append('<string name="',values[0],'">',values[1],'</string>')
key = values[0]
value = values[2]
string = '<string name=\"%s\">%s</string>'% (key, value)
f1.writelines(string)
f1.writelines('\n')
################国际化多语言替换end
def usage():
print ('Auto publish dmall')
print ('Usage:')
print (' --help Show help information')
print (' --publish=[release|debug] Auto publish build, release will auto git commit, debug will not')
print (' --patch Auto patch build')
print (' --upload Auto upload patch')
print (sys.argv)
intl(sys.argv[1])