精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

iOS項目國際化對【名詞復數】的處理方法

移動開發
iOS項目國際化過程中對【名詞復數】的處理方法和對其他文字的處理方法有些不同之處,這篇文章將從下面幾個方面講解一下項目中怎么處理名詞復數。

iOS項目國際化過程中對【名詞復數】的處理方法和對其他文字的處理方法有些不同之處,這篇文章將從下面幾個方面講解一下項目中怎么處理名詞復數。

  1. .stringsdict 

 

[[399814]]

到公眾號【iOS開發棧】學習更多SwiftUI、iOS開發相關內容。

錯誤的名詞復數處理方式

iOS項目國際化主要是對項目中用到的文字進行本地化語言處理,這個方面的知識在前面幾篇文章都有涉及,比如 蘋果官方的iOS App國際化工作流 、 使用Xib使App完成國際化功能 。

普通文本可以大致看作1對1的翻譯,比如說“iOS開發棧”->“iOS developers stack”,這種一對一的翻譯通過 .strings 文件可以處理。

名詞復數的多語言處理是更加復雜的翻譯,因為不同的語言對不同數量的表達方式都不一樣。分別以英文、中文表達【iOS開發棧】公眾號有幾個粉絲為例:

 

不同語言對不同數量的表達可以參考 Language Plural Rules

