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

What is wrong? #1

Closed
Aido21 opened this issue Feb 21, 2022 · 15 comments
Closed

What is wrong? #1

Aido21 opened this issue Feb 21, 2022 · 15 comments
Assignees

Comments

@Aido21
Copy link

Aido21 commented Feb 21, 2022

Translating. Please wait.(node:78632) UnhandledPromiseRejectionWarning: RequestError: read ETIMEDOUT
at ClientRequest. (/Users/Eugene/node_modules/got/source/request-as-event-emitter.js:178:14)
at Object.onceWrapper (events.js:520:26)
at ClientRequest.emit (events.js:412:35)
at ClientRequest.origin.emit (/Users/Eugene/node_modules/@szmarczak/http-timer/source/index.js:37:11)
at TLSSocket.socketErrorListener (_http_client.js:475:9)
at TLSSocket.emit (events.js:400:28)
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:82:21)
(Use node --trace-warnings ... to show where the warning was created)
(node:78632) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:78632) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

@ParvinEyvazov
Copy link
Member

Thanks for your report. Can you please provide more information about your flow?
1 - The size of your JSON object (number of fields approximately)
2 - Which languages are you translating your JSON object to? (number of languages)
3 - Are you using CLI or functions?

@Aido21
Copy link
Author

Aido21 commented Feb 21, 2022 via email

@ParvinEyvazov
Copy link
Member

Thank you.
Can you please try the v0.7.0 version? (will be available after 10 hours) I will also mention here when the new release comes.

@Aido21
Copy link
Author

Aido21 commented Feb 21, 2022 via email

@ParvinEyvazov
Copy link
Member

v0.7.0 is available now. Can you please try the same flow?

@Aido21
Copy link
Author

Aido21 commented Feb 22, 2022 via email

@ParvinEyvazov
Copy link
Member

Actually, it is normal for that big file. I translated 700 lines JSON file before, and it took 10 minutes. If there is no error, it will respond.

This package works in async format to make operations fast. That means if there are 5 fields in the object it tries to translate them at the same time. And when sending more than 1000+ requests at the same time to the Google Translate API, response times get longer (Google Translate API makes this latency.). At that time problem occurs on big files. Unfortunately, I can't solve it right now (I don't have much time nowadays) but there can be a way to solve it manually. You can do like this:

Please divide your JSON file into 3 or more pieces, translate them separately and merge it. For example:
You have 1000 lines JSON file (a.json):
Create valid JSON files:

a1.json (from a.json, take 0 to 250 lines)
a2.json (from a.json, take 251 to 500 lines)
a3.json (from a.json, take 501 to 750 lines)
a4.json (from a.json, take 751 to 1000 lines)

And translate them separately. (Don't forget to change the name of the file which will be created each time. Because the new English file name will always be en.json).

Sorry for the problem. I am adding this problem to the roadmap to solve it when I am available.

@Aido21
Copy link
Author

Aido21 commented Feb 22, 2022 via email

@Aido21
Copy link
Author

Aido21 commented Feb 22, 2022 via email

@ParvinEyvazov
Copy link
Member

Great idea. Thank you for the feedback :)

@ParvinEyvazov
Copy link
Member

Hi @Aido21 , json-translater now will show the number of lines that are translated already with the 0.8.0 version. Now, it is available to use.

Thank you for your great feedback.

@Aido21
Copy link
Author

Aido21 commented May 3, 2022 via email

@Aido21
Copy link
Author

Aido21 commented May 3, 2022 via email

@ParvinEyvazov
Copy link
Member

The number of lines can be limited by Google Translate API (because of concurrent requests from the same IP address). I will try to find a way to handle these errors. Thank you for the report.

For the current situation, you can try to split your file into 3 different files and translate them one by one and can combine them all until I fix this problem.

@ParvinEyvazov
Copy link
Member

Fixed #2 with version 1.0.0

Solution is here

@ParvinEyvazov ParvinEyvazov self-assigned this Sep 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants