This commit is contained in:
2025-11-17 20:55:11 +08:00
parent 26ef29ac4e
commit 7254e2dbd9
7 changed files with 88 additions and 93 deletions

View File

@@ -595,7 +595,7 @@ static void KBULDarwinCallback(CFNotificationCenterRef center, void *observer, C
_deleteButtonInternal.layer.cornerRadius = 12.0; _deleteButtonInternal.layer.cornerRadius = 12.0;
_deleteButtonInternal.layer.masksToBounds = YES; _deleteButtonInternal.layer.masksToBounds = YES;
_deleteButtonInternal.titleLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightSemibold]; _deleteButtonInternal.titleLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightSemibold];
[_deleteButtonInternal setTitle:KBLocalized(@"删除") forState:UIControlStateNormal]; [_deleteButtonInternal setTitle:KBLocalized(@"Delete") forState:UIControlStateNormal];
[_deleteButtonInternal setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [_deleteButtonInternal setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[_deleteButtonInternal addTarget:self action:@selector(onTapDelete) forControlEvents:UIControlEventTouchUpInside]; [_deleteButtonInternal addTarget:self action:@selector(onTapDelete) forControlEvents:UIControlEventTouchUpInside];
} }

View File

@@ -33,7 +33,7 @@
"请切换到主App完成登录" = "Please switch to the main app to finish signing in"; "请切换到主App完成登录" = "Please switch to the main app to finish signing in";
// Generic buttons & tips // Generic buttons & tips
"" = "OK"; "OK" = "OK";
"Confirm" = "Confirm"; "Confirm" = "Confirm";
"Cancel" = "Cancel"; "Cancel" = "Cancel";
"Close" = "Close"; "Close" = "Close";
@@ -80,8 +80,8 @@
"Shop" = "Shop"; "Shop" = "Shop";
"Circle" = "Circle"; "Circle" = "Circle";
"Mine" = "Mine"; "Mine" = "Mine";
"热门" = "Hot"; "Hot" = "Hot";
"排行" = "Rank"; "Rank" = "Rank";
// Search & history // Search & history
"Clear history" = "Clear history"; "Clear history" = "Clear history";
@@ -91,14 +91,14 @@
"Loaded more successfully" = "Loaded more successfully"; "Loaded more successfully" = "Loaded more successfully";
// Skins & shop // Skins & shop
"皮肤中心" = "Skin Center"; "Skin Center" = "Skin Center";
"No skins yet" = "No skins yet"; "No skins yet" = "No skins yet";
"Pull down to refresh" = "Pull down to refresh"; "Pull down to refresh" = "Pull down to refresh";
"下载并应用" = "Download & Apply"; "Download & Apply" = "Download & Apply";
"已应用,切到键盘查看" = "Applied. Switch to the keyboard to view."; "Applied. Switch to the keyboard to view." = "Applied. Switch to the keyboard to view.";
"应用失败" = "Apply failed"; "Apply failed" = "Apply failed";
"Open agreement" = "Open agreement"; "Open agreement" = "Open agreement";
"购物商城" = "Shop Mall"; "Shop Mall" = "Shop Mall";
// Skin sample names // Skin sample names
"极光" = "Aurora"; "极光" = "Aurora";
@@ -126,7 +126,7 @@
// Payment & IAP // Payment & IAP
"Payment successful" = "Payment successful"; "Payment successful" = "Payment successful";
"Payment failed" = "Payment failed"; "Payment failed" = "Payment failed";
"购买:%@ Coins %@" = "Purchase: %@ Coins %@"; "Purchase: %@ Coins %@" = "Purchase: %@ Coins %@";
"Pay clicked" = "Pay clicked"; "Pay clicked" = "Pay clicked";
// Example categories/items // Example categories/items

View File

