菜鸟教程小白 发表于 2022-12-13 08:25:30

ios - 用日语开发应用程序,将本地化添加到英语


                                            <p><p>我正在开发一款几乎专门针对日本用户的 iOS 应用,其中可能有一小部分说英语的用户。 </p>

<p>所有 Storyboard和 xib 都使用日文字符串设计,并且应在稍后阶段将其本地化为英文。</p>

<p>从一开始,Xcode 中 <strong>Project</strong> 的 Info/Localizations 部分如下:</p>

<p> <img src="/image/u5whF.png" alt="enter image description here"/> </p>

<p><em>(这两个文件当然是<strong>“Main.storyboard”</strong>和<strong>“LaunchScreen.xib”</strong>)</em></p>

<p>因为已经添加了“English”(作为开发语言),所以我无法点击“+”按钮并将其添加为本地化。我可以添加“日语”,但我希望它成为开发语言,而不仅仅是一些(辅助)本地化。 </p>

<p>此外,与上述明显矛盾的是,<strong>Target</strong> 的 <code>Info.plist</code> 文件内容如下:</p>

<p> <img src="/image/EynIY.png" alt="enter image description here"/> </p>

<p>当我在项目导航器中选择任一本地化文件(<code>Main.storyboard</code> 和 <code>LaunchScreen.xib</code>),并检查文件检查器时,“本地化”部分阅读:</p>

<p> <img src="/image/Jmk0l.png" alt="enter image description here"/> </p>

<p>...这似乎表明现有的日语文件(.xib 和 .storyboard)是“基础”,检查“英语”也将增加对该语言的支持(下拉菜单似乎表明我可以选择使用字符串文件或 Storyboard的专用副本。我倾向于相信字符串方法更好)。</p>

<p><strong>...那么,我应该怎么做呢?</strong></p>

<p><strong>A.检查文件检查器/本地化部分中的“英语”框?</strong>
这会创建一个 <code>en.lproj</code> 文件夹,并在其中添加一个字符串文件,我猜我应该稍后再翻译。这似乎有效地将我现有的 Interface Builder 文件(填充有日语标签)视为“基础”,并通过创建的字符串文件(如果我理解正确的话)提供英语本地化。然而,在项目设置中作为开发语言的英语仍然令人不安......</p>

<p><strong>B.在 Project/Info/LocalizationsPane 中删除英语并改为添加日语?</strong>
这将使日语成为开发语言,之后我可以将英语重新添加为<em>本地化</em>。但由于某种原因,如果我这样做,日语将 <strong><em>不</em></strong> 被视为“基本”语言,并且还会为日语添加(不必要的)字符串文件,而不仅仅是英语。</p>

<p><strong>编辑:</strong>我找到了 <a href="https://stackoverflow.com/questions/27722789/localization-native-development-region-base-localization-and-appstore-language" rel="noreferrer noopener nofollow">this question</a> ,它以某种方式为上述选项 B 提供了“修复”。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>好的,这就是我所接受的(但我仍然会接受更好/更聪明的答案):</p>

<p>我按照 <a href="https://stackoverflow.com/questions/27722789/localization-native-development-region-base-localization-and-appstore-language" rel="noreferrer noopener nofollow">the question I mentioned before</a> 的建议做了,并编辑 Xcode 项目文件以强制将日语作为“开发语言”:</p>

<pre><code>developmentRegion = English;
            hasScannedForEncodings = 0;
            knownRegions = (
                en,
                Base,
            );
</code></pre>

<p>变成:</p>

<pre><code>developmentRegion = Japanese;
            hasScannedForEncodings = 0;
            knownRegions = (
                en,
                ja,
                Base,
</code></pre>

<p>接下来,对于我想要本地化的 Storyboard/xib,我将选中文件检查器/本地化中的“英语”复选框:</p>

<p> <img src="/image/7GOeL.png" alt="enter image description here"/> </p>

<p>...这将为英语本地化创建我的字符串文件(注意“英语”下方的“日语”复选框。我宁愿它根本不存在,因为基本 xibs/storyboards 已经有日语文本标签默认情况下,但我可以不选中它)。</p>

<p>现在,<strong>项目</strong>的信息 Pane 中的“本地化”部分如下所示:</p>

<p> <img src="/image/hUvUz.png" alt="enter image description here"/> </p>

<p><strong>附录:</strong> 现在我想起来了,像这样设置,如果有人在(比如说)设置为法语的 iPhone 上启动这个应用程序,应用程序将回退到日语(不是英语)。这可能并不理想,因为非日语使用者的默认语言应该是英语,而不是相反。 </p>

<p>但是,我无法用英文设计我的 xib,然后再将它们翻译成日文。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 用日语开发应用程序,将本地化添加到英语,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/31043913/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/31043913/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 用日语开发应用程序,将本地化添加到英语