【问题标题】:Localization on Xamarin.iOSXamarin.iOS 上的本地化
【发布时间】:2013-11-21 18:07:55
【问题描述】:

我正在尝试在 Xamarin.iOS 上进行本地化。一般来说,我是本地化的新手,但我们想要做的第一语言是冰岛语。如果您查看 iOS 设备本身的设置,冰岛语不是一个选项。所以这是一个两部分的问题。

  1. 如何在我的应用程序中设置本地化?我是否只是以与其他 .net 应用程序相同的方式进行本地化..或者我需要做一些特定于 iOS/Xamarin 的事情。

  2. 一旦我实现了这个,我如何让它选择冰岛语作为语言,因为 iOS 没有它作为可用的语言?

关于这个主题的文档似乎很少。

【问题讨论】:

    标签: c# ios localization xamarin.ios xamarin


    【解决方案1】:

    How can I set up localization within my app?

    iOS 有自己的方式来处理本地化。对于每种语言,您需要在项目中创建一个名为 language.lproj 的文件夹,其中 language 是 ISO 639-1 或 ISO 639-2 语言代码。首选两个字符 ISO 639-1 代码(例如 en、de、fr、it、...)。您可以找到带有 ISO 639-1 和 ISO 639-2 代码here 的表格。

    在您新创建的文件夹中,您需要创建一个名为 Localizable.strings 的文件,在这里您可以添加您想要本地化的字符串:

    "stringToLocalize" = "This is the translation";

    并将本地化字符串分配给例如UILabel

    UILabel label = new UILabel();
    ...
    label.Text = NSBundle.MainBundle.LocalizedString("stringToLocalize", null);
    

    你甚至可以创建一个扩展方法(感谢anotherlab):

    public static class LocalizationExtensions
    {
        public static string t(this string translate)
        {
            return NSBundle.MainBundle.LocalizedString(translate, "", "");
        }
    }
    

    How do I get it to choose Icelandic as the language since iOS does not have it as an available language?

    我认为没有办法在 iOS 中选择冰岛语作为语言。我们的一款应用程序使用德语、意大利语和法语本地化。由于我们不需要英语,我们创建了 en.lproj 文件夹,其中包含德语本地化。这样即使设备的语言设置为英语,也会出现德语文本。也许你也可以在你的应用中做这样的事情。

    【讨论】:

      猜你喜欢
      • 2018-06-20
      • 2017-08-17
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-03
      • 2014-04-04
      • 1970-01-01
      相关资源
      最近更新 更多