@@ -19,47 +19,44 @@
"current_lang" = "当前:%@"; "current_lang" = "当前:%@";
"common_back" = "返回"; "common_back" = "返回";
// 登录与账号 // 登录与账号(以英文 key 为准)
"登录" = "登录"; "Log In" = "登录";
"登录成功" = "登录成功"; "Signed in successfully" = "登录成功";
"登录失败" = "登录失败"; "Sign-in failed" = "登录失败";
"登录后可使用全部功能" = "登录后可使用全部功能"; "Sign in to unlock all features" = "登录后可使用全部功能";
"我们将使用 Apple 进行快速安全登录" = "我们将使用 Apple 进行快速安全登录"; "We'll use Apple for a quick, secure sign-in" = "我们将使用 Apple 进行快速安全登录";
"Apple 登录需要 iOS 13 及以上版本" = "Apple 登录需要 iOS 13 及以上版本"; "Apple 登录需要 iOS 13 及以上版本" = "Apple 登录需要 iOS 13 及以上版本";
"需要 iOS13+ 才能使用 Apple 登录" = "需要 iOS13+ 才能使用 Apple 登录"; "Sign in with Apple requires iOS 13 or later" = "需要 iOS13+ 才能使用 Apple 登录";
"无效的登录凭证" = "无效的登录凭证"; "Invalid login credential" = "无效的登录凭证";
"未返回 token" = "未返回 token"; "No token returned" = "未返回 token";
"保存登录态失败" = "保存登录态失败"; "Failed to save login state" = "保存登录态失败";
"请切换到主App完成登录" = "请切换到主App完成登录"; "请切换到主App完成登录" = "请切换到主App完成登录";
// 英文 key 映射(用于代码中直接使用英文 key // 通用按钮与提示(英文 key
"Failed to save login state" = "保存登录态失败"; "OK" = "好";
"Confirm" = "确定";
"Cancel" = "取消";
"Close" = "关闭";
"Delete" = "删除";
"Clear" = "清空";
"Paste" = "粘贴";
"Send" = "发送";
"Retry" = "重试";
"Success" = "成功";
"Failed" = "失败";
"Network error" = "网络错误";
"Saved" = "已保存";
"Copy Success" = "复制成功";
// 通用按钮与提示 // 网络相关(英文 key
"好" = "好"; "Network unavailable" = "网络不可用";
"确定" = "确定"; "Network disabled (Full Access may be off)" = "网络未启用(可能未开启完全访问)";
"取消" = "取消"; "Invalid URL" = "无效的URL";
"关闭" = "关闭"; "Invalid response" = "无效的响应";
"删除" = "删除"; "No data" = "无数据";
"清空" = "清空"; "Failed to parse JSON" = "JSON解析失败";
"粘贴" = "粘贴"; "Parse failed" = "解析失败";
"发送" = "发送"; "No data received" = "未获取到数据";
"重试" = "重试";
"成功" = "成功";
"失败" = "失败";
"网络错误" = "网络错误";
"已保存" = "已保存";
"复制成功" = "复制成功";
// 网络相关
"网络不可用" = "网络不可用";
"网络未启用(可能未开启完全访问)" = "网络未启用(可能未开启完全访问)";
"无效的URL" = "无效的URL";
"无效的响应" = "无效的响应";
"无数据" = "无数据";
"JSON解析失败" = "JSON解析失败";
"解析失败" = "解析失败";
"未获取到数据" = "未获取到数据";
"请求失败\nURL: %@\n状态: %ld\n错误: %@\nUserInfo: %@" = "请求失败\nURL: %@\n状态: %ld\n错误: %@\nUserInfo: %@"; "请求失败\nURL: %@\n状态: %ld\n错误: %@\nUserInfo: %@" = "请求失败\nURL: %@\n状态: %ld\n错误: %@\nUserInfo: %@";
"响应成功(JSON)\nURL: %@\n状态: %ld\nContent-Type: %@\n数据: %@" = "响应成功(JSON)\nURL: %@\n状态: %ld\nContent-Type: %@\n数据: %@"; "响应成功(JSON)\nURL: %@\n状态: %ld\nContent-Type: %@\n数据: %@" = "响应成功(JSON)\nURL: %@\n状态: %ld\nContent-Type: %@\n数据: %@";
"响应成功(Data)\nURL: %@\n状态: %ld\nContent-Type: %@\n数据: %@" = "响应成功(Data)\nURL: %@\n状态: %ld\nContent-Type: %@\n数据: %@"; "响应成功(Data)\nURL: %@\n状态: %ld\nContent-Type: %@\n数据: %@" = "响应成功(Data)\nURL: %@\n状态: %ld\nContent-Type: %@\n数据: %@";
@@ -69,41 +66,40 @@
"网络不可用\n请在“设置”中检查本应用的无线数据权限或网络连接。" = "网络不可用\n请在“设置”中检查本应用的无线数据权限或网络连接。"; "网络不可用\n请在“设置”中检查本应用的无线数据权限或网络连接。" = "网络不可用\n请在“设置”中检查本应用的无线数据权限或网络连接。";
"请在“设置”中检查本应用的无线数据权限或网络连接。" = "请在“设置”中检查本应用的无线数据权限或网络连接。"; "请在“设置”中检查本应用的无线数据权限或网络连接。" = "请在“设置”中检查本应用的无线数据权限或网络连接。";
// 权限与引导 // 权限与引导(英文 key
"使用引导" = "使用引导"; "Usage Guide" = "使用引导";
"开启【允许完全访问】,体验完整功能" = "开启【允许完全访问】,体验完整功能"; "Turn on Allow Full Access to experience all features" = "开启【允许完全访问】,体验完整功能";
"允许完全访问" = "允许完全访问"; "Allow Full Access" = "允许完全访问";
"请按路径:设置→通用→键盘→键盘→%@→允许完全访问" = "请按路径:设置→通用→键盘→键盘→%@→允许完全访问"; "Follow: Settings → General → Keyboard → Keyboards → %@ → Allow Full Access" = "请按路径:设置→通用→键盘→键盘→%@→允许完全访问";
"去开启" = "去开启"; "Go enable" = "去开启";
"去设置" = "去设置"; "Open Settings" = "去设置";
"网络未启用(可能未开启完全访问)" = "网络未启用(可能未开启完全访问)"; "After pasting the conversation in the keyboard, choose a reply style" = "在键盘粘贴对话后,选择回复方式";
"在键盘粘贴对话后,选择回复方式" = "在键盘粘贴对话后,选择回复方式"; "Current: %@" = "当前:%@";
"当前:%@" = "当前:%@";
// 首页 / Tab 文案 // 首页 / Tab 文案(英文 key
"首页" = "首页"; "Home" = "首页";
"商城" = "商城"; "Shop" = "商城";
"社区" = "社区"; "Circle" = "社区";
"我的" = "我的"; "Mine" = "我的";
"热门" = "热门"; "Hot" = "热门";
"排行" = "排行"; "Rank" = "排行";
// 搜索与历史 // 搜索与历史(英文 key
"清空历史" = "清空历史"; "Clear history" = "清空历史";
"是否删除所有历史记录?" = "是否删除所有历史记录?"; "Delete all history?" = "是否删除所有历史记录?";
"删除该标签?" = "删除该标签?"; "Delete this tag?" = "删除该标签?";
"删除后不可恢复" = "删除后不可恢复"; "This action cannot be undone" = "删除后不可恢复";
"加载更多成功" = "加载更多成功"; "Loaded more successfully" = "加载更多成功";
// 皮肤与商城 // 皮肤与商城(英文 key
"皮肤中心" = "皮肤中心"; "Skin Center" = "皮肤中心";
"暂无皮肤" = "暂无皮肤"; "No skins yet" = "暂无皮肤";
"下拉刷新试试" = "下拉刷新试试"; "Pull down to refresh" = "下拉刷新试试";
"下载并应用" = "下载并应用"; "Download & Apply" = "下载并应用";
"已应用,切到键盘查看" = "已应用,切到键盘查看"; "Applied. Switch to the keyboard to view." = "已应用,切到键盘查看";
"应用失败" = "应用失败"; "Apply failed" = "应用失败";
"跳转协议" = "跳转协议"; "Open agreement" = "跳转协议";
"购物商城" = "购物商城"; "Shop Mall" = "购物商城";
// 皮肤示例名称 // 皮肤示例名称
"极光" = "极光"; "极光" = "极光";
@@ -128,10 +124,10 @@
"🎉 如您遇到其他问题,可点击在线客服帮您解决~" = "🎉 如您遇到其他问题,可点击在线客服帮您解决~"; "🎉 如您遇到其他问题,可点击在线客服帮您解决~" = "🎉 如您遇到其他问题,可点击在线客服帮您解决~";
"👋 欢迎使用『Lovekey 键盘』" = "👋 欢迎使用『Lovekey 键盘』"; "👋 欢迎使用『Lovekey 键盘』" = "👋 欢迎使用『Lovekey 键盘』";
// 支付与内购 // 支付与内购(英文 key
"支付成功" = "支付成功"; "Payment successful" = "支付成功";
"支付失败" = "支付失败"; "Payment failed" = "支付失败";
"购买:%@ Coins %@" = "购买:%@ Coins %@"; "Purchase: %@ Coins %@" = "购买:%@ Coins %@";
"Pay clicked" = "Pay clicked"; "Pay clicked" = "Pay clicked";
// 示例商品/分类 // 示例商品/分类
@@ -187,11 +183,10 @@
"橡胶大蛇炮" = "橡胶大蛇炮"; "橡胶大蛇炮" = "橡胶大蛇炮";
// 其它 // 其它
"测试" = "测试"; "Test" = "测试";
"暂无数据" = "暂无数据"; "暂无数据" = "暂无数据"; // 已有英文 key "No data"
"这里是设置内容占位" = "这里是设置内容占位"; "Settings" = "设置";
"设置" = "设置"; "Usage Guide" = "使用引导";
"使用引导" = "使用引导";
"螃蟹啊斯柯达积分卡" = "螃蟹啊斯柯达积分卡"; "螃蟹啊斯柯达积分卡" = "螃蟹啊斯柯达积分卡";
"❎不是自己的键盘" = "❎不是自己的键盘"; "❎不是自己的键盘" = "❎不是自己的键盘";
"是自己的键盘" = "是自己的键盘"; "是自己的键盘" = "是自己的键盘";

