【问题标题】:Spanish Localization using kotlin language in Android在 Android 中使用 kotlin 语言进行西班牙语本地化
【发布时间】:2018-11-30 07:36:24
【问题描述】:

我现在面临一个奇怪的问题,在我的项目试图本地化我的申请西班牙语。我按照简单的步骤;通过布局选项添加从翻译编辑西班牙语的语言环境。并插入所有西班牙字符串string.xml(ES)文件。现在,当我在设备将其更改为西班牙语,所有的弦都还是英文的。 这很奇怪,因为我制备的样品应用并遵循相同的步骤,它是工作正常该样品 P>

P.S:我按照我在哪里做一个依赖注入MVVM设计模式 P>

任何帮助将不胜感激。

谢谢, 尼尔 P>

更多详细信息: EM> 强>结果 这是个大工程。所以,我做什么,我创建了一个示例项目,也做了相同的步骤来更改语言。所以,语言的变化,我越来越为西班牙语言代码“ES”当我运行下面的代码: P>

Print("Location locale" + "  " + Locale.getDefault().language)

但是当我运行在我的项目的代码;我得到“恩”的代码虽然设备语言为西班牙语。我已经找遍了所有的代码;我没有设定项目中的任何“恩”值的任何地方。有,我应该以确保它搜索任何特定的代码。 P>

请帮忙!

【问题讨论】:

  • 您使用数据绑定?跨度>
  • 如果在重新开始之间的应用,例如由于重新安装它,唯一的原因,它不会工作,应该是一个)没有在您的应用程序西班牙串(编译或安装失败或者你居然把他们不要在-es)或b)你使用你的应用程序错误的字符串,例如硬编码的剩菜或那些具有不同的ID。如果您没有重新启动应用程序也可能是缓存/泄漏方面未加载正确的资源的情况下。您还可以登录什么Locale.getDefault()给你,应该是-es如果它的工作。 SPAN>
  • 嗨@zapl,用户将能够从英语译成西班牙语更改语言,反之亦然通过菜单按钮是我的使用情况。但目前,我想有默认的行为即当我们改变设备的语言环境应该改变。现在,我的默认行为本身有问题。我下面简单的步骤;通过编辑器创建西班牙语本地化文件并替换某些字符串为西班牙语。但不幸的是,其在字符串转换的问题。 SPAN>
  • Locale.getDefault.language仍然显示“EN”应用程序(或设备的甚至重新引导)的重新启动之后?在这种情况下,改变设备的语言时,你可能会做错事。 (例如,仅或者只是改变时区的位置)。例如设置将在西班牙当你成功地改变了语言 SPAN>
  • @Arnab嗨,是我使用数据绑定。跨度>

标签: android mvvm kotlin localization internationalization


【解决方案1】:

将带有西班牙语翻译的strings.xml 放在res/values-es 文件夹中。

【讨论】:

  • 嗨,谢尔盖,感谢您的回复。 strings.xml 已经存在于 res/values-es 文件夹中。我签入了项目下拉菜单。
  • 尝试清理您的项目并重建它。如果它没有帮助尝试File/Invalidate Caches(它是Android Studio的菜单项)然后点击Invalidate and Restart
  • 也这样做了。我尝试了很多替代方法,但它不起作用。我需要用西班牙语替换所有字符串吗?我正在尝试使用最多的西班牙语单词,但并非都是因为它的数量。
  • 另外,当我使用“Locale.getDefault.language”检查语言时;它显示“en”,但我的设备语言是“es”。我不知道该怎么办。
  • 不,您不需要翻译所有字符串。未翻译的字符串只会以英文显示。尝试在另一台设备或模拟器上测试,可能是设备的问题。或者可能在您明确设置英语的代码中的某个地方,例如:Locale.setDefault(Locale.ENGLISH); 或类似的东西。
猜你喜欢
  • 2021-01-15
  • 2014-01-14
  • 1970-01-01
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多