追风之影

何以追风,以影追风,风过之处,在此留痕。

iOS 多语言版本的开发(三)

| 评论

写在前面

iOS 多语言版本的开发(二) 中我们实现了如何让用户自己去切换系统语言的功能,我们还写了Demo 以供辅助学习;但是,继以上两篇文章都是建立在项目刚刚启动或启动不久,项目中存在的中文字符串还不是很多,手动改起来也还可以接受; 那么问题来了,如果项目已经竣工或者已经迭代几个版本了,那该如何实现了?手动改起来也不太现实,耗时耗力不讨好的手动,在这里就不用考虑了。 不让考虑,是因为我有更简单快捷高效的方法,让我慢慢与您道来;

如何辨别项目中的中文字符串?

 既然要替换项目中使用到的中文字符串,那么前提就必须要先找到这些个字符串,然后将这些字符串,替换成我们定义的, 为了替换方便,可将这些字符串自身作为key, 这里不理解的不要紧,下面我还会讲到。 既然是辨别中文字符串,那也就是说在项目文件中进行匹配查找,说到匹配,那就需要正则表达式了,用正则表达式匹配Xcode中的使用的中文字符串,使用(@"[^"]*[\u4E00-\u9FA5]+[^"\n]*?")\s* 即可, 打开你的Xcode 试试看,切记find 后面的选项要选择 Regular Expression, 默认选中的是Text, 如图

iOS 多语言版本的开发(二)

| 评论

题记

  iOS 多语言版本的开发(一) 中我们完成了让应用跟随系统语言进行切换,而用户自己却不能切换的功能,也基本上算是实现了多语言版本;可是,对于某些应用来说,实现跟随系统语言切换的同时, 也想要实现让用户自己选择应用语言版本的功能;针对这种情况,利用这篇文章来写写如何让用户自己切换应用语言版本;

语言文件存在的形式

想要实现用户自己手动切换语言版本,就先要了解语言文件在资源文件中存在的形式;

啊神多语言

如图中,不管是英语(en.lproj)、简体(zh-Hans.lproj)、还是繁体(zh-Hant.lproj)都是以.lproj 的文件夹形式存在, 所以当我们要切换语言的时候,其实也就是做到去取这些.lproj 文件夹中的ASLocalized.strings文件;

iOS 多语言版本的开发(一)

| 评论

引言

 多语言 & 本地化,随你怎么叫,道理差不多;一个App 要想走出国门,只支持一种语言是不能够的,也是不可能的,多元化世界已经融入我们的生活,对于一些应用,开发多语言版本,已经是不可避免的,特别是旅游等方面的应用;国内也有很多App 已经接入多语言,例如:支付宝、微信、收留我(嘻嘻,做下广告)等;

开发多语言,一般有两种情况

1、App还没有开始写,这个时候创建一个多语言版本,很是容易,然后再写代码的时候稍微留意下哪里需要保持多语言就行了;
2、App已经上线了,而且之前没有任何的为开发多语言准备过,这时候Boss让开发多语言版本,这下你就苦逼了,想想项目中长长短短的中文字符串,没有上千也得上几百了吧,在想想一个一个替换,哎呀妈呀,那么多,想想都想死了,在想想还容易出错,哎呀妈呀,让我死了算了;

GitHub 的简明教程之入门使用

| 评论

相关文章

GitHub 的简明教程之配置ssh key

本地创建Git仓库

1、git init 初始化仓库

打开terminal 命令窗口,利用cd 命令,进入你需要初始化的目录,执行git init 命令;
如出现以下类似的输出,则成功初始化
Initialized empty Git repository in /Users/shou65/Desktop/myfirstgit/.git/

2、git add . 添加到暂存区(保存项目索引,并生产快照)

这一步一般什么的都不会输出,但是却已经添加好了,不用多想,继续下一步 (ps: git add 后面的点,不能忘)

GitHub 的简明教程之配置ssh key

| 评论

Git & GitHub极简介

git 是分布式的代码管理工具,远程的代码管理是基于ssh的,所以要使用远程的git则需要ssh的配置
github 开源代码库以及版本控制系统

GitHub的配置

1.检查是否已经存在ssh 密钥

输入 ls -al ~/.ssh 命令 查看是否存在id_rsa.pubid_rsa 文件

啊神附图1
如果存在,则执行第 3 步, 否则执行第 2 步

UIWebView 与 原生系统的简单跳转交互

| 评论

简单介绍UIWebView

 关于UIWebView这里我就不多介绍了,可以简单理解为一个在iOS 端显示网页的一个控件;

UIWebView的使用

 它既然也是view,当然就可以像其他view一样的创建,如下:

 UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 560)];

 webView.delegate = self;//先在此设置下代理,等下会实现其代理方法

EasyMarkDown

| 评论

EasyMarkDown


基本符号

  • *, _ , + 3个符号效果都一样,这3个符号被称为 Markdown符号 (符号使用时,有时一个符号不行,请速切换下一个符号)
  • 空白行表示另起一个段落
  • `是表示inline代码,tab是用来标记 代码段,分别对应html的code,pre标签

换行

  • 单一段落( <p>) 用一个空白行
  • 连续两个空格 会变成一个 <br>
  • 连续3个符号,然后是空行,表示 hr横线

标题

  • 生成h1–h6,在文字前面加上 1–6个# 来实现

引用

  • 在第一行加上 “>”和一个空格,表示代码引用,还可以嵌套