xgettext가 문자열을 잘못 정렬합니다.

xgettext가 문자열을 잘못 정렬합니다.

C 소스 코드에서 번역 파일을 생성하려고 합니다. 번역 항목은 소스 코드에 나타나는 순서와 정확히 동일합니다. 그래요아니요일부 문자열은 보존해야 하는 도메인별 순서로 정렬되므로 알파벳순으로 정렬하거나 임의 순서로 정렬하려고 합니다. 다음 테스트 파일이 있습니다.

char * elements[] = {gettext("Hydrogen"), gettext("Helium"), gettext("Lithium")};

나는 을 사용하고 있습니다 xgettext -F test.c.문서위치별로 정렬해야 합니다.

-F,--sort-by-file

    파일 위치별로 출력 정렬

그러나 출력은 알파벳순으로 정렬된 것 같습니다.

#: test.c:1
msgid "Helium"
msgstr ""

#: test.c:1
msgid "Hydrogen"
msgstr ""

#: test.c:1
msgid "Lithium"
msgstr ""

누군가 정확히 어떻게 작동하는지 -F(그리고 -s알파벳순으로 정렬해야 하는지) 설명해 줄 수 있나요? 단일 행 내에서 위치별로 정렬하는 플래그를 놓쳤습니까?

답변1

출력 파일의 주석은 단서를 제공합니다. 분명히 -F정렬 중통과전화 번호, 그런 다음 각 행 내에서 알파벳순으로 정렬합니다. 입력을 다음으로 변경하십시오.

char * elements[] = {gettext("Hydrogen"),
                     gettext("Helium"),
                     gettext("Lithium")};

생산하다

#: test2.c:1
msgid "Hydrogen"
msgstr ""

#: test2.c:2
msgid "Helium"
msgstr ""

#: test2.c:3
msgid "Lithium"
msgstr ""

관련 정보