I am developing a website in SharePoint for the first time. It's a home page basically of my own theme with standard elements like header, slider image, main menu, footer and other items.
What I want to know is, if I am developing a bi-lingual website in English and Arabic, do I need to make master page twice; one for English and one for Arabic?
Similarly all other pages will have to be made twice? Because English works from left to right while Arabic works from right to left.
3 Answers
You can use localization. Localization is translating resources to a specific culture.
you need to install your language pack first to the server:
2007
http://www.microsoft.com/en-gb/download/details.aspx?id=20198
for 2010
http://www.microsoft.com/en-us/download/details.aspx?id=3411
from that point you creat a new webapplication and its site collections, the culture you select will be when you create you site collection.
for your custom solutions you need to add resources, one for english as a default language and any another for arabic:
you need to look at this for your resource:
in your case it will be:
english:
myresourcefile.resx
arabic
esourcefile.ar.resx
when you install your language pack it adds folders to the 12/14/15 hive folder... english is 1033 arabic is 1025 for your locale under templates folder.
http://blog.muhimbi.com/2009/04/sharepoint-supported-languages-culture.html
for creating a site:
http://www.c-sharpcorner.com/uploadfile/anavijai/create-sharepoint-site-in-different-languages/
using resource file:
masterpage can be kept the same. but if you do need to use:
alt='<%=this.GetGlobalResourceObject("Global", "Mystring").ToString()%>'
the resource needs to be put into the global resource folder where the webapplication folder sits. The folder your looking for is: App_GlobalResources
. If you cant find it, goto your server, iis manager, click web sites folder, right click on the webapp you want to find, click open and it should take you to the webapplication folder :)
more on resources
http://msdn.microsoft.com/en-us/library/ee231537.aspx
http://nickgrattan.wordpress.com/2011/05/24/sharepoint-global-resource-resx-file-locations/
http://msdn.microsoft.com/en-us/library/ee696750.aspx
http://sharepointcustomization.blogspot.co.uk/2012/01/localizing-sharepoint-using-resource.html
EDIT
for more complexity I would suggest variation:
http://technet.microsoft.com/en-us/library/cc262055(office.12).aspx
used for layout switching and language change between languages
For you i would recommend going through this:
http://www.codeproject.com/Articles/18868/MOSS-Multilingual-Site-Configuration
it looks like this setup will automatically set the layout from LTR to RTL as sharepoint handles it for you like so:
The language pack on its own will handle the translation and layout so you dont need to change the masterpage and use the current one for your english site!
-
Thanks. One question. Let's say on my English site I have a menu "About Us, Contact Us, Services" which is on top left corner of the page. Now I want this menu to be displayed on top right corner in Arabic. Do I need to create a separate master page for that? Mar 25, 2013 at 9:46
-
for me, I would keep it the same for consistnacy with sharepoint layout (english), if you need it on the right i would change the masterpage so that its displayed to the right and add that to the site collection (main master), so you would have one master for other languages and a seperate master for arabic to display everything from right to left :) Mar 25, 2013 at 10:40
-
When develope multilanguage sites we often use variations to do this. This will create a web site source where all your content will be stored and then first level sub sites under specified language labels. In this way all labels you create can apply specific regional settings inside the site. All you will need to do is just to create a mechanism giving you the possibility to translate custom labels text.
SharePoint labels can be translated using installed language pack but this is not requried when developped custom solution... Language packs only translate SharePoint OOTB back-end and fromt-end default page layouts labels...
hope it helps,
Andrew