最佳实践i18n XML

时间:2014-05-21 09:44:27

标签: xml xsd

我有一个像这样的XML

<xml>
    <Entry id="MyEntry">
        <TimeRange>
            <Start>9:00</Start>    
            <End>23:00</End>
        </TimeRange>
        <Parameters>
            <Parameter>
                <Name>MyParam</Name>
                <Value>asadad</Value>
            </Parameter>
            <Parameter>
                <Name>MyParam2</Name>
                <Value>sdsd</Value>
            </Parameter>
        </Parameters>
    </Entry>
    <Entry id="MyEntry2">
        <TimeRange>
            <Start>9:00</Start>    
            <End>23:00</End>
        </TimeRange>
        <Parameters>
            <Parameter>
                <Name>MyParam</Name>
                <Value>askkad</Value>
            </Parameter>
            <Parameter>
                <Name>MyParam2</Name>
                <Value>sdksd</Value>
            </Parameter>
        </Parameters>
    </Entry>
</xml>

每个国家(fr,de ...)本地化的最佳方法是什么?

  • 为每个最终元素添加每个值的枚举
  • 将整个结构包含在lang = code
  • 描述每个ID和国家/地区的每个条目,例如条目ID =“a”lang =“fr”,条目ID =“a”lang =“de”
  • ...

有许多方法,但我想知道什么是标准,以避免任何即将到来的问题。

2 个答案:

答案 0 :(得分:1)

据我了解您的情况,您有一组条目,您希望将这些条目存储在XML中,其中包含各种国家/地区代码的部分或全部子元素的本地化。可以理解

在这种情况下,最佳做法取决于您将如何使用数据。如果条目将用作本地化应用程序的输入,则在最高级别进行本地化是有意义的:要么为每个国家/地区代码创建多个文档/文件,要么创建一个包含多个国家/地区作为顶级标记的单个文档。

<xml country='DE'>
    <Entry>...
    <Entry>...
</xml>

<xml>
    <country id='DE'>
        <Entry>...
    </country>
</xml>

如果您在阅读条目后想要多个国家/地区的本地化数据,则可以通过多种方式将本地化值存储在最低级别:

<Entry id="MyEntry1">
    <TimeRange>
        <Start>9:00</Start>    
        <End>23:00</End>
    </TimeRange>
    <Parameters>
        <Parameter>
            <Name>MyParam</Name>
            <Value country='DE'>askkad</Values>
            <Value country='FR'>sdksd</Values>
        </Parameter>
    </Parameters>
</Entry>

答案 1 :(得分:1)

关注W3C's Best Practices for XML Internationalization特别是,第4节提供了有关在XSD中使用xml:lang的指导;其他部分显示了使用lang,xml:lang等的示例。指定语言时,请使用指定的language tags from IETF

在设计架构时,您需要考虑:

  1. 是否允许使用多种语言?我更喜欢这种方法 支持多语言应用程序,例如,显示en-US和amp; FR-CA 同时
  2. XML文档是以toto还是将存储的 元素拼接?拼接是更多的工作,但允许 较小的有效载荷;精心设计的架构可确保拼接的完整性 文档