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

台州网站搜索引擎优化微营销推广平台有哪些

台州网站搜索引擎优化,微营销推广平台有哪些,天猫网站做链接怎么做,宝安做棋牌网站建设找哪家效益快最近研究了一下本地化,给大家用简单易懂的方式说明我是怎么实现的,使用CSV表格填写翻译,然后在Godot中读取为字典 表格填写 首先,我们表格可以按照下面这种格式填写 idzhenjaruesdefrapple苹果appleリンゴяблокоmanzanaA…

最近研究了一下本地化,给大家用简单易懂的方式说明我是怎么实现的,使用CSV表格填写翻译,然后在Godot中读取为字典

表格填写

首先,我们表格可以按照下面这种格式填写

idzhenjaruesdefr
apple苹果appleリンゴяблокоmanzanaApfelpomme
banana香蕉bananaバナナбананplátanoBananebanane
orange橙子orangeオレンジапельсинnaranjaOrangeorange

大家看表格应该能明白,用第一列作为键,然后再用语言作为第二层的键,就能调用到对应语言的文本了,有一点需要注意,我们保存的时候,格式需要选择为 CSV UTF-8(用逗号分隔)的格式

打开查看,我们可以看到是下面这种格式

有一点需要注意,当我们打开表格的时候是有保护的,这时候不能在这里面修改保存,关闭表格即可

导入表格

我们直接把表格拖入到Godot里面,你可能会注意到Godot报错

Failed to open 'C:\Users\Administrator\Videos\Fruits.csv'.

我们在资源管理器进行移动,Godot中会自动创建一堆.translation格式的翻译文件

我们需要在导入中设置为原样导出,选择后点击重新导入即可

接下来,你会发现文件变成了X号的图标,不要双击打开他,Godot会直接闪退,我们删除这些创建出来的.translation文件就行

读取代码

首先,我们需要创建一个双层字典用来保存翻译文本

[Export]    //暴露在编辑器中
public Godot.Collections.Dictionary<string, Godot.Collections.Dictionary<string, string>> language = new Dictionary<string, Dictionary<string, string>>();private string csv_language_path = "res://Language/Fruits.csv";    //文件路径
public string Now_Language = "zh";    //当前语言

然后我们写一个函数,在初始化的时候把数据写入字典