View File

@@ -44,7 +44,7 @@
// //
KBCommunityVC *community = [[KBCommunityVC alloc] init]; KBCommunityVC *community = [[KBCommunityVC alloc] init];
community.title = KBLocalized(@"社区"); // community.title = KBLocalized(@"Circle");
BaseNavigationController *navCommunity = [[BaseNavigationController alloc] initWithRootViewController:community]; BaseNavigationController *navCommunity = [[BaseNavigationController alloc] initWithRootViewController:community];
navCommunity.tabBarItem = [self tabItemWithTitle:KBLocalized(@"Circle") navCommunity.tabBarItem = [self tabItemWithTitle:KBLocalized(@"Circle")
image:@"tab_shequ" image:@"tab_shequ"

View File

@@ -94,7 +94,7 @@ static __weak UIViewController *sDefaultPresenter = nil; // 可选外部指定
[self _markFinishedAndContinue]; [self _markFinishedAndContinue];
return; return;
} }
NSString *ok = button ?: (NSLocalizedString(@"OK", nil).length ? NSLocalizedString(@"OK", nil) : KBLocalized(@"")); NSString *ok = button ?: (NSLocalizedString(@"OK", nil).length ? NSLocalizedString(@"OK", nil) : KBLocalized(@"OK"));
UIAlertController *ac = [UIAlertController alertControllerWithTitle:(title ?: @"") UIAlertController *ac = [UIAlertController alertControllerWithTitle:(title ?: @"")
message:(message ?: @"") message:(message ?: @"")
preferredStyle:UIAlertControllerStyleAlert]; preferredStyle:UIAlertControllerStyleAlert];

