The error appears when the source or the target language is
Serbian (Latin)
or
Serbian (Cyrillic)
The reason for the error is that these 2 languages have a language ISO code (sr-SP) that is no longer supported by Studio or Microsoft and therefore, for many years, they have been mapped to specific language codes in exchange.properties. The mapping is as follows:
studioLocaleMapping25=Serbian (Cyrillic), sr-Cyrl-CS
studioLocaleMapping26=Serbian (Latin), sr-Latn-CS
However, Microsoft has recently changed these language codes to - respectively - 'sr-Latn_RS' and 'sr-Cyrl-RS', as documented here. These new language codes are now recognized by Trados Studio while the previous ones are no longer recognized. If the previous language codes are used, the error will appear in Trados Studio when opening the SDLXLIFF file.
Resolution 1 (recommended): replace the previous language codes with the new ones in the exchange.properties file. Follow these steps:
1- On the server where WorldServer is installed, find the exchange.properties file and make sure it is placed under WS_CONFIG folder. If you have a copy of exchange.properties also under WS_CONFIG/ws-legacy, WS_CONFIG/ws or WS_CONFIG/ws-api, make sure you apply the change there as well.
2- In the exchange.properties file, you should find the mappings as:
studioLocaleMapping25=Serbian (Cyrillic), sr-Cyrl-CS
studioLocaleMapping26=Serbian (Latin), sr-Latn-CS
3- Change the mapping to
studioLocaleMapping25=Serbian (Cyrillic), sr-Cyrl-RS
studioLocaleMapping26=Serbian (Latin), sr-Latn-RS
4- Save the change in exchange.properties
5- Restart WorldServer (name: WorldServer Service or IdiomRun) and FTS (WorldServer FTS Services)
6- Export the project to a new WSXZ package. This package will work correctly.
Another resolution: instead of using Serbian (Latin) or Serbian (Cyrillic) as languages in your WorldServer environment, use Serbian (Latin) (Serbia) or Serbian (Cyrillic) (Serbia). These languages already have the correct language code.
Workaround to fix the WSXZ package
If you cannot apply the resolutions mentioned above right away but you need to be able to open the WSXZ package and translate, here is the workaround:
1- Unzip the WSXZ package using 7-Zip. A folder with the same name will be created.
2- In the folder, find the bilingual *.sdlxliff file and open it in Notepad ++.
3- In the SDLXLIFF file, find the incorrect language code e.g. target-language="sr-Cyrl-CS"
4- Replace it with the correct language code e.g. if your target language is Serbian (Latin), replace target-language="sr-Latn-CS" with "sr-Latn-RS". If your target language is Serbian (Cyrillic, replace target-language="sr-Cyrl-CS" with "sr-Cyrl-RS".
5- Save the change in Notepad++.
6- Repeat step 3 to 5 to replace the language code with "sr-Cyrl-RS" also in the TMX files under the tm folder, and (if present) - in the terminology_data.tbx and in the xcs.xml files. Make sure to save your changes.
7- Select all the files and folders inside the main folder and zip them.
8- Rename the ZIP file to *.WSXZ format.
9- Open the WSXZ package created in step in Trados Studio, and open the bilingual file.
10- It will open up correctly and without error.
11- Translate and after translation, create a WorldServer Return package as usual.
12- Upload the Return package to WorldServer. The upload will work without issues.