首页 > 其他分享 >一文搞懂国际化(一)背景概览

一文搞懂国际化(一)背景概览

时间:2024-03-11 11:56:04浏览次数:47  
标签:架构设计 国际化 一文 概览 夏令时 时间 产品 搞懂 规划

专题目录

一文搞懂国际化(一)背景概览

一文搞懂国际化(二)架构设计

一文搞懂国际化(三)落地实践

一文搞懂国际化(四)总结提升

一、背景

  软硬件产品(互联网、产业互联网等等),在2019年后,特别是2020年后,由于国内行业过于卷(低价、噱头、资本、政策),很多业务都开始从国内转向国外、从新兴业务转向传统业务。笔者经历的就有消费金融、虚拟币平台、母婴社交、农牧养殖。本文的背景就是一个深耕养猪行业多年的产品,做国际化升级的经验总结。

  产品需要适配国际化,会遇到一系列复杂问题。本系列文章是笔者担任某国际化项目的项目经理、架构师岗,经历了从0到1落地全过程,总结而来。市面上的文章,要不只讲业务、要不只讲设计、要不就跳过业务、设计直接讲落地源码,让人看了比较懵。故笔者把这个过程记录下来,期望能给初次介入的小伙伴一些灵感和提前避坑。本专题文章遵循项目的落地过程,包含四部分:背景概览、架构设计、落地实践、总结提升。每部分的主要内容如下:

  • 背景概览:国际化项目背景介绍、项目规划、相关名词解释。
  • 架构设计:概设、详设。
  • 落地实践:框架落地+核心功能点详解(源码级)。
  • 总结提升:总结不足、展望未来。

 阅读本系列文章可解答疑问:

  • 【开荒原理】常见国际化相关词汇开荒?--见3.1 名词解释
  • 【架构设计】常见多语言设计方案?
  • 【架构设计】常见时区改造设计方案?
  • 【项目规划】谁来主导国际化项目?项目经理?产品?架构师?--见2.4 疑问解答
  • 【产品规划】国内国际是否必须两套产品,互相隔离?--见2.4 疑问解答
  • 【架构设计】前端、后端是否代码要隔离?
  • 【架构设计】如何拆国际化分支、合并回国内分支、何时去拆、何时合并?
  • 【避坑指南】国际化有什么常见的坑?

二、规划

国际化这个事一定要提前做规划,否则顾头不顾尾,中后期会爆发出许多无法承担的后果。画了一张思维导图如下:

建议:按照商务规划、产品运营、研发规划三步骤去做项目整体规划。 对于大多数软件项目来说:遵循业务->产品->技术的流水线作业关系 。 业务是产品的上游、产品是研发的上游、业务的上游是企业战略和资金支撑。所以商务规划很多时候会反过来牵制研发落地方案。想要掌控好带一些创新型项目时,商务规划绝对是第一位的。投入产出对等才是第一等要务。

2.1 商务规划

商务目标:规划投入多少资源,达成什么业务/系统建设目标。---这是项目的首要关注点。避免进入“一元造火箭”的尴尬境地。投入和目标要尽量对等,后续落地才有可能。

2.2 产品运营

根据业务目标和资源规划投入,做产品的整体规划、运营策略规划。--注意:有些人说国际化偏向技术线,不需要产品。这个论点会被打脸。实时证明,国际化项目产品是必不可少的一环

2.3 研发规划

根据提前梳理好的业务目标、产品规划、资源投入,架构师梳理出技术落地的规划。核心就是设计、研发、部署

2.4 疑问解答

1.【项目规划】谁来主导国际化项目?项目经理?产品?架构师?

答:项目经理、产品、架构师都是项目必不可少的角色。项目经理统筹项目、产品管需求,架构师负责技术。记住只要把握住核心: 【产品优先于技术】,项目只是管控过程而已,一切迎刃而解。

2.【产品规划】国内国际是否必须两套产品,互相隔离?

