首页 > 其他分享 >iOS端-多语言国际化适配方案,组件化多语言适配

iOS端-多语言国际化适配方案,组件化多语言适配

时间:2024-09-07 15:52:41浏览次数:9  
标签:语言 适配 iOS 如下 命名 所示 图标 文案

一.普通文案适配

1.组件内创建Strings文件并添加适配文案

(1).创建Strings文件,如下图

命名一般以系统名Localizable命名即可,如下图所示。如果起其他名称,需要在后面步骤中添加对应tbl名称,详细见后面步骤二中的第3点

(2).将需要适配的语言加入到strings文件中,勾选Localization下Localize...,如下图

然后勾选对应语言

(3).将项目需要适配的多语言文案写入对应strings中,项目中相同位置的文案key值设为相同的key,value对应填写相应语言下的value值,如下图所示为英文文案

下图所示为中文文案

2.创建String分类属性

(1).新建属性名称,此名称命名规范最好以【组件名称+Localized】格式命名,如下图所示

(2).重写【aModuleLocalized】属性的get方法,如下

(3).get方法中调用的系统方法NSLocalizedStringFromTableInBundle中参数说明,如下图所示

a.【key】填写string本身即self

b.【tbl】如果在上面步骤一的第1步中命名为系统【Localizable】的话此处填写空串即可,如果是自定义命名如图中【ALocalizable】,此处就填写对应的命名ALocalizable

c.【bundle】需传递自身组件中的bundle

d.【comment】填写空串即可

3.外部调用

二.适配APP应用名称以及系统级别文案

1.新建strings文件命名固定为InfoPlist,如下图所示

2.填写对应适配文案,此处以APP名称和相机权限为例,如下图所示 

英文示例如下图

三.图标适配

1.将多语言图标添加到项目中,以下以中英两套图标为例,分别命名为icon_en和icon_zh,如下图所示

2.将两个图标名写入到strings文件中,如下图所示

3.封装一个加载image的方法,通过组件bundle获取图标,如下图所示

4.外部调用,如下图所示

四.效果展示

适配效果如下图所示

 

标签:语言,适配,iOS,如下,命名,所示,图标,文案
From: https://www.cnblogs.com/zk1947/p/18401791

相关文章

  • 【C语言基础】数组
    1一维数组1.1定义类型说明符数组名[常量表达式];如:inta[10];这里,a是数组变量名,10表示数组a中包含的元素个数,int是数组a中元素的类型。数组a的元素序号为0,1,2,3,4,5,6,7,8,9,各序号对应的元素为a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]。1.2初始化类......
  • 语言学习有捷径?没错!这4个方法让你轻松搞定英语翻译
    现在全世界都在用英语,这门语言真的超级重要。不管你是学习、上班还是出去玩,会点英语翻译肯定能帮上大忙。但是,对很多人来说,翻译英语还是挺难的。别急,今天我就来给你介绍几个超好用的英语翻译工具,让你翻译英语变得轻松又简单。一、福昕在线翻译瞬移✚ https://fanyi.pdf365.......
  • C语言 ——— #define 定义宏
    目录何为宏宏的声明及其使用方式宏中的括号是否多余何为宏#define机制包括了一个规定,允许把参数替换到文本中,这种实现通常称宏宏的声明及其使用方式声明代码演示:#defineMAX(x,y)((x)>(y)?(x):(y))使用代码演示:inta=3;intb=5;intmax=MAX(a,b);代......
  • ios16.2版本以上mui的picker选择器显示异常的修复方案
    问题描述muipickerios16.2系统及以上,选择器滚动错误错乱,显示异常但是可以正常选择用多个ios手机测试了,凡是升级到16.2及以上的均会产生这个的问题。使用官方的示例,放到升级到16.2的ios手机上测试,问题同样存在https://www.dcloud.io/hellomui/examples/picker.html(这是官方案例,......
  • 重生之霸道C语言爱上我之走入指针(3)
    根据前两篇与指针的初步接触后,我们已经了解到了指针里面最基本的知识,而接下来的文章,将会更注重于指针的深入理解和运用。1.数组名的理解1.1arr,即一个数组的数组名的理解在上一篇文章1.1里面的代码中,我们在用指针访问数组内容的时候,有这样的代码:intarr[10]={1,2,3,4,5,6......
  • AI大语言模型LLM学习-WebAPI搭建
    系列文章1.AI大语言模型LLM学习-入门篇2.AI大语言模型LLM学习-Token及流式响应前言在上一篇博文中,我们调用了在线大模型API,并用Python写了一个控制台流式对话客户端,基本能愉快的与大模型对话聊天了。但控制台总归太技术化,我们希望能有个类似ChatGPT那样的Web......
  • C语言常量和字面量
    目录引言1.字面量1.1字符字面量1.2整型字面量1.3浮点字面量2.常量2.1使用预处理器指令#define定义常量2.1.1语法格式2.1.2使用举例2.2使用const关键字定义常量2.3使用#define和const定义常量的区别引言        字面量是直接在代码中......
  • 利用AI大语言模型和Langchain开发智能车算法训练知识库(上篇)
    今天小李哥将介绍亚马逊云科技的JupyterNotebook机器学习托管服务AmazonSageMaker上,通过AI大语言模型、向量知识库和LangChainAgent,创建用于AI智能车模型训练的RAG问答知识库。整个项目的架构图如下:本系列共分为上下两篇。在上篇内容中,我将分享该知识库的GitHub项目开源代......
  • 全国计算机二级考试C语言篇3——选择题
    C语言部分——C语言概述1.程序模块化的优点程序模块化的优点在于它可以使程序的开发、维护和复用变得更简单。下面是一些主要的优点:降低复杂度:模块化可以将复杂的问题分解成更小的、更易管理的部分。可维护性:模块化使得代码更易于维护,因为修改一个模块的影响被限制在该......
  • c语言内存函数
    今天来学习C语言中的内存函数目录1.memcpy代码形式示例运行结果2.memmove代码形式示例运行结果3.memset代码形式示例运行结果4.memcmp形式示例运行结果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b7d8d59577b248deaa7b869d014d8b4f.png#pic_center)5......