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) {
|
foreach my $pofile (@pofiles) {
|
||||||
IkiWiki::prep_writefile(basename($pofile),dirname($pofile));
|
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) {
|
if (-e $pofile) {
|
||||||
system("msgmerge", "--previous", "-q", "-U", "--backup=none", $pofile, $potfile) == 0
|
system("msgmerge", "--previous", "-q", "-U", "--backup=none", $pofile, $potfile) == 0
|
||||||
or error("po(refreshpofiles) ".
|
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?
|
that po might be replacing the only link on a page, in error?
|
||||||
--[[Joey]]
|
--[[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
|
Documentation
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue