diff --git a/scripts/gen-bilingual.fish b/scripts/gen-bilingual.fish new file mode 100755 index 0000000..5c5db82 --- /dev/null +++ b/scripts/gen-bilingual.fish @@ -0,0 +1,57 @@ +#!/usr/bin/env fish +# Generate bilingual.dj from source.dj + target.dj in a directory +# Usage: gen-bilingual + +set dir (realpath $argv[1]) +set src "$dir/source.dj" +set tgt "$dir/target.dj" +set out "$dir/bilingual.dj" + +if not test -f $src; or not test -f $tgt + echo "Missing source.dj or target.dj in $dir" >&2 + exit 1 +end + +python3 -c " +import sys +src_path, tgt_path, out_path = sys.argv[1:] + +with open(src_path) as f: + src_lines = f.read().splitlines() +with open(tgt_path) as f: + tgt_lines = f.read().splitlines() + +src_toc = src_lines[4:32] +tgt_toc = tgt_lines[4:32] +src_body = src_lines[33:] +tgt_body = tgt_lines[33:] + +out = [] + +out.append(src_lines[0]) +out.append(tgt_lines[0]) +out.append('') + +out.append(src_lines[2]) +out.append(tgt_lines[2]) +out.append('') + +for line in src_toc: + out.append(line) +out.append('') +for line in tgt_toc: + out.append(line) +out.append('') + +for s, t in zip(src_body, tgt_body): + if s == '' and t == '': + continue + out.append(s) + out.append(t) + out.append('') + +with open(out_path, 'w') as f: + f.write(chr(10).join(out)) +" $src $tgt $out + +echo $out