macOS/iOS 國際化系統(tǒng)文件夾的名字處理方法

本文介紹系統(tǒng)自帶文件文件名國際化處理方法。

需求

APP UI界面對展示的文件名進(jìn)行國際化,一般名字展示為全路徑的lastCompoment()

例如,展示路徑/Users/xxx/Desktop/xxx/TestFolder的文件名為:

  • 自定義文件的名字默認(rèn)不做國際化,也沒有此需求。

  • 系統(tǒng)自帶文件夾需要國際化。

常規(guī)處理方法

路徑拿到lastCompoment():"TestFolder",在國際化配置文件中進(jìn)行操作。

遇到的問題

遇到系統(tǒng)自帶文件夾時出現(xiàn)問題

  • 新建的和系統(tǒng)同名的文件會被國際化。

  • 在Finder中看到,系統(tǒng)已經(jīng)對自帶文件夾做了國際化,怎么可以利用?

  • 我沒有找到判斷路徑是否為系統(tǒng)自帶的方法。

系統(tǒng)自動國際化自帶文件

解決辦法

Filmanager中有dispalyName的方法,很簡單不需任何國際化操作。

func displayName(atPath: String) -> String

Returns the display name of the file or directory at a specified path.
系統(tǒng)標(biāo)準(zhǔn)文件 用戶新建
原始文件名 Library Library
路徑 xxx/xxx/Library xxx/xxx/My folder/Library
語言環(huán)境 日語 日語
displayName ライブラリ Library

參數(shù)

文件或者目錄的路徑

返回值

以一種系統(tǒng)認(rèn)為適當(dāng)?shù)谋硎龇绞椒祷匾粋€本地化后名字,發(fā)生錯誤時返回路徑本身。

討論

Display names 是一種對用戶友好的路徑/文件名字。

  • 通常本地化標(biāo)準(zhǔn)文件或路徑的名字。

  • 也反映其他修改,如刪除了文件擴(kuò)展名。

  • 這種變動只在展示給用戶時生效,不會對其在系統(tǒng)中的真實路徑有影響。

比如,用戶當(dāng)前的語言環(huán)境是法語 ,方法將Library(標(biāo)準(zhǔn)文件、非用戶新建)文件的文件名展示為Bibliothèque,但其真實路徑還是xxx/xxx/xxx/Library。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容