Bug 737426

Summary: [l10n] false warning "Message missing from PO file"
Product: [Community] Publican Reporter: kanda.motohiro
Component: publicanAssignee: Jeff Fearn <jfearn>
Status: CLOSED CURRENTRELEASE QA Contact: tools-bugs <tools-bugs>
Severity: low Docs Contact:
Priority: unspecified    
Version: 2.6CC: hpeters, ikabanova, mhideo, rlandman
Target Milestone: 3.0   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: 3.0.0 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-10-30 23:11:33 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Attachments:
Description Flags
xml and po files to reproduce the problem none

Description kanda.motohiro 2011-09-11 21:08:45 EDT
Created attachment 522639 [details]
xml and po files to reproduce the problem

Description of problem:
When I built Japanese translation of Fedora Musician's guide, I got tons of warnings:
WARNING: Message missing from PO file, consider updating your POT and PO files.
"my translated msgstr"
But the book built fine.
I tried with much simpler XML, enabled publican debug messages, and I felt this
might be XML parsing problem of publican.

Publican::Translate::translate is trying to look up an XML node which is already translated. The msgid shown in the warning message is actually a msgstr substituted in the previous translate call.

Version-Release number of selected component (if applicable):
2.6 on Fedora 15

How reproducible:
Always

Steps to Reproduce:
1.untar the attached xml and po files
2.publican build --format=html-single --lang=ja-JP
  
Actual results:
WARNING: Message missing from PO file, consider updating your POT and PO files.
"msgstr2"

Expected results:


Additional info:
This is not a multibyte issue.
Comment 1 Jeff Fearn 2011-10-10 19:33:36 EDT
Translatable children with mixed mode, translatable, parents can be processed twice. Added code to prevent multiple processing.

Change check for null strings to stop bogus warning about sting "" being missing from PO file.

Applied changes to branches/publican-2x and trunk.

Committed revision 1912.
Comment 2 Michael Hideo 2012-06-07 21:37:05 EDT
build fedora musicians guide in japanese. should not see any "message missing from po file".
Comment 4 Jeff Fearn 2012-06-22 20:01:33 EDT
inlinemediaobject was not being treated as a translatable tag, now it is.

To ssh://git.fedorahosted.org/git/publican.git
   201bd98..8830412  master -> master
Comment 5 Hedda Peters 2012-06-29 01:23:43 EDT
It still seems to give out the same warnings for inlinemediaobjects:


[hpeters@localhost SAM]$ publican build --format=html-single --lang=de-DE
Setting up de-DE
	Merging de-DE/Accessing_SAM.po >> en-US/Accessing_SAM.xml -> tmp/de-DE/xml_tmp//Accessing_SAM.xml
WARNING: Message missing from PO file, consider updating your POT and PO files.
"<inlinemediaobject> <imageobject> <imagedata fileref=\"images/status-red.png\" format=\"PNG\" /> </imageobject> <textobject> <phrase>red square</phrase> </textobject> </inlinemediaobject>"

WARNING: Message missing from PO file, consider updating your POT and PO files.
"<inlinemediaobject> <imageobject> <imagedata fileref=\"images/status-yellow.png\" format=\"PNG\" /> </imageobject> <textobject> <phrase>yellow triangle</phrase> </textobject> </inlinemediaobject>"

WARNING: Message missing from PO file, consider updating your POT and PO files.
"<inlinemediaobject> <imageobject> <imagedata fileref=\"images/status-green.png\" format=\"PNG\" /> </imageobject> <textobject> <phrase>green circle</phrase> </textobject> </inlinemediaobject>"

(...)

[hpeters@localhost SAM]$ rpm -qa publican
publican-3.0-0.fc16.t197.noarch


I even re-build pot and po files and re-pulled translations from Zanata before testing again, same result. 
If I am possibly missing something else let me know.
Comment 7 Hedda Peters 2012-07-05 03:01:23 EDT
Huh, confirmed - sorry Jeff. 
Not sure what went wrong last time around, but works fine now.