Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MainMenu.xib を翻訳してみた
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Megabits_mzq
April 25, 2022
Programming
300
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
170
SwiftUI と Shader を活用した楽しいオンボーディング起動画面の作成
megabitsenmzq
0
130
Liquid Glass, どこが変わったのか
megabitsenmzq
0
180
iPhone 16 Camera Control
megabitsenmzq
0
160
240fps で画像処理したい
megabitsenmzq
0
240
Swift 開発が楽になる道具たち
megabitsenmzq
1
780
Animoji を作ってみた
megabitsenmzq
0
210
WKWebView とめんどくさいお友達
megabitsenmzq
1
780
先週解決した SwiftUI 問題
megabitsenmzq
0
150
Other Decks in Programming
See All in Programming
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
190
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
240
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.5k
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
560
Oxlintのカスタムルールの現況
syumai
6
1.2k
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
980
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.5k
ふつうのFeature Flag実践入門
irof
8
4.2k
さぁV100、メモリをお食べ・・・
nilpe
0
160
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
320
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.7k
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
870
30 Presentation Tips
portentint
PRO
1
330
How STYLIGHT went responsive
nonsquared
100
6.2k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Ethics towards AI in product and experience design
skipperchong
2
320
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
340
Mind Mapping
helmedeiros
PRO
1
260
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
ラッコキーワード サービス紹介資料
rakko
1
3.8M
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