- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我正在构建一个相当大的基于浏览器的交互式媒体应用程序,并且我有以下要求:
我正在向以前做过类似事情的人寻求建议,以避免预先做出一些错误的选择。
我对 JS 和 CSS3 了如指掌,但我足够聪明/有经验/足够老,知道使用别人开发的架构框架比我自己开发的架构框架有好处。然而,只有当我正在编写的应用程序符合框架开发人员的目标时,这些好处才得以实现。
我花了一天时间尝试了解 SenchaTouch,并得出结论,它非常适合构建与我正在构建的完全不同的东西。 (类比SenchaTouch/ExtJS就是Swing,而我正在寻找Flash。)另外,Sencha似乎费了很大的劲才把Javascript变成基于类的系统,而不是仅仅接受/拥抱它是一个原型(prototype)为基础的系统。这让我很烦恼。
我花了一天时间学习backbone.js,我真的很喜欢它,除了 1)我真的不需要任何服务器交互的东西(尽管我可能会用它来引导所有 UI 元素资源文件),2)它完全致力于保持 View 最新。但也许这是一件好事?这个我不太清楚。
我研究过 Knockout.js,尽管它确实非常担心保持 View 最新,但我看过的演示都没有解决国际化问题。我的 i18n 需求很简单:我的应用程序中出现的每个文本字符串都需要来自表格(并且可以随时更改使用的语言)。当我在 Knockout.js 主页中看到类似的内容时:
optionsCaption="选择..."
我担心根据运行时变量设置使该字符串动态化是多么容易。也就是说,如果我想编写相当于:
optionsCaption=l10n("选择")
有没有一种相当轻松的方法来做到这一点,以及在整个 UI 中自动传播语言更改涉及什么?
有什么强烈建议让我考虑另一个可能更合适的框架吗?
此外,我假设我们将使用 jquery/ui 或 zepto(可能是 zepto)来消除动态页面更新和动画内容中的大量样板。对架构的这一部分有什么有用的想法吗?
最佳答案
我自己对此很好奇(knockout + i18n 搜索让我在这里),我使用 Jed 实用程序以及 Akasha 建议的 knockoutjs 做了一个快速而肮脏的 JSFiddle。我还必须使用一些 JQuery。
看看这里:http://jsfiddle.net/yUE7a/5/
我创建了一个绑定(bind)到您当前区域设置的自定义绑定(bind) (i18n)。 i18n 绑定(bind)从元素中获取文本并将其用作键,并将其替换为 Jed 的翻译文本。
语言环境本身是作为 ko.obervable 实现的,因此您可以更改语言环境值并让 knockoutjs 一次性更新所有翻译标签(您可能必须在 init 和 update 之间缓存 key ,因为它会被$(element).html() 调用)。
有一个问题仍然存在,当我将 Jed 包含在 JsFiddle 中时,所有样式都消失了。我不知道为什么以及这是否是 Jed + KnockoutJS 或仅 Jed + JsFiddle 的实际问题。
我以前从未使用过 Jed,所以我不知道它是否符合您的目的,但它应该足够简单,可以用另一个 i18n 框架替换 Jed。
希望这有帮助!
关于jquery - 哪个 JavaScript 框架擅长处理国际化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9687319/
我有一个 Java 字符串,但在处理时遇到了问题。我有一个字符串 s,它的值为丞(我随机选择的一个汉字,我不会说中文)。如果我打电话 String t = new String(s.getBytes(
在Qt中,所有的输入部件和文本绘制方式对Qt支持的所有语言都提供了内置的支持。Qt内置的字体引擎可以在同一时间正确而且精细地绘制不同的文本,这些文本可以包含来自众多不同书写系统的字符。如果想了解更多的
如何实现字段标签、帮助文本等的国际化支持。字段的标准乘法似乎不起作用例如文档中给出的用于创建联系表单的示例。我尝试为其他语言添加额外的字段(文档中描述的第一种方法) from django.db
是否有可能当我在操作类中使用“getText(”keyName”); 时,我可以指定仅从 ENGLISH 资源包中选择值。因为我只想将此值用于日志记录目的。 任何想法我怎么能做到这一点? BR 标准委
我有一些关于 GWT 的国际化解决方法的问题。 1) 处理直接写入 ui.xml 文件的静态文本的最佳方式是什么? 目前,我正在使用 Messages-Interface 来翻译 Java 生成的文本
我在 Symfony 2 中遇到了一个奇怪的翻译问题。 这是我的config.yml imports: - { resource: parameters.yml } - { resou
对于我的大部分应用程序,我可以使用 https://developers.google.com/web-toolkit/doc/latest/DevGuideI18n 中列出的推荐国际化技术。 (主要
我使用 Android Studio 创建了一个新的 Flutter 项目。我正在使用null-safety,并且正在物理设备上运行应用程序,但代码生成无法正常工作,没有flutter_gen.dar
这里是菜鸟。 我正在尝试对基于命令行的程序实现国际化。以下是 java 国际化路径中可用的内容。 import java.util.*; public class I18NSample { s
我使用 Android Studio 创建了一个新的 Flutter 项目。我正在使用null-safety,并且正在物理设备上运行应用程序,但代码生成无法正常工作,没有flutter_gen.dar
我正在开发一个需要多语言的应用程序。 我正在尝试关注 this国际化教程。但是,当我尝试“使用基本国际化”时, View 中没有列出我的 Storyboard。 我正在使用 XCode 4.6.3 我
我住在印度(有超过20种语言)我正在尝试在网站中实现java国际化。 但是在 Locale.getAvailableLocales() 中,本地语言不可用。我的情况是否可以实现国际化? 如果可能的话字
我有以下 SDN 4 实体: 决策、特征和值: @NodeEntity public class Value { private final static String SET_FOR = "
关于MySql,是否有支持所有或绝大多数语言的字符集? 最佳答案 统一码。它有几种编码:UTF-8、UTF-16 和 UTF-32。 来自 http://en.wikipedia.org/wiki/U
我目前正在使用 Vuepress。但是我想要在我的 Vuepress 站点中使用多种语言。经过 3 天的挣扎,我决定把我的问题放在这里。 (是的,我查看了 Vuepress 文档:https://vu
我需要返回一个 strftime() 调用,该调用使用与我本地机器/操作系统上设置的语言不同的语言。是否可以选择返回语言? 最佳答案 对于可靠的 i18n/L10N,可由必须在同一运行中提供不同本地化
我有一些按钮,按下它们后我想播放一些音频。按钮的名称是音频文件的名称 private func playAudio(title : String){ audioPlayer = AVAudio
如何更改 HTML5 的消息(或者它会根据浏览器的语言自动更改?) 例如: E-mail: 当我在 Opera 运行此代码(来自 W3schools)
我发现很多关于 url schemes 的话题,最常见的是: www.mysite.com/fr/products www.mysite.com/en/products www.mysite.com/
在 Android WebView 中处理国际化/本地化的最佳方式是什么。理想情况下,我想访问以下位置的所有字符串资源: res/values/strings.xmlres/values-de/str
我是一名优秀的程序员,十分优秀!