首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何优雅的完成iOS国际化

    image.png 导出的文件夹目录结构如下: ? image.png 3、打开Localized Contents文件夹里的.xliff文件进行翻译 ?...选择翻译好的语言对应的xliff文件导入就好,现在国际化就完成了。 5、其他问题 1、 如果我后面加了很多字段怎么办? 如果storyboard增加了很多元素怎么办?...重复上面的步骤,会自动添加未翻译内容。 2、如果翻译的内容带参数怎么办? 举个?...一样导入导出xliff,不会丢。 4、导出的其他文件干嘛的? 导出的storyboard文件是给对方翻译的时候可以对照界面翻译用的,当然需要mac下安装xcode。...理论上只用管xliff文件就好。 总结 以上的步骤可以总结为 添加语言类型 -> 导出xliff -> 翻译 -> 导入xliff 对,就这么简单,你的国际化就做好了。

    2.1K30

    赶走那些Android工程中得冗余字符串

    Android提供了一套很方便的进行资源(语言)国际化机制,为了更好地支持多语言,很多工程的翻译往往会放到类似crowdin这样的平台上。资源是全了,但是还是会有一些问题。...其中values为工程默认的资源。 某语言的资源和某语言限定区域的资源之间。如values-fr-rCA存在于values-fr相同的字符串,这种表现最为严重。 某语言的资源和默认的资源之间。...values-fr存在与values相同的字符串,可能原因是由于values-fr存在未翻译字符串导致 为什么要去重 洁癖,容不下半点冗余。...sourceEntries, filePath): if (not path.exists(filePath)): return ET.register_namespace('xliff...',"urn:oasis:names:tc:xliff:document:1.2") tree = ET.ElementTree(file=filePath) root = tree.getroot

    53720

    【Android 应用开发】Android开发技巧--Application, ListView排列,格式化浮点数,string.xml占位符,动态引用图片

    的无参的构造方法必须是public的, 否则运行的时候会出现错误....ListView中元素的排序 ListView中的元素排序, 即将数据源排序即可; 给集合排序的方法 : 调用Collections的sort(list, Comparator)方法, 该方法需要2个参数...创建了DecimalFormat对象之后 , 调用该对象的format对象 , 将需要格式化的浮点数传入这个方法 , 返回的结果就是格式化之后的固定位数的浮点数的字符串形式 . ...四. string.xml占位符 开发中经常遇到这样的情况 , 在string.xml中用到以下占位符 删除xliff:g id="...name">%1$sxliff:g>成功 %1$s上传到%2$s成功 1.xliff:g标签 http

    68910

    Github 2019 年最值得关注的数据科学项目 Virgilio(维吉尔) 中文版

    我为你打包了几种类型的指南: 职业:完整的学习路径,指导你从头开始掌握新技能。 主题:关于由子领域组织的特定主题,方法和现实应用的综合指南。 专业化:个人技能的垂直指南。...我的目标主要是帮助人们开始使用创新的领域和技术,即使你从未尝试过编写代码,或者你需要深入的数学评介,我也会给你这样的基础。...你需要对如何处理数据产生一种 “感觉”,这种 “感觉” 主要是由情况和经验驱动的。因此,这些专业将强烈关注练习和练习。 后者是关于... 所有未写在技术书籍中的东西。...部署过程:https://www.jianshu.com/p/f3cd7dfd48d1 Weblate 支持多种翻译格式,我选择把 md 文件改换成 xliff 再上传。...转换几个文件后,翻译群里的小伙伴们就开始翻译。之后又发现 Xliff 要把 md 文件里的 "&" 这些符号替换成占位符。好麻烦,还不如直接用 json 格式。

    91120

    一个Angular 5教程:一步一步指导实现你的第一个Angular 5应用程序

    您可以通过编辑prefix属性将其更改为首选项的前缀.angular-cli.json,因此ng generate在首次使用前最好先这样做。 所以,我们有一个组件的构造ngOnInit函数和一个函数。...我们如何用我们的输入填充它?如果您以前曾使用过AngularJS,那么您可能会知道双向数据绑定的概念。...但这并不意味着我们失去了访问这种行为的机会。我们已经看到并使用了[value]="expression",它将表达式绑定到输入元素的value属性。...但是我们也有(input)="expression"一种将表达式绑定到输入元素的输入事件的声明方式。...因此,我们只需编写简单的代码即可获取我们的价值,并将其绑定到代码中的输入值和变量。

    42.7K10

    vue—你必须知道的

    v-for (遍历) v-html (绑定HTML属性中的值) v-bind (响应更新HTML特性,绑定自定义属性,如绑定某个class元素或style) v-on (监听指定元素的dom事件) v-model...(内置的双向数据绑定,用在表单控件,绑定的value通常是静态字符串) v-cloak 关于vuejs页面闪烁{{message}} v-once 只渲染元素和组件一次,随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过...-- 和CSS规则如[v-cloak]{display:none}一起用时,这个指令可以隐藏未编译的Mustache标签直到实例准备完毕 --> [v-cloak]{ display:none...) 当 v-bind:style 使用需要特定前缀的 CSS 属性时,如 transform ,Vue.js 会自动侦测并添加相应的前缀。...) v-leave 离开过渡开始状态 v-leave-active 过渡状态 v-leave-to 离开过渡结束状态 v- 是这些类名的前缀。

    1.9K20

    vue初

    classB : '']"> 当 v-bind:style 使用需要厂商前缀的 CSS 属性时,如 transform,Vue.js 会自动侦测并添加相应的前缀。...绑定文本 v-html 绑定html标签 v-once 不需要表达式 只绑定一次,数据修改时,模型上面的数据不会再动态渲染到页面上 v-pre 不需要表达式 跳过这个元素和它的子元素的编译过程...和 CSS 规则如 [v-cloak] { display: none } 一起用时,这个指令可以隐藏未编译的 Mustache 标签直到实例准备完毕。...,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个在绑定时执行一次的初始化动作。...update: 被绑定元素所在的模板更新时调用,而不论绑定值是否变化。通过比较更新前后的绑定值,可以忽略不必要的模板更新 unbind: 只调用一次, 指令与元素解绑时调用。

    1K20

    50个必备的实用jQuery代码段

    jQuery 判断元素上是否绑定了事件 //jQuery event封装支持判断元素上是否绑定了事件,此方法只适用于jQuery绑定的事件 var $events = $("#foo").data("events...$('link[media='screen']').attr('href', 'alternative.css'); 如何限制选择范围(基于优化目的): //尽可能使用标签名来作为类名的前缀, //这样...还要记住的一点是, //针对于你的页面上的元素的操作越具体化, //就越能降低执行和搜索的时间。...$('#keks').html()) { //什么都没有找到; } // 方法二 if ($('#keks').is(":empty")) { //什么都没有找到; } 如何从一个未排序的集合中找出某个元素的索引号...() { return this.replace(/</g, 'g,'>').replace(/"/g, '"'); }, replaceAll

    6.7K00
    领券