35

私はオープンソースプロジェクト(ここ)を持っており、そのドキュメントは現在フランス語です。ドキュメントは、Sandcastleを使用して、コード内のXMLコメントから生成されます。今、私はドキュメントを英語に翻訳し、両方の言語でドキュメントを提供したいと思いますが、どこから始めればよいのか本当にわかりません...

  • コードからXMLコメントを抽出して、別のファイルに入れる必要がありますか?はいの場合、プロセスを自動化するためのツールはありますか?
  • Sandcastle HelpFileBuilderを使用してドキュメントを作成しています。英語でドキュメントを作成するために別のプロジェクトを作成する必要がありますか、それとも同じプロジェクトから作成できますか?
  • 翻訳プロセスに役立つツールはありますか?たとえば、元のドキュメントと翻訳されたドキュメントを並べて表示しますか?

また、Googleで役立つものが見つからなかったため、多言語ドキュメントの作成方法に関するリンクにも興味があります...

4

5 に答える 5

21

Sandcastle XSLTファイルとの調整が必要な1つの戦略は、xml:langXMLドキュメントで属性を使用することです。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;
}

結果の出力:

<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>
于 2011-06-07T15:29:51.563 に答える
6

私たちはこのようにしました:

  • 次のように、すべてのドキュメントタグの後に「<EN>」タグを付けます。

    /// <summary>
    /// Description du produit
    /// <EN>Product's description</EN>
    /// </summary>
    
  • 次に、sandcastle xsltファイル(Development / presentaton / vs2005 / transforms / main_sandcastle.xsl)で、「param」に一致するテンプレート(95行目)に移動し、追加しました。

    <span class="trad"> 
        <xsl:value-of select="msxsl:node-set(.)/EN"/>
    </span>
    
  • 次に、cssを変更して、翻訳を好きな色で表示できます。

于 2011-06-07T15:01:43.450 に答える
2

考えられる戦略の1つは、コードにデフォルトの言語を使用し、翻訳を個別に提供することです。

最終的にどのローカライズされた言語を使用する場合でも、ドキュメントのデフォルト/フォールバック言語として英語を選択したいと思います。

コード構造は、翻訳データベースのインデックスを提供します。次に例を示します。

Type, NameWithNamespace, OptionalParameterName

"member", "MyProject.Core.Loader.FillSize", ...

各名前空間/メンバーのUIでの翻訳を可能にするツールを使用できます。

別の翻訳者チームが、まだ翻訳されていないアイテムを調べて、翻訳を提供することができます。

また、翻訳されたアイテムの量がしきい値を超えるとすぐに、リリースとして翻訳されたドキュメントの出荷を開始できます。

デフォルトの翻訳を変更すると、他のすべての言語にも新しい翻訳が必要になることがわかります。

もちろん、名前空間のみの主要な変更を行う場合は、データベースでアドホックな再マッピング操作として名前空間を再マッピングできます。

オープンソースプロジェクトを実行する場合は、共同のオンライン翻訳ツールを使用することが重要です。

本番環境で実装されたこのような共同翻訳戦略の一例は、 https://translations.atlassian.com/です。

基本的に、あなたはただ足を踏み入れて、オンラインで翻訳を提供し始めることができます。

ドキュメントではなく、製品自体を翻訳するように設定されていますが、同じ方法が適用されます。

于 2015-09-01T13:27:56.643 に答える
1

あなたは自分自身にトリッキーなものを持っています。ほとんどのソフトウェアは英語で開発されているため、実際には「ベストプラクティス」はありません。

そうは言っても、他の多言語ドキュメントを見ると、この問題をどのように処理しているのでしょうか。

国際規格を取ります。ISO9001のようなもの。あなたは英語、フランス語、ロシア語などで利用可能な同じ文書(ISO 9001:2008 )を持っています。

または、 ISO5247-2には英語+フランス語+ロシア語のドキュメントが1つあります。

変更をどのように処理しますか?パッチを差し上げますが、コメントは英語のみですが、プロセスはどうなりますか?英語のパッチA、スペイン語のパッチB、英語とフランス語のパッチCがある場合はどうなりますか?

別のオプションは、プロジェクトをフォークすることです。メインブランチは最新のビルドでフランス語になっていて、他の言語を自分の時間に最新のものにしますか?

ソースコード内のコメントを分離すると、維持するのが面倒になります。次に、基本的にビルドスクリプトでリソースファイルを使用します。

これはすでに解決された問題ですか?大規模で多言語のオープンソースプロジェクトについて考える場合、彼らはそれをどのように処理しますか?

于 2011-06-05T22:54:15.057 に答える
1

誰かが解決策を必要とする場合に備えて、Surviveplus.XmlCommentLocalizationと呼ばれるnugetパッケージがあります。見事!

于 2015-10-20T09:59:23.930 に答える