Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

config.xml to Chinese #9894

Closed
wb2712 opened this issue Mar 5, 2023 · 63 comments
Closed

config.xml to Chinese #9894

wb2712 opened this issue Mar 5, 2023 · 63 comments
Labels
install/build bug in the installation or build scripts needinfo reported bug is incomplete, please add additional info

Comments

@wb2712
Copy link

wb2712 commented Mar 5, 2023

Describe the bug
config to Chinese by google translate
The final compiled program cannot run
In the process, some problems were solved and shared here

I use this software to generate manuals for some large-scale open source software, which helps me quickly understand, but the first run usually freezes and can only be forced to kill, and the second time is much better

FindIconv.cmake
Unable to compile and run correctly, I ended up shielding this problem by a tricky way, but did not solve this problem

The following two issues are not fixed in my environment
#9854
#8335

Expected behavior
Use my translated configuration files in the next version as soon as possible
Or to solve my compilation problem

Screenshots
image
image
image
image
image
image
image
image
image
image
image

Additional context

config-chinese.txt
configgen.txt

@wb2712 wb2712 changed the title config.xml to Chinese by google translate config.xml to Chinese Mar 5, 2023
@albert-github albert-github added needinfo reported bug is incomplete, please add additional info install/build bug in the installation or build scripts labels Mar 5, 2023
@albert-github
Copy link
Collaborator

albert-github commented Mar 5, 2023

No idea what you want to express with this issue and the images that you show.
Looks a bit like you didn't install iconv properly / didn't set the proper switches for it. Normally it should be grabbed directly from the doxygen\winbuild directory on Windows. Problem might also come from Ninja.

Why do you want to translate doxygen yourself and not use a version from GitHub Actions like from: https://github.com/doxygen/doxygen/actions/runs/4330803787 ?

Regarding the 2 issues:

I can see that the configgen.txt the resembled the doxygen configgen.py what are the differences or better said the intention behind the changes?
The config-chines.txt looks like a config.xml. What is the purpose of translating the config.xml into Chinese?

@wb2712
Copy link
Author

wb2712 commented Mar 5, 2023

Because my mother tongue is Chinese, English is not very good, and I also want to recommend this software to my colleagues, but there are too many configuration options, I hope to read Chinese directly
The two attachments are due to the website upload format requirements, I converted the format, mainly the content

@wb2712
Copy link
Author

wb2712 commented Mar 5, 2023

The picture shows the environment I compiled with mingw, because I did not use msvc to compile, so the format of the dependent library is different

Some modifications were also made in order to compile successfully in my environment. Finally, the compilation is successful, but the file size is different from the official release version, so it cannot be run

@albert-github
Copy link
Collaborator

the file size is different from the official release version, so it cannot be run

Strange that the created executable cannot be run.

When you don't use the MSVC environment, did you install the iconv under mingw?

@wb2712
Copy link
Author

wb2712 commented Mar 5, 2023

The screenshot shows
"everything software"
It comes with qt. There is this problem in compilation. I changed the project to succeed.

@wb2712
Copy link
Author

wb2712 commented Mar 5, 2023

  1. The switch option of project compilation should be set to non-cache
  2. When searching for a library under Windows, you must specify the suffix name of the library, and the library compiled by msvc mingw cannot be shared
  3. The two folders are closed (the compilation error reports that the file cannot be found), I don’t know why I use it
  4. Optimized the python script to read XML with Chinese (gbk)

@wb2712
Copy link
Author

wb2712 commented Mar 5, 2023

关于2个问题:

The source code I just downloaded two days #9854 Compile successfully after rolling back this change
The problem persists when using the 1.9.1 release version of the software #8335
At the same time, when I was running and collecting a relatively large software to generate documents, after enabling functions such as UML, the generated documents were very large, and the software did not respond for a long time and could not exit normally. I shut down via the control manager,
The second time it runs, the chm file will be generated soon, but an error will still be reported, as shown in my screenshot

@albert-github
Copy link
Collaborator

The source code I just downloaded two days #9854 Compile successfully after rolling back this change

  • which version it is (please the SHA5 id)
  • which change did you roll back

The problem persists when using the 1.9.1 release version of the software #8335

