【问题标题】:Localize strings returned by a web service本地化 Web 服务返回的字符串
【发布时间】:2012-02-23 01:57:08
【问题描述】:

在 Android 中本地化来自 Google 应用引擎上托管的网络服务的字符串的最佳设计是什么?

我的 Android 应用程序调用返回项目的 REST Web 服务。每个项目都有一个包含字符串的“标签”属性。

在服务器端,这些标签以英文存储在数据存储区中的项目中(带有 StringListProperty)。 处理程序几乎不比:

class MyHandler(webapp2.RequestHandler):
    def get(self):
        item = MyModel.get_by_id(id)
        self.response.write(json.encode(item))

我想知道您可以提出哪些设计建议来本地化此“标签”。

  • 本地化服务器端?这听起来不太常见(flickr、stackoverflow 等)不要那样做。那么,如何处理本地化? (参见上面的代码 sn-p)
  • 本地化客户端?那么,最有效的方法是什么?

【问题讨论】:

  • 服务器端并在 REST 调用中从您的 Android 应用程序中提供合适的 Accept-Language HTTP 标头?
  • @ShayErlichmen 您是否确认 Django 的 i18n 可以在带有 python2.7 和 webapp2 的 gae 上工作?
  • @Jens 是的,这听起来像是提供适当语言的最佳实践。问题是:我如何国际化这个标签?我应该在数据存储中同时拥有这两个值吗?在请求时翻译它们,如果是,如何翻译(gettext 似乎不可用;Django i18n 是否与 webapp2 一起工作;babel 更好吗?)
  • 应该工作(著名的遗言)

标签: android google-app-engine webapp2


【解决方案1】:

www.cloud4apps.com 中,您可以找到一个类似于 StackOverflow 的免费云网络服务,它支持众包的力量,用户可以在其中发布和投票选出最佳条目。

然后,服务会根据投票和您的批准或根据需要自动确定在您的应用中使用哪些字符串资源。

您可以将您当前的Android资源文件上传到在线工具中,并将最新的翻译下载为Android资源文件或使用SDK实时提取数据。

他们的 SDK 实现了缓存,使您的应用即使在离线时仍能使用文本资源。

【讨论】:

    猜你喜欢
    • 2014-08-24
    • 2015-10-26
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多