菜鸟教程小白 发表于 2022-12-13 03:54:01

ios - Xamarin.IOS:本地化不起作用


                                            <p><p>我有一个 Xamarin.IOS 应用程序并尝试本地化一些图像。
作为指导,我接受了这篇文章:<a href="https://developer.xamarin.com/guides/ios/advanced_topics/localization_and_internationalization/" rel="noreferrer noopener nofollow">https://developer.xamarin.com/guides/ios/advanced_topics/localization_and_internationalization/</a> </p>

<p>我尝试显示图像“ImageInstructionStep1”</p>

<p>这是我的资源文件夹的屏幕截图:</p>

<p> <a href="/image/QLv6v.png" rel="noreferrer noopener nofollow"><img src="/image/QLv6v.png" alt="enter image description here"/></a> </p>

<p>所有图像都有构建操作“BundleResource”。
我用这一行在代码中分配图像:</p>

<pre><code>      imageInstructionStep.Image = UIImage.FromBundle(&#34;ImageInstructionStep1&#34;);
</code></pre>

<p>我在我的 Info.Plist 中注册了本地化:</p>

<pre><code>    &lt;key&gt;CFBundleDevelopmentRegion&lt;/key&gt;
    &lt;string&gt;en&lt;/string&gt;
    &lt;key&gt;CFBundleLocalizations&lt;/key&gt;
    &lt;array&gt;
      &lt;string&gt;de&lt;/string&gt;
      &lt;string&gt;fr&lt;/string&gt;
      &lt;string&gt;it&lt;/string&gt;
    &lt;/array&gt;
</code></pre>

<p>但它总是显示英文版本。</p>

<p>我检查了应用程序启动时的语言环境:</p>

<pre><code>      NSLocale.CurrentLocale.LocaleIdentifier;
      NSLocale.AutoUpdatingCurrentLocale.LocaleIdentifier;
</code></pre>

<p>并且两者都给出“de_US”。我的期望是这会加载德语本地化。</p>

<p>我还尝试将应用程序清理并重建到模拟器,包括之前将其从模拟器中删除但没有成功。</p>

<p>也许有趣的旁注:我所有在 resx 文件中本地化的文本都按预期以德语显示。</p>

<p>我错过了什么?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>正如我在评论中指出的那样,您应该将备用资源放入 <code>Base.lproj</code> 文件夹中。</p>

<p>至于 <code>InfoPlist.strings</code> 的问题,请记住它们仅适用于 <code>Info.plist</code> 中的字符串,因此当您要求权限等。对于 <code>da.lproj</code>,这可能如下所示:</p>

<pre><code>&#34;NSLocationWhenInUseUsageDescription&#34; = &#34;Vil du tillade App&#39;en til at bruge din lokation?&#34;;
&#34;NSCalendarsUsageDescription&#34; = &#34;Ost&#34;;
</code></pre>

<p>等等。</p>

<p>至于其他字符串,如OK、Cancel等按钮,你需要为每个文件夹添加一个<code>Localizable.strings</code>文件,内容如下:</p>

<pre><code>&#34;Back&#34; = &#34;Tilbage&#34;;
&#34;Done&#34; = &#34;Færdig&#34;;
&#34;Cancel&#34; = &#34;Anuller&#34;;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Xamarin.IOS:本地化不起作用,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/48205924/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/48205924/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Xamarin.IOS:本地化不起作用