1

这是让我发疯的一个:

我最近开始研究 Appcelerator Titanium。我已经使用普通项目和使用 Alloy 构建了一些小应用程序,因此我至少了解基础知识。

我无法工作的一件事是 i18n 文件夹/文件。

这是我所做的: - 创建一个“默认项目” - 将文件夹添加到根目录“i18n” - 将“en”和“es”文件夹添加到“i18n” - 将“strings.xml”添加到这两个新文件夹。- 添加:

    <?xml version="1.0" encoding="UTF-8"?>
    <resources>
       <string name="welcome_message">Welcome TEST</string>
    </resources>

到strings.xml,除了es字符串中我放了“ES Welcome TEST”。- 在 Resources -> app.js 我将“I am Window 1”更改为 L('welcome_message') - 运行应用程序

普通版和合金版都只是显示一个空白屏幕。我想让我的合金应用程序工作得最好,但据我了解,本地化代码在两个应用程序中应该是一样的。在合金中,我可能只需要把它放在风格中。

任何指针都会很棒!我看过其他声称它不起作用的帖子,但所有这些帖子要么是语法错误,要么只是设置错误。我已经复制了他们的代码并且遇到了完全相同的问题,它无法正常工作,所以我感觉我错过了新手步骤。

-- 这是一些截图,我刚刚创建了一个全新的常规(不是合金)项目,添加了上面的代码并尝试使用 L('welcome_message') 没有运气。我尝试在新 PC 上安装所有内容,以确保我的主计算机上没有搞砸任何东西。 在此处输入图像描述 在此处输入图像描述

4

2 回答 2

2

以下是答案:

https://wiki.appcelerator.org/display/guides/Internationalization

默认情况下,您的清单文件不会默认设置为允许本地化,除非您选择选项卡式项目。

如果你问我,有点傻。

于 2013-04-21T17:21:12.363 回答
0

对于主题海报:

我的新 string.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <string name="welcome_message">Don't Help Austin</string>
    <string name="user_agent_message">user agent set to</string>
    <string name="format_test">Your name is %s</string>
    <string name="base_ui_title">Base UI</string>
    <string name="controls_win_title">Controls</string>
    <string name="phone_win_title">Phone</string>
    <string name="platform_win_title">Platform</string>
    <string name="mashups_win_title">Mashups</string>
    <string name="ordered">Hi %1$s, my name is %2$s</string>
</resources>

我的非合金实验截图:

在此处输入图像描述

对于那些希望回答该主题中的问题的人,这可能是下面的答案。

我的 i18n 文件夹与应用程序和插件位于同一层次结构级别,因此我的文件夹不像其他合金资源那样位于应用程序文件夹中。

索引.xml

<Alloy>
    <Window class="container">
        <Label id="label" onClick="doClick"></Label>
    </Window>
</Alloy>

索引.tss

".container": {
    backgroundColor:"white"
},
"Label": {
    width: Ti.UI.SIZE,
    height: Ti.UI.SIZE,
    color: "#000",
    text: L("welcome_message")
} 

字符串.xml

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <string name="welcome_message">Welcome to Kitchen Sink for Titanium</string>
    <string name="user_agent_message">user agent set to</string>
    <string name="format_test">Your name is %s</string>
    <string name="base_ui_title">Base UI</string>
    <string name="controls_win_title">Controls</string>
    <string name="phone_win_title">Phone</string>
    <string name="platform_win_title">Platform</string>
    <string name="mashups_win_title">Mashups</string>
    <string name="ordered">Hi %1$s, my name is %2$s</string>
</resources>

当我将 L("welcome_message") 放在 index.xml 中时,它不起作用。

于 2013-04-19T13:29:08.460 回答