当前位置: 首页 > news >正文

如何选择电商网站建设wordpress 内容 管理

如何选择电商网站建设,wordpress 内容 管理,做网站设计要注意什么问题,wordpress portfolio 缩略图出海业务为什么要做多语言#xff1f; 1.市场扩大与本地化需求#xff1a; 通过支持多种语言#xff0c;出海项目可以触及更广泛的国际用户群体#xff0c;进而扩大其市场份额。 本地化是吸引国际用户的重要策略之一#xff0c;而语言本地化是其中的核心。使用用户的母语… 出海业务为什么要做多语言 1.市场扩大与本地化需求 通过支持多种语言出海项目可以触及更广泛的国际用户群体进而扩大其市场份额。 本地化是吸引国际用户的重要策略之一而语言本地化是其中的核心。使用用户的母语能够提供更好的用户体验并增加用户黏性。 2.文化敏感性和尊重 不同的语言往往代表着不同的文化和习惯。通过提供多语言支持出海项目能够表现出对目标市场文化的敏感性和尊重从而建立更好的品牌形象。 3.提高用户满意度和参与度 使用用户的母语进行交流可以消除语言障碍使用户更容易理解和使用产品。 这有助于提高用户的满意度和参与度进而增加用户留存和转化率。 所以出海应用适配多语言是业务开展过程中的重中之重建议大家App都要实现多语言功能感受其带来的好处。   多语言常见问题 1. Android N版本适配问题 2. 切换系统导航更改深色模式导致多语言无法适配问题 3. 系统授权弹窗导致ApplicationContext中的Local被还原 4. 切换语言系统通知栏显示不是当前设置的语言 5. Service服务中Toast不适配 6. 如何正确获取系统当前语言 7. WebView第一次加载多语言不适配 功能虽不太难但遇到的问题还是比较多的下面给大家分享我们在用的多语言方案有问题还希望大家积极指出。 无Bug版 多语言设计方案 1.多语言方案基本原理 实现多国语言的原理是根据用户选择的语言或者手机系统设置的语言来加载相应的语言资源文件。当用户切换语言时应用程序会重新加载对应语言的资源文件从而显示相应的文本内容。 2.无Bug版 多语言设计方案实践 如果您应用内内置了所有的语言文本则只需要根据系统语言切换即可实现方式也较为简单。如果您只兼容几种语言要根据用户选择来切换App语言就较为复杂一些下面我们分别来讲一下。 (1) 跟随系统切换 通过Android Studio(当然如果知道语言的缩写可以直接在res目录下建立不同名称的values文件例如中文values-zh右击res-New-Android Resource File 会打开一个新的弹窗在File name 输入框填写strings如下图在红色圈中区域找到Local 点击 后就可以选择相关的国语言点击OK会在res目录下生成一个新的values-xx目录接下来就可以在该目录的strings.xml 添加相关语言的文案即可 打开手机的设置切换系统语言例如你项目的默认语言是中文你上一步添加的是values-en目录切换语言到英文这是重新打开App你看到App上的显示的就是英文了。 (2) App 内设置切换语言 以上2个步骤就可以简单的实现了系统切换多语言功能但是产品为了让用户更好的使用产品App内会有一个设置切换语言的功能让用户自己选择App内的语言往往我们无法支持所有的语言。 对于这种需求我们如何设计呢 主要代码如下文章末尾会给出github地址 ‍基类复写attachBaseContext设置上下文 abstract class BaseForLanguageActivity : Activity() { override fun attachBaseContext(newBase: Context) { super.attachBaseContext(LanguageUtil.wrap(newBase, LanguageUtil.getLocaleByLanguage()))}} 获取用户设置的默认语言如果没有设置获取本地设备的默认语言Android 7.0以及以上需要获取本地语言列表 private fun getLanguage(): String { val defaultLanguage if (Build.VERSION.SDK_INT Build.VERSION_CODES.N) { Resources.getSystem().configuration.locales[0].language } else { Locale.getDefault().language  }   return getInstance()[KEY_LANGUAGE, defaultLanguage]} 通过第二步获取的语言来判断设置的Local类型​​​​​​​ fun getLocaleByLanguage(): Locale { val locale if (getLanguage().equals(LanguageType.ENGLISH.language, ignoreCase true)) { Locale.ENGLISH } else if (getLanguage().equals(LanguageType.BANGLADESH.language, ignoreCase true)) { Locale(LanguageType.BANGLADESH.language) } else { Locale(LanguageType.DEFAULT.language) } return locale} 根据LocaleAndroid 7.0以及以上需要设置本地语言列表重新包装上下文Context在Activity的attachBaseContext方法会用到​​​​​​​ fun wrap(context: Context, newLocale: Locale): Context {var context context val res context.resources val configuration res.configuration if (Build.VERSION.SDK_INT Build.VERSION_CODES.N) { configuration.setLocale(newLocale) val localeList LocaleList(newLocale) LocaleList.setDefault(localeList) configuration.setLocales(localeList) context context.createConfigurationContext(configuration) } else if (Build.VERSION.SDK_INT Build.VERSION_CODES.KITKAT) { configuration.setLocale(newLocale) context context.createConfigurationContext(configuration) } return ContextWrapper(context)} 保存用户设置的语言​​​​​​​ private fun setLanguage(language: String?) { getInstance().put(KEY_LANGUAGE, language)} fun saveChange(language: String) { setLanguage(language)} 应用内获取string资源使用以下方法getString确保每次获取的上下文里的Local是当前应该显示的语言​​​​​​​ object Extentions { fun getString(StringRes resId: Int) getContext().getString(resId) private fun getContext(): Context { return LanguageUtil.getLanguageContext() }} LanguageContext是一个枚举类 通过这个可以获取相关语言的上下文并获取相关语言下的资源文件​​​​​​​ enum class LanguageContext(val languageType: LanguageType) { DEFAULT(LanguageType.DEFAULT) { private var context: Context LanguageUtil.wrap(Extentions.getApp(), Locale(languageType.language)) override fun getContext(): Context { return context } }, ENGLISH(LanguageType.ENGLISH) { private var context: Context LanguageUtil.wrap(Extentions.getApp(), Locale(languageType.language)) override fun getContext(): Context { return context } }, BANGLADESH(LanguageType.BANGLADESH) { private var context: Context LanguageUtil.wrap(Extentions.getApp(), Locale(languageType.language)) override fun getContext(): Context { return context } }; abstract fun getContext(): Context }} 讲到这里出海项目的多语言适配就结束了本Demo解决了开头提出的所有问题。Gitgub地址如下欢迎大家下载体验https://github.com/loveAndroidAndroid/OveraeaDemos   推荐阅读 GooglePlay账号关联审查机制详解 另类封号别让你的Google老账号为你的粗心买单 Google Play开发者组织身份验证个人转组织详解
http://www.hkea.cn/news/14256842/

