为了便于后面再将po文件合并到源代码中,我对po文件做了一点加工,比如:
[code:1]
# #-#-#-#-# gtkwidget.pott (PACKAGE VERSION) #-#-#-#-#
# used by: GtkWidget::parent-set:
# #-#-#-#-# gtkwidget.pott (PACKAGE VERSION) #-#-#-#-#
# used by: GtkWidget::style-set:
#: /tmp/gtk+-2.10.6/gtk/gtkwidget.c:626@1
#: /tmp/gtk+-2.10.6/gtk/gtkwidget.c:653@1
msgid "@widget: the object on which the signal is emitted"
msgstr ""
[/code:1]
以# #-#-#-#-#开头的不用管。
#used by:GtkWidget::style-set: :表示这个msgid被GtkWidget::style-set使用。如果使用poedit翻译的话,就能看到这是个注释。
/tmp/gtk+-2.10.6/gtk/gtkwidget.c:653@1: 表示这个条目在源文件中的行号及从本行起共占用的行数。像这行的内容表示在gtkwidget.c文件中第653行,只占一行。同时也出现在第626行。后面的@1是我加上去的,目前看来用gettext工具可以正常处理。
像@widget是gtkdoc的格式,翻译时要保留原样。
再如:
[code:1]
# #used by: GtkWidget::drag-data-get:
#: /tmp/gtk+-2.10.6/gtk/gtkwidget.c:1245@4
msgid ""
"The ::drag-data-get signal is emitted on the drag source when the drop site "
"requests the data which is dragged. It is the responsibility of the signal "
"handler to fill @data with the data in the format which is indicated by "
"@info. See gtk_selection_data_set() and gtk_selection_data_set_text()."
msgstr ""
[/code:1]
说明这个条目被函数GtkWidget::drag-data-get使用,开始于源文件gtkwidget.c的1245行,共4行内容,即1245到1248行。