答:一般来说,国际版产品考虑到用户、监管要求不同,不管是APP(应用)还是WEB(域名),肯定产品是要拆开的合适。这也是为了将来区分国内国际化不同功能、不同版本上线提供了方便,产品上是隔离的。当然如果还处于试水初期,短时间共用一个兼容产品,也无可厚非。

三、概念

前两节讲了背景和规划,本节讲解国际化项目的核心概念。

3.1 名词解释

名词

解释

国际化 国际化(internationalization)是设计和制造领域适应不同区域要求的产品的一种方式。它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素。换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产。开发这样的程序的过程,就称为国际化。
多语言 产品改造,适配各国语言,就叫多语言,通常根据用户习惯设置的语言、或者跟随客户端本地系统设置的语言,未设置就默认的。
时区

地球是自西向东自转,东边比西边先看到太阳,东边的时间也比西边的早。为了方便各地区时间换算,国际会议将地球表面按经线从东到西,划成24个区域,并且规定相邻区域的时间相差1小时。当人们跨过一个区域,就将自己的时钟校正1小时(向西减1小时,向东加1小时)。

GMT

Greenwich Mean Time, 格林威治时间,1972年之前,格林威治时间(GMT)一直是世界时间的标准。基于地球自转,它规定太阳每天经过英国伦敦的皇家格林威治天文台的时间为中午12点。1884年10月国际子午线会议,将格林威治子午线设定为本初子午线,并将格林威治平时 (GMT, Greenwich Mean Time) 作为世界时间标准(UT, Universal Time)。确定了全球24小时自然时区划分,所有时区都以和 GMT 之间的偏移量做为参考。

UTC

Coodinated Universal Time,协调世界时,1972年之后生效。协调世界时是以原子时秒长为基础,在时刻上尽量接近于世界时的一种时间计量系统。

ISO 国际标准ISO 8601是日期和时间的表示方法,全称为《数据存储和交换形式·信息交换·日期和时间的表示方法》。典型格式为:2024-01-12T17:30:08+08:00
时间戳(Timestamp) 时间戳,也被称为 Unix 时间戳(Unix Timestamp)。是指格林威治时间GMT1970年01月01日00时00分00秒起至现在的总秒数 。
夏令时(DST) 夏令时,(Daylight Saving Time:DST),也叫夏时制,又称“日光节约时制”和“夏令时间”,是一种为节约能源而人为规定地方时间的制度,在这一制度实行期间所采用的统一时间称为“夏令时间”。

 3.2 核心概念

针对核心/难点概念,讲解清楚

1.国际化

产品推向国外用户使用时的改造过程,一般包含国家地区(行政区划、地图)、时区时间、语言、货币、数字等个性化设置和显示。其中语言、货币、数字、国家地区比较容易改造,时区时间由于涉及的面太广,改造起来十分费劲。

2.夏令时(DST)

夏令时,(Daylight Saving Time:DST),也叫夏时制,又称“日光节约时制”和“夏令时间”,是一种为节约能源而人为规定地方时间的制度,在这一制度实行期间所采用的统一时间称为“夏令时间”。一般在天亮早的夏季人为将时间调快一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。各个采纳夏时制的国家具体规定不同。全世界有近40%的国家实行夏令时。简单来说,日光节约时制:规定在夏天时钟拨快一小时,冬天再拨回标准时间。举例:美国夏令时为每年3月的第二个星期日至11月的第一个星期日,冬令时为每年11月的第一个星期日至次年3月的第二个星期日。目前世界上美国、欧洲时实行夏令时的。如下图:

 

标签:架构设计,国际化,一文,概览,夏令时,时间,产品,搞懂,规划
From: https://www.cnblogs.com/dennyzhangdd/p/18019586

