Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
MainMenu.xib を翻訳してみた
Search
Megabits_mzq
April 25, 2022
Programming
320
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
MainMenu.xib を翻訳してみた
Swift 愛好会 2022/4/25
Megabits_mzq
April 25, 2022
More Decks by Megabits_mzq
See All by Megabits_mzq
OTP を自動で入力する裏技
megabitsenmzq
0
200
SwiftUI と Shader を活用した楽しいオンボーディング起動画面の作成
megabitsenmzq
0
150
Liquid Glass, どこが変わったのか
megabitsenmzq
0
200
iPhone 16 Camera Control
megabitsenmzq
0
170
240fps で画像処理したい
megabitsenmzq
0
250
Swift 開発が楽になる道具たち
megabitsenmzq
1
790
Animoji を作ってみた
megabitsenmzq
0
220
WKWebView とめんどくさいお友達
megabitsenmzq
1
810
先週解決した SwiftUI 問題
megabitsenmzq
0
160
Other Decks in Programming
See All in Programming
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Java 27新機能 / Java 27 new features
kishida
2
200
AWSに止められる覚悟してますか?
morizo_1984
2
520
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.4k
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
340
ジョジョの世界をXRで再現する
mofurune
0
130
プロダクトコードからライブラリの境界を見つける
elmetal
PRO
0
110
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
350
最近”作らせてる” ローカルAIアプリの話
akit37
0
160
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
550
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
15k
Workers Cache を知る
syumai
0
340
Featured
See All Featured
Navigating Weather and Climate Data
rabernat
0
550
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
Facilitating Awesome Meetings
lara
57
7.2k
Evolving SEO for Evolving Search Engines
ryanjones
0
310
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
570
We Have a Design System, Now What?
morganepeng
55
8.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
400
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
860
Transcript
前回の続き WKWebView のめんどくさいお友達がまた増えた! let script2 = """ class NotificationOverride {
static get permission() { window.webkit.messageHandlers.notifyRequest.postMessage(true); return "granted"; } static requestPermission (callback) { callback("granted"); window.webkit.messageHandlers.notifyRequest.postMessage(true); } constructor (title, options) { window.webkit.messageHandlers.notify.postMessage({ title: title, body: options.body }); } } window.Notification = NotificationOverride; """ let userScript2 = WKUserScript(source: script2, injectionTime: .atDocumentStart, forMainFrameOnly: true) webView.configuration.userContentController.addUserScript(userScript2) webView.configuration.userContentController.add(self, name: "notify") webView.configuration.userContentController.add(self, name: "notifyRequest")
None
webView.configuration.userContentController.add(self, name: "notify")
webView.configuration.userContentController.removeScriptMessageHandler(forName: "notify") webView.configuration.userContentController.removeScriptMessageHandler(forName: "notifyRequest")
Jinyu Meng (Megabits) MainMenu を⾃動翻訳してみた
個 ⼈ 開 発 者 Megabits ⾦⿂ 留 学 ⽣
None
None
None
旧 zh_CN zh_TW zh_HK 新 zh_Hans zh_Hant zh_HK
None
Main Menu Translator
None
Demo Demo Demo Demo
None
None
Xcloc
None
/System/Library/Frameworks/SwiftUI.framework
/System/Library/Frameworks/AppKit.framework /System/Library/PrivateFrameworks/UIKitServices.framework /System/Library/Frameworks/CoreText.framework /System/Library/PrivateFrameworks/UIKitMacHelper.framework フォント全般、ツールバーとサイドバー切り替え 「ペーストしてスタイルを合わせる」 「Ligatures」 「Ligature」 「Bigger」
/System/Applications/Utilities/Script Editor.app /System/Applications/Utilities/Terminal.app プリント全般 「最後に保存した状態に戻す」
None
extension UInt8 { var printableAscii : String { switch self
{ case 32..<128: return String(bytes: [self], encoding:.ascii)! default: if String(bytes: [(self & 127)], encoding:.ascii)! == "b" { return "…" } else { return "/" } } } } func XibKeysFrom(stringArray: [String]) -> [XibKey]? { var keyArray = [String : String]() var count = stringArray.count while count > 1 { let item = stringArray[stringArray.count - count] if item.hasSuffix(".title") { let source = stringArray[stringArray.count - count + 1] if !source.hasSuffix(".title") { count -= 1 keyArray[item] = source } } count -= 1 } if keyArray.isEmpty { return nil } return keyArray.map({XibKey(key: $0.key, source: $0.value)}) }
None
None