独立开发之 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 中使用中英文数据了。这些内容会更新在下一篇!

相关推荐
大熊猫侯佩12 小时前
拯救巴别塔:WWDC24 全新 Translation API 实战
swiftui·wwdc·language·coreml·translation api·翻译接口·translationsess
初级代码游戏16 小时前
iOS开发 SwiftUI 8:NavigationView 导航
ios·swiftui·swift
美狐美颜SDK开放平台18 小时前
跨平台开发实战:直播美颜sdk动态贴纸在 Android / iOS / HarmonyOS 的落地方案
android·ios·harmonyos·美颜sdk·直播美颜sdk·视频美颜sdk·美颜api
2501_9160088918 小时前
在不越狱前提下导出 iOS 应用文件的过程,访问应用沙盒目录,获取真实数据
android·macos·ios·小程序·uni-app·cocoa·iphone
2501_9151063218 小时前
Android和IOS 移动应用App图标生成与使用 Assets.car生成
android·ios·小程序·https·uni-app·iphone·webview
2501_9159184118 小时前
Mac 抓包软件有哪些?Charles、mitmproxy、Wireshark和Sniffmaster哪个更合适
android·ios·小程序·https·uni-app·iphone·webview
2501_9151063218 小时前
iOS 抓包绕过 SSL 证书认证, HTTPS 暴力抓包、数据流分析
android·ios·小程序·https·uni-app·iphone·ssl
WeiAreYoung18 小时前
uni-app xcode 制作iOS Notification Service Extension 远程推送图文原生插件
ios·uni-app·xcode
2501_915921431 天前
iOS App 电耗管理 通过系统电池记录、Xcode Instruments 与克魔(KeyMob)组合使用
android·ios·小程序·https·uni-app·iphone·webview
且去填词1 天前
Context 详解:如何在微服务链路中传递取消信号与超时控制
ios·iphone