I am trying to implement a static website using Liferay's WCM. I want content to be displayed in user specific/selected language.
I am not sure whether I have to write separate content for each language or is there any way by which Content will get translated to user specific language?
I have tried "Add translation" in web content but it seems to be not working.
Any help is appreciated.
There's no automatic translation to another language. If you choose "Add translation" in the Web Content Editor, you'll have to edit the translated version yourself. Then you can use the user's profile settings or the "Languages" portlet or just the URL to determine the language. If an article is available in the user's language, that version will be shown.
You can try the URL parameters by just adding the language code as the first part of the page. E.g. https://www.liferay.com/community brings you to the default version for your user profile (if you're logged in), while https://www.liferay.com/de/community shows the german (de) version of that site. Every content that is translated to german will show in german, while the content that's not translated will be shown in the default language.
Related
Here is an issue we are having with our website developed in XPages which is accessible in several regions and languages. Based on the browser language we are able to determine which header to display at the top of web page. Our content is then displayed for that language in that region. Content displayed is from individual documents in a Domino database and there is one for each language so the user can see language friendly data. Some documents are only for a particular Region/Language and not translated for other regions due to availability of the product.
The issue is when someone clicks on a link (ie via social media let's say) like https://www.cascorp.com/americas/en/reach-forks they go to the americas English version but the header and menu items are displayed in the browser language and content is displayed in the English language. Server Redirect rules won't work in this case. It would be nice to be able to redirect them to https://www.cascorp.com/eme/en/reach-forks and have a page that comes up stating that the product is not available for that region. Is there a way I can dynamically change the address bar to redirect them to a different document by replacing the region part of the address? This way we can have a document for that region/language stating that the product is not available in their region.
You can use context.redirectToPage(nameOfXpage) to redirect based on your language logic.
For a partner of mine, www.the-academy.nl, we decided to abandon Server Redirect rules completely, so we installed Apache as a reverse proxy server. It gives you full control over all links in and out if you want, and we managed to remove all visible references to the web database. Apache can be installed on the same system as Domino (easiest on Linux). It might be a bumpy ride, but it's worth it.
We are going to install French language pack for Maximo 7.6.0.5 and we also want to reflect the french language in Maximo Anywhere. Will I get french language pack automatically in maximo Anywhere if I install french language pack in Maximo core? If not, please let help me what are the files i need to change to get french translations in Maximo Anywhere.
Maximo Anywhere GUI is based on the device's language. All supported languages are available in the apk/ipa you will be using. As long as your device is set to the French locale you should see the application in French.
If you have some custom labels in Anywhere you will need to see this instruction here:
https://www.ibm.com/docs/en/SSPJLC_7.6.2/com.ibm.si.mpl.doc/pdf_si_mpl_customize.pdf
There is one part that describes that situation:
Changing field labels The labels for fields in the mobile apps are
defined in the app.xml file. You can change any of the labels to match
your implementation of Maximo Anywhere. Procedure
In MobileFirst Studio, go to the Anywhere\MaximoAnywhere\apps\app_name\ artifact directory and open the
app.xml file with the XML editor.
On the Design tab, expand the view that contains the label attribute you want to change and enter the new name.
If you translate the mobile app, change the name of the label in the artifact.js file for each supported language. For example, if the
base language of the mobile app is English and you translate the app
to French, change the label name in the artifact.js file in the
Anywhere\MaximoAnywhere
apps\WorkExecution\common\js\application\translation\nls\fr directory.
Save your changes. The application is built automatically.
Optional: To preview your changes in the mobile browser simulator, right-click on the application folder and select Run As > Preview
I will add also some useful links here that are describing how Maximo works with multiple languages.
https://www.ibm.com/support/pages/enabling-multi-language-support-simplified-set-instructions
https://www.ibm.com/support/pages/general-multi-language-questions-maximo
https://bportaluri.com/2013/05/add-language-pack-to-maximo.html
https://maximosecrets.com/2019/06/06/maximo-languages-and-language-tables/
Based on the document:
When you open the Pages application on a multilingual website, you can see the language selector below the content tree. Use the selector to switch between language versions of the currently selected page.
But my language selector is missing!!!!
I am using Kentico v10.0.11 with Based license edition.
I have set UK and US in my website.
What else did I miss?
Can you double check you have assigned cultures for your current site?
As far as I know localization should be accessible in the base license so this should not be an issue.
If everything is set properly and it`s still not working you could check event log and browser console.
I have set up a new role in my Sitecore 8 (update 3) instance and have assigned the following roles to it (as well as giving read/write access to my content tree):
sitecore\Sitecore Client Translating
sitecore\Sitecore Client Users
sitecore\Sitecore Client Authoring
sitecore\Sitecore Client Designing
When logged in and using the Content Editor, I can change language ok. When I change language in the Page Editor Experience Editor however, (using Experience > Language menu item) I get a 404 error. If I clear the URL in the browser to the root (hostname) the language appears to have been changed.
Edit: Additional Information
It's worth noting that:
The solution does not use translated items. We have a separate content tree (within a single instance) for each site/language.
The linkManager is configured to use DisplayName for the URL.
Please share the snapshot of your new content tree structure and link manager config settings if possible. Meanwhile, can you please revert link manager settings and check if it works fine? Also use firebug net tab with persist to see the URLs requested while click on second language.
Also, please check following cookies values if updated your-site-name#lang:-
website#lang
here webiste is name of default sitecore site
Moreover, when your Experience Editor is loaded, just to make sure, click on default language from language menu to see if it works even for default language.
As said keep your firebug open with persist and keep eye on net tab with all to see if any resource request having 404.
Lets try keep this simple.
Given a SharePoint site (english) and a feature (localized with resource files) to English (default) and Czech (but could be any language).
Why do I need to install a Czech Site Collection to get the Czech localization strings to work. I thought localization worked from user context, IE: based on the currently logged on users regional settings which trickle through to the browser?
A feature is not really meant for "end users", but for site admins to roll out only. So localization files pertaining to the feature itself (i.e. description, title etc.) are shown in the language of the site collection. Any controls and aspx pages etc. you create though could be localized for the display language of the current user's browser, just use the normal ASP.NET way of doing this. To be able to have your site actually listen to the user's language preference you need to change the web.config of the web app also though by setting the globalization to auto like so:
<globalization fileencoding="utf-8" uiCulture="auto" culture="auto" />
Any aspx page needs to have Culture="auto" UICulture="auto" in the <%# Page directive.
Al off the above is an "excerpt" from Hristo Yankov's excellent article.
I believe a feature LCID will be related to the RootWeb.Locale.LCID of the Site Collection.
That said, you probably need to code your own logic to grab culture info and display your respective resource file.