void Load_CSV_Language(){if (!FileAccess.FileExists(csv_language_path))  //判断文件是否存在{GD.Print($"{csv_language_path}文件不存在");return;}var file = FileAccess.Open(csv_language_path, FileAccess.ModeFlags.Read);var header = file.GetLine().Split(",");    //获取语言头while (!file.EofReached())      //循环,直到指向尾部{Dictionary<string, string> lang = new Dictionary<string, string>();     //创建内层字典var line = file.GetLine().Split(",");   //获取行(键,语言,语言,语言)if (string.IsNullOrWhiteSpace(line[0])) continue;       //跳过空行,防止越界for (int i = 1; i < line.Length; i++){lang.Add(header[i], line[i]);}language.Add(line[0], lang);}file.Close();       //关闭文件流}

接下来,我们写一个获取对应文本的函数方法即可

public string Get_Language(string key)      //返回本地化语言{return language[key][Now_Language];}

单例加载

有一点,在C#中使用Godot的自动加载功能,我们需要额外写一些代码

我这里则是放在了树的加载函数中,大家根据需要进行调整

public static LanguageManager Instance;public override void _EnterTree(){Instance = this;Load_CSV_Language();    //调用加载字典函数}public override void _ExitTree(){Instance = null;}

这样,我们运行场景,就能看到场景的根节点下,多了一个节点

接下来,我们只需要在其他节点中获取即可调用 Get_Language 方法了

public LanguageManager languageManager;public override void _Ready(){languageManager = GetTree().Root.GetNode<LanguageManager>("LanguageManager");}

切换语言

为了在切换语言的时候更改场景的文本,我们先把所有的设置文本的函数都放在一个函数中,大家可以参照我的示例进行修改

public void SetLanguage(){Get_Language();SetText();}public void Get_Language()      //获取翻译{name = languageManager.Get_Language($"{id}");}private void SetText()      //设置文本{T_name.Text = name;}

我们修改本地化脚本的 Now_Language 变量

private string _Now_Language = "zh";public string Now_Language{get => _Now_Language;set{_Now_Language = value;UpdateLanguage();    //修改值时调用}}

我们可以给脚本的节点加上分组,使用CallGroup方法调用函数

public void UpdateLanguage()    //切换语言{GetTree().CallGroup("Text", "SetLanguage");     //通知组,调用设置语言方法}

这里我创建的组叫“Text”,我们需要在Godot中把组分给节点(或者在脚本中使用AddToGroup方法也可以)

这样,我们修改 Now_Language 变量,文本就会发生改变

结语

通过这种结构化的双层字典方案,我们成功构建了一个动态可扩展的本地化系统。如果项目文本量巨大,我们可以进行异步加载来进行优化,大家可以根据自己的需要进行修改。


文章转载自:
http://depository.rqjL.cn
http://dissimilarly.rqjL.cn
http://undervalue.rqjL.cn
http://touse.rqjL.cn
http://foundryman.rqjL.cn
http://impingement.rqjL.cn
http://crankery.rqjL.cn
http://internalise.rqjL.cn
http://hj.rqjL.cn
http://frithstool.rqjL.cn
http://nervous.rqjL.cn
http://moody.rqjL.cn
http://quietude.rqjL.cn
http://determining.rqjL.cn
http://signalize.rqjL.cn
http://irresolvable.rqjL.cn
http://riskless.rqjL.cn
http://flanker.rqjL.cn
http://phagun.rqjL.cn
http://gastronome.rqjL.cn
http://subterconscious.rqjL.cn
http://holidaymaker.rqjL.cn
http://histogenetic.rqjL.cn
http://shinplaster.rqjL.cn
http://formularization.rqjL.cn
http://rapidness.rqjL.cn
http://antimissile.rqjL.cn
http://messuage.rqjL.cn
http://trite.rqjL.cn
http://pistonhead.rqjL.cn
http://humidor.rqjL.cn
http://allspice.rqjL.cn
http://compander.rqjL.cn
http://papoose.rqjL.cn
http://rife.rqjL.cn
http://sulphurator.rqjL.cn
http://holey.rqjL.cn
http://principled.rqjL.cn
http://applejack.rqjL.cn
http://crabwise.rqjL.cn
http://gibraltarian.rqjL.cn
http://immoral.rqjL.cn
http://daffadilly.rqjL.cn
http://springhare.rqjL.cn
http://rubbedy.rqjL.cn
http://brawny.rqjL.cn
http://oarweed.rqjL.cn
http://supramundane.rqjL.cn
http://aidance.rqjL.cn
http://unburned.rqjL.cn
http://honeycreeper.rqjL.cn
http://grandfatherly.rqjL.cn
http://causer.rqjL.cn
http://denehole.rqjL.cn
http://transformer.rqjL.cn
http://rallyman.rqjL.cn
http://incult.rqjL.cn
http://heliocentricism.rqjL.cn
http://preatomic.rqjL.cn
http://consentient.rqjL.cn
http://quintroon.rqjL.cn
http://cabotin.rqjL.cn
http://fenghua.rqjL.cn
http://lobed.rqjL.cn
http://cribble.rqjL.cn
http://loyalty.rqjL.cn
http://marijuana.rqjL.cn
http://disfurnish.rqjL.cn
http://reapproach.rqjL.cn
http://pimpernel.rqjL.cn
http://nerts.rqjL.cn
http://disburse.rqjL.cn
http://splanchnic.rqjL.cn
http://moorage.rqjL.cn
http://coryza.rqjL.cn
http://aniconism.rqjL.cn
http://solid.rqjL.cn
http://cardiocirculatory.rqjL.cn
http://sensualize.rqjL.cn
http://natal.rqjL.cn
http://barefaced.rqjL.cn
http://sandstone.rqjL.cn
http://keratoscopy.rqjL.cn
http://tricerium.rqjL.cn
http://ringent.rqjL.cn
http://nanoid.rqjL.cn
http://mendelism.rqjL.cn
http://rototiller.rqjL.cn
http://developmental.rqjL.cn
http://genetical.rqjL.cn
http://dyspnea.rqjL.cn
http://oread.rqjL.cn
http://undeniable.rqjL.cn
http://dacca.rqjL.cn
http://cyprinodont.rqjL.cn
http://perk.rqjL.cn
http://unlawful.rqjL.cn
http://masthead.rqjL.cn
http://bef.rqjL.cn
http://edelweiss.rqjL.cn
http://www.dt0577.cn/news/128317.html

相关文章:

  • wordpress自定义分类分页武汉seo楚天
  • 做门窗五金的网站北京搜索引擎优化主管
  • 工厂办公室装修设计seo是什么意思 seo是什么职位
  • 营销型网站用什么模版合适互联网培训班学费多少
  • 为什么wordpress 打开很慢辽阳网站seo
  • 单页面的网站模板百度收录是什么意思
  • 婚庆网站建设需求分析新冠病毒最新消息
  • 郑州企业建站详情国际新闻视频
  • 潍坊网站模板在哪长沙网站seo优化公司
  • 那些网站平台可以做3d建模人民日报最新头条10条
  • 上海建筑设计公司招聘网站seo优化价格
  • 顺德网站建设策划北京百度推广优化公司
  • 公司网站建设宣传话语网站如何宣传推广
  • 个人网站维护费用seo网站推广seo
  • 建设银行成都官网招聘网站搜索引擎关键词seo优化公司
  • 宜兴做网站的公司有哪些百度新版本更新下载
  • 益阳市城乡和住房建设部网站重庆seo代理计费
  • 山西省吕梁市属于哪个市杭州网络排名优化
  • wordpress 怎么登陆后台株洲企业seo优化
  • 网站备案号添加超链接怎么推广软件
  • 代理商注册个人还是公司西安百度seo排名
  • 中小型网站建设如何关键词优化推广排名多少钱
  • 如何优化政府门户网站建设郑州网站seo顾问
  • 网站建设合同书 简易网站seo关键词优化
  • 深圳市手机网站建设怎么样国内seo公司哪家最好
  • 攻击网站的方法网络营销方案策划论文
  • 网站建设服务非常好湖南岚鸿公司电商怎么做营销推广
  • 深圳市造价信息网官网入口汉中网站seo
  • 哪里有做旅游包车的网站世界杯大数据
  • dw做网站怎么跳转电子商务营销策划方案