Joomla Language Switcher Missing Language - joomla3.0

I am developing and multi language website (3 Languages - Default :English)
I have another two Languages but on my Language Switcher I can only see one of them.
For the default Language the issue I think is the following:
On the menus drop down i can see all flags except the default one as I am not allowed to change the default page (Home Page) of that menu to English. When I try to do it i get the following error:
"Save failed with the following error: The Language parameter for this menu item must be set to 'All'. At least one Default menu item must have Language set to All, even if the site is multilingual."
I haven't been able to understand why I can't see the 3rd Language even if I had followed the exact same procedure with the visible one.
Attaching the link with the instructions I have followed:
https://www.youtube.com/watch?v=cm114SqvUuc
Any help on troubleshooting?

Related

CakePHP 3.x optional language routing

I'm creating a multi language site. I want it to be in english when no language parameter is set and a different language when a language parameter is set.
My routing looks as follows:
$routes->connect('/:language/:controller/:action/*');
The issue is as follows:
When I visit www.mydomain.com/users/login it works fine.
When I visit www.mydomain.com/fr/users/login it works fine (in french).
But when I visit www.mydomain.com/users/login/1 where the 1 is a custom named parameter I want to parse, it naturally thinks that users is the language and login is my controller and 1 is my action.
I'm aware that if I force there to always be a language parameter this would no longer be an issue but I don't want the english version to be at www.mydomain.com/en/. I want it to be at www.mydomain.com.
Is this achievable? Is there a way to ignore the language parameter if it's not fr or es etc?
You can specify a regular expression for matching route elements. So you need something similar to
$routes->connect(
'/:language/:controller/:action/*',
[],
['language' => 'fr|es']
);
Consult the CakePHP manual / API for more details.

What does the number beside the icon represent?

What does the number mean in read and why does it increment from 1 to 2? It looks similar to firebugs error count, but there are no errors here.
The badge will show different information depending on your settings.
To see the current behavior (and change it):
Go to Tampermonkey settings
Make sure Config Mode is set to Beginner or Advanced as you will not be able to change the setting when in Novice mode
Find Icon Badge Info on the settings screen and set it to your liking.
In Novice mode this is showing the number of "running script instanced". E.g. if you're on a page where you have a script running and that page also has an iframe with the script running the badge will say 2.

Generate english versions of same content on Drupal?

My website needs to be able to support multiple languages for multiple countries. For example, the US might have English and Spanish, while the UK might only have English. If two countries use the same language, it DOES NOT mean the content is the same.
For this reason, I decided to use the internationalization module (i18n) and I created language codes as follows:
gb-en - UK English
us-en - US English
us-es - US Spanish
I set this up with no issues, but my problem comes in with creating all the default content. For each content type, I want to:
Set the content types default language as "English"
Create translated versions of each content type for each language
I know this will mean that the Spanish content would still be in English, but it's the first step towards translating it.
What is the easiest way to create all these "default" content pages?
You could create a module implementing hook_node_insert(). This module would intercept the creation of a new node (stored with the default language) and create as many copies as needed. Each of these copies should have a different value in the field language. These copies colud be easily stored in the dabase using node_save() function.

How to translate role in Drupal?

If I want to translate the role to other language, how do I do it?
I can change that to other language as the default but I would like to use English so I don't have to deal with UTF8 issue in my code with Asian charactors.
if(in_array("administer nodes", $user->roles))
I have tried to find it from translation module but this seems not translatable as other text in Drupal.
So I'm assuming you've already tried using the t() or st() functions?
If that's so, you may need to try a client-side AJAX translation solution. One way you might do this is to create a vocabulary of terms (corresponding to the English role names), and have the Asian character translation as a secondary field. Then use views to create a view of this vocabulary, and create a lightweight module that:
1) loads a Drupal AJAX script on every page (or every page where role names might be utilized)
2) the script looks for a list of specified containers by id that you know will contain role names
3) searches the view you created for the English pattern, and replaces it in the container with any positive matches
Drupal API's example AJAX module
You could then expand the module/AJAX script to solve other similar translate fails on your site.

Sitecore country ISO in url

I have created a site with multiple languages in sitecore... I the content editor (system > languages) I have specified three languages (Dutch, English and German). No I have 2 problems.
When an item has, for example: an English version but no German and Dutch version and I type the address to the German site: www.testsite.com/de I get the German site, but without content. In this case I want a 404 page to be shown.
Another problem is when I go to language that is not specified in system > language and also on the item is still get an empty site. In this case I also want a 404 page to be shown. Sitecore shows the page as long as it is a valid ISO-code.
I'm using Sitecore 6.4
Does anybody has a solution for these problem(s)?
Thanks in advance!
mrtentje
My LinkManager is specified as follows in the Web.config:
<add name="sitecore" type="Sitecore.Links.LinkProvider, Sitecore.Kernel" addAspxExtension="true" alwaysIncludeServerUrl="false" encodeNames="true" languageEmbedding="asNeeded" languageLocation="filePath" shortenUrls="true" useDisplayName="false"/>
Unfortunately you have to manage both of these scenarios manually in Sitecore, they both have quite simple solutions but will require some development on your part.
For the first (accessing of pages without translations) I think you would need to extend the current ItemResolver within Sitecore and have it explicitly check that a version exists for the language that has been selected. I haven't implemented that myself but that's how I'd look at handling it.
The second (only accepting certain languages) is something I have handled, and it really bothered me that Sitecore couldn't handle it itself (though perhaps it does and I missed it). For this I created a step in the pipeline immediately after the LanguageResolver called PermissableLanguageChecker. This checks to see if the current language of the request is one of certain allowable values, and if it isn't it sets the language back to the default language, or in your case throw a 404.
For the "allowable values", I read them from the site config with a new property there:
<site name="website" ... permissableLanguages="pl-PL,en" language="pl-PL" ... />
That permissableLanguages property is handy as we can also use it later on in the site when presenting a language selection control to the user.
You may want to take a look at the Language Fallback module in the Sitecore Shared Source Library. As it covers some of your scenarios.
http://trac.sitecore.net/LanguageFallback

Resources