我前几周在微软Ignite the Tour北京大会上,分享了如何开发一款面向全世界用户的Teams App,里面介绍了在开发Global Ready的app时会遇到的各种挑战,反响很好。所以我准备写几篇文章,将这些内容分享给没有时间参加大会的同学。

这篇我主要想讲一下,开发一款Global Ready的Teams App,在文化(Culture)方面会遇到的挑战。

假设我们现在开发了一款定时提醒软件,有一个用户给我们的bot发了一条消息:让bot在2/10/2020 3pm提醒此用户给朋友买生日礼物。当我们的app收到了这么一个日期时,我们如何判断这是几月几号呢?

很多在美国外企工作过的人会立刻反应过来说,这个是2020年2月10日。但是!一些在英文留学过的人会说,这个是2020年10月2日。到底哪个正确?

实际上这两个都是正确的,因为在美国等一些国家,他们的日期格式是月 / 日 / 年,但在另一些国家,比如英国,澳大利亚,他们的日期格式是日 / 月 / 年,所以,当我们去解析这个日期格式的时候需要特别注意当前用户所在的国家区域,根据用户的culture不同,对日期字符串进行不同的解析。

看完日期,再来看一下数字。当用户发文字消息给你的bot,说帮我转账295,000元,那是指多少钱?很多同学会问:这个难道不是29万5千吗?

实际上,不同国家对于数字的分割和不同,比如下面这几个:

  • Canadian (French): 4 294 967 295,000
  • German: 4 294 967.295,000
  • Italian: 4.294.967.295,000
  • Great Britain, United States: 4,294,967,295.00

可以看到有些是每三位一个逗号,有些是一个点,有些是空格,有些国家小数点是一个点,有些小数点是一个逗号。所以回到上面这个数字,到底是295元,还是29万5千元?这个和前面的日期格式一样,必须根据当前用户所在的culture来定。

我们再看一下不同国家的货币:

  • Russia: 2,25 €
  • Great Britain: €2.25
  • Germany: € 2,25

可以看到,除了上面说的小数点不同,不同国家对于货币符号放在数字前面还是后面也很不同。像俄罗斯就是放在后面的。

对于上面这些情况,我们在开发的时候如何处理呢?我建议对于时间,数字的处理,使用成熟的library,千万不要自己去写,不要重复造轮子。别人的library已经试错,改进了成百上千次了。你自己开发的不经历类似的过程,很难达到类似的质量。

如果大家对Teams app开发感兴趣,强烈推荐中国微软的牛人Ares陈老师最近出了一套的Teams开发系列视频讲座:Microsoft Teams开发入门和实践 https://aka.ms/teamsdev163study ,从入门到精通Teams开发,对于准备从事或者正在从事Teams app开发的同学来说,必看!

面向全球用户的Teams app之Culture数字篇相关推荐

  1. 面向全球用户的Teams app之Culture计量单位和禁忌篇

    我在前一篇文章里分享了Global Ready的app时会遇到的不同文化对于数字方面的挑战.这篇我继续分享不同文化对于计量单位和禁忌方面的挑战. 我们先来看一个例子,假如有一个teams bot,它告 ...

  2. 面向全球用户的Teams app之夏令时篇

    我在前两篇文章里分享了Global Ready的teams app时会遇到的不同挑战.这篇我继续分享在夏令时方面的挑战. 夏令时,主要是为了节约能源,英文里通常缩写成DST(Daylight Savi ...

  3. 面向全球用户的Teams app之时区篇

    我在前两篇文章里分享了Global Ready的app时会遇到的不同文化的挑战.这篇我继续分享在时区方面的挑战. 时间是最复杂的,最容易出错的部分.时间复杂的最根本原因是时区问题. 首先,大家都知道, ...

  4. 主动给团队或用户安装Teams App

    在写这篇文章的时候,这个新功能还处在 Public Review,这意味着可能(很小的可能性)这里写的方法在正式发布前还会有一些改动. 之前有一些做teams app开发的朋友问过我,能不能主动给一个 ...

  5. 使用Azure Serverless来开发Teams App

    Azure Function可以说比较早期的一个serverless服务,随着这些年云服务的大行其道,Serverless在概念越来越火,什么叫serverless? Serverless compu ...

  6. 使用Azure轻松实现Teams App的全球合规性

    我在之前的一篇博客里面讲了合规性对于我们Teams app是非常重要的,因为office365平台就是面向全世界用户的,我们开发的teams app一旦发布后,立刻就会有各国各地区的用户来进行安装使用 ...

  7. 华为面向全球发布HMS Core 4.0意味着什么?

    作者 | CSDN App ​封图付费下载自图虫 在2020年世界移动通信大会(简称"MWC")宣布取消后,华为迅速调整策略,将原定于在MWC举办的新品发布会,改为线上举行.整个发 ...

  8. Android 9 Pie 现已面向全球正式发布!

    前言 经历一年多的开发和数月以来早期用户的反复测试,最新 Android 平台 -- Android 9 Pie 终于正式面向全球发布! Android 9 利用人工智能技术,让您的手机更加智能.简洁 ...

  9. 2014Esri全球用户大会——亮点系列之产品技术

    2014年Esri全球用户大会已于7月14日~18日隆重召开,让我们一起来回味以下精彩内容: 序:大会主题"Creating Our Future" [解读]:     传达两个核 ...

最新文章

  1. [ZJOI2010]网络扩容
  2. FIFOQueue '_4_batch_processing/batch_join/fifo_queue' is closed and has insu
  3. dede linux下oss上传问题
  4. initramfs下启动linux_和菜鸟一起学linux之initramfs方式启动
  5. 字节跳动 java面经_字节跳动Java面经(已offer)
  6. 《MySQL——join语句优化tips》
  7. linux 计算集群搭建,使用centos构建服务器计算集群
  8. 带你读论文丨基于视觉匹配的自适应文本识别
  9. FFmpeg总结(六)AV系列结构体之AVPacket
  10. 聚类-----高斯混合模型
  11. java 网站 分类
  12. 色彩对比广告设计_为什么我们都需要使用色彩对比检查器
  13. 信息系统安全期末复习笔记
  14. 7-zip比较丑的图标修改
  15. IPv6的思科培训启用SSH在Cisco IPv6路由器
  16. 神威超级计算机机械知识,神威超级计算机的计算能力有多强?
  17. 每个程序员都应该知道的福利
  18. html加入图片如何自动平铺,css怎么让图片平铺?
  19. idea 撤销本地commit 但是未push的代码
  20. min4 vs mini5 一定要买 iPad mini5,听我一一道来。

热门文章

  1. 前端:JS获取浏览器类型类库
  2. 重磅!GitHub官方App官宣发布了
  3. php位运算重要吗,PHP位运算的用途
  4. Http协议(4)—HTTP认证机制
  5. Maven 强制导入jar包
  6. jquery方法.serializeArray()获取name和value并转为json数组
  7. 安卓操作sqlite3,增删改查
  8. Finally语句块的运行
  9. Js中的for in
  10. [改善Java代码]不要覆写静态方法