The 1.9.1 version has not been changed so this would be logical (we don't do back patches).

At the same time, when I was running and collecting a relatively large software to generate documents, after enabling functions such as UML, the generated documents were very large, and the software did not respond for a long time and could not exit normally. I shut down via the control manager,
The second time it runs, the chm file will be generated soon, but an error will still be reported, as shown in my screenshot

Might be a bit of a cache effect / the fact that during the first part of the run a lot of dot images were already transformed into images (something that doxygen remembers by means of the md5 files on the HTML directory. (Cannot tell as I don't see the doxygen settings file you used).
Which screenshot? (Note that when a screenshot contains Chinese characters I won't be able to understand it!, same accounts for normal text, so you have to provide a translation).

Still no idea "What is the purpose of translating the config.xml into Chinese?"

When multiple languages should be supported there can be many more things to be considered, like:

  • in the Chines translation (translator_cn.h) there are still a number of English texts and the translator_cn.h has not been updated since version 1.9.4
  • warnings during the doxygen run
  • texts in the doxywizard.

@wb2712
Copy link
Author

wb2712 commented Mar 6, 2023

The source code I just downloaded two days #9854 Compile successfully after rolling back this change

  • which version it is (please the SHA5 id)
  • which change did you roll back

image

The problem persists when using the 1.9.1 release version of the software #8335

The 1.9.1 version has not been changed so this would be logical (we don't do back patches).

1.9.6 The problem still exists, I am using the 1.9.6 version, I said the wrong version
image
image

At the same time, when I was running and collecting a relatively large software to generate documents, after enabling functions such as UML, the generated documents were very large, and the software did not respond for a long time and could not exit normally. I shut down via the control manager,
The second time it runs, the chm file will be generated soon, but an error will still be reported, as shown in my screenshot

Might be a bit of a cache effect / the fact that during the first part of the run a lot of dot images were already transformed into images (something that doxygen remembers by means of the md5 files on the HTML directory. (Cannot tell as I don't see the doxygen settings file you used). Which screenshot? (Note that when a screenshot contains Chinese characters I won't be able to understand it!, same accounts for normal text, so you have to provide a translation).

Still no idea "What is the purpose of translating the config.xml into Chinese?"

This software is very useful, I am in China, I want to recommend this software to my colleagues, but there are too many configuration options, and the English explanation is not friendly, so I simply translated the explanation text in config.xml, But in the end it failed.
In the process, I found that when the source code was compiled with mingw, there would be problems, and I solved it. But don't know why the final file size is wrong.
The parts of the picture frame in the screenshot are the parts that I have modified

iconv "everything software"
image

When multiple languages should be supported there can be many more things to be considered, like:

  • in the Chines translation (translator_cn.h) there are still a number of English texts and the translator_cn.h has not been updated since version 1.9.4
  • warnings during the doxygen run
  • texts in the doxywizard.

doxygen_log.zip

doxygen_config.txt

By the way, can this save function have a different filename depending on the log and configuration? Manually modify the file name each time

@wb2712
Copy link
Author

wb2712 commented Mar 6, 2023

generated_src
I use the software to compare the directory generated by this compilation, and only this file changes, which is also the effect I want. If possible, can you use the following file to replace the file generated in your compilation environment, can you help me compile a usable version in your msvc environment, and nothing else needs to be changed

configoptions.txt

@albert-github
Copy link
Collaborator

There are indeed a lot of configuration options so one can loose track. Furthermore the description is sometimes a bit cryptic and for non-native English speakers quite often hard to understand (I'm not a native English speaker either).
I don't think just translating the text would solve all problems, due to translation errors / misinterpretation through the translator and a cryptic text won't lose its cryptic character, but it might give some quick insight.

I wanted to look at doxygen_config.txt but it says: "Not found" so it is not possible to see your settings.

I looked at the log file in doxygen_log.zip and see here:

error: failed to run html help compiler on index.hhp

lets do some tests

  1. on the html directory there should be a file index.hhp which you can run the htmlhelp compiler on this file, what happens, any warnings errors ?
  2. can you run doxygen with the option -d extcmd so: doxygen -d extcmd Doxyfile and add the klog file in a comment.

Furthermore I see in doxygen_log.zip some non alarming things:

  • some warnings at the top, but they are OK.
  • regular warnings regarding things not documented / incorrect, doxygen, syntax etc. maybe you should here have a look at the settings QUIET and WARN_LOGFILE.

You mentioned:

By the way, can this save function have a different filename depending on the log and configuration?

which save function?

Note: the last master version of doxygen (1.9.7 (2b9f286)) has a new setting (and some reorganization / different placing of some settings) so this means that your config.xml doesn't work anymore with current master (due to the new setting).

  1. problem with UTF-8 characters in config.xml, you found a workaround and posted it.
    It is a bit strange as I thought that by default all XML documents are UTF-8 and also Pythoon outputs UTF-8.
    I had a closer look but still got errors like:
    File "D:\Programs\Python\Python37\lib\encodings\cp1252.py", line 19, in encode
      return codecs.charmap_encode(input,self.errors,encoding_table)[0]
    
    looks like also something has to be done with the output encoding, I'll have to have a closer look.
    Furthermore the encoding='utf-8' is an option that only works for Python 3 (and doxygen still can run with Python 2).
  2. iconv problem under mingw, looks like to be solved (hopefully without a workaround / dirty hack)
  3. size of resulting executable, might be the way everything is compiled (debug versus release)

Regarding the configoptions.cpp, this file contains still a mixture of translated text and original English text (as there is some extra text added to this file due to the xml settings that are translated into more readable text like:

              "The default value is: NO.",
              "Minimum value: 0, maximum value: 8, default value: 8.\n"
              "This tag requires that the tag CREATE_SUBDIRS is set to YES.",

but in general these automatically generated texts will, probably, be quite well understandable.

@albert-github
Copy link
Collaborator

I had a closer look at the fact that I got problems in respect to:

File "D:\Programs\Python\Python37\lib\encodings\cp1252.py", line 19, in encode
  return codecs.charmap_encode(input,self.errors,encoding_table)[0]

this can be easily solved in the original configgen.py by adding:

import io

with the other imports and by adding just befor the main() call:

    sys.stdout = io.open(sys.stdout.fileno(), 'w', encoding='utf8')

Resulting file: configgen.py.tar.gz

Note: this is only working for Python 3!

Compiling the code went OK on my side.
Tests:

  • Doxyfile generation looks OK
  • doxywizard help info looks OK

Generation the documentation fails (though the html documentation is generated), the problem that does arise here is that there are warnings given, indicating that the config.xml as provided is not correct:

.../doc/config.doc:1450: error: expected whitespace after \c command
.../doc/config.doc:1486: error: unable to resolve reference to 'Õ©âÕ▒ÇÚâ¿Õêå' for \ref command
.../doc/config.doc:1640: error: Found unknown command '\end'
.../doc/config.doc:1846: error: Unsupported xml/html tag <> found
.../doc/config.doc:1846: error: Unsupported xml/html tag </> found
.../doc/config.doc:2008: error: explicit link request to 'Õ«ëÞúൣǵû░þëêµ£¼þÜä' could not be resolved
.../doc/config.doc:2160: error: Found unknown command '\end'
.../doc/config.doc:2310: error: explicit link request to 'CCC´╝ø' could not be resolved
.../doc/config.doc:2325: error: explicit link request to 'titlearea' could not be resolved
.../doc/config.doc:2334: error: explicit link request to 'AAA´╝ø' could not be resolved
.../doc/config.doc:2336: error: Found unknown command '\end'
.../doc/config.doc:2896: error: unable to resolve reference to 'Õà¼Õ╝ÅÚâ¿Õêå' for \ref command
.../doc/config.doc:2976: error: Found unknown command '\end'
.../doc/config.doc:2980: error: Found unknown command '\end'
.../doc/config.doc:2995: error: Found unknown command '\end'
.../doc/config.doc:3003: error: Found unknown command '\end'
.../doc/config.doc:3229: error: Found unknown command '\end'
.../doc/config.doc:3233: error: Found unknown command '\end'
.../doc/config.doc:3250: error: Found unknown command '\end'
.../doc/config.doc:3340: error: Found unknown command '\end'
.../doc/config.doc:3579: error: Unsupported xml/html tag <> found
.../doc/config.doc:3579: error: Unsupported xml/html tag </> found
.../doc/config.doc:3956: error: Found unknown command '\end'
.../doc/config.doc:3960: error: Found unknown command '\end'
.../doc/config.doc:3962: error: unable to resolve reference to 'Úâ¿Õêå' for \ref command
.../doc/config.doc:3976: error: unable to resolve reference to 'µáçÞ«░µûçõ╗Â' for \ref command
.../doc/config.doc:4144: error: unable to resolve reference to 'Õêåþ╗ä' for \ref command

I only looked at the \end and see that this has to do with the fact that the word "verbatim" is translated and by further inspection we see that this problem, of course, also is present in the Doxyfile and in the doxywizard help information.

Another problem that will occur with the generation of the documentation is that the pdf will not be generated as the texts are now a mix of English and Chinese and Chinese requires a different engine for generating the pdf.

That said I think the manual should only appear in English (otherwise all other texts should also be translated and just Google translate is not sufficient for this).

@albert-github
Copy link
Collaborator

albert-github commented Mar 6, 2023

@doxygen
The background of this issue is quite intriguing very interesting and has multiple components, but is also very complex as we already can see with the documentation that doxygen generates based on the project its source code (translator_....h).

Some points:

  1. general documentation (i.e. the official doxygen html, latex, chm and internal documentation)
    This is very difficult and cannot be handled by just Google translate, I think this part should be left in English
  2. configuration file
    Based on this issue I already spent dome time on this and for Python 3 it looks very promising without big problems. The biggest problem will be maintenance, as as soon as a new setting is defined (in our case this happened with MSCGEN_TOOLS) or a new option is added (in this case BUILTIN for the setting CLASS_GRAPH) this should also be reflected in the translated versions.
    The issues here are:
    • support for Python 2 (probably we should drop this)
    • update strategy
  3. doxywizard
    Here are quite a few texts used, an interesting approach here is the approach of localizing Doxywizard (Origin: bugzilla #719632) #5368 (though this issue is quite outdated).
    I've seen in a number of packages where a language can be changed (didn't look deeper into) so it would be possible to use this or otherwise a strategy analogous to the "normal" strings (translator....h) could be applied.
  4. warning messages
    I think for this a similar approach can be used as for the texts for the doxywizard.

The big issue for all this is the possibility to translate (requiring some dedicated people who can do the initial translation), maintain the translations and the gains from it.

What is your opinion about all this?

@wb2712
Copy link
Author

wb2712 commented Mar 6, 2023

I'm trying to solve this error
This should be a special character in the character (regular expression), and changes occur after the translation.

@albert-github
Copy link
Collaborator

I'm trying to solve this error
This should be a special character in the character (regular expression), and changes occur after the translation.

Which error?

@wb2712
Copy link
Author

wb2712 commented Mar 6, 2023

If you can't solve it in the short term, I can accept the function of only use to help understand and view the configuration options

Use the official English version during actual operation

image

This preservation
When the content is configuration information, the generated file name is the same as the preservation log

Even if the software compiled with this file cannot run normally, as long as you can check the configuration explanation, it is acceptable

config.txt

@wb2712
Copy link
Author

wb2712 commented Mar 6, 2023

我正在尝试解决这个错误
This should be an special character in the character (regular expression), 翻译后发生变化。

哪个错误?

.../doc/config.doc:2160: error: Found unknown command '\end'

@albert-github
Copy link
Collaborator

Regarding the \end problem looks like that during the Google translate the word "verbatim" is translated into Chines, like with WARN_LINE_FORMAT setting around line 1449 in the xml file.

@wb2712
Copy link
Author

wb2712 commented Mar 6, 2023

My compilation environment is python3
My modification is as shown in the figure, no error occurred after modification
image
The newly added exception capture is to find the characters with abnormal encoding and modify them

@albert-github
Copy link
Collaborator

Did you try to build the documentation i.e make docs ? As here I saw the problem.

@wb2712
Copy link
Author

wb2712 commented Mar 6, 2023

Regarding the \end problem looks like that during the Google translate the word "verbatim" is translated into Chines, like with WARN_LINE_FORMAT setting around line 1449 in the xml file.

yes ,You try my new file in the last reply

@albert-github
Copy link
Collaborator

No I didn't as I didn't find time yet to study it and the name config.txt didn't trigger me (better name would have been config.xml.txt or packing it in a zip or compressed tar file.)
I didn't test it yet (takes a while to compile and I'm currently looking at another problem, but at first glance this file looks better (correct number of "verbatim" occurrences).

@albert-github
Copy link
Collaborator

Regarding the changing of the "save" file name you mean the "Save log ..." functionality in the doxygen wizard?

@wb2712
Copy link
Author

wb2712 commented Mar 6, 2023

Yes, it can be used to export configuration, then you should change the name

@albert-github
Copy link
Collaborator

It is still the log as you got the information by means of show configuration (maybe in combination with condensed) but it would be reasonable to give the possibility to change the name. I have to think about this enhancement request.

@albert-github
Copy link
Collaborator

Of the warnings as indicated in #9894 (comment) the warnings \end are gone but the other warnings are still present.

@doxygen
Copy link
Owner

doxygen commented Mar 6, 2023

@doxygen
The background of this issue is quite intriguing very interesting and has multiple components, but is also very complex as we already can see with the documentation that doxygen generates based on the project its source code (translator_....h).

Some points:

  • general documentation (i.e. the official doxygen html, latex, chm and internal documentation)
    This is very difficult and cannot be handled by just Google translate, I think this part should be left in English
  • configuration file
    Based on this issue I already spent dome time on this and for Python 3 it looks very promising without big problems. The biggest problem will be maintenance, as as soon as a new setting is defined (in our case this happened with MSCGEN_TOOLS) or a new option is added (in this case BUILTIN for the setting CLASS_GRAPH) this should also be reflected in the translated versions.
    The issues here are:
    support for Python 2 (probably we should drop this)
    update strategy
  • doxywizard
    Here are quite a few texts used, an interesting approach here is the approach of
    localizing Doxywizard (Origin: bugzilla #719632) #5368 (though this issue is quite outdated).
    I've seen in a number of packages where a language can be changed (didn't look deeper into) so it would be possible to use this or otherwise a strategy analogous to the "normal" strings (translator....h) could be applied.
    warning messages
    I think for this a similar approach can be used as for the texts for the doxywizard.

The big issue for all this is the possibility to translate (requiring some dedicated people who can do the initial translation), maintain the translations and the gains from it.

What is your opinion about all this?

So far the focus has been to be able to make the output language specific, basically assuming the developers using doxygen can speak English well enough to configure and run it, but the readers of the documentation do not need to speak English.

I think it is ok to make it easier for someone to localize the configuration and doxywizard strings in the GUI, but for us to keep other localizations up to date is not really maintainable. Given how difficult it already is to keep the output translators up to date now, I think it is better to for others to maintain this in separate repositories if they have a need for it.

For doxywizard tr() is already used for all string literals that appear in the GUI (See also https://doc.qt.io/qt-5/linguist-overview.html). Python2 can also handle UTF-8 if configured properly (see https://stackoverflow.com/a/41543313/784672, and https://stackoverflow.com/a/844443/784672) so Python3 should not need to be a requirement (although requiring it should also not be a big problem).

@albert-github
Copy link
Collaborator

So with the GENERATE_LATEX=NO it works that is a good result.
It is still very strange that with GENERATE_LATEX=YES the pdf files go into the hhp file, would still be good to have the log file of the run with GENERATE_LATEX=YES and running doxygen -d extcmd, maybe this gives a clue.

@wb2712
Copy link
Author

wb2712 commented Mar 7, 2023

doc/config.doc:1451: error: expected whitespace after \c command
doc/config.doc:1487: error: unable to resolve reference to '布局部分' for \ref command
doc/config.doc:2897: error: unable to resolve reference to '公式部分' for \ref command
doc/config.doc:3963: error: unable to resolve reference to '部分' for \ref command
doc/config.doc:3977: error: unable to resolve reference to '标记文件' for \ref command
doc/config.doc:4145: error: unable to resolve reference to '分组' for \ref command

Give me English, I can't retrieve it in xml

@wb2712
Copy link
Author

wb2712 commented Mar 7, 2023

I don't quite understand how to operate in the background
My configuration has been given to you, you can try

@albert-github
Copy link
Collaborator

albert-github commented Mar 7, 2023

I don't know what you mean with:

Give me English, I can't retrieve it in xml

There are no further English texts for this as the Chinese part comes from the the run with your config.xml, or do you mean a doc/config.doc as run with the default English version? The later might have slightly different line numbers! (I see e.g. that the first warning gives in the Chines version line 1451 but it is in the English version 1448, probably the word command has been translated into Chinese).

The English version of the file: english_config.doc.tar.gz

I don't quite understand how to operate in the background
My configuration has been given to you, you can try

Don't get this I have configuration files but no source code so I cannot test this.

@wb2712
Copy link
Author

wb2712 commented Mar 7, 2023 via email

@albert-github
Copy link
Collaborator

I can reproduce the "pdf" problem with the doxygen internals, looks like the problem occurs with the non call / caller graphs (i.e. collaboration / inheritance / include ... graphs).
Vaguely I thought that I already solved the issue and it looks like there is already a proposed pull request for this (#8770), so I will see that I get that conform the current situation.

@wb2712
Copy link
Author

wb2712 commented Mar 7, 2023

\ref must be followed by English
Most are underlined words and will not be replaced
When it is a single word, it will be translated into Chinese

image

config.xml.txt

@wb2712
Copy link
Author

wb2712 commented Mar 7, 2023

The effect I want has been solved, can’t run doxygen does not affect my use
I won't spend any more time solving it
This software is very good, please continue to improve,
The compilation configuration under each platform needs to be improved, and a lot of time has been spent solving compilation problems. In fact, these time should be used to solve functional problems

albert-github added a commit to albert-github/doxygen that referenced this issue Mar 14, 2023
Based on some comments in doxygen#9894 make the generated texts in the output configurable:
- setup defaults (configgenpy: setDefaultGenerate)
- read the values to be read (configgen.py: parseGenerate)
- set the texts to be used (config.xml, for the English texts these are the same as the defaults in configgen.py)
@wb2712
Copy link
Author

wb2712 commented Mar 15, 2023

GUI 线程不应该做其他事情并且不应该无响应

奇怪的可能是一些僵局,我做了一个快速测试,并且使用我的版本(使用 Qt 5.14.0,但问题可能不会出现在 Qt 中)GUI 仍然响应。

怀疑是GUI线程无法处理日志打印,卡住了

当怀疑有人应该让它运行一段时间或以其他方式终止运行时,“停止doxygen”按钮应该仍然有效。如果这不起作用,则必须在“任务管理器”中杀死 doxywizard。 在这种情况下,您应该尝试直接在终端窗口中运行 doxygen,看看会发生什么。 您还应该共享在“日志”窗口中看到的(压缩)配置。

从最新的 config.xml 可以得出结论,您将 doxygen 更新到了最新的 master 吗?doxywizard --version (请分享和的输出doxygen -v)。
After the modification, it will no longer be stuck.
image

@wb2712
Copy link
Author

wb2712 commented Mar 15, 2023

文件上传错误 我通过中文版配置选项,然后执行正式版修改 .zip

Did you notice this attachment

@wb2712
Copy link
Author

wb2712 commented Mar 15, 2023

文件上传错误 我通过中文版配置选项,然后执行正式版修改 .zip

Did you notice this attachment

The current performance bottleneck is this step, which can only run in a single thread. Is there a way to increase the speed of this step?

image

@wb2712
Copy link
Author

wb2712 commented Mar 15, 2023

@albert-github
Copy link
Collaborator

Did you notice this attachment

I didn't really have time to look at it and I also saw your remarks #9894 (comment) so I thought all was OK had low priority.
It is just an extension to the previous versions you supplied and you can check it yourself by generating the doxygen documentation by giving nmake docs or when using the visual CPP GUI by the appropriate command there.

The current performance bottleneck is this step, which can only run in a single thread. Is there a way to increase the speed of this step?

No, the HtmlHelp compiler is an old and non maintained program. There is no chance getting it faster other than using another program for it that has the same functionality.

Regarding the error (about the 488 character limit), I didn't see it before, please attach a, small, self contained example (source+configuration file in a, compressed, tar or zip file) that allows us to reproduce the problem? Please don't add external links as they might not be persistent.

@wb2712
Copy link
Author

wb2712 commented Mar 15, 2023

Did you notice this attachment

I didn't really have time to look at it and I also saw your remarks #9894 (comment) so I thought all was OK had low priority. It is just an extension to the previous versions you supplied and you can check it yourself by generating the doxygen documentation by giving nmake docs or when using the visual CPP GUI by the appropriate command there.

There may be a problem with the translation, I don't quite understand what it means

This compressed package is the part I modified in the process of solving the Chinese configuration before, give it to you synchronously.

In addition, when running at full speed as mentioned before, the gui will freeze, I have solved it,
void MainWindow::readStdout() is caused by this function, and I have screenshotted it for you.

The current performance bottleneck is this step, which can only run in a single thread. Is there a way to increase the speed of this step?

No, the HtmlHelp compiler is an old and non maintained program. There is no chance getting it faster other than using another program for it that has the same functionality.

Which software also parses hhp files?
If possible, I can try to integrate into doxygen instead of htmlhelpworkshop

Regarding the error (about the 488 character limit), I didn't see it before, please attach a, small, self contained example (source+configuration file in a, compressed, tar or zip file) that allows us to reproduce the problem? Please don't add external links as they might not be persistent.

source https://github.com/egege/webrtc-src/tree/master/modules
configuration
doxygen_config.txt

@albert-github
Copy link
Collaborator

Building the doxygen documentation I get the error

doc/config.doc:1451: error: expected whitespace after \c command

this is due to the line:

<code>popen ()</code>) 命令<code>command input-file</code> 其中\c命令是

that should read

<code>popen ()</code>) 命令<code>command input-file</code> 其中\c 命令是

Note the extra whitespace after the \c.

Or in terms of the original config.xml file this is line 1258.

(I also get an error generating the pdf version, but this is due to the fact that not all the right packages are loaded for the Chinese translation).

Which software also parses hhp files?

No advise, please search the web.

source https://github.com/egege/webrtc-src/tree/master/modules

small example ?

@wb2712
Copy link
Author

wb2712 commented Mar 15, 2023

source https://github.com/egege/webrtc-src/tree/master/modules

small example ?

I have tried other, only this folder can reproduce

albert-github added a commit to albert-github/doxygen that referenced this issue Mar 15, 2023
Based on some comments in doxygen#9894 make the possibility to read real utf-8 files hand writ it properly to the generated files
albert-github added a commit to albert-github/doxygen that referenced this issue Mar 15, 2023
Based on some comments in doxygen#9894 where a warning was shown like
```
Warning: Keyword string:
...
is too long.  The maximum size is 488 characters.
```
tit was found that this was due to an extremely long `value` field in the `index.hhk` (index file), limiting this field and placing an ellipse when necessary
@albert-github
Copy link
Collaborator

After some searching and building (without call and caller graphs as it would take quite long on the first build) I found the problem regarding the "488" problem, I've just pushed a proposed patch, pull request #9919

Regarding the utf-8 support I created the proposed pull request #9917 and for some flexibility in the generated string texts I created the proposed pull request #9912

@albert-github albert-github added the fixed but not released Bug is fixed in github, but still needs to make its way to an official release label Mar 31, 2023
@albert-github
Copy link
Collaborator

The code of the 3 mentioned pull requests (#9912, #9917 and #9919) has been integrated in master on GitHub (please don't close the issue as this will be done at the moment of an official release).

@wb2712
Copy link
Author

wb2712 commented Apr 1, 2023

GUI thread should not be doing other things and should not be unresponsive

Strange might be some deadlock, I did a quick test and with my version (with Qt 5.14.0, but problem probably won't be in Qt) the GUI was still responsive.

It is suspected that the GUI thread cannot handle log printing and is stuck

when this is the suspicion one should let it run for a while or otherwise terminate the run, the button "Stop doxygen" should still work. When this doesn't work either one has to kill the doxywizard in the "Task manager". In this case you should try to run doxygen directly in a terminal window and see what happens. You should also share the (condensed) configuration as you see in the "log" window.

From the latest config.xml can I conclude that you updated doxygen to the latest master ? (please share the output of doxywizard --version and doxygen -v).

Pay attention to this interface freeze problem. In the previous screenshot, I gave the code to solve it.

image

No, the HtmlHelp compiler is an old and non maintained program. There is no chance getting it faster other than using another program for it that has the same functionality.

Other software is also based on HtmlHelp, there is no better way.
I found that HtmlHelp supports merging chm files
I have an idea, choose to generate multiple chm files, process them in multiple processes, and finally merge them.
It may be necessary to modify the index and jump statements of html to make it jump to other chm files.

@doxygen
Copy link
Owner

doxygen commented May 18, 2023

This issue was previously marked 'fixed but not released',
which means it should be fixed in doxygen version 1.9.7.
Please verify if this is indeed the case. Reopen the
issue if you think it is not fixed and please include any additional information
that you think can be relevant (preferably in the form of a self-contained example).

@doxygen doxygen removed the fixed but not released Bug is fixed in github, but still needs to make its way to an official release label May 18, 2023
@doxygen doxygen closed this as completed May 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
install/build bug in the installation or build scripts needinfo reported bug is incomplete, please add additional info
Projects
None yet
Development

No branches or pull requests

3 participants