最新公告
  • 欢迎您光临,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 语言包lang文件解析(附带语言环境)

    有时候你的程序里需要用到多语言。然后iApp的v3呢xml弄不了,需要用别的方式存储语言包。json可以,不过还是太累赘,用了很多符号。
    .lang文件是个不错的选择,其内部格式是
    key=value
    key2=value2,
    节省了很多空间(那这么说它可以用作一般的存储了吧[滑稽])。比如MC它游戏的内容语言就是用这种方式存储,所以可以通过外部包来修改显示语言。
    你可以把.lang文件放到你的应用的资源目录里。
    只要调用一个方法,就能解析出当前对应语言

    建立utils.myu ( mjava要用call ):
    //获取语言环境
    fn getLocale()
    //获得资源管理器,其实用Context的getResources()也行
    res(res)
    res(res,"resources",res)
    //获取config(什么乱七八糟的[滑稽])
    java(config,res,"android.content.res.Resources.getConfiguration")
    //获取locale
    javags(locale,config,"android.content.res.Configuration","locale")
    //由于iApp在处理文字操作时,会把非String对象执行toString,所以传过去个Locale对象就行了
    //如果要对locale的String信息进行java操作,就待手动toString
    sss return=locale
    //更多操作(这里建议统一进行小写处理,方便判断)
    //获取语言(如zh)
    //java(language,locale,"java.util.Locale.getLanguage")
    //获取地区(如cn)
    //java(language,locale,"java.util.Locale.getCountry")
    end fn
    
    //解析lang文件(key,文件路径)
    fn getStringLang(key,langpath)
    fr(langpath,lang)
    //lang不存在
    f(lang==null)
    {
     sss return=key
    }
    else
    {
     //key开始的位置
     siof(lang,key,siof)
     s(siof-1,siof2)
     //key前面是否换行
     ssg(lang,siof2,siof,ssg)
     f(ssg=="
    ")
     {
      //获取key结束的位置
      siof(lang,"=",siof,eqpos)
      s+(1,eqpos)
      //获取行结束的位置
      siof(lang,"
    ",eqpos,etpos)
      siof(lang,"#",eqpos,jhpos)
      //比较出value的区间(行可以以注释结尾,可以以换行结尾)
      java(vepos,null,"java.lang.Math.min","int",etpos,"int",jhpos)
      //在区间截到value
      ssg(lang,eqpos,vepos,value)
      sss return=value
     }
     else
     {
      sss return=key
     }
    }
    end fn
    
    使用:
    fn utils.getStringLang(该项的key,路径)
    //返回sss.return
    //获取语言名
    //fn utils.getLocale()
    
    1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!
    2.如有侵权请邮件联系客服!l联系邮箱:837609420@qq.com
    3. 本站不保证所提供下载的资源的准确性、安全性和完整性
    4.资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
    5. 如用于商业或者非法用途,与本站无关,一切后果请用户自负!
    6. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    7. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    8. 如遇到加密压缩包,默认解压密码为"www。loveu8.cn",如遇到无法解压的请联系客服!
    9. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
    幻梦资源网 » 语言包lang文件解析(附带语言环境)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    幻梦资源网
    一个高级程序员模板开发平台