Multi-Language Support
From SharedTree Wiki
Multi-language support does not exist in SharedTree today. Currently the site is only available in English. This document outlines the issues surrounding this feature and why we need it.
Contents |
Pros/Cons to adding mutli-language support?
SharedTree needs multi-language support for the following reasons:
- Already, 1 out of 10 visitors to SharedTree speak a language other than English as their primary language. This number will increase as we support other languages.
- Most of the world can’t read or write in English.
- Most people have relatives within just a few generations that speak a native tongue other than their own. Networking with these relatives will work better if they can use the site in their native tongue.
The main reasons not to support multiple languages include the following:
- It takes programming, translation, and maintenance effort, which is limited. Doing this means we don’t do other importing tasks.
- The site is still undergoing lots of changes to add new features and improve its usability. Adding multi-language features later will actually require less total effort if we architect things correctly from the start.
- Most Internet users can read and write simple English.
What needs to change?
What parts of SharedTree actually need to change or be considered for change in order for users reading and writing in multiple languages to effectively share their family trees?
Prompts
Prompts include all of the menus and labels in SharedTree that help users understand where to go, what to click on, and how to interpret the data. We can support multiple languages by using PHP variables for each prompt rather than “hard-coding” the English text into the HTML templates. The only decision here is whether to use a text file to include all of the translations for each language or to store the translations in a database table. There are pros and cons to each approach.
Names
In short the proposal for name translations is to simply store Latin-character translations of all non-Latin character names. Two new fields (orig_family_name and orig_given_name) will store the individual’s name in that individual’s native tongue or the closest UNICODE equivalent. The family_name and given_name fields would always store Latin-character equivalent. This solution allows us to search for names using Latin characters and still find names written in nearly any alphabet.
Besides the prompts on SharedTree, we need to enable users to read and search on names using multiple character sets. This is probably a multi-character problem instead of a multi-language problem (see below). There are very few individuals where multiple languages would be necessary or even desired. Examples may only include famous people from early historical times such as Adam, Moses, and Jesus where the German and Spanish translations may differ from English. Other than these rare examples, almost all names translate phonetically between languages. We also probably don’t need to translate between all character sets such as from Russian to Chinese or Hebrew to Arabic. Converting all of these phonetically to Latin should enable users with even a basic understanding of any Latin-based alphabet to read names originally written in any character set.
Research Notes
Write the research notes in the language of the researcher only. If something is important enough to translate then use the Wikipedia biographies to translate this.
Personal Biographies
Write the personal biographies or family histories in the language of the majority of their descendents or their interested researchers (see Disputes below for discussion). If the person is “important” enough to have their biography in multiple languages, then link to Wikipedia and users can browse to the translated biographies there.
Locations
Write the location in the language native to that place and time. Eventually we will be able to link to the SharedTree location database which will map locations over time in multiple languages.
Sources
Write the name of the source in the original language of that source. You can consider also typing an English translation of the source name, but it’s probably not necessary since the user will have to know that language to be able to read the source contents anyway.
Groups
I’ll add a new column to include the English translation of the group. Otherwise use the language native to that group. For example, Chinese Emperors will be in Chinese and Mexican Presidents will be in Spanish. Always link to the Wikipedia entry for that group and users can then browse to that group’s translation through Wikipedia if one exists.
Wiki
The wiki has three major sections: About Shared Tree, Policy and Guidelines, and Help. Unfortunately I believe all of these will eventually need to be translated. I think we can solve this in the same way Wikipedia has done it (en.sharedtree.com and de.sharedtree.com).
Dates
A related topic to languages is dates. Different countries often use different calendars. See the Guideline on Dates for more information.
Multi-language vs. Multi-character
SharedTree needs to support Latin-character translations of non-Latin based UNICODE characters such as Chinese, Hebrew, Arabic, and Russian.
We don’t need to add this feature. However, the site will not work as well if we don’t solve the Latin character translation issue. Readers of nearly any language based on the Latin alphabet can read names and places written in almost any other Latin-based alphabet.
Most Latin-based alphabets are generally legible by anyone else with a basic understanding of Latin
Languages
- English – en.sharedtree.com
- French – fr.sharedtree.com
- German – de.sharedtree.com
- Italian – it.sharedtree.com
- Spanish – es.sharedtree.com
- Dutch – du.sharedtree.com
- Chinese – ch.sharedtree.com
- Arabic – ar.sharedtree.com
- Russian – ru.sharedtree.com
We will eventually need translators for each of these languages. If you're capable and interested, then please contact me.
Disputes
Disputes may arise about which language to use for documenting the family history of a specific individual. If in doubt, always use the native tongue spoken by the majority of that individual’s descendents. If that is not known, then you can use the Language Watch list to determine the most common language of users watching that individual. We will add this feature after we add language preferences to user accounts.
