西堀です。
git master (2859c2541d0da5dc689d912a166f370ced9dc8de) のビルド後
.pot
を生成してみたところ、これまで経験した憶えがない事象に遭遇しました。一部の
.pot で msgid
が二重定義されている旨のエラーが発生しました。
1. 再現方法
1-1. git master (2859c2541d0da5dc689d912a166f370ced9dc8de)
をビルドする。
1-2. make translations を実行して workdir/pot を生成する。
3-3. 各 .pot に msgfmt -cv -o /dev/null
を実行する。具体的には
(カレントが workdir で)for i in `find pot -name "*.pot"
-print|sort`;do msgfmt -cv -o /dev/null $i >> pots-status 2>&1; done;
grep --before-context=0 --after-context=1 -e '定義' pots-status >
pots-error; rm pots-status
# 拙いコマンドですみません……
2. 結果
上記の方法にて生成した pots-error を以下に記します。
--(ここから)--
pot/basic/source/classes.pot:893:
メッセージが二重に定義されています...
pot/basic/source/classes.pot:814:
...これは最初の定義の場所です
msgfmt: 1 個の致命的エラーが見つかりました
--
pot/formula/source/core/resource.pot:193:
メッセージが二重に定義されています...
pot/formula/source/core/resource.pot:184:
...これは最初の定義の場所です
pot/formula/source/core/resource.pot:413:
メッセージが二重に定義されています...
pot/formula/source/core/resource.pot:224:
...これは最初の定義の場所です
msgfmt: 2 個の致命的エラーが見つかりました
--
pot/sc/source/ui/src.pot:24279:
メッセージが二重に定義されています...
pot/sc/source/ui/src.pot:24260:
...これは最初の定義の場所です
pot/sc/source/ui/src.pot:24689:
メッセージが二重に定義されています...
pot/sc/source/ui/src.pot:24670:
...これは最初の定義の場所です
pot/sc/source/ui/src.pot:24739:
メッセージが二重に定義されています...
pot/sc/source/ui/src.pot:24720:
...これは最初の定義の場所です
pot/sc/source/ui/src.pot:24789:
メッセージが二重に定義されています...
pot/sc/source/ui/src.pot:24770:
...これは最初の定義の場所です
msgfmt: 4 個の致命的エラーが見つかりました
--
pot/scaddins/source/analysis.pot:2165:
メッセージが二重に定義されています...
pot/scaddins/source/analysis.pot:2146:
...これは最初の定義の場所です
pot/scaddins/source/analysis.pot:2265:
メッセージが二重に定義されています...
pot/scaddins/source/analysis.pot:2256:
...これは最初の定義の場所です
pot/scaddins/source/analysis.pot:2285:
メッセージが二重に定義されています...
pot/scaddins/source/analysis.pot:2276:
...これは最初の定義の場所です
msgfmt: 3 個の致命的エラーが見つかりました
--
pot/sd/source/core.pot:574:
メッセージが二重に定義されています...
pot/sd/source/core.pot:565: ...これは最初の定義の場所です
msgfmt: 1 個の致命的エラーが見つかりました
--
pot/svtools/source/misc.pot:611:
メッセージが二重に定義されています...
pot/svtools/source/misc.pot:602:
...これは最初の定義の場所です
msgfmt: 1 個の致命的エラーが見つかりました
--
pot/svx/source/dialog.pot:4385:
メッセージが二重に定義されています...
pot/svx/source/dialog.pot:4236:
...これは最初の定義の場所です
pot/svx/source/dialog.pot:4485:
メッセージが二重に定義されています...
pot/svx/source/dialog.pot:4476:
...これは最初の定義の場所です
msgfmt: 2 個の致命的エラーが見つかりました
--
pot/svx/source/src.pot:63:
メッセージが二重に定義されています...
pot/svx/source/src.pot:54: ...これは最初の定義の場所です
pot/svx/source/src.pot:133:
メッセージが二重に定義されています...
pot/svx/source/src.pot:124: ...これは最初の定義の場所です
pot/svx/source/src.pot:363:
メッセージが二重に定義されています...
pot/svx/source/src.pot:304: ...これは最初の定義の場所です
pot/svx/source/src.pot:825:
メッセージが二重に定義されています...
pot/svx/source/src.pot:816: ...これは最初の定義の場所です
msgfmt: 4 個の致命的エラーが見つかりました
--
pot/sw/source/ui/utlui.pot:1976:
メッセージが二重に定義されています...
pot/sw/source/ui/utlui.pot:1957:
...これは最初の定義の場所です
msgfmt: 1 個の致命的エラーが見つかりました
--(ここまで)--
エラー箇所付近を見てみると、msgid, msgctxt,
keyid(を示すコメント)が確かに重複しています。
3. 相談事項
3-1. まず、皆さんのところでは再現するでしょうか。
3-2. 過去にもこのようなことはあったのでしょうか。
3-3. LibreOffice は gettext
の仕組みをそのまま利用しているわけではないので、このエラーは、そもそも心配する必要がないのでしょうか。
ご存じの方、ご教示いただければ幸いです。
西堀
--
Unsubscribe instructions: E-mail to discuss+unsubscr...@ja.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/discuss/
All messages sent to this list will be publicly archived and cannot be deleted