如果要用 .strings 文件來處理名詞復數的話,大概會寫出這樣的代碼:

 

  1. /* 偽代碼 */ 
  2. let fans = ... 
  3. if fans == 0 { 
  4.     NSLocalizedString("zero fans number of my offical account", comment: "The Fans Number of 【ios開發棧】is zero"
  5. else if fans == 1 { 
  6.     NSLocalizedString("one fans number of my offical account", comment: "The Fans Number of 【ios開發棧】is one"
  7. else { 
  8.     NSLocalizedString("other fans number of my offical account", comment: "The Fans Number of 【ios開發棧】is other"

如果每個用到名詞復數的地方都這樣寫的話,項目中就會充斥著這種膠水代碼,非常不利于維護。為了避免這種做法,我們可以利用Xcode自帶的 .stringsdict 文件。

stringsdict

.stringsdict 文件就是專門用來處理名詞復數的plist文件。

創建 .stringsdict 文件

 

 

 

  1. Localizable.stringsdict 

stringsdict 文件解析

 

左邊是一個空的stringsdict文件,右邊是用公眾號粉絲數為例的stringsdict文件。

  1. Localized String Key 是一個文字常量,用在 NSLocalizedString 宏里面用來匹配多語言翻譯,如 NSLocalizedString("fans number of my official account", comment: "The Fans Number of 【ios開發棧】") 。項目中有多少個需要翻譯的名詞復數就要有多少個Localized String Key。
  2. Localized Format Key 對應的是包含名詞復數的句子,其中的數字和名詞在 %#@ 和 @ 中間。
  3. VARIABLE 用 %#@ 和 @ 之間的代替。這是一個鍵值對,內容就是VARIABLE在不同數量下的表示規則。
  • NSStringFormatSpecTypeKey 指定復數規則的類型,固定為 NSStringPluralRuleType 表示復數規則類型。
  • NSStringFormatValueTypeKey 用來表示不同的數字類型,比方說整型是%d,無符號整型%u,具體可以查看 String Format Specifiers
  • zero / one / two / few,many / other 不同數量下名詞復數的表現方式,有些語言只有其中幾個比如漢語基本所有數量都可以用一種方式來表達(1個、2個、100個),英語有兩種(one fan/many fans),更多的語言可以查看 Language Plural Rules 。

實戰經驗

  1. Localized Format Key 是一個語句,其中可以包含1個或1個以上的復數,每個都用 %#@ 和 @ 包圍。
  2. 每增加一個需要翻譯的名詞復數就要增加一個 Localized String Key 。
  3. 設置 .stringsdict 文件的多語言

 

  1. Localizable.stringsdict 
  2. the File inspector 

 

上面是在中英文下對 iOS開發棧有n個粉絲 和 iOS開發棧有n篇文章和m次分享 的翻譯。對這兩個翻譯的使用方法如下:

 

  1. let fansNumLocalizableString = NSLocalizedString("fans num in my offical account", comment: "The Fans Number of 【ios開發棧】"
  2. let fanNumStr = String.localizedStringWithFormat(fansNumLocalizableString, 3) 
  3.  
  4. let offcialAccountInfo = NSLocalizedString("official account info", comment: ""
  5. let accountInfoStr = String.localizedStringWithFormat(offcialAccountInfo, 10, 5) 

到公眾號【iOS開發棧】學習更多SwiftUI、iOS開發相關內容。

總結

通過這篇文章我們了解了為什么要對名詞復數的國際化進行單獨處理,和stringsdict文件的用法,相信你已經對名詞復數的國際化有所了解,現在就去動手試試吧~

責任編輯:未麗燕 來源: 施治昂
相關推薦

2017-01-09 16:24:07

滴滴Android 端 App

2011-05-17 09:39:38

JavaSE

2011-08-29 09:48:30

springMVC

2011-07-08 11:13:42

Cocoa Touch XCode

2010-03-02 16:44:59

CentOS Mono

2024-05-17 08:25:06

數據驅動React語言包

2023-01-31 10:29:26

JavaScript國際化國際化庫

2024-01-17 10:16:22

前端國際化消息鍵

2010-07-28 14:52:29

Flex國際化

2023-04-07 15:12:46

ReactReact-Intl

2018-05-24 15:19:19

AWS創業云服務

2010-01-04 13:09:51

Silverlight

2011-08-19 13:13:14

struts2Java

2009-06-25 16:04:30

2009-06-03 08:30:30

禚佳春法航華為

2024-01-04 08:16:34

Spring國際化標準

2009-01-19 09:06:31

gettextPHP國際化編程

2022-07-27 10:39:14

Spring代碼IDEA

2009-02-04 15:04:13

2024-09-04 10:27:53

點贊
收藏

51CTO技術棧公眾號

99热这里只有精品9| 91成年人网站| 黄色漫画在线免费看| 久久久久久一二三区| 欧美性xxxxxxx| 蜜桃日韩视频| a级片免费视频| 国产麻豆综合| 蜜月aⅴ免费一区二区三区 | 成人av第一页| 国产精品久久久久久久久久久不卡| 在线看的片片片免费| 欧洲亚洲视频| 91精品国产高清一区二区三区 | 国产在线国偷精品产拍免费yy| 久久久爽爽爽美女图片| 日本在线观看网址| 久久综合五月婷婷| 6080日韩午夜伦伦午夜伦| 国产视频一视频二| 91香蕉在线观看| 国产日本欧美一区二区| 国产不卡一区二区三区在线观看| 少妇无套内谢久久久久| 怡红院精品视频在线观看极品| 中文字幕欧美专区| 精品中文字幕在线播放| 国产在线一区不卡| 欧美中文字幕久久| 久久无码高潮喷水| 亚洲黄色在线免费观看| 日韩精品亚洲一区| 26uuu久久噜噜噜噜| 九九热这里有精品视频| 97精品一区二区| 国产午夜精品美女视频明星a级| 欧美丰满熟妇bbb久久久| 1区2区3区在线视频| 国产欧美日韩精品一区| 久久99久久精品国产| 亚洲精品一区二区三区新线路| 久久精品99国产精品| 国产999精品视频| 91av在线免费视频| 精品96久久久久久中文字幕无| 欧美成人精品在线| 成人免费精品动漫网站| 国产精品久久久久一区二区三区厕所| 国产一区二区三区毛片| 日本少妇高潮喷水xxxxxxx| 国产精品久久久网站| 精品卡一卡二卡三卡四在线| 天天色天天干天天色| 一区二区三区无毛| 欧美精品v国产精品v日韩精品| 亚洲欧美另类动漫| 国产成人毛片| 欧美日韩精品综合在线| jizz18女人| 小说区图片区亚洲| 7878成人国产在线观看| www.51色.com| 精品视频一区二区三区| 日韩一级免费观看| 精人妻一区二区三区| caoporn成人| 欧美午夜激情在线| 无码精品国产一区二区三区免费| 日本在线高清| 欧洲一区在线电影| 伊人色在线观看| 青春草视频在线观看| 一区二区欧美视频| 99久久国产综合精品五月天喷水| 看黄在线观看| 在线一区二区三区四区| www.超碰97.com| 欧美午夜网站| 亚洲福利视频专区| 天天看片天天操| 麻豆一区在线| 亚洲国产一区自拍| 女女互磨互喷水高潮les呻吟| 欧美裸体在线版观看完整版| 久久亚洲精品成人| 日韩精品一卡二卡| 美女视频黄免费的久久| 96国产粉嫩美女| 污污视频在线观看网站| 国产视频不卡一区| 亚洲中文字幕无码一区二区三区| 玖玖在线播放| 欧美精品日韩一本| 亚洲av永久无码精品| 精品亚洲成人| 欧美黄色成人网| 亚洲不卡视频在线观看| 韩国一区二区三区| 另类小说综合网| 国产写真视频在线观看| 国产欧美日韩在线看| 咪咪色在线视频| 狠狠操一区二区三区| 欧美日本一区二区三区| 国产精品九九视频| 99国产精品一区二区| 久久久亚洲国产| 中文字幕乱码人妻无码久久| 国产·精品毛片| 翔田千里亚洲一二三区| 欧美日韩视频精品二区| 亚洲日本电影在线| 伊人久久婷婷色综合98网| 福利成人导航| 欧美久久久久中文字幕| 9.1成人看片| 欧美精品首页| 国产精品免费视频xxxx| 午夜视频免费在线| 一区二区三区四区精品在线视频 | 91高清免费看| 免费成人美女在线观看| 精品人伦一区二区三区 | 国色天香2019中文字幕在线观看| 色婷婷久久综合中文久久蜜桃av| 成人国产电影网| 黄黄视频在线观看| 色综合视频一区二区三区日韩| 日韩精品一区二区视频| www.av视频在线观看| 亚洲午夜精品一区 二区 三区| 全球成人中文在线| 怡红院av久久久久久久| av影院午夜一区| 成人手机在线播放| 亚洲色图综合| xvideos亚洲| 亚洲av鲁丝一区二区三区| 人人狠狠综合久久亚洲| 欧美精品尤物在线| 中文字幕 在线观看| 日韩av在线最新| 日韩成人免费在线视频| 国产aⅴ综合色| 天堂а√在线中文在线| 久久av偷拍| 久久在线观看视频| 97在线视频人妻无码| 国产精品久久777777| 日日噜噜夜夜狠狠| 久久av偷拍| 欧美老少配视频| av在线亚洲天堂| 尤物视频一区二区| 少妇伦子伦精品无吗| 色先锋久久影院av| 中文字幕亚洲欧美日韩2019| 精品国产乱子伦| 国产欧美一区二区精品久导航| 亚洲第一中文av| 91麻豆精品国产91久久久平台| 国产欧美日韩高清| 超碰在线网址| 精品久久久久久综合日本欧美| 玖玖爱免费视频| 99久久精品国产网站| 日本精品一区二区三区四区| 久久av导航| 欧美乱大交xxxxx另类电影| 99精品视频免费看| 亚洲妇女屁股眼交7| 久久精品一区二区免费播放| 天堂va蜜桃一区二区三区漫画版| 亚洲国产日韩综合一区| 成人国产精品久久| 欧美交受高潮1| 欧洲天堂在线观看| 夜夜嗨av一区二区三区| 亚洲熟女一区二区| 视频一区二区三区中文字幕| 天天爱天天做天天操| 精品伊人久久久| 国产精品激情av电影在线观看 | 18性欧美xxxⅹ性满足| 一二三四区视频| 一区二区三区中文字幕电影| 亚洲国产果冻传媒av在线观看| 日韩av电影天堂| 肉大捧一出免费观看网站在线播放| 国产精品欧美大片| 国产精品免费久久久| 青青草视频在线免费直播| 亚洲天堂久久av| 亚洲av无码国产综合专区| 色综合久久精品| 色欲人妻综合网| 91女人视频在线观看| 草草草视频在线观看| 校花撩起jk露出白色内裤国产精品| 国产精品丝袜白浆摸在线| 欧洲黄色一区| 中文精品99久久国产香蕉| 丰满肉嫩西川结衣av| 欧美日韩一区二区不卡| 国产高潮久久久| 99久久婷婷国产综合精品电影| jizz欧美激情18| 亚洲国产黄色| 日日噜噜噜夜夜爽爽| 中国av一区| 成人免费在线一区二区三区| 成人在线高清| 欧美专区中文字幕| 久久五月精品中文字幕| 日韩中文字幕在线视频播放| 日本加勒比一区| 欧美一区二区三区喷汁尤物| 黄色污污网站在线观看| 亚洲女性喷水在线观看一区| 欧美人与禽zoz0善交| 26uuu亚洲| 亚洲熟女一区二区三区| 国产一区二区三区美女| 8x8x最新地址| 久久精品一区二区国产| 国产精品久久中文字幕| 中文精品电影| 中文字幕免费在线不卡| 国产精品一区2区3区| 精品一区久久久| 成人免费直播在线| 91精品综合久久| 北岛玲精品视频在线观看| 国产精品9999| 3d性欧美动漫精品xxxx软件| 欧美亚洲第一区| 黄色18在线观看| 88xx成人精品| 国产乱码午夜在线视频| 国内外成人免费激情在线视频| 91国内在线| 福利91精品一区二区三区| 久99久在线视频| 老司机在线看片网av| 中文字幕亚洲字幕| av网站无病毒在线| 一区二区亚洲精品国产| yjizz视频网站在线播放| 一区二区三区四区视频| 四虎久久免费| 视频在线观看99| 黄色免费在线网站| 九九精品视频在线| 美女精品视频| 隔壁老王国产在线精品| 99久久精品免费看国产小宝寻花| 久久久视频在线| 亚洲伊人av| 国产精品美女在线| 四虎精品在线观看| av一区二区三区四区电影| 99re8这里有精品热视频8在线| 国产三区精品| 国产一区二区观看| 亚洲成人蜜桃| 亚洲激情五月| 日韩小视频在线播放| 老司机久久99久久精品播放免费| av在线无限看| 国产真实乱子伦精品视频| 亚洲欧洲国产视频| 91在线观看污| jizz日本在线播放| 亚洲精品久久嫩草网站秘色| 国产无遮挡又黄又爽又色| 色综合久久88色综合天天6 | 亚洲图片第一页| 亚洲欧美偷拍卡通变态| 日本亚洲欧美在线| 欧洲亚洲国产日韩| www.麻豆av| 亚洲人成电影网站色xx| 男人的天堂在线视频免费观看 | 欧美日韩在线一区二区| 精品人妻一区二区三区含羞草| 亚洲精品国产电影| www.久久热.com| 欧美激情18p| 日韩毛片在线| 国产91社区| 色综合色综合| 国内自拍在线观看| 狠狠色伊人亚洲综合成人| 国产精品久久久久久久无码| 欧美高清在线精品一区| 日韩免费一二三区| 欧美人牲a欧美精品| 香港三日本三级少妇66| xvideos亚洲| 成人自拍av| 国产99在线免费| 91久久国产| 久久黄色免费看| 老司机一区二区三区| 99日在线视频| 久久精品视频免费| 国产在线观看免费视频今夜| 欧美日韩一区小说| 日本又骚又刺激的视频在线观看| 欧美伦理91i| 亚洲a成人v| 日韩色妇久久av| 国产一级一区二区| 亚洲欧洲日韩综合| 中文字幕日韩欧美一区二区三区| 国产伦精品一区二区三区视频网站| 日韩一区二区三区免费看| jizzjizz在线观看| 日本欧美精品在线| 全国精品免费看| 隔壁人妻偷人bd中字| 激情另类小说区图片区视频区| 精品成人无码一区二区三区| 精品美女国产在线| 九九热精品视频在线| 日韩一区二区在线看| av在线资源站| 国产福利成人在线| 亚洲精品456| 无码人妻丰满熟妇区96| 成人福利视频网站| 国产一级特黄a高潮片| 欧美一级高清片在线观看| 天天综合视频在线观看| 国产精品久久久久久搜索 | 亚洲国产一区二区三区在线| 美女精品一区| 人妻丰满熟妇av无码久久洗澡| 性感美女久久精品| 欧美一级淫片aaaaaa| 久久久久久久久爱| 精品日产乱码久久久久久仙踪林| 欧美日韩福利在线| 成人小视频免费在线观看| 国产亚洲欧美精品久久久www| 日韩欧美一二区| 五月天丁香视频| 国内精品美女av在线播放| 成人18夜夜网深夜福利网| 欧美一级视频在线播放| 成人av免费观看| 国产91精品一区| 亚洲一二在线观看| 视频精品导航| 一区二区精品在线观看| 黑人精品欧美一区二区蜜桃 | 欧美高清视频在线观看mv| 97超碰成人在线| 亚洲乱码国产乱码精品精98午夜 | 色综合伊人色综合网| 欧美成人免费全部网站| 天堂av在线中文| 丰满亚洲少妇av| 婷婷激情五月网| 最近2019中文字幕一页二页| 99精品视频在线免费播放| 成人在线免费观看网址| 不卡视频一二三四| 无码视频一区二区三区| 久久精品91久久久久久再现| 99re8这里有精品热视频免费| 国产aaa一级片| 国产精品你懂的在线| 精品久久无码中文字幕| 国产91成人在在线播放| 成人在线免费观看91| 亚洲自拍第三页| 欧美日韩国产色视频| 青青影院在线观看| 国产高清在线一区二区| 三级亚洲高清视频| 成人在线观看小视频| 精品欧美乱码久久久久久1区2区| 欧美电影免费观看| 国产手机视频在线观看| 91亚洲精品久久久蜜桃网站| 最新黄色网址在线观看| 久久久久久国产| 欧美一级精品片在线看| 久草免费资源站| 欧美在线制服丝袜| 国产经典三级在线| 亚洲mv在线看| 成人动漫中文字幕| 中文字幕人妻一区二区三区视频| 久久久久免费视频| 日韩一区亚洲二区| 真人bbbbbbbbb毛片| 91精品国产综合久久久蜜臀图片| 亚洲天堂电影|