Multilanguage website in ASP.NET - asp.net

Me and my friend are going to build a multilanguage website and we were discussing
what the best way is to support the multiple languages.
My opinion was to use PO files to easily edit the language files.
But my friend wants to use te resource files in visual studio.
So I want to ask, what's the best way ?
Thanks in advance.

Both are valid ways to do it.
If you are going to be using GTK# as your widget set, then PO files are a good way forward.
If you are going to be using Winforms/WPF/Webforms/MVC, then resource files/satellite assemblies files are a good way forward. Additionally, if you are using visual studio it has great support for this kind of localization.

I have no idea what a PO file is.
However, .Net has pretty good built in support for multilingual resource files. I'd go that route.

Related

Which language would you suggest to build web application? What is the fastest language to pick up and master?

As a complete noob, which language would you suggest to build web application? I only know a little of ASP.NET( build a small website connecting to database). What is the fastest language to pick up and master?
Language should be C#,if you want to bulid a small website try to search some example open source projects in github,It may help you to learn how to build a Asp.net website in a quick way

Globalization, Localization, Internationalization: Add Languages (French, etc.) / asp.net 4.0 / for dummies

I'm not a programmer, but I have a little company website that I developed with MS Visual Web Developer 2010 Express (not Visual Studio), so I'm not completely inept. I want to add French and Spanish languages to my website. So some websites have, for instance, ?lang=fr after the URL or something similar.
Because I'm not a professional hard-core programmer, I need programs with a user-friendly GUI. Unlike Visual Studio, Visual Web Developer 2010 doesn't have friendly options for adding languages, or easy-to-comprehend tutorials on the web.
So I was thinking about just having the regular pages in my website as my English pages. Then, I can make /FR/ and /ES/ directories, and just copy all the aspx and aspx.vb pages to their respective directories and translate them. Then I would give the end-user a choice on the homepage to click "French" or "Espanol". So an end-user who clicks French would be directed to domain/FR/default.aspx.
Is this thinking wrong? Is there a simpler, easier way to accomplish 3 languages? Is there a more PROFESSIONAL way that looks more professional that I might understand?
I can install JQuery plugins. Anyone who can help me achieve this is a Godsend! Thank you for your time in reading this, and I sincerely appreciate any and all guidance you can offer!
Jason Weber
This thinking is not wrong, but it does have a downside: every change you make to your pages you will have to repeat for all copies (e.g. changing the layout, fixing a bug or adding an image).
What most ASP.NET developers generally prefer to do, is to keep one set of pages, put all content that can be translated into so-called resource files and then let the server select the language content based on the user's choice.
This step-by-step tutorial on MSDN will help you to get your site localized in different languages using Visual Web Developer:
Walkthrough: Using Resources for Localization with ASP.NET
In this tutorial, the browser indicates the user's preferred language. So it doesn't use a separate menu to select the language. I suggest you first get familiar with ASP.NET resources and implicit localization, as this will introduce a lot of new concepts.
If you have localized your site this way, you can always switch to explicit localization, while still using the resources you have created by following the tutorial above.

Umbraco alternative?

