How to set up multiple languages in Typo3 correctly? - typo3

this may be a noob question - but I hope to get an answer from an experienced person,
because we have to switch our settings and would like to do it correctly the first time.
At the moment the default language is set to German. English is defined as another language.
When somebody from France looks at the website, it is shown in German first, he then has to switch to english manually. For an english visitor everything is fine.
So what should we do:
1) Set the default language to english and have german as second language? What about guys from Switzerland, Luxemburg, Liechtenstein and Austria then. Do these have to be defined seperately as they are also seperately selectable as windows languages?
2) Is there an option to simply say: Every visitor that is not german speaking should get the english website in default? And even in this case, will this then recognize the different german options explained in 1?
Sorry if these questions are stupid. ;-)
Thank you,
Fabian

Your aim is to change how visitors see the website, but your are asking how to change the editing of the website accordingly. Luckily it is a CMS and you can separate those concerns.
What you seem to look after is a component that analyses the IP/language/browser properties of the visitor at first page load and that there are rules what to show (e.g. show English version except your mentioned countries). There are extensions for that specific purpose like https://extensions.typo3.org/extension/locate or others: https://extensions.typo3.org/?L=0&id=1&tx_solr%5Bq%5D=language
That way you don't need to change the default at all.

Related

TYPO3 multilanguage concept

