最近在做数字资产交易所的项目,项目已经趋于稳定,下一步是提供国际化支持。接下来我来讲讲国际化需要考虑哪些问题?国际化如何落地?文章仅代表个人观点,欢迎留言拍砖。
应用国际化需要考虑的问题:
1、前后端分离,方便国际化;
2、国际化语言如何切换?
3、数据库层面的国际化支持;
4、提示语的国际化支持;
一、前后端分离
前后端分离的好处这里就不多讲了。前后端分离后,可以通过改变目录结构(如/zh 代表切换到中文环境,/en代表切换到英文环境等)来进行国际化语言的切换,这个完全可以通过前端来做,后端不用做调整;
二、国际化语言切换
国际化语言切换需要通知到后端,好让后端返回该语言对应的响应报文。前后端开发人员在第一次会议讨论时,定下通过在url中加入语言标识(如language)来进行处理,每个接口都需要添加语言标识的参数。这个改动不是一般的大。
第一版我直接在后台加了一个Interceptor,通过拦截url中的语言标识参数来获取当前语言环境,并将该语言标识保存在ThreadLocal中。
后来我参考了亚马逊国际站的做法:将语言标识放在cookie。前端每次在切换语言时,url中带上语言标识参数,后端添加语言切换Filter,每次切换语言时,将该语言标识存储在cookie中。
三、数据库层面的国际化支持
因为交易所本身的特性,数字资产本身不含有语言环境的特性(比如名称、描述等等),所以业务表不需要做国际化的处理,但是有些地方,比如栏目、文章、系统参数、字典、短信模板等是需要做国际化处理的。
这里简单分成两种:全部数据国际化支持(如栏目、文章、短信模板)和部分数据国际化支持(如系统参数、字典等);
对于需要全部数据国际化支持的表,添加一个语言标识列,查询时带上这个语言标识参数即可。
对于部分数据需要国际化支持的表,如果表中有标识(或者编码)列时,在标识列添加语言标识后缀(如果没有标识列,建议添加一列);
四、提示语的国际化支持
在后端支持国际化语言切换后,提示语的国际化就简单多了,直接通过i18n实现。
本篇介绍到这里,下一篇介绍后端实现。
相关推荐
国际化语言版本应用是一种让软件或网站能够适应不同国家和地区用户需求的技术。在现代软件开发中,随着全球化进程的加速,应用程序需要支持多种语言,以便更好地服务全球用户。Spring MVC 是一个广泛使用的Java Web...
应用程序国际化,特别是针对iOS平台的国际化,是一项至关重要的任务,它允许开发者构建的应用程序能够适应全球用户的不同语言和文化需求。iOS国际化不仅涉及到文本翻译,还包括日期、时间、数字、货币格式以及图像和...
Java Web应用的国际化(i18n)和分页是开发多语言支持和高效展示大量数据的关键技术。在Java Web环境中,Struts框架提供了一种优雅的方式来处理这两种需求。 国际化是使应用程序能够根据用户的地区和语言偏好显示不同...
在开发跨地域的应用程序时,实现国际化(Internationalization,简称i18n)是一项重要的任务。Qt库提供了强大的支持,使得Qt应用程序能够轻松地适应多种语言环境。本篇将详细介绍Qt应用程序国际化的步骤,以及如何...
国际化可以让我们的应用程序适应不同语言和地区,提高应用程序的可读性和可用性。本文将详细介绍如何使用 Spring MVC 实现国际化。 国际化的重要性 在全球化的今天,国际化变得越来越重要。随着应用程序的全球化,...
"论人脸识别技术的国际化区域诉讼证据应用" 人脸识别技术的国际化区域诉讼证据应用是当前学术领域和司法实务界关注的焦点之一。随着现代科技的高速发展,人脸识别技术已经广泛应用于各领域,主要应用在侦查破案、...
在Android应用开发中,实现国际化是一项重要的任务,它能让应用支持多种语言,为全球用户提供更好的体验。本示例“android国际化中英文切换demo”提供了一个实际操作的案例,帮助开发者理解并实现Android应用的多...
1. 国际化 国际化(internationalization),又称为i18n(因为这个单词从i到n有18个英文字母,因此命名)。对于某些应用系统而言,它需要发布到不同的国家地区,因此需要特殊的做法来支持,也即是国际化。通过国际化...
在C# WinForm应用开发中,国际化(Internationalization)是一个重要的功能,允许应用程序适应不同语言和文化环境。本文将深入探讨如何实现C# WinForm应用的国际化,包括菜单国际化和资源国际化。 首先,我们需要...
1. 安装插件:在Android Studio的插件市场搜索并安装“Android 一键国际化”插件。 2. 选择源文件:找到应用的原始`string.xml`文件,通常位于`res/values`目录下。 3. 执行国际化:运行插件,选择要生成的语言列表...
C# 多国语言国际化(Internationalization)是开发支持多种语言的应用程序的关键技术。在WinForms应用程序中,C#提供了一套完整的框架来实现这一功能,使得开发者可以轻松地为不同地区和语言的用户提供定制化的界面...
在国际化(i18n)方面,Struts1提供了强大的支持,使得应用程序可以适应不同语言和地区的用户需求。以下是关于Struts1.x国际化的一些核心知识点: 1. **资源包(Resource Bundle)**: - 在Java中,资源包是包含...
Kiwi项目是一个专门针对JavaScript应用的国际化框架,它提供了一套完整的工具集,旨在简化多语言版本的创建和维护。Kiwi的核心目标是使开发者能够轻松地将应用内容与特定语言分离,以实现高效且灵活的国际化支持。 ...
在Android应用开发中,本地化和国际化是两个关键的概念,它们允许开发者构建能够适应不同语言和地区设置的应用。本文将深入探讨这两个概念,并结合提供的源码进行解析和学习。 首先,让我们理解什么是本地化...
在Android开发中,实现应用支持多语言国际化是一个重要的功能,可以让应用吸引全球用户。本教程将详细介绍如何在Android应用内以及通过系统设置实现多语言国际化,涵盖了简体中文、繁体中文和英文的切换。 首先,...
软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...
国际化标签库是一种软件开发工具,主要用于支持多语言环境下的应用程序。在现代软件开发中,特别是在全球范围内使用的产品或服务中,支持多种语言是至关重要的。国际化标签库提供了一种标准化的方式来管理和显示各种...
在Android应用开发中,本地化和国际化是两个重要的概念,它们涉及到如何使应用程序适应不同语言和地区的需求。这个压缩包中的内容很可能是为了帮助学生或开发者理解如何在Android平台上实现这一功能,以创建一个能为...