クイックアンサートピック(ローカリゼーション)ではありませんが、少なくともあなたの質問に答えようとします:
1)はい、必須ではありませんが、各テキストを分離しておくことをお勧めします。それらの1つを変更する場合、両方を変更するリスクはありません(おそらく、異なる言語では、コンテキストのために異なるものに翻訳する必要があります)。
2)もちろんです。次の文字列があると想像してください:_Edit
と_Mark as read
。たとえば、イタリア語では、とに翻訳され_Modifica
ますSegna come già letto
。両方の文字列について、同じ文字に「_」を使用して追加することはできません。これは、翻訳者が注意する必要がある問題です。
3)いいえをお勧めします。1)については、異なる文字列を分離しておくようにしてください(前に述べたのと同じ理由で)。翻訳の費用を節約したい場合(誰が望まないのですか?)、文字列を事前に解析して「正規化された」出力を生成し、翻訳者に提供するプログラムを作成できます(可能な場合は、重複を削除して類似の文字列をマージします) )。ただし、プログラムは詳細を認識しないようにする必要があります。
要約すると、いいえ、プログラム内で(類似した)文字列をマージしようとしないでください。本当に必要な場合は、外部プログラムを使用して(さまざまなモジュールからの文字列を考慮に入れることもできるため、より適切に機能します)、該当する場合にのみ実行されます(ケース3の場合は可能、ケース1と2絶対にありません)。