Hey @joestone,
Thanks for posting on the developer forums!
I am not sure if you are still encountering this error, but I did some looking, and in your posting it looks like the example string and the string in your example code are not the same exact string. I am pasting them below for reference.
ตัวแก้ไข xliff, การแปลเป็นภาษาท้องถิ่น, เครื่องมือ xliff, xcode, การแปล xliff, xcloc, การแปลงข้อความ
ตัวแก้ไข xliff, การแปลเป็นภาษาท้องถิ่น, เครื่องมือ xliff, xcode, การแปล xliff, xcloc, การแปลงข้อความ xliff
Your first string is 100 characters exactly. However, your second string that is in the API request body is 106 characters which is too long. I am able to replicate the API error when using the string that is too long, but when I use the string that is only 100 characters I am able to successfully update the Keywords text using the API. I tested using both an English and a Thai localization to make sure there was not an issue with how the characters themselves were being handled in the API body.
One thing to note that I take advantage of with Keywords in particular is that you do not need to include spaces after the commas as the string is broken apart by the comma and not a comma and a space (the space is wasted and still counts as a character). I would minify your strings to look like below.
ตัวแก้ไข xliff, การแปลเป็นภาษาท้องถิ่น, เครื่องมือ xliff, xcode, การแปล xliff, xcloc, การแปลงข้อความ <- 94 Characters
ตัวแก้ไข xliff, การแปลเป็นภาษาท้องถิ่น, เครื่องมือ xliff, xcode, การแปล xliff, xcloc, การแปลงข้อความ xliff <- 100 Characters
Both of the above strings are accepted by the API and accomplish what you are trying to do I believe.
Hopefully this helps and happy coding!