在切换手机语言时,GeoODK收集表格不能翻译

时间:2015-01-16 22:51:01

标签: xml forms translation odk

正如标题所说,当我为xml表单的标签指定翻译语言时,我会将我的手机语言切换为指定的语言,应用程序本身会正确翻译,但表单保留为英文。

起初我想翻译成阿拉伯语,我指定العربية作为语言翻译。没啥事儿。 我提到了文档并指定了“label ::Español”以检测西班牙语并在手机上使用西班牙语时翻译,因为我认为“العربية”可能不是阿拉伯语的正确选择器。仍然与西班牙语,形式仍未翻译。

我需要有ODK收集表格翻译经验的人来帮助我。我使用的XML:

<?xml version="1.0"?>
<h:html xmlns="http://www.w3.org/2002/xforms" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:jr="http://openrosa.org/javarosa" xmlns:orx="http://openrosa.org/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <h:head>
        <h:title>arabic sample</h:title>
        <model>
          <itext>
            <translation default="true()" lang="default">
              <text id="/sampletest/select_example/yes:label">
                <value>Yes</value>
              </text>
              <text id="/sampletest/select_example/no:label">
                <value>No</value>
              </text>
              <text id="/sampletest/select_example:label">
                <value>This is a select_one type question.</value>
              </text>
            </translation>
            <translation lang="العربية">
              <text id="/sampletest/select_example/yes:label">
                <value>نعم</value>
              </text>
              <text id="/sampletest/select_example/no:label">
                <value>كلا</value>
              </text>
              <text id="/sampletest/select_example:label">
                <value>اختر واحد</value>
              </text>
            </translation>
          </itext>
          <instance>
            <sampletest id="arabic sample">
              <select_example/>
              <required_text/>
              <datetime_test/>
              <geopoint_test/>
              <meta>
                <instanceID/>
              </meta>
            </sampletest>
          </instance>
          <bind nodeset="/sampletest/select_example" type="select1"/>
          <bind nodeset="/sampletest/required_text" required="true()" type="string"/>
          <bind nodeset="/sampletest/datetime_test" type="dateTime"/>
          <bind nodeset="/sampletest/geopoint_test" type="geopoint"/>
          <bind calculate="concat('uuid:', uuid())" nodeset="/sampletest/meta/instanceID" readonly="true()" type="string"/>
        </model>
      </h:head>
      <h:body>
        <select1 ref="/sampletest/select_example">
          <label ref="jr:itext('/sampletest/select_example:label')"/>
          <hint>In the type column you must include the name of a choices list that sets the available options. Choices lists are specified on the choices sheet.</hint>
          <item>
            <label ref="jr:itext('/sampletest/select_example/yes:label')"/>
            <value>Yes</value>
          </item>
          <item>
            <label ref="jr:itext('/sampletest/select_example/no:label')"/>
            <value>no</value>
          </item>
        </select1>
        <input ref="/sampletest/required_text">
          <label>Required field</label>
          <hint>You have to enter something to continue.</hint>
        </input>
        <input ref="/sampletest/datetime_test">
          <label>Enter a date and a time:</label>
        </input>
        <input ref="/sampletest/geopoint_test">
          <label>Record your location:</label>
          <hint>GPS coordinates can only be collected when outside.</hint>
        </input>
      </h:body>
    </h:html>

1 个答案:

答案 0 :(得分:1)

我认为您的XForm可能没问题。在加载表单后,您是否在ODK Collect中自行切换表单语言? (在表单视图中单击“菜单”按钮)。我相信这是改变 form 语言的唯一方法。