The handling of numbers and units in Studio is always something that raises questions and over the years I’ve tackled it in various articles. But one thing I don’t believe I have specifically addressed, and I do see this rear its head from time to time, is how to handle the spaces between a number and its unit. So it thought it might be useful to tackle it in a simple article so I have a reference point when asked this question, and perhaps it’ll be useful for you at the same time.
I have a background in Civil Engineering so when I think about this topic I naturally fall back to “The International System of Units (SI)” which has a clear definition on this topic:
There is a little more to it than this, and you can find the full specification here, but the essence is you always have a space. I don’t think it defines how wide the space should be or whether it’s a non-breaking space or not, although in practice I think most technical writers would commonly use a non-breaking space. There is a page here defining the rules if you’re interested.
Interestingly I started this article with an image showing numbers and a percentage symbol, and yet this is not an SI unit at all. Rather it’s a number, normally meaning 0.01 and when used in junction with an SI unit there should be a space between the number and the percentage symbol. So, where is this taking me? This topic of whether you should use a space or not is quite often the source of a debate, and often confusion, between users and even though I have an engineering background I don’t really get too hung up on it. For me the most important thing is that I have a way of dealing it with it. So irrespective of what the source contains, or what the styleguide is asking for, I need to be able to handle it.
Handling it in SDL Trados Studio
It’s quite possible that the styleguide you are working to, or simply the verbal request you are working to, could have different rules for one language compared to another. I occasionally come across a translator referring me to some document on the internet I’ve never heard of that sets out the rules for this kind of thing in their language pair. Fair enough … Studio supports this by allowing you to define the way spaces are handled by language. In fact it’s this very ability that makes it difficult for users to know about this feature at all! Studio has this concept of All Language Pairs which looks like this:
I’d hazard a guess that most users, unless they are familiar with multilingual projects, only ever use the settings here under All Language Pairs. You won’t find anything at all in here related to measurements and their spaces. In fact you may have even looked at the specific language pairs underneath, thought they were the same and wondered why we even had them? Well, the reason for having them is because it is possible to use different settings for each language in a multilingual project. If you receive packages you might have wondered why the Translation Memories in the package you received are actually under the specific language pair, well this is the reason why. If you place your Translation Memories at the All Language Pairs level then you avoid having to add them in multiple locations but it’s one setting for all. It’s all about choice.
But hang on a minute… what about measurements? Well this is an odd one that I don’t have a good answer for because it’s not possible to apply a setting for measurements that can apply to all languages. I have no idea why! But if you open up one of the specific language pairs you’ll see something like this:
Now we see a few differences:
- we have an Auto-substitution node that expands to give us settings for Dates and Times, and also for Measurements.
- we can add AutoSuggest Dictionaries at this level (I also have no good explanation for why here and not at All Language Pairs… surely they could be recognised in the same way a TM is?)
- we don’t have Language Resources (I think these do make sense in All Language Pairs seeing as they relate to the specific language pairs anyway and the setting is unique to the resource template you choose)
It’s the Measurements I’m most interested in here, although I’d recommend you review the others too as you might find some interesting surprises. If I click on this node I see this:
Aha… now everything should become clear. There should be enough options in here to satisfy all the requirements you are likely to have. You can match the source, you can set your own and Studio will automatically handle this for you using interactive translation when you press Ctrl+comma to pick up your placeable, or in pre-translation when the numbers and units are automatically recognised by Studio. Also note that you can use the settings you need in a Project template which means you don’t have to keep changing the settings every time you need something different to the defaults for a new Project.
So that’s all good news so far… but I do like to try and be real about the features in Studio so here’s the problem. In the last paragraph I underlined “when the numbers and units are automatically recognised” for a reason. If they are not recognised then none of this will apply and you have to start looking for workarounds. The workaround you need will depend on how much, if any, of the numbers are recognised. I have been running a test since prior to Studio 2014 SP2 (maybe around Studio 2011 I think) and even in my most recent check in Studio 2017 CU5 we still only recognise 19% of all SI units that have been correctly written. Interestingly if I write them incorrectly by not having a space between them then Studio recognises 56% of them which gives you a better chance of handling them out of the box! So you better break out your workaround hat if you’re a technical translator. By a strange quirk of fate you technical translators could actually be the best group of translators to have to deal with this problem as solving these types of issues is probably in your nature! If you’re interested in the file with these results then I have put them here as they might be helpful for two reasons:
- you’ll know which ones are being recognised and which are not. This could be helpful if you think you’re the one doing something wrong.
- you can feedback if you get different results in your language pair. I only tested from English to German and this might also make a difference to the results… it shouldn’t do, but it might.
If you’re interested in the workarounds, then they would probably be variants of these:
- allow Studio to do its thing and search and replace using regular expressions afterwards (will only work if Studio still recognises the measurements but transposes it incorrectly)
- use the Regex Match AutoSuggest Provider to interactively get the transposition you need (links to a great article from Nora Diaz on this tool)
- use the Terminjector Translation Provider to deliver the transposition you need
- edit the source file before you translate it so the measurements used are correctly recognised (you’ll need the application that created the source, and hope it supports some kind of regex/wildcard search & replace)
- edit the source file after the project is created so the measurements are correctly recognised (SDLXLIFF Toolkit)
If all of this is having you nod your head then go and vote for this idea or even this one… or if you also want to see a conversion of the units which used to be “unreliably” possible in Translators Workbench then go and vote for this one. Otherwise I hope the article was useful and that you are one of the lucky majority who are working with files that can be handled perfectly well out of the box in Studio using the settings above.