相关文章

  • 一文读懂Databend的开放表格式引擎
    Databend近期发布ApacheIceberg和DeltaTable两类表引擎,以提供对两种目前最受欢迎的开放表格式的支持,满足基于不同技术栈的现代数据湖方案面临的高级分析需求。采用基于Databend/DatabendCloud的一站式解决方案,可以在不启用额外的Spark/Databricks服务的......
  • golang入门概览
    一、语法golang中数据类型有值类型(boolintstring)和派生类型(structinterface等等)。值类型通常在栈上分配内存,派生类型通常在堆上分配内存。golang中的函数调用,只有值传递,没有引用传递。但是golang提供了指针,使用指针可以达到引用传参的效果,在函数内部修改参数后可以在外......
  • 一文读懂 Databend 的开放表格式引擎
    CAD把焦点放在计算机辅助设计工业是市场上最有名和最受尊敬的软件之一。常被视为进入CAD破解版的入口,提供许多有价值的工具工程师、设计师和建筑师就像,让他们加速耗时的任务戏剧性的。虽然对很多人来说,"CAD"可能是最好的选择,但其他人可能会发现他们的工......
  • 一文搞懂IDC灾备方案
    很多企业都会面高并发业务和临海量数据的挑战,当机房发生断电、火灾、地震等情况,所有服务器面临业务整体瘫痪的风险。银行、金融企业,为了避免用户损失,需要一种可以基于同城或异地的多个不同机房之间的多活机制,最大程度降低由于机房的仅单点可用所导致的潜在风险。 这里的“活......
  • 多线程系列(十四) -一文带你搞懂线程池技术
    一、前言虽然Java对线程的创建、中断、等待、通知、销毁、同步等功能提供了很多的支持,但是从操作系统角度来说,频繁的创建线程和销毁线程,其实是需要大量的时间和资源的。例如,当有多个任务同时需要处理的时候,一个任务对应一个线程来执行,以此来提升任务的执行效率,模型图如下:如......
  • 【HarmonyOS】一文带你快速实现页面禁止截屏功能
    ​【关键字】HarmonyOS、禁止页面截屏、窗口、隐私模式、setWindowPrivacyMode 1、写在前面我们在开发HarmonyOS应用的过程中可能会遇到这样的需求:可能某一个页面中的数据对用户而言是非常重要的,因此需要针对该页面做相应的保护操作,常见的就是禁止该页面被截屏,那么在HarmonyO......
  • 多线程系列(十三) -一文带你搞懂阻塞队列
    一、摘要在之前的文章中,我们介绍了生产者和消费者模型的最基本实现思路,相信大家对它已经有一个初步的认识。在Java的并发包里面还有一个非常重要的接口:BlockingQueue。BlockingQueue是一个阻塞队列,更为准确的解释是:BlockingQueue是一个基于阻塞机制实现的线程安全的队列。通......
  • 飞驰云联替代FTP方案,一文看懂如何满足企业的应用需求
    为了在大数据时代保护公民免受隐私和数据泄露的侵害,加强数据保护已成为各国共识。中国在加强隐私数据保护的同时,对数据跨境流动的监管也逐渐升温。FTP(文件传输协议)曾经是互联网上用于文件传输的主要方法之一,但随着技术的发展和安全需求的增加,它逐渐暴露出一些问题,导致许多公司开始......
  • 一文讲明白Java中线程与进程、并发与并行、同步与异步
    写在开头ok,everybody,在过去的两周内,我们大体上讲完了Java的集合,在最后我们探讨了关于HashMap线程不安全的原因,又提出了ConcurrentHashMap这个线程安全的集合解决方案,那么在接下来的2-3周内,我们就一起来学习一下Java中的并发多线程。在开始学习之前,我们必须要搞清楚几个概念:线程......
  • JAVA面向对象基础:入门,搞懂对象
     packagecom.itheima.duyixiang;importjava.util.ArrayList;importjava.util.List;publicclassTest{publicstaticvoidmain(String[]args){Students1=newStudent();s1.name="凯文";s1.yuwen=22;s1.shuxu......