Changing the frontend language & multiple countries support in Shopware - shopware

So, I'm trying to understand how this E-Commerce solution works. I have installed the Community Edition and added the default shop. Everything is fine. I read in the Shopware documentation that you can add multiple languages to the web shop by creating additional shops and configuring them as Language Shops. All is fine, that worked, I now have two websites.
Problem is - even though the localisation information is set to Romanian - the website is all in German. Do I really need to purchase the language packs that are offered in the Shopware store? Or can I change the text manually? If so, how do you do that? Also, apparently the flag for the selected language is off... I have the Language Shop configured for RO, but it displays the shop as DE (Germany).
Also, can Shopware make a difference between selected languages when talking about product stock, prices and payment method? The idea is that depending on what country is selected, the product stock and price is changed. With this, the product code might get changed. Also, payment methods and accounts have to be changed as well. Can Shopware do that? If so, is there a tutorial or something regarding this? (I didn't really find something like this...)
Thanks for the help !
Crossposted at the Shopware Community Forum.

So many questions ... trying to sort this out:
As far as I know the backend is available in 2 languages only, German and Englisch.
Just changing the localisation will not change the language being used in the shop frontend. Changing the language is a complex thing to do, which require many aspects.
First of all, each subshop is assigned to a root category eg. 'German' or 'English' or 'Romanian' - this facilitates to show different stock in different languages. (Btw, do not delete the category Deutsch or German, it will break the system. If you don't need it, just leave it empty.)
Many of the predefined attributes and any custom defined attribute for articles can be translated.
Any other static text can be translated, as Shopware uses the Smarty template technology - very easy and straightforward to do.
Bottom line: No you do not need to buy the language packs, if you want to the translation yourself.
Prices can be set per customer group, subshops in turn are associated to customer groups, so this way you could show different prices in different regions/languages.

Related

SharePoint 2013 multiLingual site On-Prem Breadcrumbs are not converting into other languages

I have SharePoint 2013 Internet site, we have implemented language variations for multilingual sites. Bread crumb is working fine if PC language is selected as English and in SharePoint I am selecting German.
But if my PC language is selected as German and in SharePoint also if language is selected as German then Breadcrumb is not showing in German Language.
Bread Crumbs are set up from Taxonomy. Please let me know if someone has faced this issue.
I have seen this a couple of times, with different reasons for it, but fundamentally the same underlying reason. Very often breadcrumbs in lists that have managed navigation with or without friendly URLs come from a customization that is not out-of-the-box, and has been added to the Master Page. What they have in common is that they read a NavigationTerm.Title value. Unlike the term set on which it is based, this object does not support MUI, the Title does not return different value for different user languages. That means that even if the Term Set on which it is based has labels for different languages set within the Managed Metadata Service, these are not available within the navigation, which just has the base language.
You can rewrite the code to open a TaxonomySession to retrieve the Name of the term in the current language, or you can use a third party multilingual SharePoint product but that may be overkill just for the breadcrumbs.

How to add a new language to SAP Hybris e- Commerce Storefront(Electronics UK Website)

My requirement: I want to add one more language say Spanish in footer section of language drop down list on Electronic UK storefront. Once we select the Spanish language our website content should change to Spanish Language.
I have read the hybris wiki related to Internationalization and Localization but I could not find any optimal solution.
Please help me in this to achieve the above functionality.
Open hmc or backoffice. Open your current base store, navigate to languages and add spanish to the list.
Notice, that there will be no data for the language, so your homepage might look very empty.
If you want to add localizations for the cms and product content, you have to add the language to all your catalog versions. Otherwise, your language wont show up in the cmscockpit/productcockpit.
Everything that appears on your homepage as words separated by dots (e.g. "search.placeholder") is not saved in the database. Those are spring messages. They are maintained in a file in your storefront. Find them in
/mystorefront/web/webroot/WEB-INF/messages/
by the names
base_XX.properties
theme-my-theme_XX.properties
site-my-site_XX.properties
where XX is the isocode of your language (in your case es). If the file does not exist, create it. You can use the english file (e.g. base_en.properties) as a template and change the values to spanish ones. Beware, there are a LOT!
There might be more pitfalls, but those are the ones, that came to my mind.

Searching across multiple languages -- how to?

TLDR: I wanna build multi-language search on my website ala Pinterest, how do I do that?
I am starting a website, where people can publish content that gets metadata typed by the user. People can then interact with the content by looking at it, liking it, commenting on it, sharing it to social media. Also content discovery is mostly done through search.
I do not wish to create geographic boundaries on my website. I would like people who speak any language to find content that is relevant to them in any language. This requirement makes sense because the content is highly visual, ala Pinterest. So even if I don't understand that the word "car" is written in French in the description, it's fine because I'll mostly be interested in seeing the car.
Pinterest is really really good with search across language. For example, on uk.pinterest.com I typed "coupe carrée" which is the French for "bob haircut" and all the results are visually relevant. Even if the pin metadata is in English and the original web site is all in English.
How is that possible? how was Pinterest able to match to my french search query content whose text is all in English? is there translation at some step: coupe carrée > bob haircut > content containing "bob haircut"?
I looked at their engineering blog and all I found is tech to detect the original country and language of a website. Nothing about managing language in search.
please let me know if this is the wrong place to ask the how-it-works question.
Thanks in advance for any help/pointers you will be able to share!
The general strategy in this case is to index your content with every language translation you wish to search.
This would require use of a language translation API at index-time. And a language identification model. Here's a Solr example.

Display all categories from one site and only a specific category from another site in Expression Engine MSM

I'm using ExpressionEngine's multisite manager and I'm displaying channel entries from two of the sites - our global site and our localized site for our Australia office. For the Australia site I would like to display all channel entries, but from the Global Site channel entries I would like to only display channel entries from a particular category (in this case "25" ie. those tagged as pertaining to Australia on our Global site).
If I use something like this below, it wont show the any of the entries from the Australia site (tpi_au) because I don't have those categorize.
{exp:channel:entries channel="success" dynamic="no" site="tpi_hq|tpi_au" category="25"}
Is there a way to make that category="25" apply only to tpi_hq?
Sorry this is probably a really easy answer or I'm just doing something totally wrong to begin with... :/
Thank you!
I don't believe there is a way to do this directly in a single channel call.
Situations like this arise all the time, not just with MSM. What if you want 10 entries for category X and 7 entries from category Y? Same deal.
Basically you need to make two channel:entries calls.
If you don't care about the order of the entries you are done. If it bothers you that the tpi_hq entries are always at the top of the list while the tpi_au entry is always at the bottom then you need to figure a way to sort them.
Two approaches I've used for this:
Sort the entries on the client side. I've done this in jQuery using html5 data-date parameters on <li>s.
Muck around with passing forward the entry ID's as embed variables. This requires a total of 3 EE channel:entry tags plus an embed so it is definitely less efficient on the server side, if you are concerned about such things.
Incidentally, most of the EE questions are now handled in the EE SE. You might get a different/better answer over there.

Multilingual solution

Two questions, hopefully with similar answers.
I'll be releasing a JavaScript package in my solution where the error messages are to be displayed. The problems is that I'll be targeting German, English and French. Possibly, also a fourth language TBD. What would be the nicest way to resolve this?
The label names should definitely be localized. Is there a built-in approach to that in CRM 2011? Like a resource table or something like that?
My current solution for (1) is to keep an extra web resource with the strings and distributing a different file for each language. I may rebuild it and distribute all the languages at once and only use a parameter, possibly settable from the GUI if I create a settings-entity. A bit cumbersome.
My current solution for (2) involves a lot of praying and a divine act of some sort. :)
To determine current CRM user language dynamically from Javascript you can use window.USER_LANGUAGE_CODE (this variable exists on all CRM pages) - for example it will be equal 1033 for English. Than based on that info, you can pick needed string resources from your file.
Also in forms context there are two predefined functions, which return current Organization language code and current User language code: Xrm.Page.context.getOrgLcid() and
Xrm.Page.context.getUserLcid() .
If you are talking about custom entities and fields, you can easily add localized display names for them via your solution. You need to edit customizations.xml file from your unzipped solution. For each attribute there you will find such XML containing display names:
<displaynames>
<displayname description="Created By" languagecode="1033" />
</displaynames>
You can just add new display names for each language you need there.
P.S. If someone interested in different aspects of multilangual support for Dynamics CRM 2011 solutions, I strongly recommend to review this page, also here and here is a very helpful reading.

Resources