I've been trying to learn how develop websites with ASP.NET as well as setup a personal website to use as a online porfolio/resume. With my website I've decided to not try to reinvent the wheel and thus decided to use a premade ASP.NET based CMS.
After reading a lot of reviews I settled on Umbraco, but now I'm seeking out alternatives. I like Umbraco a lot but I keep running into problems. Since installing it on my host I haven't made any changes through the file system, or database directly. All changes have been through the admin site. Yet somehow I kept getting it into some state where I could not delete a datatype, and now I'm having problems removing or renaming one of my templates. I've searched for Umbraco forums for solutions and usually find that I have to run some SQL script workaround on the database to clean things up. This kind of thing is really not something I want to fiddle with for my personal site.
Has anyone else had a lot of problems with Umbraco like I have? Are there other free CMS systems out there that are more reliable, yet similar to Umbraco? Specifically I really like how Umbraco gives me total control over the HTML generated by my site. Simple is also better in this case. I'm not trying to create some kind social network/community portal/forum/blog site. There won't be multiple people logging onto this site or anything like that.
I've been reading a bit about N2, which I'm now starting to consider. I like that it's more developer based and that you setup page types through real .NET classes in Visual Studio. Again I don't want to attempt to build my own CMS from scratch, but at the same time I really don't like how hard it is to see what's going on under the hood with most other CMS systems.
I haven't used N2 so I can't comment on that, but alternatives you can consider are Orchard or FunnelWeb, both are on MVC 3 and Razor.
If you're wanting a blog that is mostly just a blog then FunnelWeb is a good option.
I'm currently writing a comparison between Orchard and Umbraco if you're interested as well.
I think you'll be happy you stuck with Umbraco. I was so frustrated with Umbraco when I first started working with it for the exact reasons you stated above. The issue with not being able to delete data types could mean that it's connected to something (IE: document or media type) somewhere and if you force delete it (IE: via the db) you could really mess up your install. <- speaking from experience.
I'm absolutely in love with Umbraco now though. I am completely confident that I can build just about anything I need with it now.
I think that my best piece of advice I can pull from my own experience is make sure that you've got your site architecture planned out thoroughly before starting to build it out in Umbraco. You don't want to be fiddling around in there afterward changing things and that's where you can really get yourself into some hot water.
Have fun!
if you want a minimal .net mvc4 cms with good performance check out puck https://bitbucket.org/yohsii/puck/overview
it adds very few concepts on top of what you need to know for .net mvc but it does require .net4.5 (and therefore VS2012) to work with.
it also uses localdb out of the box but if you don't want to install that just attach the database mdf file to regular sql server and change the connection string

I would like to convert Joomla CMS to ASP.net as there is no CMS like Joomla in .net. Would that be a good idea?

I have this idea boggling my head since a long time.
As a developer, I get a lot from the community and feel like giving back something to the community.
And after knowing and working on Joomla i found Joomla CMS as the most flexible, easy and user friendly cms.
As a developer, I like most of the features of it.
Now, i want to have a asp.net version of joomla, available free to the community.
I wanted to start it from scratch and it would be a copy/same as joomla.
Would that be a good idea to go with it?
Are there any CMS (same as Joomla) available in asp.net?
I would like to have suggestions and advice from my community developers.
Critics are welcomed ;)
SIA
Checkout CMSWire. They have the language platform for most of the CMS packages along with a bunch of other attributes.
I think every web developer writes a CMS at some point in their career. I'm working on one right now. But a project the size of Joomla or Dotnetnuke is way too big for one person, even fulltime.
Btw, my favorite CMS ( based of demos ) that I've seen so for is Umbraco.
I've had the same idea as well but like people say it is a huge task.
However it's not as big as creating a CMS in a language like PHP from scratch becuase you can use features like rich data controls, Membership, profiles, themes, masterpages, webparts etc.
For that reason I would not een bother trying to convert joomla's php to c# but rather create a feature list and write code from that.
The only CMS that I've found comes close to joomla is Kentico mainly because of the use of webparts.
You might look at DOTNETNUKE (http://www.dotnetnuke.com/).
That is the only major .NET based CMS that I know of. I also use Joomla and have used DOTNETNUKE as well and they offer many of the same features. If .NET is the way you need to go, this is really the only .NET CMS Open Source player out there.

Web-based .resx file editor?

I'm working on a SharePoint site, and the site eventually needs to be localized to many different languages. We can use resource files, but we'd like for the translators to be able to update those files while the site is live, without requiring developer assistance to recompile, redeploy, etc.
To me, I think the easiest way to do this would be to provide a web application to edit the .resx files as they sit in the App_GlobalResources directory. Does anyone know of some sort of a web-based .resx editor like that? I found one from LavaBlast, but it displays the values for all languages at once. With the number of languages we plan on having, I think that would eventually get unwieldy.
Any suggestions are appreciated.
I used the one you found: http://blog.lavablast.com/post/2008/02/RESX-file-Web-Editor.aspx It took a couple of hours but it works a treat. I think that having the multiple languages editable at the same time is very helpful to avoid getting your resx files out of sync, and to see blank entries easily.
Not a direct solution, but DotNetNuke contains a full lanaguage file editor, you might be able to extract the logic from it for your own use.
Microsoft released a tool called the Enterprise Localization Toolkit you might look at:
http://msdn.microsoft.com/en-us/library/aa479334.aspx
It has been ages since I played with it, but it should fit at least some of your requirements. It is easy enough for a non-techie to use. You do not edit RESX directly, however, so it might not be exactly what you need. You gen them instead and then deploy.

Resources