独立开发之 App 国际化全步骤(二)

关于我:大厂摸鱼 + 业余独立开发,之后会输出深度技术文章 + 独立开发技巧

我的往期技术文章合集:RickeyBoy - Gitbub

我的独立开发 App:iColors - 设计灵感 配色助手

上一篇:独立开发之 App 国际化全步骤(一)

🫙 数据库内容翻译

首先我们需要对我们的数据进行翻译。因为我的 App 「iColors」内部有非常多内容数据,通过 CoreData 进行管理,这些数据都需要进行翻译,这一部分的工作量实际上是非常大,以及非常复杂的。

难点分析

首先比如像 App 主打的中国传统色,其实每一种颜色都需要翻译对应的英文名,而且为了保持调性,需要非常高质量的翻译,尽量让英文名也能尽量保持优雅、简洁。

我截图两个页面举例,可以看到其实中国传统色本身的名字就很有诗意,也有些偏僻;最终翻译出来的结果也要能做到同样的效果。

中文版 英文版

另外,「iColors」数据库整体非常的庞大,除了大量中国传统色之外,还有大量的色组配色,全部都需要高质量的翻译。

中文版 英文版

所以这一个章节我将专门讲一讲我如何把这些内容翻译好。

需要再额外说明的是,如果你的 App 不涉及到特别多本土化的内容,那么其实可以跳过这一步。毕竟这一步的复杂过程,有因为我的独立 App 的特殊之处。

第一步:提取待翻译的文案

首先需要从数据库中,将所有涉及到文案全部整理出来。这一步相对简单,主要是为了方便后续的翻译。

比如我的原始数据是以 Json 的方式存在,通过 Python 脚本就可以将其中需要翻译的名字提取出来,整理成表格形式。

当然,如果你不会写的话,也可以让 ChatGPT 帮你写一个 Python 脚本。需要描述清楚你的原始数据类型,以及你的目标形式,很快就可以有一个非常完美的脚本了。

这一步相对简单,我就不过多废话了。

第二步:翻译文案

整理好了需要翻译的内容之后,接下来就是喂给 ChatGPT,然他帮忙翻译了。如果你是尊贵的 GPT-4 用户,那么可以直接将整个文件直接上传,要不然就分批操作也是没问题的。

在 prompt 阶段,可以说明一些要求,比如要求翻译名 "elegant"、"simple"、"poetic" 等。

虽说翻译完成之后仍旧需要人工对这些翻译进行一个检查,不过有了 AI 的帮助,这个过程也还是轻松很多了。

第三步:将 CoreData 数据对应的文案塞入

核心就是将翻译后的英文,拼接到对应的数据之中,这一步也通过 Python 脚本实现。核心代码如下

python 复制代码
import pandas as pd
import json
​
# 读取翻译文件
file_path = 'xxx.xlsx'
xls = pd.ExcelFile(file_path)
​
data_dict = {}
for sheet_name in xls.sheet_names:
    df = pd.read_excel(xls, sheet_name, header=None)
    # 遍历所有行,并且把其中英文到字典中
    for index, row in df.iterrows():
        key = row[0]  # Value from column 1
        value = row[1]  # Value from column 2
        data_dict[key] = value     
xls.close()
​
# 按照 Json 格式输出
output_file = 'xxx.json'
with open(output_file, 'w', encoding='utf-8') as f:
    json.dump(data_dict, f, ensure_ascii=False, indent=4)

用一张图来说明前三步做的事情:

这里只是以中国传统色来进行说明(实际上除了传统色还有大量色彩组合需要处理),翻译后在原有的数据结构上增加了对应的英文翻译内容。这样就可以进行下一步了,对 CoreData 底层进行升级,从而在 App 内读取到对应的中英文名称。


国际化系列文章的第二篇,主要是简单描述一下对于 App 数据库中的内容,借助 ChatGPT 进行翻译的一个过程。有了翻译后的数据,接下来就需要升级 CoreData 架构,从而在 App 中使用中英文数据了。这些内容会更新在下一篇!

相关推荐
用户091 天前
SwiftUI Charts 函数绘图完全指南
ios·swiftui·swift
YungFan1 天前
iOS26适配指南之UIColor
ios·swift
权咚2 天前
阿权的开发经验小集
git·ios·xcode
用户092 天前
TipKit与CloudKit同步完全指南
ios·swift
法的空间2 天前
Flutter JsonToDart 支持 JsonSchema
android·flutter·ios
2501_915918412 天前
iOS 上架全流程指南 iOS 应用发布步骤、App Store 上架流程、uni-app 打包上传 ipa 与审核实战经验分享
android·ios·小程序·uni-app·cocoa·iphone·webview
00后程序员张3 天前
iOS App 混淆与加固对比 源码混淆与ipa文件混淆的区别、iOS代码保护与应用安全场景最佳实践
android·安全·ios·小程序·uni-app·iphone·webview
东坡肘子3 天前
完成 Liquid Glass 的适配了吗?| 肘子的 Swift 周报 #0102
swiftui·swift·apple
Magnetic_h3 天前
【iOS】设计模式复习
笔记·学习·ios·设计模式·objective-c·cocoa
00后程序员张3 天前
详细解析苹果iOS应用上架到App Store的完整步骤与指南
android·ios·小程序·https·uni-app·iphone·webview