如何使用特定语言为Android上的Google Play游戏提出请求?

时间:2016-12-01 11:27:46

标签: android google-play-services locale google-play-games setlocale

我正在开发一个Android应用程序,用户可以使用以下代码在app iteself中更改应用程序的语言:

Locale.setDefault(locale);
Resources resources = context.getResources();
Configuration configuration = resources.getConfiguration();
configuration.locale = locale;
resources.updateConfiguration(configuration, resources.getDisplayMetrics()); 

它可以正确使用我的本地字符串资源,即在App Locale更改时调用特定于语言的字符串资源。 现在,实际问题:
我在我的应用程序中使用Google Play游戏Api。我已将特定于语言的翻译添加到开发者控制台。当我向服务器发出请求时,它会以电话系统的默认语言提供响应。它不考虑用户设置的App specific语言环境(使用上面的代码)。但是当我更改默认系统语言时,Api会识别出以该语言提供响应。我搜索了很多内容,但无法找到任何告诉游戏Api的方式嘿,我希望用不同的语言(由我的应用程序设置)回复#39;。

有没有办法做到这一点?我被困在这里。任何帮助,将不胜感激!

1 个答案:

答案 0 :(得分:0)

您可以为游戏详细信息设置自己的翻译,包括显示名称,游戏说明和图形资源。您还可以为与游戏相关联的成就和排行榜指定自己的翻译。

为游戏详情添加自己的翻译:

  • 从Google Play开发者控制台打开带游戏服务的游戏页面,然后选择您的游戏。
  • 游戏详情页面上,点击添加翻译按钮。
  • 选择要为其提供翻译的语言,然后单击添加以确认您的选择。在游戏详细信息页面上,您应该看到所选语言的按钮。
  • 在同一页面上,单击某种语言的按钮,然后编辑包含显示名称,说明和图形资源的翻译的表单。
  • 点击保存以存储已翻译的游戏详情。
  • 为您的游戏打开关联的应用。对于每个链接的应用程序,请添加您添加的翻译语言的相应详细信息。

有关为成就和排行榜添加翻译的详细信息,请参阅achievementsleaderboards游戏概念。

在显示游戏详情,排行榜和成就字符串时,Google Play游戏服务使用最接近用户请求的语言的游戏支持语言。例如,如果用户的设备语言首选项设置为法语(加拿大)(fr-CA),但游戏仅支持英语(美国)(en-US)和法语(法国)(fr-FR) ),Google Play游戏服务将选择要显示的fr-FR字符串,因为这是最接近的匹配语言。