相关文章:

  • 办网站租服务器做旅游攻略的网站
  • 建行网站会员是什么logo在线设计制作
  • 律所网站建设国队男子接力赛上海公司建立网站吗
  • wordpress软件站主题兰州网站建设专家
  • 西宁公司网站设计线上营销方法有哪些
  • 深圳知名网站建设平台dedecms5.7装饰公司网站模板
  • 网站建设能赚多少钱网站内容建设和管理
  • 网站建设投标文件如何网推
  • 重庆网站建设公司招聘前端直播网站怎么做
  • 陕西榆林市信息网站建设公司兰州 网站建设公司
  • 如果查询网站内页的收录情况石家庄seo管理
  • 申请网站建设经费玉泉路网站建设
  • 网站开发发展存在的问题新余 网站建设
  • 网站开发与托管协议合肥有什么好的网站建设公司
  • h5网站开发软件有名vi设计公司
  • 制作网站怎么制作网页无法访问但是有网什么原因
  • 网站建设主机耗电量淘宝网页版手机登录
  • 净水机企业网站源码东山县建设银行网站
  • 有没有做生鲜配送的网站骨科医院网站模板
  • 保定门户网站昆明网站建设手机版
  • 网站建设工资郑州一个县城广告公司利润
  • 企业网站开发公司管理咨询人员的基本素质
  • 怎样推广自己的商城为什么打开网址都是seo综合查询
  • 做食品那些网站好衡水哪里做网站
  • 湖南营销型网站建设公司如何创建软件app
  • 坪山网站建设代理商高校二级网站建设方案
  • 做建材的哪些网站凡科可以做淘客网站吗
  • 网站平台由什么搭建seo流量排行榜神器
  • 2017网站设计尺寸东莞市阳光网
  • 专门做spa的网站班级优化大师网页版登录