mirror of
https://github.com/wibus-wee/InjectGUI.git
synced 2025-11-26 03:44:54 +08:00
feat: 添加汉化 (#6)
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
38E944F22C5A761B00B252A3 /* Executor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38E944F12C5A761B00B252A3 /* Executor.swift */; };
|
||||
38E944F52C5A7F6A00B252A3 /* Cache in Frameworks */ = {isa = PBXBuildFile; productRef = 38E944F42C5A7F6A00B252A3 /* Cache */; };
|
||||
38E944F72C5A85E200B252A3 /* Cache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38E944F62C5A85E200B252A3 /* Cache.swift */; };
|
||||
C4374EFF2C5F39A700090A00 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = C4374EFE2C5F39A700090A00 /* Localizable.xcstrings */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
@@ -55,6 +56,7 @@
|
||||
38BC1F5B2C4BB02200C3B60E /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
|
||||
38E944F12C5A761B00B252A3 /* Executor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Executor.swift; sourceTree = "<group>"; };
|
||||
38E944F62C5A85E200B252A3 /* Cache.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Cache.swift; sourceTree = "<group>"; };
|
||||
C4374EFE2C5F39A700090A00 /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -72,6 +74,7 @@
|
||||
38877A102C4A6F83009F5910 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
C4374EFE2C5F39A700090A00 /* Localizable.xcstrings */,
|
||||
38877A1B2C4A6F83009F5910 /* InjectGUI */,
|
||||
38877A1A2C4A6F83009F5910 /* Products */,
|
||||
);
|
||||
@@ -207,6 +210,7 @@
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
"zh-Hans",
|
||||
);
|
||||
mainGroup = 38877A102C4A6F83009F5910;
|
||||
packageReferences = (
|
||||
@@ -228,6 +232,7 @@
|
||||
files = (
|
||||
38877A252C4A6F87009F5910 /* Preview Assets.xcassets in Resources */,
|
||||
38877A212C4A6F87009F5910 /* Assets.xcassets in Resources */,
|
||||
C4374EFF2C5F39A700090A00 /* Localizable.xcstrings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
||||
@@ -169,7 +169,7 @@ struct AppDetailView: View {
|
||||
.foregroundColor((appInjectConfDetail?.tccutil?.allStrings ?? []).count > 0 ? .green : .red)
|
||||
|
||||
HStack {
|
||||
Text("This app need use tccutil to reset")
|
||||
Text("This app needs to use tccutil to reset")
|
||||
.font(.subheadline)
|
||||
Text(appInjectConfDetail?.tccutil?.allStrings.joined(separator: ", ") ?? "")
|
||||
.font(.subheadline)
|
||||
|
||||
@@ -201,7 +201,7 @@ struct SettingsView: View {
|
||||
}
|
||||
VStack {
|
||||
Spacer()
|
||||
Text("Released under GPLv3. Based on Qiuchenly/InjectLib.")
|
||||
Text("Released under GPLv3. Based on QiuChenly/InjectLib.")
|
||||
.font(.system(size: 12, weight: .semibold, design: .rounded))
|
||||
.opacity(0.5)
|
||||
}
|
||||
|
||||
536
Localizable.xcstrings
Normal file
536
Localizable.xcstrings
Normal file
@@ -0,0 +1,536 @@
|
||||
{
|
||||
"sourceLanguage" : "en",
|
||||
"strings" : {
|
||||
"" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : ""
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"%@" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "%@"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"%lld%%" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "%lld%%"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"About" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "关于"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Branch" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "分支"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"By wibus. Made with ❤️" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "由 wibus 制作。Made with ❤️"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Click here to close this view." : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "点击以关闭此视图"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Commit" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "提交"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Compatible Version" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "兼容的版本"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Copy Bundle ID" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "复制 Bundle ID"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Enter password again" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "请再次输入密码"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Error: %@" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "错误:%@"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Finished. Close" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "完成。关闭"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"General" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "通用"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Information About InjectLib" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "关于 InjectLib 的信息"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Inject" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "注入"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Inject Configurations" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "注入配置"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"InjectGUI" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "InjectGUI"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"InjectGUI requires your password to perform administrative tasks." : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "InjectGUI 需要您的密码来执行任务。"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"InjectLib" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "InjectLib"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"It will only show when the injector is running." : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "这仅在注入器运行时显示。"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"No apps found." : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "找不到软件。"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Open in Finder" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "在访达中打开"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Open Support Folder" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "打开"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Password" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "密码"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Please contact the developer if you see this view without running the injector." : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "如果您在未运行注入器的情况下看到此视图,请联系开发人员。"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Please enter your password to continue." : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "请输入密码以继续"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Progress: %lld%%" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "进度:%lld%%"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Refresh app list" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "刷新软件列表"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Released under GPLv3. Based on QiuChenly/InjectLib." : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "根据 GPLv3 发布。基于 QiuChenly/InjectLib。"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Restarting the app will require your password again." : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "重新启动应用程序将需要再次输入您的密码。"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Search all local app" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "搜索所有本地软件"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Settings" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "设置"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Settings About InjectGUI" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "关于 InjectGUI 的设置"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Status" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "状态"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Stop Injecting" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "停止注入"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Submit" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "提交"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"This app can use keygen to generate key" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "此应用程序可以使用keygen生成密钥"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"This app does not have extraShell" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "此软件没有 extraShell"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"This app has extraShell" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "此软件有extraShell"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"This app has sub app" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "此软件有附属软件"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"This app is supported by InjectLib." : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "此应用程序由 InjectLib 支持。"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"This app need auto handle helper" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "此应用程序需要自动处理Helper"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"This app need deep codesign" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "此软件需要 deep codesign"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"This app needs to use tccutil to reset" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "此软件需要使用 tccutil 来重置"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"This is a status view for the injector." : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "这是注入器的状态视图。"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Toggle Sidebar" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "切换侧边栏"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Universal Version (? Maybe)" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "通用版本(?应该是吧)"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Update InjectLib & Tools" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "更新 InjectLib & 工具"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"URL" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "链接"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Version: %@" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "版本:%@"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Welcome to InjectGUI" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "欢迎使用 InjectGUI"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Why you are seeing this?" : {
|
||||
"localizations" : {
|
||||
"zh-Hans" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "你怎么看到的?"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version" : "1.0"
|
||||
}
|
||||
Reference in New Issue
Block a user