#! /usr/bin/perl # add a new text to *.po files die "usage: add_text [-c comment] id text_line1 text_line2 ... \nexample:\n add_text MENU_LANG Language\n" if @ARGV < 2; while($ARGV[0] eq '-c') { shift; push @l, "#. $ARGV[0]\n"; shift; } $id = shift; @texts = @ARGV; $id =~ s/^txt_//; $_ = join '', @texts; push @l, "#. txt_$id\n"; push @l, "#, c-format\n" if /%/; if(@texts == 1) { push @l, "msgid \"$texts[0]\"\n" } else { push @l, "msgid \"\"\n"; for (@texts) { push @l, "\"$_\"\n" } } push @l, "msgstr \"\"\n"; push @l, "\n"; print @l; print STDERR "Should this entry be added to all *.po files? [Y/n]\n"; $_ = ; chomp; $_ = "\L$_"; exit unless $_ eq '' || $_ eq 'y'; print "ok\n"; for $f ("bootloader.pot", <*.po>) { if(open F, "+<$f") { @f = ; print F "\n" if $f[-1] !~ /^\s*$/; print F @l; close F; } }