iOS開發(fā)之Translation API

介紹

iOS 中內(nèi)置了一款非常好用的翻譯 App:Translate癌压,支持翻譯搁进、相機翻譯與對話寞宫。在 iOS 17.4 之后吼和,Apple 逐步開發(fā)了相關(guān)的 SwiftUI API。開發(fā)者只需要調(diào)用 API 就能在自己的 App 內(nèi)實現(xiàn)類似 Translate App 的翻譯效果窘疮。

API

translationPresentation

  • iOS 17.4 之后新增的翻譯修飾符袋哼,可以彈出翻譯疊加層實現(xiàn)應(yīng)用內(nèi)翻譯。
  • 需要導入Translation模塊闸衫。

案例

import SwiftUI
import Translation

struct ContentView: View {
    @State private var showTranslation = false
    @State private var originalText = "Using Translation API in your App after iOS 17.4"

    var body: some View {
        VStack {
            Text(originalText)

            Button("Translate") {
                showTranslation.toggle()
            }
        }
        .padding()
        .translationPresentation(isPresented: $showTranslation, text: originalText) { translatedText in
            print(translatedText)
            originalText = translatedText
        }
    }
}

效果

translationPresentation.gif

translationTask

  • iOS 18 之后新增的翻譯修飾符涛贯,根據(jù)翻譯要求執(zhí)行翻譯任務(wù),而無需借助系統(tǒng)的彈出層蔚出。
  • 需要導入Translation模塊弟翘。

案例

import SwiftUI
import Translation

struct ContentView: View {
    @State private var article = "iOS 18 之后在應(yīng)用程序中可以使用翻譯 API。"
    // 翻譯配置
    @State private var configuration: TranslationSession.Configuration?

    var body: some View {
        NavigationStack {
            Text(article)
                .toolbar {
                    Button {
                        // 漢翻英
                        configuration = TranslationSession.Configuration(source: .init(identifier: "zh-Hans-CN"), target: .init(identifier: "en-US"))
                    } label: {
                        Label("Translate", systemImage: "translate")
                            .labelStyle(.iconOnly)
                    }
                }
                .translationTask(configuration) { session in
                    // 翻譯
                    if let response = try? await session.translate(article) {
                        article.append("\n\n" + response.targetText)
                    }
                }
        }
    }
}

效果

translationTask.gif

注意:需要在真機運行測試骄酗。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末稀余,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子趋翻,更是在濱河造成了極大的恐慌睛琳,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異掸掏,居然都是意外死亡茁影,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進店門丧凤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來募闲,“玉大人,你說我怎么就攤上這事愿待『坡荩” “怎么了?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵仍侥,是天一觀的道長要出。 經(jīng)常有香客問我,道長农渊,這世上最難降的妖魔是什么患蹂? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮砸紊,結(jié)果婚禮上传于,老公的妹妹穿的比我還像新娘。我一直安慰自己醉顽,他們只是感情好沼溜,可當我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著游添,像睡著了一般系草。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上唆涝,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天找都,我揣著相機與錄音,去河邊找鬼廊酣。 笑死能耻,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的啰扛。 我是一名探鬼主播嚎京,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼嗡贺,長吁一口氣:“原來是場噩夢啊……” “哼隐解!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起诫睬,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤煞茫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體续徽,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡蚓曼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了钦扭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纫版。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖客情,靈堂內(nèi)的尸體忽然破棺而出其弊,到底是詐尸還是另有隱情,我是刑警寧澤膀斋,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布梭伐,位于F島的核電站,受9級特大地震影響仰担,放射性物質(zhì)發(fā)生泄漏糊识。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一摔蓝、第九天 我趴在偏房一處隱蔽的房頂上張望赂苗。 院中可真熱鬧,春花似錦项鬼、人聲如沸哑梳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鸠真。三九已至,卻和暖如春龄毡,著一層夾襖步出監(jiān)牢的瞬間吠卷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工沦零, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留祭隔,地道東北人。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓路操,卻偏偏與公主長得像疾渴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子屯仗,可洞房花燭夜當晚...
    茶點故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內(nèi)容

  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,124評論 29 470
  • iOS面試題目100道 1.線程和進程的區(qū)別搞坝。 進程是系統(tǒng)進行資源分配和調(diào)度的一個獨立單位,線程是進程的一個實體魁袜,...
    有度YouDo閱讀 29,874評論 8 137
  • application [??pl?'ke??(?)n]應(yīng)用程式應(yīng)用桩撮、應(yīng)用程序 application frame...
    我不白先生閱讀 1,951評論 0 3
  • 1敦第、截取字符串”20 | http://www.baidu.com”中,”|”字符前面和后面的數(shù)據(jù)店量,分別輸出它們 ...
    強子ly閱讀 2,917評論 8 46
  • 序言 目前形勢融师,參加到iOS隊伍的人是越來越多右钾,甚至已經(jīng)供過于求了。今年旱爆,找過工作的人可能會更深刻地體會到今年的就...
    有夢想的老伯伯閱讀 2,985評論 3 96