You can manually edit the localisation settings. From your example I would suggest that you use some English version as the base language and add other bits according to your needs. Other bits you can get from other locale settings that must be also installed in your system. That is, if you want the system to be in Italian, dates in Russian style and numbers in Finnish the these packages to support those languages must be installed in your system.
You can see the full list of locales installed in your system by running this command in the terminal:
$ locale -a.
Or you can open System settings->Language support->Install/Remove languages. All the installed languages will be checked. To add or remove languages just check some more or uncheck unwanted ones. From your example I advise you use just English(includes many versions)+Spanish.
The specifics of your current localisation settings can be checked with this command:
Here is what these settings refer to:
LANG - Provides default value for LC_* variables that have not been explicitly set.
LC_ALL - Overrides individual LC_* settings: if LC_ALL is set, none of the below have any effect.
LC_CTYPE - How characters are classified as letters, numbers etc. This determines things like how characters are converted between upper and lower case.
LC_NUMERIC - How you format your numbers. For example, in many countries a period (.) is used as a decimal separator, while others use a comma (,).
LC_TIME - How your time and date are formatted. Use for example "en_DK.UTF-8" to get a 24-hour-clock in some programs.
LC_COLLATE - How strings (file names...) are alphabetically sorted. Using the "C" or "POSIX" locale here results in a strcmp()-like sort order, which may be preferable to language-specific locales.
LC_MONETARY - What currency you use, its name, and its symbol.
LC_MESSAGES - What language should be used for system messages.
LC_PAPER - Paper sizes: 11 x 17 inches, A4, etc.
LC_NAME - How names are represented (surname first or last, etc.).
LC_ADDRESS - How addresses are formatted (country first or last, where zip code goes etc.).
LC_TELEPHONE - What your telephone numbers look like.
LC_MEASUREMENT - What units of measurement are used (feet, meters, pounds, kilos etc.).
LC_IDENTIFICATION - Metadata about the locale information.
Here is your fix (hopefully):
For folders and the system use chosen English language as the main
language and that's it.
For numeric values (with dots to separate decimals and commas to separate thousands) you could either just use the British English as the base for your system. But if you chose to use US English instead modify the “.profile” file in your home directory by adding this line to it:
For the dates and calendar you just need to change the time format localisation to Spanish (as far as I know then also the weeks will start with Mondays).
So add also this line to the same .profile file in your home directory:
Localisation will be applied on the next time you login to Ubuntu. You can check then the results by running “locale” command once more or just see if everything functions as you would like to.
Keyboard settings are separate from localisation settings and for your specific problem with the Apple keyboard use “console-data” package.
For this run:
sudo dpkg-reconfigure console-data
But as probably the package is not yet installed in your system run this:
sudo apt-get install console-data
The install includes configuring your keyboard settings, so probably that is all you need.
The mac Spanish keyboard was listed there – hopefully that is what you need.
Hopefully these tips will solve your problems.