iOS多語言的實現,主要是實現越南文

2021-07-17 04:24:14 字數 1205 閱讀 1236

目前launch image還是沒有成功,但是其他view controller是可以的。

查stack overflow有人建議自己做乙個launch screen ,實際上也是乙個使用者的view controller,然後在這個controller裡面做定製化的操作。我暫時沒有這樣處理,只是把開機畫面的文字寫成英文。

關於infoplist.strings,很多資料都是要手工新建乙個資源檔案,命名成這樣,然後在裡面定義乙個常量:

cfbundledisplayname = ""

; 我實際上也這樣做,只是覺得有點浪費,因為其他字串內容並沒有放在這裡面,而是放在另外乙個檔案,也需要自己建立:localizable.strings

這裡面隨便定義自己想要的字串,格式是「key name」 = 「string utf8 format」,也就是說,左邊是鍵值,以後所有語言都用這個值來呼叫,右邊就是各種語言的翻譯內容

比如:

"about"= "

關於";

那麼怎麼訪問這個檔案,從而獲取到對應的語言呢?

答案是

ns

string

*nslocalized

string

(nsstring

*key, ns

string

*comment)

具體用法是:

_listtitle

.text

= nslocalizedstring

(@"about"

, @"");

這樣,就可以自動根據系統的當前語言去指定的檔案裡找到對應的翻譯好的字串了。

當然,前面說少了一步,就是新建了乙個strings檔案還不夠,還要同時把它變成支援多種語言,這樣檔案就會變成乙個資料夾,裡面有多種語言,本來應該截幾個圖來說明比較好。

關於把資源多語言化的問題,如果沒有放在assets.xcassets裡面,而是放在其他目錄,直接選中,然後在檔案檢視器(file inspector)裡面,localization那裡選中對應的語言,就會生成響應的目錄。但我很多png檔案都在assets.xcassets裡的,無法找到localization的按鈕,只好換了一種辦法,就是把裡面的文字改為空白,也就是使用統一的檔案,至於文字則通過label控制項來做,這樣label響應的text可以在main.storyboard資料夾下面的main.strings裡面找到,每一種語言對應乙個檔案,修改響應的字串就行了。

iOS中實現多語言

ios實現多語言,首先選擇new file,然後選擇strings file,建立.strings檔案 然後在選擇project info localizations 選擇支援的語言,具體如下圖 然後在相關的.strings中新增 testname textname 這樣的簡直對,在 通過如下方法獲...

前端實現多語言

現在開發者解決多語言普遍的三種解決方案 為每個頁面提供每種語言的相關頁面。第二種是把內容從表現形式中分離出來,做不同語言的內容檔案。第三種是動態翻譯頁面內容。第三種很少見,而且機器翻譯技術還很難達到人們的預期。實現方法 比較笨的方法,就是把所有的語言寫好,放在同乙個頁面,加上不同的class,用jq...

多語言系統的實現

被老美賣掉後,工作多了,工資漲得卻少了,做不完的活,現總算完成了手頭上的緊急工作,上來寫一下有關多語言系統的實現,我們的做法是 如果系統只是簡繁體,直接就可以用函式實現了.因為他們具有一一對應關係,可是其它語言呢?由於不具有語言的對照關係,只能分別寫了.最初的系統我們是採用寫多個頁面來實現,後面覺得...