おそらく、1 つまたは複数のテキスト ファイルがあり、1 つは言語 A、もう 1 つは言語 B などで、後者は最初のファイルの翻訳です。その仮定で:
単語、フレーズ、および/または句読点の周りに一意の番号が付けられたタグを使用して、プレーンテキスト ファイルをマークアップできます。ドイツ語に翻訳すると: "Sehr geehrter Herr, wie geht es dir heute?":
<Language-English:<11:<4:<1:Dear> <2:Sir><3:,>> <10:<7:<5:How are> <6:you>> <8:today><9:?>>>>
<Language-Deutsch:<11:<4:<1:Sehr geehrter> <2:Herr><3:,>> <10:<7:<5:wie geht> <6:es>> <8:dir heute><9:?>>>>
私のドイツ語はかなり古いので、タグが完全に正しくないかもしれませんが、それでも私が考えていることを示しているはずです。
ご覧のとおり、文全体とその部分にはそれぞれ独自のタグがあります。テキストを表示するとき、各<n:
>
ペアは取り除かれ、グループを示すために下線またはその他の形式の強調表示に置き換えることができます。もちろん、複数の下線/強調表示が存在する可能性があります (この例では最大 4 つまで)。言語 A のテキストのハイライトをクリック (および視覚的に強調) すると、対応する言語 B (および存在する場合は他の言語) のハイライトも強調されます。
当然のことながら、実際の翻訳を自動化し、その時点でタグを適用することは重要な作業であるため、マークアップを行うのは人間の翻訳者の仕事である可能性が最も高いでしょう。
ただし、各言語の要素を同時に強調表示し、同等のものとしてマークできる UI は、マークアップ ファイルの生成プロセスを容易にする可能性があります。
他の考慮事項 (配列とデータベース) に関しては、複雑すぎるようです。これらの構造にロードできるように、何らかの方法でテキストをマークアップする必要があります.機械で簡単に翻訳できません。マークアップを取得すると、配列/辞書/データベース/その他の構造について話すことは少し無関係になり、UI プログラマーにとってのみ重要になります。
編集:
さらに検討すると、タグは完全にネストされておらず、分割されている可能性があるため、<n:
:n>
タグのペアが必要になる場合があります。これにより、タグ付き領域を部分的にオーバーラップさせて分割することができます。例えば:
<1:The:1> <2:black:2> <1:dog:1> <3:and <4:the dog:3>'s puppies:4>
「The dog」、「black」、「and the dog」、および「the dog's puppies」のフラグメントがあります。
編集2:
タグ ペア ID をすべての言語で一意にするだけで、マルチテキストをサポートできます。
EN: "The Knight's coat of arms was defaced"
DE: "Das Wappen des Ritters wurde verunstaltet"
FR: "Le blason du Chevalier a été abîmé"
<1:The Knight's:1> <2:coat of arms:2> <5:<3:was:3> <4:defaced:4>:5>.
<2:Das Wappen:2> <1:des Ritters:1> <3:wurde:3> <4:verunstaltet:4>.
<2:Le blason:2> <1:du Chevalier:1> <5:a été abîmé:5>.
ご覧のとおり、タグ 1、2、3、および 4 は英語とドイツ語に適用され、タグ 1、2、および 5 は英語とフランス語に適用されます。タグは非常に簡単に分割され、部分的に重複する可能性があります。