【问题标题】:Preload translations from database before Silverlight is loaded在加载 Silverlight 之前从数据库中预加载翻译
【发布时间】:2010-01-15 09:20:20
【问题描述】:

我们将本地化字符串存储在数据库中。我们正在构建的多语言应用程序需要本地化。数据层位于 WCF 服务之后,所有数据都通过这个 WCF 通道传输。

我们需要在 Slivlerlight 应用程序出现在用户浏览器中之前加载翻译。所以用这个预加载数据是最合乎逻辑的路径。但是 Silverlight 异步调用让我很难从数据库中加载翻译字符串,因为结果是在 Silverlight 加载之后加载的。

有没有办法解决这个问题?

【问题讨论】:

    标签: silverlight synchronous preloading


    【解决方案1】:

    我看到了这个问题的两种解决方案:

    1. 如果您真的想在 Silverlight 应用程序显示在浏览器中之前加载数据,那么唯一的方法就是在嵌入 Silverlight 之前传递数据。在这种情况下,您可以使用 AJAX 获取数据,然后将 SL 对象动态添加到 DOM 传递参数。不过在我看来,这样做很麻烦。
    2. 如何隐藏您的应用程序(使主网格或容器变为 Visiblilty="Collapsed")直到SL 应用程序获取数据 .设置一个计时器以动态检查数据是否已加载并缩放,就可以了。

    【讨论】:

    • 解决方案2。听起来很有趣,我会尝试一下,但它并不像我希望的那样干净。
    【解决方案2】:

    我发现直接从数据库加载不是解决本地化-翻译问题的正确方法。翻译是不会经常改变的,所以我使用 XML 文件来存储翻译。该 XML 文件是嵌入式资源,每次添加新译文时都会从数据库生成。

    这样我就不再为加载数据宽度异步调用而烦恼了。

    感谢您的回答...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-31
      相关资源
      最近更新 更多