Spark's translation to other languages is achieved using i18n files with translated strings. One can find the latest English (default) i18n file in the source here: Spark/src/resources/i18n at master · igniterealtime/Spark · GitHub (spark_i18n.properties). All other language files are named similarly by adding a short name of a particular language. E.g. de - Deutsch (German) - spark_i18n_de.properties. Usually this is the same as the top level domain of that country. If Spark doesn't have a file for your language, you can copy the default one and change all the English strings (on the right of = sign) to the desired language's translations.
If this is a new translation (there was no file for that language), you can submit it in the forums or via Pull Request to Spark's repository on GitHub.
If you have only updated the existing translation, ideally we would want to get a Pull Request with your changes against the older file, or a patch file in the forums in diff format (showing only changes). If you can't provide any of these variants, we might accept the full file.
Important to know! Many languages has unicode characters which should be replaced with a special \uXXXX code in the translation. Some applications (like Eclipse IDE) replace unicode characters inputted into Java project with such codes automatically. Or you can just replace them manually in your file with a Find and Replace function (you will have to find out the correct codes for your language characters). You can use this site to find the codes: Unicode® character table
Small latin letter a with 0gonek Unicode® character table is replaced with \u0105 in the language file. Uppercase letter has a different code.
Various plugins have their own translation files which follow same scheme. E.g. these are translation files of Roar plugin Spark/src/plugins/roar/src/resources/i18n at master · igniterealtime/Spark · GitHub