iphone 应用程序 多语言支持

本文介绍iOS应用如何实现多语言支持及界面切换。包括语言文件的创建与管理、使用NSLocalizedString获取字符串资源,以及如何根据设备语言环境自动适配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里有几个概念:
  多语言支持,就是一个程序支持几种语言.
  本地化/国际化,就是把原有语言支持翻译成另外一种语言

  这里又推导出另外几个问题,
  一。是让程序带几种语言文件支持
  二。运行中如何切换界面
  三。代码中如何把对应的字符取出来?
首先我们看一下Iphone的语言设置。打开Settings-->International-->Language.可以在界面上切换语言.可以把当前语言界面切换不同语言。
                               iphone <wbr>应用程序 <wbr>多语言支持
 应用程序是怎么做相应的切换呢?如果正好程序带了相应语言支持。则直接切换过去。如果没有相应的支持。则切算成默认语言。
  
  还有一种情况,在iphone设为中文界面的情况,程序手动切换成英文。这又要怎么做?


一.iphone项目的语言文件
-----------------------------------------------------------------

 在iphone的xcode项目中,往往带好几个语言支持。
  每一个语言支持的文字保存在<语言类型>.lproj/Localizable.strings当中。比如英文是
   English.lproj/Localizable.strings 当中, 简体中文是Zh_cn.lproj/Localizable.strings当中
 Localizable.strings的格式有两种,一种是旧式是的,每一行都是形如下格式

      "_LocaleLanguage"= "zh";
   "cancel" ="取消";

另外一种是XML格式的plist文件

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plistPUBLIC "-//Apple Computer//DTD PLIST1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">
<dict>
    <key>button</key>
    <string>按键</string>

</dict>

</plist>


二.在XCode 操作strings文件.
在主菜单File-->New file 或项目窗口的右健中,选择AddNew..
  在other文件中,选择新建strings文件
iphone <wbr>应用程序 <wbr>多语言支持

新增文件可以放在任意目录,但是最好是按前面要写成Zh_cn.lproj/Localizable.strings 的名字
iphone <wbr>应用程序 <wbr>多语言支持

在新增的文件手工增加翻译条目:
iphone <wbr>应用程序 <wbr>多语言支持
新的语言再重复上述步骤即可。

三.在应用程序中使用国际化字符串
-----------------------------------------------------------------------------
在程序中使用字符串的地方可以调用NSLocalizedString来取出对应语言的字符串
  如果你的strings文件不是标准的Localizable.strings,假设叫my.strings则可以用
NSLocalizedStringFromTable(@"button",@"my", nil);来取得字符串

比如:

UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:NSLocalizedString(@"title",nil) 
                       message:@"showmessage" 
                                                delegate:nil 
                                        cancelButtonTitle:@"Cancel" 
                                        otherButtonTitles:nil];



四.在界面显示
------------------------------------------------
  在界面显示主要取决于两点。一个是当前iphone的显示语言,如果匹配自动调用相应的语言。
简体中文语言环境:
iphone <wbr>应用程序 <wbr>多语言支持
英文语言环境:
iphone <wbr>应用程序 <wbr>多语言支持

如果当前语言应用程序不支持,则会自动显示Info.plist中 Localizationnative development re指定的语言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值