【我的Android进阶之旅】Android使用Quantity Strings来实现全球化的单复数功能
一、背景描述
之前APP的业务只在国内,所有的字符串都是中文的,目前APP业务扩展到了国外,因此很多国际化适配的工作就需要做了。比如不同语言在语法数量一致上具有不同的规则。
在英语中,数量 1 是一种特殊情况。 我们会写成“1 book”,但如果是任何其他数量,我们则会写成“n books”。
这种对单复数的区分很常见,但其他语言进行了更加细致的区分。
因此,如果没有做好英语的单复数适配的话,可能会闹大笑话的。为此,我查看了google android官网,
https://developer.android.com/guide/topics/resources/string-resource
关于单复数的问题,决定为给定语言和数量使用哪一种情况的规则可能非常复杂,Android 提供了 getQuantityString() 等方法来选择适合您的资源,Android 支持的完整集合包括 zero、one、two、few、many 和 other。
因此我们得来了解了解下 android关于Quantity Strings (Plurals)的介绍。
二、 Quantity Strings (Plurals) 介绍
【我的Android进阶之旅】Android使用Quantity Strings来实现全球化的单复数功能相关推荐
- 我的Android进阶之旅------Android利用Sensor(传感器)实现水平仪功能的小例
这里介绍的水平仪,指的是比较传统的气泡水平仪,在一个透明圆盘内充满液体,液体中留有一个气泡,当一端翘起时,该气泡就会浮向翘起的一端. 利用方向传感器返回的第一个参数,实现了一个指南针小应用. ...
- 我的Android进阶之旅------Android利用温度传感器实现带动画效果的电子温度计
要想实现带动画效果的电子温度计,需要以下几个知识点: 1.温度传感器相关知识. 2.ScaleAnimation动画相关知识,来进行水印刻度的缩放效果. 3.android:layout_weight ...
- android服务进阶,我的Android进阶之旅------Android服务的生命周期回调方法
先引用一段官网上的文字 ======================================================================================== ...
- 我的Android进阶之旅------Android二级ListView列表的实现
实现如下图所示的二级列表效果 首先是在布局文件中,布局两个ListView,代码如下: <LinearLayout xmlns:android="http://schemas.andr ...
- 我的Android进阶之旅------Android嵌入图像InsetDrawable的用法
面试题:为一个充满整个屏幕的LinearLayout布局指定背景图,是否可以让背景图不充满屏幕?请用代码描述实现过程. 解决此题,可以使用嵌入(Inset)图像资源来指定图像,然后像使用普通图像资源一 ...
- 我的Android进阶之旅------Android项目目录结构分析
此文章来自"博客园"博主,仅在此借鉴,学习 1.HelloWorld项目的目录结构 1.1.src文件夹 1.2.gen文件夹 1.3.Android 2.1文件夹 1.4.ass ...
- 我的Android进阶之旅------Android自定义View来实现解析lrc歌词并同步滚动、上下拖动、缩放歌词的功能...
前言 一LRC歌词文件简介 1什么是LRC歌词文件 2LRC歌词文件的格式 LRC歌词文件的标签类型 1标识标签 2时间标签 二解析LRC歌词 1读取出歌词文件 2解析得到的歌词内容 1表示每行歌词内 ...
- 我的Android进阶之旅------android Matrix图片随意的放大缩小,拖动(转)
step1:新建一个项目DragAndZoom,并准备一张照片放在res/drawable-hdpi目录下,如下图所示: step2: 设置应用的UI界面,在main.xml中设置: [html] v ...
- 我的Android进阶之旅------Android Gusture 手势识别小案例
Step1: 生成一个Android Gusture Builder程序用于画Gusture然后存储起来用于其它的项目 首先导入 android SDK \android-sdk-windows\s ...
最新文章
- c# 带返回值的action_C#知识点讲解之C#delegate、event、Action、EventHandler的使用和区别...
- Neural Tensor Network详细介绍
- php 编译安装 png.h,PHP编译安装时常见错误解决办法【大全】
- (ql)30W单片精密开关电源 电路图加分析
- spring boot: 构建项目时报错Not a managed type
- FAQ宝典之常见问题排查与修复方法
- 关于两个用于创建和销毁二维动态数组的宏
- html在状态栏中显示时间,html网页时间显示代码和倒计时代码大全
- atom配置python环境_Python编程:用VScode配置Python开发环境
- 下拉菜单被表单、图片、FLASH挡住的解决办法
- 社会工程学之《反欺骗的艺术》小结(二)
- matlab模拟静电场边值,静电场边值问题有限差分法的仿真分析
- TK mybatis 逆向工程
- 新版标准日本语高级_第9课
- web服务器、应用服务器和常见的服务器概念
- 焊工双证是哪两证?考焊工证大概需要多少钱?
- C语言 查找书籍(结构体)
- python关键词对联_使用百度 AI 进行智能写诗 智能春联
- 【解决】ERROR Failed to compile with 1 error;error in ./node_modules/pdfjs-dist/build/pdf.js
- Linux服务器主机名的3种修改方法