View File

@@ -137,7 +137,7 @@
// //
self.hotButton = [UIButton buttonWithType:UIButtonTypeCustom]; self.hotButton = [UIButton buttonWithType:UIButtonTypeCustom];
[self.hotButton setTitle:KBLocalized(@"热门") forState:UIControlStateNormal]; [self.hotButton setTitle:KBLocalized(@"Hot") forState:UIControlStateNormal];
[self.hotButton setTitleColor:[UIColor darkTextColor] forState:UIControlStateNormal]; [self.hotButton setTitleColor:[UIColor darkTextColor] forState:UIControlStateNormal];
[self.hotButton setTitleColor:[UIColor blackColor] forState:UIControlStateSelected]; [self.hotButton setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
self.hotButton.titleLabel.font = [UIFont boldSystemFontOfSize:16]; self.hotButton.titleLabel.font = [UIFont boldSystemFontOfSize:16];
@@ -146,7 +146,7 @@
[self.topBar addSubview:self.hotButton]; [self.topBar addSubview:self.hotButton];
self.rankButton = [UIButton buttonWithType:UIButtonTypeCustom]; self.rankButton = [UIButton buttonWithType:UIButtonTypeCustom];
[self.rankButton setTitle:KBLocalized(@"排行") forState:UIControlStateNormal]; [self.rankButton setTitle:KBLocalized(@"Rank") forState:UIControlStateNormal];
[self.rankButton setTitleColor:[UIColor darkTextColor] forState:UIControlStateNormal]; [self.rankButton setTitleColor:[UIColor darkTextColor] forState:UIControlStateNormal];
[self.rankButton setTitleColor:[UIColor blackColor] forState:UIControlStateSelected]; [self.rankButton setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
self.rankButton.titleLabel.font = [UIFont boldSystemFontOfSize:16]; self.rankButton.titleLabel.font = [UIFont boldSystemFontOfSize:16];

View File

@@ -150,7 +150,7 @@ static const CGFloat JXheightForHeaderInSection = 50;
self.naviBGView.frame = CGRectMake(0, 0, KB_SCREEN_WIDTH, KB_NAV_TOTAL_HEIGHT); self.naviBGView.frame = CGRectMake(0, 0, KB_SCREEN_WIDTH, KB_NAV_TOTAL_HEIGHT);
[self.view addSubview:self.naviBGView]; [self.view addSubview:self.naviBGView];
UILabel *naviTitleLabel = [[UILabel alloc] init]; UILabel *naviTitleLabel = [[UILabel alloc] init];
naviTitleLabel.text = KBLocalized(@"商城"); naviTitleLabel.text = KBLocalized(@"Shop");
naviTitleLabel.textAlignment = NSTextAlignmentCenter; naviTitleLabel.textAlignment = NSTextAlignmentCenter;
naviTitleLabel.frame = CGRectMake(0, KB_STATUSBAR_HEIGHT, self.view.bounds.size.width, 44); naviTitleLabel.frame = CGRectMake(0, KB_STATUSBAR_HEIGHT, self.view.bounds.size.width, 44);
[self.naviBGView addSubview:naviTitleLabel]; [self.naviBGView addSubview:naviTitleLabel];