po: Fix copy of po file from underlay when editing
When first editing a page that was in the underlay, avoid losing the translation by copying the po file over from the underlay.master
parent
8c4325d2ce
commit
83480665c2
|
@ -827,6 +827,21 @@ sub refreshpofiles ($@) {
|
|||
|
||||
foreach my $pofile (@pofiles) {
|
||||
IkiWiki::prep_writefile(basename($pofile),dirname($pofile));
|
||||
|
||||
if (! -e $pofile) {
|
||||
# If the po file exists in an underlay, copy it
|
||||
# from there.
|
||||
my ($pobase)=$pofile=~/^\Q$config{srcdir}\E\/?(.*)$/;
|
||||
foreach my $dir (@{$config{underlaydirs}}) {
|
||||
if (-e "$dir/$pobase") {
|
||||
File::Copy::syscopy("$dir/$pobase",$pofile)
|
||||
or error("po(refreshpofiles) ".
|
||||
sprintf(gettext("failed to copy underlay PO file to %s"),
|
||||
$pofile));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (-e $pofile) {
|
||||
system("msgmerge", "--previous", "-q", "-U", "--backup=none", $pofile, $potfile) == 0
|
||||
or error("po(refreshpofiles) ".
|
||||
|
|
|
@ -277,17 +277,6 @@ That used to be so, but the bug was fixed. Does this mean
|
|||
that po might be replacing the only link on a page, in error?
|
||||
--[[Joey]]
|
||||
|
||||
Bug when editing underlay file
|
||||
------------------------------
|
||||
|
||||
While I've gotten translated underlays working, there is a bug
|
||||
if the wiki is currently using a page from the underlay, and the master
|
||||
language version is edited. This causes the edited page to be saved
|
||||
to srcdir.. and all the translations get set to 0% and their
|
||||
po files have the translated strings "emptied". What's really going on
|
||||
is that these are entirely new po files not based on the old ones
|
||||
in the basewiki, and thus lacking translations. --[[Joey]]
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
|
|
Loading…
Reference in New Issue