西堀です。
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+unsubscribe@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
Context
- [ja-discuss] .pot で msgid が重複 · Kiyotaka Nishibori
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.