首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将本地化的接口文件(XIB、Storyboard)作为xcode项目结构并使国际化工作?

将本地化的接口文件(XIB、Storyboard)作为Xcode项目结构并实现国际化工作,可以按照以下步骤进行:

  1. 创建本地化文件:在Xcode项目中,选中需要本地化的XIB或Storyboard文件,点击右侧的File Inspector(文件检查器),在Localization部分点击"+"按钮,选择需要的语言进行本地化。这将在项目中创建对应语言的本地化文件。
  2. 提取本地化字符串:在XIB或Storyboard文件中,选中需要本地化的文本或标签,点击右侧的Attributes Inspector(属性检查器),将文本的Localization属性设置为"Localizable"。然后,在项目导航器中选择项目文件,点击Editor(编辑器)菜单,选择"Export for Localization"(导出本地化文件),将本地化字符串导出到一个.strings文件中。
  3. 创建本地化文件夹:在项目导航器中,右击项目文件,选择"New Group"(新建组),创建一个名为"Base.lproj"的文件夹。然后,将导出的.strings文件拖拽到该文件夹中。
  4. 添加其他语言的本地化文件夹:在项目导航器中,右击项目文件,选择"New Group"(新建组),创建一个名为"语言代码.lproj"的文件夹,其中"语言代码"是目标语言的ISO 639-1代码(例如,en表示英语,zh表示中文)。将对应语言的.strings文件拖拽到该文件夹中。
  5. 设置本地化文件:选中项目文件,在右侧的File Inspector中,勾选"Use Base Internationalization"(使用基础国际化)。然后,在项目导航器中选择项目文件,点击Editor(编辑器)菜单,选择"Add Localization"(添加本地化),选择需要的语言进行本地化。
  6. 在代码中使用本地化字符串:在代码中,使用NSLocalizedString函数来获取本地化字符串。例如,使用NSLocalizedString(@"Hello", nil)来获取名为"Hello"的本地化字符串。
  7. 运行和测试:编译并运行项目,Xcode会根据设备的语言设置自动加载对应的本地化文件,实现国际化效果。

总结:

通过以上步骤,可以将本地化的接口文件(XIB、Storyboard)作为Xcode项目结构,并实现国际化工作。这样,根据设备的语言设置,用户界面将自动显示对应语言的文本和标签,提供更好的用户体验。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS CocoaPods 子模块实现多语言

