如何本地化.NET库的文档

Tho*_*que 34 .net c# documentation sandcastle localization

我有一个开源项目(这里),其文档目前是法语.使用Sandcastle从代码中的XML注释生成文档.现在我想将文档翻译成英文并提供两种语言的文档,但我真的不知道从哪里开始...

  • 我是否需要从代码中提取XML注释并将它们放在单独的文件中?如果是,是否有任何工具可以自动化该过程?
  • 我正在使用Sandcastle帮助文件生成器来构建文档; 我是否需要创建一个单独的项目来构建英文文档,还是可以从同一个项目中完成?
  • 在翻译过程中是否有任何工具可以帮助您?例如并排显示原始和翻译的文档?

我也对如何制作多语言文档的链接感兴趣,因为我在Google上找不到任何有用的东西......

use*_*116 19

一个需要与Sandcastle XSLT文件进行协调的策略是xml:lang在XML文档中使用该属性.Visual Studio 2010允许保留多个标记(尽管您可能会收到有关重复标记的投诉).

/// <summary>
/// Gets or sets the fill size of the load operation.
/// </summary>
/// <summary xml:lang="fr">
/// Obtient ou définit la taille de remplissage de l'opération de chargement.
/// </summary>
public int FillSize
{
    get;
    set;
}
Run Code Online (Sandbox Code Playgroud)

结果输出:

<member name="P:Namespace.MyAttribute.FillSize">
    <summary>
    Gets or sets the fill size of the load operation.
    </summary>
    <summary xml:lang="fr">
    Obtient ou définit la taille de remplissage de l'opération de chargement.
    </summary>
</member>
Run Code Online (Sandbox Code Playgroud)


rem*_*rel 6

我们这样做:

  • 我们在所有文档标记之后添加了一个"<EN>"标记,如下所示:

    /// <summary>
    /// Description du produit
    /// <EN>Product's description</EN>
    /// </summary>
    
    Run Code Online (Sandbox Code Playgroud)
  • 然后在sandcastle xslt文件(开发/ presentaton/vs2005/transforms/main_sandcastle.xsl)中,我们转到匹配"param"的模板(对我们来说是第95行),我们添加了

    <span class="trad"> 
        <xsl:value-of select="msxsl:node-set(.)/EN"/>
    </span>
    
    Run Code Online (Sandbox Code Playgroud)
  • 然后你可以改变css以你喜欢的颜色显示翻译.