Motion can create subtitles.
If you have the .srt file, or a well formatted text file, then applying subtitles is relatively easy... but difficult to explain 😝
An SRT file is formatted like:
1
00:01:23,920 --> 00:01:29,480
I owe everything to George
Bailey... Help him, dear Father.
2
00:01:29,520 --> 00:01:35,320
Joseph, Jesus and Mary.
Help my friend, Mr. Bailey.
3
00:01:35,680 --> 00:01:38,840
Help my son, George, tonight.
Etc... An SRT file will need to be opened in TextEdit/TextWrangler or the like and saved as a TXT file. Motion can only open TXT files for the File generator.
You only need the actual text double spaced like:
----------
<open the file with a blank line here>
I owe everything to George Bailey... Help him, dear Father.
Joseph, Jesus and Mary. Help my friend, Mr. Bailey.
Help my son, George, tonight.
<close the file with a blank line here>
-----------------------------
Break your project up into 10 to 20 minute segments if it's a long project! Separate the text into separate files to match.
Export those regions out of FCPX in a low quality version (email, small or medium, faster encode is good enough -- you will not retain this when you save the Motion project.)
Create a new Motion Project. Import the video. Adjust the project length to the length of the imported video.
Add a Generators > Text Generators > File. In the File generator inspector, browse for and load your text file.
In the Generator > File inspector, set the Speed to Custom. Immediately turn down the disclosure triangle on the right side and reset parameter (clear the keyframes that are "default".)
Move the playhead to the beginning of the project and set a keyframe on the Custom Speed.
Play.
For the start of each spoken line, advance the Custom Speed to a next value that reveals the next line (and if there is enough space, select the next blank line.)
When you're done setting the keyframes, right click on Custom Speed and Show In Keyframe Editor. Select a keyframe and type Command-A to select all. Right click on one of the keyframes and select Interpolation > Constant from the popup menu.
Play to check the "presentation". You can use the keyframe editor to fine tune the appearance of each line. You can animate the location of the text in the canvas (use the Constant interpolation here as well.)
If this sounds like a lot of work, it is... but it is definitely less work than creating a captioning file from scratch (with timecodes, etc.) or entering each line Title by Title in FCPX.
When you're done, Delete the media file (it's no longer needed). Go to File > Publish Template to save it as a generator for FCPX. I recommend setting up a Category called Subtitles (they're all one-shot disposable templates) and naming the project ProjectNameChapterNum or similar. Find the mark in the storyline where the subtitles should start an place the subtitle generator.
When you've published your project, you can go back and delete these generators... they probably won't be reusable.
Hope this helps.