tbl(table) 和 bundle 这两个值,由于公司 iOS 项目全部实现了业务层级组件化,所以我们 .strings 文件可以根据组件来划分,以组件名作为 table 名称,如订单组件...二、国际化准备工作 配置项目中需要添加国际化语言,这也是国际化之前准备工作,无论我们是国际化App名称、代码中字符串、图片、还是storyboardxib,都需要进行这一步准备工作(一个项目中需要且仅需要配置一次...2-4 三、在项目中添加本地化文件 项目中可以添加以下本地化文件: 1、App名称本地化(默认文件名为:InfoPlist.strings,且必须是这个名字) 2、代码中字符串本地化(默认文件名为...Xcode左侧导航列表,发现多了一个名为Contact.strings文件(此时文件左边还没有可以点击三角箭头) 选中Contact.strings文件,在XcodeFile inspection..."test"="this is test"; 详细步骤请参考:3分钟实现iOS语言本地化/国际化(图文详解) 3.2 配置.podspec 私有库配置文件定义在podspec 文件中,指定资源打包方式

2.4K10

iOS 多国语言本地化与App内语言切换(Swift)写在前面前言准备工作storyboardxib本地化纯代码本地化语言切换后记

storyboard/xib本地化 纯代码本地化 语言切换 准备工作 项目中添加语言 ?...storyboard/xib本地化 storyboard/xib本地化Xcode基本上是一键搞定了。...很简单 只要勾勾选选就可以了 这边只涉及到一个更新问题 通过 ibtools命令 可以使storyboard/xib生成新代码 首先cd 到stroyboard/xib 目录 执行ibtool...iOS中多语言本地化流程优化 语言切换 语言切换基本原理是使用Userdefault存储当前选择语言,在设置时候改变其内容即可 主要涉及到两个问题 storyboard/xib如何切换语言...,是不是很简单呢~~ 后记 对于普通项目本地化内容其实远没有那么复杂,需要替换内容也很少,只要添加过一次语言,再添加新语言就非常简单了。

2.4K31

IOS本地化应用

应用本地化是分别对字符串、图片和 xibstoryboard 文件本地化,而传统做法是对 xib字符串(包含UILabel和UIButton、UITextField等)关联一个变量,通过NSLocalizedString...这个函数去查找 Localizeable .strings 文件key值进行本地化操作,或者是生成同一个xib文件不同语言版本号。...(3)本地化将资源发给本地化服务提供商之后,他们会发回翻译完毕文件。依据翻译文本进行本地化工作。 (4)版本号控制用版本号控制系统记录下你每一次变更。 (5)測试不用怎么说,必需要步骤。...(6a)合并逻辑变更逻辑变更一般不会影响到nib文件本地化工作。多人协作项目还是须要合并一些变更逻辑。...2、IOS应用国际化教程(2014版),这个比較新,并且是使用 storyboard

86900

3分钟实现iOS语言本地化国际化(图文详解)

配置需要国际化语言(国际化准备工作) App名称本地化 代码中字符串本地化 多人开发情况下字符串本地化 图片本地化(两种方式两种方式) 查看/切换本地语言 storyboard/xib本地化 配置需要国际化语言...配置需要国际化语言,这也是国际化之前准备工作,无论我们是国际化App名称、代码中字符串、图片、还是storyboardxib,都需要进行这一步准备工作(一个项目中需要且仅需要配置一次)。...Snip20160616_13.png 选中InfoPlist.strings,在XcodeFile inspection(Xcode右侧文件检查器)中点击Localize,目的是选择我们需要本地化语言...原因如下:系统根据某个key去获取对应字符串时,如果没有找到,那么就会以key作为value返回。...Snip20160619_29.png 如此一来,切换语言变得更加简单,无需在模拟器设置中进行繁琐语言切换。 (三)多人开发情况下字符串本地化 项目开发中,独立开发还是少数。

15.9K31

IOS入门之StoryBoard

XIB 其实IB和xib是从iOS SDK初次面世开始就是捆绑在开发者工具套装内内容了,而到了Xcode 4之后更被直接集成到了Xcode中成为了IDE一部分. xib设计一大目的其实是为了良好...陌生所造成误解.虽然Apple并没有在WWDC明确提及,但是没有人规定整个项目只能有一个StoryBoard文件。...使用 StoryBoard iOS 项目均以初始化 StoryBoard 文件作为整个程序初始化入口,UIViewController 类是由于被 StoryBoard 绑定而初始化,从而启动app...StoryboardXcode右下角, 大家在下方Filter搜索栏可搜索自己想要添加控件类型, 拖拽至屏幕中央View Controller上。这和其他界面开发软件都差不多。 ?...比如我们把项目Storyboard 全部放在一个文件维护。 ?

1.7K70

《iOS UI 开发捷径 利用 Interface Builder 高效、优雅地开发 UI》 读书笔记第1章 Interface Bundle 概要第2章 使用 Interface Builder第3

解决 Xcode 8 引起 IB 文件冲突 如果用 Source Code 不能打开,就用文件编辑器(vim, etc)打开,把systemVersion等冲突解决。...关联 xib 文件与源文件 关联 xib 文件与 UIView 子类文件 新建一个空xib文件,拖一个UIView上去 新建一个继承自UIView文件 选中xib文件View,把class...mvc 理解 File's Owner 关联 xib 文件与 UIViewController 子类文件 自定义一个 VC View 两种方法 在 IB 文件中选中 VC 所在 View,在...} } } IB 文件加载过程 Bundle 和 UINib 将 nib 加载到内存 解固化实例化 nib 文件里对应对象 建立 connections (outlet、action) 调用...、结构臃肿、可维护性差 VC。

2.5K80

【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

文件 : 该文件保存字符串, 主要为程序提供国际化支持; -- main.m 文件 : main() 函数程序入口文件; -- HelloWorld-Prefix.pch 文件 : 项目中用到来自外部框架文件在这里面注明...导航面板中目录 文件 与 真实文件系统中目录文件不是对应; -- 逻辑分组 : Xcode 将 真实文件进行了逻辑分组, 并不是真实文件结构; -- 自定义分组 : 开发者还可以创建自定义分组...界面 所用到 UI 控件实例; -- 工作流程 : 开发者将 UI 控件 拖入 xib 文件, app 运行时会加载 xib 文件, 并为每个控件都创建对象, Objects 列表区可以看到所有的...作为默认格式; xib 与 nib 主要区别 : -- 文件类型 : xib 是文本文件, nib 是二进制文件, Xcode 编译项目时 会将 xib 文件转为 nib 文件;  -- nib 文件...StoryBoard 简介 StoryBoard 简介 :  -- 使用版本 : IOS 5 之后默认使用 storyboard 作为界面设计文件, 而之前是 xib 作为默认界面设计文件; -- 与

4.9K30

iOS之深入解析Xcode 13正式版发布40个新特性

它在源文件中编写文档注释和在 .docc 目录中编写标记文件时提供建议; Quick Help 现在使用 DocC 来呈现项目文档并在文档窗口中呈现指向项目文档链接。...十三、Interface Builder 现在可以在大纲视图中手动重新排序 Storyboard 场景; macOS StoryboardXIB 使用 UINIbEncoder 进行编译,以减少文件大小并提高运行时性能...Xcode 13 中 Swift 语法高亮显示是即时且无闪烁,无论是在文件之间进行编辑还是导航; 即使您代码不完整或您项目无法编译,Swift Jump to Definition 现在也能提供更具弹性体验...尤其是在项目源代码中存在结构和逻辑不一致情况下。...这可以简化您代码减少提供本地化字符串数量,因为它会自动对本地化字符串进行变形以说明复数、语法协议。它适用于英语和西班牙语。

8.7K40

iOS基础问答面试题连载(二)-附答案

xcode7没有Frameworks文件夹,xcode7内部会自动帮你导入一些常见框架. xcode7多了LaunchScreen.xib,LaunchScreen.xib设置启动界面,而且可以确定模拟器或者真机真实尺寸...,如果没有设置,默认4s尺寸(320,480) xcode7没有pch文件 xcode5当中也有info.plist,只不过它名字很长.是工程名称. 2.pch文件原理?...加载info.plist.加载配置文件.判断一下info.plist文件当中有没有Main storyboard file base name,里面有没有指定storyboard文件,如果有就去加载info.plist...如果不是从StoryBoard当中加载, 那么它还会判断是不是从Xib当中创建控制器.如果是,那么它就会从xib加载控制器View.....导航控制器View结构是怎样?

1.4K90

编码篇-从一个第三方StoryBoard项目中剥离部分功能到纯代码项目

除非你没有使用xib文件创建视图 4、viewDidLoad 载入完成,可以进行自定义数据以及动态创建其他控件 所以Xcode在加载试图是优先加载 xib文件StoryBoard...这让我们知道移植 StoryBoard文件到我们纯代码项目后,修改或者添加一些新内容是多么简单和方便。...然后再把试图关联文件也一添加到目的工程中,这样就完成了部分功能主要移植了。 3.一般情况下,会报很多错,然后根据错误把需要其他文件再一一添加到目的工程中。...这样,就完成了从StoryBoard项目中剥离部分功能到纯代码项目任务了。 值得注意一点是,在修改微调中,StoryBoard试图中设置和约束会使代码中 Frame设置失效。...看开发者API文档 你会发现一些有用接口。 ---- 小结 到此我们知道了三种视图创建方式 1.通过StoryBoard 2.通过 xib 3.通过纯代码生成,这很有用和关键。

69120

探索IOS App生命周期之启动篇

Xcode4.5中,工程模板会默认为App程序创建启动用MainView,配套一个MainView.xib文件,其中默认会有一个Window对象。...在最近一个项目中,笔者用Xcode 5创建了一个工程,但因为对Storyboard不熟,所以没敢用默认Main.storyborad作为启动对象,而想自定义启动过程。...然后创建了一个MyMainViewController对象,包括.h/.m/.xib三个文件,想以此对象作为启动对象,即rootViewController对象。...对比此项目与系统模板创建项目,发现是在MyMainViewController中缺少了与AppDelegate对象关联,于是在MyMainViewController.xib视图中添加了一个Object...其实,nib文件也是参照项目中Resources组中MainWindow.xib文件,我们双击该文件,启动Interface Builder后可以看到下面的图示: Interface Builder 中有以下

56320

将iOS项目进行子工程化 原

将iOS项目进行子工程化     在iOS项目开发中,随着项目的越来越大,工程结构化会变差,编译速度也会越来越慢。...使用静态库或动态库方式来构建子工程不仅可以加快项目的编译速度,从结构上,也优化了项目的组织。有两种方式来来对项目进行子工程化,可以在项目中创建子项目,也可以创建并列项目,建立项目依赖。...一、创建子工程一个示例     使用Xcode新建一个命名为ProjectDemo工程,在ProjectDemo工程中再次新建一个framework库工程,点击新建文件Project...选项,...除了公用模块,还有一些模块可能并不公用但是确可以独立开发,例如资讯类项目中可能会有用户模块,社交模块和内容模块,将这些拆分为项目子工程可以使项目结构更加清晰,模块化测试也更容易进行。    ...最后,仅仅项目结构模块化远远达不到真正实现组件化项目的要求,遵守协议为标准,以函数式编程为方式,全局着眼接口设计与路由规划,良好编程习惯与统一代码风格,这种代码层面的项目开发管理才真正任重道远

1.5K40

对iOS应用中文本进行本地化

添加语言 对于当代编程语言和开发环境来说,国际化开发能力都已是必备功能。当我们在Xcode中创建一个项目后,缺省情况下,该app仅针对其对应Development Language进行开发。...因此我们必须首先让项目知道,我们将对项目进行本地化操作、选择对应语言。...但如何本地化、对那些文件、资源进行本地化,我们还需要对其单独设置。 启用 Use Base Internationalization,Xcode会修改你项目文件结构。...xib和storeyboard文件将被移动到Base.lproj文件夹,而字符串元素将被提取到项目区域设置文件夹。该选项针对使用storyboard开发方式,如果你采用SwiftUI则无需关心。...对于UIKit框架,Xcode会让你选择storyboard关联方式,由于本文使用Demo项目[3]为全SwiftUI架构,因此不会有如下画面。

2.1K20

iOS从Xib中设置样式

storyboardxib进行view生成,这种方式运行效率是会降低,但现在手机配置基本可以忽略这点弊端,官方也推荐这种方式 常用技巧 选中View 当你想直接在view中选择自己想要元素时...快速在文件树中切换到当前文件Xcode中经常会遇到跳转比较多情形,有时候若跳转到某个m文件,然后又想在左边文件目录中切换选中文件为当前打开文件,可以用Cmd + Shift + J来操作 显示或隐藏...项目中找类 下面这个是节约时间大功臣:command + shift + o(字母O),在文件数目庞大工程里效果尤为显著,可以让你在茫茫”类”海中找到你那个它....项目中找文件 有时候想搜索一个文件,常规做法是鼠标点击左下角搜索框,再输入文字,这太慢了,快捷键是:Cmd + Option + J .h和.m切换 我在.h和.m直接切换从来不用触摸板和鼠标,因为...添加第三方字体 把字体ttf文件像普通文件加入到项目中,在xibstoryboard中就可以直接使用新字体了 属性设置 但是很多属性设置 在xib中是不能完全自定义作为一个喜欢用xib这种方式码客来说

2.3K20

​iOS Class Guard github用法、工作原理和安装详解及使用经验总结

然后它会读取所有的依赖框架,做相同解析OC代码结构处理,不同是,此时是把symbol添加到禁止列表中。之后 所有的并且不在禁止列表中symbols会被混淆处理。...然后,它会找出XIBstoryboard更新里面的名字(即IB文件也会被有效混淆掉)。 这个工具还会查找工程内xcdatamodel文件添加其中类和属性名到禁止列表。...工具默认会从可执行目录(绝大多数情况下是工程根目录)递归搜索所有的 XIB/Storyboard文件。...如果 XIB/Storyboard文件存储在其他路径,用法如下 -X SWTableView/Xibsymbol映射文件可以指定工具保存symbol映射路径,默认名为 symbols.json。...XIB and Storyboardsios-class-guard处理XIBStoryboard文件效果很好,但是当使用外部库,且库内包含了IB文件bundle,一定要忽略这些symbol,

24510

Swift开发React Native组件

关于Storyboard更多知识介绍,可以查看之前文章介绍:StoryBoard入门 界面介绍 首先,新建一个xcode项目,如下图所示: ?...左侧为项目文件目录,中间就是Storyboard工作台了,右下角则是UI列表。注意看上图中左边文件中有两个Storyboard类型文件。...无论是在Swift项目中新建OC文件还是在OC项目中新建Swift文件Xcode都会有下面的一个提示。 ?...如上图,我们在OC项目中创建了一个test.swift文件创建了一个bridge文件,那这个文件是干什么呢?...OC文件 #import “iwtest-Swift.h”这个头文件也是Xcode自动创建,它里面引用了所有你工程中Swift文件,所以OC文件才能找到引用。

2.9K90

Swift 项目 - Xib | StoryBoard 多人协作技巧

实际使用例子参见《纯Swift项目-Xib | StoryBoard 设备适配技巧》[1]或其他StoryBoard文章 StoryBoardXib 不利于多人协作,git合并代码容易冲突,且难以处理...Storyboard不利图片 在一个Storyboard中,大量Controller控制器和Segue连线彰显着错综复杂UI关系,使人望而生畏或者难以维护。...哪怕纯代码也是一样,因此,如果需要修改类名或者变量名,应该善用Xcode重构功能,而不是简单直接修改。 这样修改类名或者变量名是,Storyboard或者Xib上绑定或连线内容也会同步改变。...而且重构代码时利用Xcode重构功能的话,连问题都不会出现 StoryBoardXib 降低执行效率?...StoryBoardXib上使用约束技巧,可以参考文章《纯Swift项目-Xib | StoryBoard 设备适配技巧[2]》及 《纯Swift项目-Xib | StoryBoard 约束使用技巧

2K20

iOS开发之浅谈MVVM架构设计与团队协作

二、关于工程中是否使用StoryBoard论述 从网上经常看到说不推荐使用StoryBoard或者Xib,推荐用纯代码手写。...个人认为这种观点是和苹果设计StoryBoard初衷相悖,在我做过项目中是以StoryBoard为主,xib为辅,然后用代码整合每个StoryBoard....如果你在你工程中加入了新资源文件的话,用XCode自带SVN提交的话需要吧Project Setting文件一并提交。 ?...Image中就存放各种图片(3x,2x等),InterfaceBuider里面就是放一些XibStoryboard文件,每个负责UI开发人员负责一个Storyboard 5.详解Model:本工程用是请求公共微博接口我们需要在页面上现实用户头像...,用户名,发布日期,博文,已经隐式用户ID和微博ID,文件目录结构如下: ?

1.2K80
领券