置換しない部分のデータは省略することができます。
例えば、前回挙げたstrmapの英語版もこのようになっています。
https://github.com/onitama/mucom88/blob/master/hspplugin/en.strmap
出力されるstrmapは、あくまでもスクリプトに含まれるすべての文字列が列挙されたものであり、
実際の置換作業では不要な部分を取り除いたstrmap'を土台とすることになるかと思います。
翻訳担当には後者の編集済みファイルを提供するのがよいでしょう。
あるいは元テキストを検索してハッシュコードを取り出すようなツールを作ってもよさそうです。
*make
notesel jp
noteload "jp.txt";"サンプル\n日本語\nテキスト\n"
split jp,"\n",list
count=stat-1
sdim hashCode,64,count
bsave "hash.dat",hashCode,0
noteload "sample.strmap";このスクリプトのstrmap
offset=0
repeat count
index=notefind(list(cnt),notefind_match)
noteget hashCode(cnt),index-1
bsave "hash.dat",hashCode(cnt),64,offset
offset+=64
loop
noteunsel
*use
exist "hash.dat"
count=strsize/64
sdim hashCode,64,count
offset=0
repeat count
bload "hash.dat",hashCode(cnt),64,offset
offset+=64
loop
notesel en
noteload "en.txt";"Sample\nEnglish\nText\n"
repeat count
noteadd hashCode(cnt),cnt*2
loop
noteunsel
memfile en
strexchange "mem:"
*sample
mes "日本語"
mes "テキスト"
mes "サンプル"