I am currently working on an app which will be used in a several latin languages. Does anyone know any resources or best practices for label text usage in such apps?
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It only takes a minute to sign up.Sign up to join this community
There are some of my thoughts regarding the issue. I have 15 years of experience working on translations (mostly open source) software into my native language.
It's already mentioned that translations might be much longer than english strings. It's so obvious, but it's so often overlooked. I can't count how many times I've seen "please translate the word 'edit' with max 4 chars" type of things. Don't overthink it of course, there is no point to count in cases where "edit" might take 50+ chars.
Sentences with parameters are often complicated, yes. These can be used of course, but it's important that you don't make any assumptions which structure is normal in language and which isn't.
At first don't ever create a word puzzles - always give translators whole sentences or structures. Take for example a sentence "Move files from %1 to %2". It's not OK to give translators strings "Move files from %1" and "to %2" and it's especially bad to give them strings "Move files from" and "to". The order of parameters might be different in translation etc. It might be that translation should be " %2 %1".
Avoid reusing parameters in different sentences. Take for example parameter which can be either "file" or "folder" in english. There is a temptation to reuse this list in different sentences, for example "Link to %1", "Merge with %1" and "Read from %1". The problem is that in some languages "file" and "folder" must be translated differently in these sentences - instead of prefixes used in english words change their form in these languages. Finnish is the worst case in this regard, but there are others as well. There is a funny, but very true illustration.
It's actually a good idea to minimise any reuse if context isn't the very same. There is often temptation to reuse short strings like "Edit" for example. But it might be a verb or noun depending on context and translation must be different depending on that. And of course verbs and nouns might need a different form depending on context as well.
Avoid using widgets as parameters. At first it's only possible with help from breaking sentences into puzzles - it's often impossible to translate. And even if it is, it might be ugly, break layouts badly and look bad because of additions translators have to add to widgets.
Learn about plurals problem and use the solution translation mechanism of UI you are using gives to you. In short the problem is that although in most of languages there is two forms of plurals - singular and plural ("1 file", "n files"), there are languages in which there are six forms of plurals. See Unicode plural rules to get an idea what the problem is, look at Welsh as worst case and get used to it that if there is a "%n things" type of construct you have to use the plurals solution provided to use even if there is no way that %n is 1.