diff --git a/Equinox/Equinox.xcodeproj/project.pbxproj b/Equinox/Equinox.xcodeproj/project.pbxproj index 5ed1e3a..1b765db 100644 --- a/Equinox/Equinox.xcodeproj/project.pbxproj +++ b/Equinox/Equinox.xcodeproj/project.pbxproj @@ -82,6 +82,7 @@ 3D8467CD2899BB0C00D19E32 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; 3D8467CF2899BCDA00D19E32 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 3D916CE328B1682700D29FFF /* HelpMenuLinks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HelpMenuLinks.swift; sourceTree = ""; }; + 54D640AB2BAC5C29002761BF /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist.strings"; sourceTree = ""; }; E341F5472A9C8FBA007637CB /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist.strings; sourceTree = ""; }; F3003222213081F0008D1352 /* Equinox.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Equinox.app; sourceTree = BUILT_PRODUCTS_DIR; }; F3003225213081F0008D1352 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; @@ -133,6 +134,7 @@ F3E7B06126AE1A1C00287C60 /* CreateContentViewExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateContentViewExtensions.swift; sourceTree = ""; }; F3E7B06326AE2DAC00287C60 /* ImageProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageProvider.swift; sourceTree = ""; }; F3EC93A826C993870032FA39 /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; }; + F6048FE12BA9AA8200712EE5 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/InfoPlist.strings"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -368,6 +370,8 @@ fr, tr, "zh-Hans", + "zh-HK", + "zh-Hant", ); mainGroup = F3003219213081F0008D1352; packageReferences = ( @@ -476,6 +480,8 @@ 3D8467CF2899BCDA00D19E32 /* en */, E341F5472A9C8FBA007637CB /* tr */, 128D6B812973A88F00FD5677 /* zh-Hans */, + F6048FE12BA9AA8200712EE5 /* zh-HK */, + 54D640AB2BAC5C29002761BF /* zh-Hant */, ); name = InfoPlist.strings; sourceTree = ""; @@ -619,7 +625,7 @@ CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 6; + CURRENT_PROJECT_VERSION = 7; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Equinox/Resources/Info.plist; @@ -628,7 +634,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.14; - MARKETING_VERSION = 3.0; + MARKETING_VERSION = 4.0; PRODUCT_BUNDLE_IDENTIFIER = com.rlxone.equinox; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -645,7 +651,7 @@ CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 6; + CURRENT_PROJECT_VERSION = 7; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Equinox/Resources/Info.plist; @@ -654,7 +660,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.14; - MARKETING_VERSION = 3.0; + MARKETING_VERSION = 4.0; PRODUCT_BUNDLE_IDENTIFIER = com.rlxone.equinox; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/Equinox/Equinox/Resources/zh-HK.lproj/InfoPlist.strings b/Equinox/Equinox/Resources/zh-HK.lproj/InfoPlist.strings new file mode 100644 index 0000000..4b32ede --- /dev/null +++ b/Equinox/Equinox/Resources/zh-HK.lproj/InfoPlist.strings @@ -0,0 +1,9 @@ +/* Bundle name */ +"CFBundleName" = "Equinox"; + +/* Copyright (human-readable) */ +"NSHumanReadableCopyright" = "Copyright © 2022 rlxone. 保留一切權利。"; + +/* Privacy - Location Usage Description */ +"NSLocationUsageDescription" = "Equinox 希望使用你的位置來實現更正確的太陽計算"; + diff --git a/Equinox/Equinox/Resources/zh-Hans.lproj/InfoPlist.strings b/Equinox/Equinox/Resources/zh-Hans.lproj/InfoPlist.strings index 1734387..8aaf963 100644 --- a/Equinox/Equinox/Resources/zh-Hans.lproj/InfoPlist.strings +++ b/Equinox/Equinox/Resources/zh-Hans.lproj/InfoPlist.strings @@ -1,2 +1,2 @@ -NSHumanReadableCopyright = "Copyright © 2022 rlxone. All rights reserved."; -NSLocationUsageDescription = "Equinox wants to use your location for making more correct solar calculations"; +NSHumanReadableCopyright = "Copyright © 2022 rlxone. 保留所有权利。"; +NSLocationUsageDescription = "Equinox 想使用你的位置来进行更正确的太阳计算"; diff --git a/Equinox/Equinox/Resources/zh-Hant.lproj/InfoPlist.strings b/Equinox/Equinox/Resources/zh-Hant.lproj/InfoPlist.strings new file mode 100644 index 0000000..0793025 --- /dev/null +++ b/Equinox/Equinox/Resources/zh-Hant.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +NSHumanReadableCopyright = "版權所有 © 2022 rlxone 保留所有權利。"; +NSLocationUsageDescription = "Equinox 想要使用您的位置資訊來進行更精確的日照計算"; diff --git a/EquinoxAssets/EquinoxAssets.xcodeproj/project.pbxproj b/EquinoxAssets/EquinoxAssets.xcodeproj/project.pbxproj index 7686c23..690ef5b 100644 --- a/EquinoxAssets/EquinoxAssets.xcodeproj/project.pbxproj +++ b/EquinoxAssets/EquinoxAssets.xcodeproj/project.pbxproj @@ -25,6 +25,8 @@ 3D7BA8CA2932AD3300B501FF /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = fr; path = fr.lproj/Localizable.stringsdict; sourceTree = ""; }; 3DD0F58D2895688600BE34A6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; 3DD0F58F2895688B00BE34A6 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 54D640AC2BAC5DC3002761BF /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; + 54D640AD2BAC5DC3002761BF /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.stringsdict"; sourceTree = ""; }; E341F5482A9C8FCA007637CB /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; E341F5492A9C8FCA007637CB /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = tr; path = tr.lproj/Localizable.stringsdict; sourceTree = ""; }; F360471D26ECE63E0009F725 /* Localization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Localization.swift; sourceTree = ""; }; @@ -36,6 +38,8 @@ F3F55A6F267FA180000648D1 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; F3F55A73267FA2D6000648D1 /* Colors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Colors.swift; sourceTree = ""; }; F3F55A75267FA32F000648D1 /* Fonts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Fonts.swift; sourceTree = ""; }; + F6048FE22BA9AC5000712EE5 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; + F6048FE32BA9AC5000712EE5 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "zh-HK"; path = "zh-HK.lproj/Localizable.stringsdict"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -162,6 +166,8 @@ fr, tr, "zh-Hans", + "zh-HK", + "zh-Hant", ); mainGroup = F3C88A0A267F7FE800A51A1A; productRefGroup = F3C88A15267F7FE800A51A1A /* Products */; @@ -210,6 +216,8 @@ 3D7BA8CA2932AD3300B501FF /* fr */, E341F5492A9C8FCA007637CB /* tr */, 128D6B832973A89A00FD5677 /* zh-Hans */, + F6048FE32BA9AC5000712EE5 /* zh-HK */, + 54D640AD2BAC5DC3002761BF /* zh-Hant */, ); name = Localizable.stringsdict; sourceTree = ""; @@ -221,6 +229,8 @@ 3DD0F58F2895688B00BE34A6 /* fr */, E341F5482A9C8FCA007637CB /* tr */, 128D6B822973A89900FD5677 /* zh-Hans */, + F6048FE22BA9AC5000712EE5 /* zh-HK */, + 54D640AC2BAC5DC3002761BF /* zh-Hant */, ); name = Localizable.strings; sourceTree = ""; @@ -263,7 +273,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 3.0; + CURRENT_PROJECT_VERSION = 4.0; DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -331,7 +341,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 3.0; + CURRENT_PROJECT_VERSION = 4.0; DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; @@ -363,7 +373,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 3.0; + CURRENT_PROJECT_VERSION = 4.0; DEAD_CODE_STRIPPING = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; @@ -394,7 +404,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 3.0; + CURRENT_PROJECT_VERSION = 4.0; DEAD_CODE_STRIPPING = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; diff --git a/EquinoxAssets/EquinoxAssets.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/EquinoxAssets/EquinoxAssets.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/EquinoxAssets/EquinoxAssets.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/EquinoxAssets/EquinoxAssets/Localization/zh-HK.lproj/Localizable.strings b/EquinoxAssets/EquinoxAssets/Localization/zh-HK.lproj/Localizable.strings new file mode 100644 index 0000000..7133f60 --- /dev/null +++ b/EquinoxAssets/EquinoxAssets/Localization/zh-HK.lproj/Localizable.strings @@ -0,0 +1,383 @@ +/* (No Comment) */ +"dock.new" = "新增"; + +/* (No Comment) */ +"menu.edit" = "編輯"; + +/* (No Comment) */ +"menu.edit.copy" = "複製"; + +/* (No Comment) */ +"menu.edit.cut" = "剪下"; + +/* (No Comment) */ +"menu.edit.delete" = "刪除"; + +/* (No Comment) */ +"menu.edit.paste" = "貼上"; + +/* (No Comment) */ +"menu.edit.redo" = "重做"; + +/* (No Comment) */ +"menu.edit.select.all" = "全選"; + +/* (No Comment) */ +"menu.edit.undo" = "還原"; + +/* (No Comment) */ +"menu.file" = "檔案"; + +/* (No Comment) */ +"menu.file.new" = "新增"; + +/* (No Comment) */ +"menu.help" = "輔助說明"; + +/* (No Comment) */ +"menu.help.equinoxWebsite" = "Equinox 網站"; + +/* (No Comment) */ +"menu.help.githubFAQ" = "常問問題(FAQ)"; + +/* (No Comment) */ +"menu.help.githubIssue" = "報告一個問題"; + +/* (No Comment) */ +"menu.help.githubProject" = "GitHub 項目"; + +/* (No Comment) */ +"menu.help.macAppStoreReview" = "在 Mac App Store 上為 Equinox 評分 "; + +/* (No Comment) */ +"menu.help.productHunt" = "Product Hunt 上的 Equinox"; + +/* (No Comment) */ +"menu.main.about" = "關於 %@"; + +/* (No Comment) */ +"menu.main.hide" = "隱藏 %@"; + +/* (No Comment) */ +"menu.main.hide.others" = "隱藏其他"; + +/* (No Comment) */ +"menu.main.preferences" = "偏好設定⋯"; + +/* (No Comment) */ +"menu.main.quit" = "結束 %@"; + +/* (No Comment) */ +"menu.main.show.all" = "顯示所有"; + +/* (No Comment) */ +"menu.window" = "視窗"; + +/* (No Comment) */ +"menu.window.minimize" = "縮到最細"; + +/* (No Comment) */ +"menu.window.show.all" = "顯示所有"; + +/* (No Comment) */ +"menu.window.zoom" = "縮放"; + +/* (No Comment) */ +"solar.main.abbreviation.tooltip.description" = "格林威治標準時間 (GMT) 與特定地點的當地時間之差,以小時與分鐘表示"; + +/* (No Comment) */ +"solar.main.abbreviation.tooltip.title" = "GMT 偏移"; + +/* (No Comment) */ +"solar.main.altitude" = "海拔:"; + +/* (No Comment) */ +"solar.main.azimuth" = "方位角:"; + +/* (No Comment) */ +"solar.main.copied" = "已經複製"; + +/* (No Comment) */ +"solar.main.date" = "日期:"; + +/* (No Comment) */ +"solar.main.date.header" = "日期"; + +/* (No Comment) */ +"solar.main.drag.and.drop.tooltip.description" = "拖放或者複製結果至你的影像上"; + +/* (No Comment) */ +"solar.main.drag.and.drop.tooltip.title" = "拖放"; + +/* (No Comment) */ +"solar.main.dst.title" = "夏令時間 (DST)"; + +/* (No Comment) */ +"solar.main.dst.tooltip.description" = "時鐘於春天向前一小時,於秋天向後一小時"; + +/* (No Comment) */ +"solar.main.dst.tooltip.title" = "夏令時間"; + +/* (No Comment) */ +"solar.main.latitude" = "緯度:"; + +/* (No Comment) */ +"solar.main.location.error" = "哎呀!在獲取你的位置時出現了問題。請再試一次"; + +/* (No Comment) */ +"solar.main.location.header" = "位置"; + +/* (No Comment) */ +"solar.main.longitude" = "經度:"; + +/* (No Comment) */ +"solar.main.result.header" = "結果"; + +/* (No Comment) */ +"solar.main.sun.timeline" = "太陽時間線"; + +/* (No Comment) */ +"solar.main.timezone" = "時區"; + +/* (No Comment) */ +"solar.main.title" = "太陽計算機"; + +/* (No Comment) */ +"solar.main.value" = "值"; + +/* (No Comment) */ +"tip.appearance.description" = "這種背景圖片就這麼簡單。桌面背景圖片整日都會依系統外觀而變化。你需要兩個影像:一個用於淺色模式,一個用於深色模式。"; + +/* (No Comment) */ +"tip.appearance.title" = "外觀背景圖片"; + +/* (No Comment) */ +"tip.calculator.description" = "它會幫助你計算太陽在天空當中的位置。\n1. 影相時,於太陽時間線上選取地點、日期與時間。如你不知道確切時間,你可以使用太陽時間線來檢視太陽在天空當中的位置高低,並將其匹配你的相片。\n2. 拖放或者複製結果至你的影像上。"; + +/* (No Comment) */ +"tip.calculator.title" = "太陽計算機"; + +/* (No Comment) */ +"tip.ok" = "明白了"; + +/* (No Comment) */ +"tip.solar.description" = "這種背景圖片的主要特點是考慮了太陽的位置。根據一年中的不同時間,你會於桌面上看到最相關的影像。\n無需擔心計算問題,在「太陽計算器」的幫助之下,你只要知道相片拍攝的地點與時間。"; + +/* (No Comment) */ +"tip.solar.title" = "太陽背景圖片"; + +/* (No Comment) */ +"tip.started" = "入門"; + +/* (No Comment) */ +"tip.time.description" = "時間是這種背景圖片的關鍵。桌面背景圖片整日都會依你選取的時間而變化。"; + +/* (No Comment) */ +"tip.time.title" = "時間背景圖片"; + +/* (No Comment) */ +"tip.tips" = "貼士"; + +/* (No Comment) */ +"wallpaper.appearance.auto.description" = "預設背景圖片影像"; + +/* (No Comment) */ +"wallpaper.appearance.auto.title" = "自動"; + +/* (No Comment) */ +"wallpaper.appearance.dark.description" = "於靜態深色模式顯示背景圖片"; + +/* (No Comment) */ +"wallpaper.appearance.dark.title" = "深色 (靜止)"; + +/* (No Comment) */ +"wallpaper.appearance.light.description" = "於靜態淺色模式顯示背景圖片"; + +/* (No Comment) */ +"wallpaper.appearance.light.title" = "淺色 (靜止)"; + +/* (No Comment) */ +"wallpaper.create.appearance.based" = "基於外觀"; + +/* (No Comment) */ +"wallpaper.create.cancel" = "取消"; + +/* (No Comment) */ +"wallpaper.create.cant.share" = "無法分享背景圖片!"; + +/* (No Comment) */ +"wallpaper.create.failure" = "失敗"; + +/* (No Comment) */ +"wallpaper.create.failure.description" = "哎呀!出了一些問題"; + +/* (No Comment) */ +"wallpaper.create.file.saved" = "背景圖片已經儲存"; + +/* (No Comment) */ +"wallpaper.create.new" = "新增"; + +/* (No Comment) */ +"wallpaper.create.new.description" = "你要建製作新種類的背景圖片,還是重複當前的背景圖片?"; + +/* (No Comment) */ +"wallpaper.create.new.title" = "製作新的背景圖片?"; + +/* (No Comment) */ +"wallpaper.create.repeat.title" = "重複"; + +/* (No Comment) */ +"wallpaper.create.save" = "儲存"; + +/* (No Comment) */ +"wallpaper.create.set" = "設定"; + +/* (No Comment) */ +"wallpaper.create.set.error" = "無法儲存背景圖片。"; + +/* (No Comment) */ +"wallpaper.create.set.success" = "你已經成功設定背景圖片。"; + +/* (No Comment) */ +"wallpaper.create.share" = "分享"; + +/* (No Comment) */ +"wallpaper.create.solar.based" = "基於太陽"; + +/* (No Comment) */ +"wallpaper.create.success" = "成功"; + +/* (No Comment) */ +"wallpaper.create.success.description" = "拖放你的背景圖片到你想要的任何地方"; + +/* (No Comment) */ +"wallpaper.create.time.based" = "基於時間"; + +/* (No Comment) */ +"wallpaper.create.title" = "製作"; + +/* (No Comment) */ +"wallpaper.gallery.altitude" = "海拔:"; + +/* (No Comment) */ +"wallpaper.gallery.altitude.value" = "值"; + +/* (No Comment) */ +"wallpaper.gallery.azimuth" = "方位角:"; + +/* (No Comment) */ +"wallpaper.gallery.azimuth.value" = "值"; + +/* (No Comment) */ +"wallpaper.gallery.browse" = "瀏覽"; + +/* (No Comment) */ +"wallpaper.gallery.drag.supplementary" = "檔案應該為 PNG、JPEG、TIFF 或者 HEIF。"; + +/* (No Comment) */ +"wallpaper.gallery.drag.title" = "拖放你的影像"; + +/* (No Comment) */ +"wallpaper.gallery.or" = "或者"; + +/* (No Comment) */ +"wallpaper.gallery.time" = "時間:"; + +/* (No Comment) */ +"wallpaper.gallery.tooltip.appearance.description" = "圖形模式。只有一張影像可以為淺色或者深色外觀。"; + +/* (No Comment) */ +"wallpaper.gallery.tooltip.appearance.title" = "外觀"; + +/* (No Comment) */ +"wallpaper.gallery.tooltip.primary.description" = "主要影像會顯示為一個背景圖片縮圖。"; + +/* (No Comment) */ +"wallpaper.gallery.tooltip.primary.title" = "主要"; + +/* (No Comment) */ +"wallpaper.gallery.wrong.images.type" = "一些檔案 (%d) 的影像類型錯誤。只支援 PNG、JPEG、TIFF 和 HEIC"; + +/* (No Comment) */ +"wallpaper.main.appearance" = "外觀"; + +/* (No Comment) */ +"wallpaper.main.browse" = "瀏覽影像檔案"; + +/* (No Comment) */ +"wallpaper.main.calculator" = "計算機"; + +/* (No Comment) */ +"wallpaper.main.create" = "製作"; + +/* (No Comment) */ +"wallpaper.main.solar" = "太陽"; + +/* (No Comment) */ +"wallpaper.main.time" = "時間"; + +/* (No Comment) */ +"wallpaper.main.validate" = "請填滿所有字段"; + +/* (No Comment) */ +"wallpaper.set.continue" = "繼續"; + +/* (No Comment) */ +"wallpaper.set.description.title" = "在設定背景圖片之前,你需要於 macOS 偏好設定的「背景圖片」中設定種類為「動態」。"; + +/* (No Comment) */ +"wallpaper.set.description.title.old" = "在設定背景圖片之前,你需要於 macOS 偏好設定的「桌面與螢幕保護程式」中設定種類為「動態」。"; + +/* (No Comment) */ +"wallpaper.set.skip" = "不要再顯示此訊息"; + +/* (No Comment) */ +"wallpaper.set.title" = "設定前設置"; + +/* (No Comment) */ +"wallpaper.set.todo" = "1. 開啟 macOS 偏好設定「背景圖片」。\n2. 選取任一「動態桌面」背景圖片,設定其種類為「動態」。\n3. 點一下「繼續」。"; + +/* (No Comment) */ +"wallpaper.set.todo.link" = "「背景圖片」"; + +/* (No Comment) */ +"wallpaper.set.todo.link.old" = "「桌面與螢幕保護程式」"; + +/* (No Comment) */ +"wallpaper.set.todo.old" = "1. 開啟 macOS 偏好設定「桌面與螢幕保護程式」。\n2. 選取任一「動態桌面」背景圖片,設定其種類為「動態」。\n3. 點一下「繼續」。"; + +/* (No Comment) */ +"welcome.choose.type" = "選取種類"; + +/* (No Comment) */ +"welcome.choose.type.description" = "為你的背景圖片選取一個合適的種類"; + +/* (No Comment) */ +"welcome.github" = "Github"; + +/* (No Comment) */ +"welcome.title" = "歡迎使用 Equinox"; + +/* (No Comment) */ +"welcome.types.appearance" = "外觀"; + +/* (No Comment) */ +"welcome.types.appearance.description" = "依系統外觀製作背景圖片。你需要兩個影像:一個用於淺色模式,一個用於深色模式。"; + +/* (No Comment) */ +"welcome.types.solar" = "太陽"; + +/* (No Comment) */ +"welcome.types.solar.description" = "依太陽計算製作背景圖片。桌面背景圖片整日都會依太陽在天空當中的位置而變化。"; + +/* (No Comment) */ +"welcome.types.time" = "時間"; + +/* (No Comment) */ +"welcome.types.time.description" = "依時間計算製作背景圖片。桌面背景圖片整日都會依你選取的時間而變化。"; + +/* (No Comment) */ +"welcome.version" = "版本 %@"; + +/* (No Comment) */ +"welcome.welcome" = "歡迎使用 %@"; diff --git a/EquinoxAssets/EquinoxAssets/Localization/zh-HK.lproj/Localizable.stringsdict b/EquinoxAssets/EquinoxAssets/Localization/zh-HK.lproj/Localizable.stringsdict new file mode 100644 index 0000000..a377cdc --- /dev/null +++ b/EquinoxAssets/EquinoxAssets/Localization/zh-HK.lproj/Localizable.stringsdict @@ -0,0 +1,34 @@ + + + + + delete + + NSStringLocalizedFormatKey + %#@delete@ + delete + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + other + 刪除影像 (%d 個項目) + + + images + + NSStringLocalizedFormatKey + %#@images@ + images + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + other + %d 個影像 + + + + diff --git a/EquinoxAssets/EquinoxAssets/Localization/zh-Hant.lproj/Localizable.strings b/EquinoxAssets/EquinoxAssets/Localization/zh-Hant.lproj/Localizable.strings new file mode 100644 index 0000000..2ba5ebb --- /dev/null +++ b/EquinoxAssets/EquinoxAssets/Localization/zh-Hant.lproj/Localizable.strings @@ -0,0 +1,141 @@ +"menu.main.about" = "關於 %@"; +"menu.main.preferences" = "偏好設定⋯"; +"menu.main.hide" = "隱藏 %@"; +"menu.main.hide.others" = "隱藏其他"; +"menu.main.show.all" = "全部顯示"; +"menu.main.quit" = "退出 %@"; + +"menu.file" = "檔案"; +"menu.file.new" = "新增"; + +"menu.edit" = "編輯"; +"menu.edit.undo" = "復原"; +"menu.edit.redo" = "重做"; +"menu.edit.cut" = "剪下"; +"menu.edit.copy" = "拷貝"; +"menu.edit.paste" = "貼上"; +"menu.edit.select.all" = "全選"; +"menu.edit.delete" = "刪除"; + +"menu.window" = "視窗"; +"menu.window.minimize" = "最小化"; +"menu.window.zoom" = "縮放"; +"menu.window.show.all" = "全部顯示"; + +"menu.help" = "幫助"; +"menu.help.githubProject" = "GitHub 專案"; +"menu.help.githubFAQ" = "常見問題"; +"menu.help.githubIssue" = "回報錯誤"; +"menu.help.equinoxWebsite" = "Equinox 網站"; +"menu.help.macAppStoreReview" = "在 Mac App Store 上為 Equinox 評分"; +"menu.help.productHunt" = "在 Product Hunt 上的 Equinox"; + +"welcome.title" = "歡迎使用 Equinox"; +"welcome.welcome" = "歡迎使用 %@"; +"welcome.version" = "版本 %@"; +"welcome.github" = "Github"; +"welcome.choose.type" = "選擇類型"; +"welcome.choose.type.description" = "選擇適合您背景圖片的類型"; +"welcome.types.solar" = "日照"; +"welcome.types.solar.description" = "建立根據日照計算的背景圖片。圖片將根據太陽於空中的位置在一天中變換。"; +"welcome.types.time" = "時間"; +"welcome.types.time.description" = "建立根據時間計算的背景圖片。圖片將根據您所選的時間在一天中變換。"; +"welcome.types.appearance" = "外觀"; +"welcome.types.appearance.description" = "建立根據系統外觀變化的背景圖片。您需準備兩張圖片:淺色和深色模式各一張。"; + +"wallpaper.main.solar" = "日照"; +"wallpaper.main.time" = "時間"; +"wallpaper.main.appearance" = "外觀"; +"wallpaper.main.calculator" = "計算器"; +"wallpaper.main.create" = "建立"; +"wallpaper.main.browse" = "瀏覽圖檔"; +"wallpaper.main.validate" = "請填寫所有欄位"; + +"wallpaper.gallery.drag.title" = "將您的圖片拖放至此"; +"wallpaper.gallery.drag.supplementary" = "檔案格式應為 png、jpeg、tiff,或 heif。"; +"wallpaper.gallery.or" = "或"; +"wallpaper.gallery.browse" = "瀏覽"; +"wallpaper.gallery.azimuth" = "方位角:"; +"wallpaper.gallery.azimuth.value" = "數值"; +"wallpaper.gallery.altitude" = "海拔:"; +"wallpaper.gallery.altitude.value" = "數值"; +"wallpaper.gallery.time" = "時間:"; +"wallpaper.gallery.tooltip.appearance.title" = "外觀"; +"wallpaper.gallery.tooltip.appearance.description" = "圖形模式。僅一張圖片可被設為淺色或深色外觀。"; +"wallpaper.gallery.tooltip.primary.title" = "主圖"; +"wallpaper.gallery.tooltip.primary.description" = "作為背景圖片縮圖顯示的主要圖片。"; +"wallpaper.gallery.wrong.images.type" = "某些檔案 (%d) 的圖片類型錯誤。僅支援 png、jpeg、tiff,和 heic"; + +"wallpaper.appearance.auto.title" = "自動"; +"wallpaper.appearance.auto.description" = "預設背景圖片"; +"wallpaper.appearance.light.title" = "淺色 (靜態)"; +"wallpaper.appearance.light.description" = "在靜態淺色模式顯示圖片"; +"wallpaper.appearance.dark.title" = "深色 (靜態)"; +"wallpaper.appearance.dark.description" = "在靜態深色模式顯示圖片"; + +"wallpaper.create.success" = "成功"; +"wallpaper.create.success.description" = "將背景圖片拖曳或儲存到您喜歡的地方"; +"wallpaper.create.failure" = "失敗"; +"wallpaper.create.failure.description" = "哎呀!某個地方出錯了"; +"wallpaper.create.save" = "儲存"; +"wallpaper.create.set" = "設定"; +"wallpaper.create.share" = "分享"; +"wallpaper.create.new" = "新增"; +"wallpaper.create.cancel" = "取消"; +"wallpaper.create.solar.based" = "根據日照"; +"wallpaper.create.time.based" = "根據時間"; +"wallpaper.create.appearance.based" = "根據外觀"; +"wallpaper.create.file.saved" = "已儲存背景圖片"; +"wallpaper.create.new.title" = "要建立新背景圖片嗎?"; +"wallpaper.create.new.description" = "您要建立新類型的背景圖片還是重複目前的背景圖片?"; +"wallpaper.create.title" = "建立"; +"wallpaper.create.repeat.title" = "重複"; +"wallpaper.create.set.error" = "無法儲存背景圖片。"; +"wallpaper.create.set.success" = "您已成功設定背景圖片"; +"wallpaper.create.cant.share" = "無法分享背景圖片!"; + +"wallpaper.set.title" = "設定前的準備作業"; +"wallpaper.set.description.title.old" = "在設定背景圖片前,您需要在 macOS 偏好設定的「桌面 & 螢幕保護程式」中設定「動態」類型。"; +"wallpaper.set.description.title" = "在設定背景圖片前,您需要在 macOS 偏好設定的「背景圖片」中設定「動態」類型。"; +"wallpaper.set.todo.old" = "1. 開啟 macOS 偏好設定的「桌面 & 螢幕保護程式」分頁。\n2. 選擇任意「動態桌面」背景圖片,並將類型設為「動態」。\n3. 按下「繼續」。"; +"wallpaper.set.todo" = "1. 開啟 macOS 偏好設定的「背景圖片」分頁。\n2. 選擇任意「動態桌面」背景圖片,並將類型設為「動態」。\n3. 按下「繼續」。"; +"wallpaper.set.todo.link.old" = "“桌面 & 螢幕保護程式”"; +"wallpaper.set.todo.link" = "“背景圖片”"; +"wallpaper.set.continue" = "繼續"; +"wallpaper.set.skip" = "不要再顯示此訊息"; + +"solar.main.title" = "日照計算器"; +"solar.main.location.header" = "位置"; +"solar.main.date.header" = "日期"; +"solar.main.result.header" = "結果"; +"solar.main.latitude" = "緯度:"; +"solar.main.longitude" = "經度:"; +"solar.main.date" = "日期;"; +"solar.main.altitude" = "海拔:"; +"solar.main.azimuth" = "方位角:"; +"solar.main.value" = "數值"; +"solar.main.copied" = "已複製"; +"solar.main.sun.timeline" = "太陽時間軸"; +"solar.main.timezone" = "時區"; +"solar.main.location.error" = "哎呀!取得您的位置資訊時發生錯誤。請再試一次"; +"solar.main.dst.title" = "DST"; +"solar.main.dst.tooltip.title" = "夏令時間"; +"solar.main.dst.tooltip.description" = "時煎將在春季調快一小時,並在秋季復原"; +"solar.main.abbreviation.tooltip.title" = "GMT 偏移量"; +"solar.main.abbreviation.tooltip.description" = "格林威治標準時間 (GMT) 與指定位置本地時間的差異,以小時和分鐘表示"; +"solar.main.drag.and.drop.tooltip.title" = "拖放"; +"solar.main.drag.and.drop.tooltip.description" = "將結果拖放或複製到您的圖片上"; + +"tip.tips" = "提示"; +"tip.started" = "入門"; +"tip.ok" = "瞭解"; +"tip.solar.title" = "日照背景圖片"; +"tip.solar.description" = "將太陽位置納入考量是此類背景圖片的主要功能。根據一年中的不同時間,你會看到最相關的背景圖片。\n有了「光照計算器」的幫助,您無須擔心如何計算,只需知道照片的拍攝地點和時間。"; +"tip.time.title" = "時間背景圖片"; +"tip.time.description" = "時間是此類背景圖片的關鍵。圖片將根據您所選的時間在一天中變換。"; +"tip.appearance.title" = "外觀背景圖片"; +"tip.appearance.description" = "此類背景圖片簡單明瞭。圖片將跟隨系統外觀在一天中變換。您需準備兩張圖片:淺色和深色模式各一張。"; +"tip.calculator.title" = "光照計算器"; +"tip.calculator.description" = "能夠幫助您計算太陽在空中的位置。\n1. 在太陽時間軸上選擇您拍攝照片時的地點、日期,和時間。如果您不知道確切時間,您可以使用太陽時間軸來查看太陽在空中的高度,並與您的圖片比對。\n2. 將結果拖放或複製到您的圖片。"; + +"dock.new" = "新增"; diff --git a/EquinoxAssets/EquinoxAssets/Localization/zh-Hant.lproj/Localizable.stringsdict b/EquinoxAssets/EquinoxAssets/Localization/zh-Hant.lproj/Localizable.stringsdict new file mode 100644 index 0000000..27cc516 --- /dev/null +++ b/EquinoxAssets/EquinoxAssets/Localization/zh-Hant.lproj/Localizable.stringsdict @@ -0,0 +1,38 @@ + + + + + images + + NSStringLocalizedFormatKey + %#@images@ + images + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + %d 張圖片 + other + %d 張圖片 + + + delete + + NSStringLocalizedFormatKey + %#@delete@ + delete + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + 刪除圖片 + other + 刪除圖片 (%d 個項目) + + + + diff --git a/EquinoxCore/EquinoxCore.xcodeproj/project.pbxproj b/EquinoxCore/EquinoxCore.xcodeproj/project.pbxproj index 83f2f37..44a4547 100644 --- a/EquinoxCore/EquinoxCore.xcodeproj/project.pbxproj +++ b/EquinoxCore/EquinoxCore.xcodeproj/project.pbxproj @@ -509,7 +509,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 3.0; + CURRENT_PROJECT_VERSION = 4.0; DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -576,7 +576,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 3.0; + CURRENT_PROJECT_VERSION = 4.0; DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; diff --git a/EquinoxUI/EquinoxUI.xcodeproj/project.pbxproj b/EquinoxUI/EquinoxUI.xcodeproj/project.pbxproj index 072c178..4ef1516 100644 --- a/EquinoxUI/EquinoxUI.xcodeproj/project.pbxproj +++ b/EquinoxUI/EquinoxUI.xcodeproj/project.pbxproj @@ -652,7 +652,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 3.0; + CURRENT_PROJECT_VERSION = 4.0; DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -719,7 +719,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 3.0; + CURRENT_PROJECT_VERSION = 4.0; DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; @@ -751,7 +751,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 3.0; + CURRENT_PROJECT_VERSION = 4.0; DEAD_CODE_STRIPPING = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; @@ -782,7 +782,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 3.0; + CURRENT_PROJECT_VERSION = 4.0; DEAD_CODE_STRIPPING = YES; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; diff --git a/README.md b/README.md index 8edc91b..bb4832e 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,9 @@ Equinox is translated to: - English - French, by [W1W1-M](https://github.com/W1W1-M) - Türkçe, by [furkanipek](https://github.com/furkanipek) -- Chinese, by [Chuan Hu](https://github.com/GaiZhenbiao), [DevLiuSir](https://github.com/DevLiuSir) +- Chinese (Simplified), by [Chuan Hu](https://github.com/GaiZhenbiao), [DevLiuSir](https://github.com/DevLiuSir) +- Chinese (Traditional), by [5idereal](https://github.com/5idereal) +- Chinese (Traditional, Hong Kong), by [changanmoon](https://github.com/changanmoon) To translate Equinox to another language: - Fork the main branch