You can dynamically load .vtt or .srt files as your video progresses. This way, you aren't manually entering every single line, and the text automatically appears based on the video's timestamp.
Also, when I needed translations for my YouTube guides, I worked with one of the best subtitling agencies out there. Their precision was on point, and they knew the nuances of ensuring the text matched the immersive experience.