I need to create two pages trees, each for specific language (not use additional language pages). In my case two pages trees - two languages (German and English). German language shall be by default.
In url language must be added after domain via "/" like this:
http://www.example.de/de or http://www.example.de/en
Can someone suggest me how I can do this? Please attach some typoscript templates and especialy realurl configuration files.
Earlier I have read on some forums that in this way you can't organize multilanguage website. Is it true? Please give me an advise. I would be very thankful.
Thank you in advance.
According to my experience and knowledge this is not possible with default TYPO3 configuration options.
A idea from be would be to use two sub-trees within the pagetree for example.de
In one sub-tree you have all german pages and in the other sub-tree you have all english pages.
The startpage (rootpage) of this domain is then the only page that is translated normally. On this page the links and menus are configured to point to the right tree based on the current language...
But i advice you to just create a subdomain en.example.de and configure it with its own tree and rootpage. Especially if you are a beginner, this will make live more easy for you!
Thank you so much. This is enough information for me about multilanguages in TYPO3.
I tried to do it like this:
Root page (shortcut to Deutsch)
English (shortcut to Home)
Home
...
Deutsch (shortcut to Startseite)
Startseite
...
But in this case realurl told me something like this (don't remember): Path "startseite" is not in postVarSet.
FYI: I'm not beginner in TYPO3, just didn't develop multilanguages projects before.

Create "multilanguage" site without redundant text in typo3

I'm not a big typo3 expert nor have I access to typoscript options at the typo3 instance I'm working with (It's a very big site and I don't have the authorization to do so). So I hope this question fits on stackoverflow (Please don't hate me if it does not, I'll happily post this on another site)
What I'm trying to achieve is:
My website has two possible translations (German and English). I see
that it's possible to switch languages during surfing through
clicking the "German"/"English"-Button
On the website are also informations about our staff (who may not be speaking german)
If one staff member doesn't speak german, I copy redundantly their english profile on the german translation mode (that it appears, because otherwise it doesn't - might be no good style, but it's better than not having them appear at all)
I'm not happy with these kind of redundancy since it means that I have to do the same action twice on the exactly same content. Does there exist a possibility in the backend of typo3 where I can set that the german translation shall be the exact same as the english content?
I hope my question is clear, thanks a lot for your help.
As you say you don't have access to typoscript templates etc, I guess you are not an integrator/developer in this project, but an editor.
Your only way to achieve an automatic "fallback" behaviour is asking the person who takes care of the site's configuration to set that up for you.
But if that's not possible, you can still use the "insert records" content element (german: "Datensatz einfügen") to avoid duplicate entries.
This content type is not in the wizard when you create a new content element. But you can create a text element and then change the type to "insert records". Now you can select another record which is then mirrored here:
You'll have a similar amount of work when setting it up, but you won't have redundant text, which is way better.
If this content type isn't available either, I would insist on the administrator enabling it for editors - it's very useful to maintain a site's content healthy.
Would be helpful to see your TypoScript configuration. Maybe theres something wrong with the sys_language_mode. Given that the sys_language_uid of english is 0 (which means its default language) and german is 1, the default behaviour should be, that german translations are shown, if available. If a translation is not available the default version of a content element is shown. However, you can change this behaviour with Typoscript:
config.sys_language_mode = content_fallback ; 5,3,1
This will set the content fallback of an content element (which is triggered if no translation exists) to sys_language_uid 5, if its not available in that language sys_language_uid 3 will be displayed etc.
Maybe your installation is set to
config.sys_language_overlay = hideNonTranslated
This will hide non-translated content-elements. Remove this entry to enable content fallback again.
You can always check the current Typoscript in the Template module via the TypoScript Object Browser. However, to really get help you need to share your TypoScript language configuration. The behaviour you describe is not the default behaviour, so its configured somewhere.

How to change all the strings in an iphone application with respective selected language in settings?

I need help from you, I need to display all the text, labels , strings and what ever text is showing to user in the iphone application with respective selected language in settings of iphone.
for example user selects German or French in settings of iPhone language, then my application should provide or view the details in that language.
I need sample code for localization, Is there any simple way to follow the standard steps to translate the code to different languages in iphone sdk.
please healp me, I hope that I can get efficient solution on this from you.
Thank you,
Madan Mohan.
See here: http://www.icanlocalize.com/site/tutorials/iphone-applications-localization-guide/
I think the previous link gives a pretty good idea of how to do I18N on the iPhone, but if you feel you need more info, you can try this article http://blog.federicomestrone.com/2010/05/18/internationalise-your-iphone-apps-with-xcode/ which is just slightly more code-orientated.
The point though is always the same - you have to separate code from text resources and load all your text (strings) with the NSLocalizedString macro, or a variant thereof.

How can I customize an email-notification within a sharepoint 2010 workflow?

I've got a random workflow in my sharepoint application that allows employees to make a request for some holiday period! So some emails have to be send around.
I'd like tu customize this email-notifications in the following way:
language (default is 'en', and I'd
like to cange if possible)
structure
thanks a lot!
george
I still got no idea how you can customize an email-notification...perhaps you could look for it's tamplate and "customize" it there, but this would change it for all notificaitons...so that's not a real solution!
anyway, I've found a quite good way to change the language. Well, email notifications always take the "default language" (which you can find in Site Actions/Site Settings/Site Administration/Language Settings) from the actual Site/SiteCollection/...regarding to this problem you should check my answer to this question link
So, now you can change a Site's default language to a new one(of course only if you got the right [Language ID]and the language pack(s) installed)...do some stuff like sending notification mails in favored language(s) (for example within a workflow like the one I've described above).
When your work(act. the workflow's work) is done you can set back the Site's language to the original one and you're done!

How to handle localization of controller names?

I run a site where it is important to have good and simple URLs that need to be localized.
Example for the english version:
example.com/car/?type=fiat
Example for the Swedish version:
example.se/bil/?typ=fiat (bil is car in swedish)
And ofcourse I would like to handle all of these URLs from the same codebase. What is the best way to handle this?
Should I set up several controllers (CarController, BilController) or is there a "cleaner" way to handle localized controller names?
BR
Niklas
Don't do that. Ever.
Microsoft, a really big, powerful and resourceful company tried that with Excel. In English versions of Excel, you use IF() in formulas. In the German version, it's WENN(). In French, it's QUAND(), I think. In Japan, it's probably ば(). Now imagine someone from Japan sends me an Excel sheet ... There are two options:
"I'm sorry, I can't open this file"
Translate all names on the fly
Doing #2 seems simple enough ... until you run into a word which uses the same letters but has a different meaning in two languages. Example "see". Means "look" in English and "lake" in German. Since you don't know all the languages in the world, you have no chance to figure out which collisions you will have before it is too late.
Also, how do you know which name to use? From the language in the browser? Or do you hate your international customers who occasionally use the Swedish main site? How do you handle Asian languages? Will the URL be server/%E6%AC%80%E6/?%AD%81%E6%AB=fiat?
Don't. Do. That. Ever.
What about rewriting the URL depending on the domain? This way, the Zend framework will get only the English names, while the URL can use localized names.