translate, done with 众生都是既然众生 and 佛教徒的人生态度
This commit is contained in:
+73
@@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env fish
|
||||
# Generate bilingual.dj from source.dj + target.dj
|
||||
# Article-specific: 如何做好临终关怀
|
||||
# Structure: title (L1), blank (L2), subtitle date (L3), blank (L4), author (L5), blank (L6), TOC L7-12, blank L13, body L14+
|
||||
|
||||
set dir (realpath (dirname (status filename)))
|
||||
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()
|
||||
|
||||
# Title: L1 (idx 0)
|
||||
# Date subtitle: L3 (idx 2)
|
||||
# Author: L5 (idx 4)
|
||||
# TOC: L7-12 (idx 6-11)
|
||||
# Body: L14+ (idx 13+)
|
||||
|
||||
src_toc = src_lines[6:12]
|
||||
tgt_toc = tgt_lines[6:12]
|
||||
src_body = src_lines[13:]
|
||||
tgt_body = tgt_lines[13:]
|
||||
|
||||
out = []
|
||||
|
||||
# Title pair
|
||||
out.append(src_lines[0])
|
||||
out.append(tgt_lines[0])
|
||||
out.append('')
|
||||
|
||||
# Date subtitle pair
|
||||
out.append(src_lines[2])
|
||||
out.append(tgt_lines[2])
|
||||
out.append('')
|
||||
|
||||
# Author pair
|
||||
out.append(src_lines[4])
|
||||
out.append(tgt_lines[4])
|
||||
out.append('')
|
||||
|
||||
# TOC blocks
|
||||
for line in src_toc:
|
||||
out.append(line)
|
||||
out.append('')
|
||||
for line in tgt_toc:
|
||||
out.append(line)
|
||||
out.append('')
|
||||
|
||||
# Body interleaved
|
||||
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
|
||||
Reference in New Issue
Block a user