Are there any specific language available to Datetimeitem?
I am able to select en_EN and de_DE, but pt_BR is not working.
I am not able to change language for “Lastupdate” using Datetimeitem.
Is there any default language configuration?
Thanx!
Are there any specific language available to Datetimeitem?
I am able to select en_EN and de_DE, but pt_BR is not working.
I am not able to change language for “Lastupdate” using Datetimeitem.
Is there any default language configuration?
Thanx!
You have to use a transform file. Set the language to en_EN and make a file called weekday.map. Inside the file you can put your translations. I have done this for Dutch. This is my content.
Sunday=Zondag
Monday=Maandag
Tuesday=Dinsdag
Wednesday=Woensdag
Thursday=Donderdag
Friday=Vrijdag
Saturday=Zaterdag
Put this file int the transform directory located in the configurations directory.
Please find my string for the items file. You have to let OpenHAB know that you want to translate.
DateTime Forecast_Day_1 "[MAP(nl.map):%1$tA]" {weather="locationId=home, forecast=1, type=condition, property=observationTime"}
DateTime Forecast_Day_2 "[MAP(nl.map):%1$tA]" {weather="locationId=home, forecast=2, type=condition, property=observationTime"}
Hope it helps you.
Hello Erwin,
Unfortunately this solution did not work.
I did your instructions and rebooted my RaspPi.
With MAP translation file/method added Datetimeitem just does not appear in interface.
I just did not understand that you created a weekday.map file and your Forecast calls a nl.map file.
But thanx!
@all_mac07 try replacing the ‘=’ with a blank space. See my post for more information Value mapping using transform file
My demo.items:
DateTime Date "Data [MAP(weekday.map):%1$tA, %1$td.%1$tm.%1$tY]" <calendar> { ntp="America/Brasilia:en_EN" }
My new weekday.map (inside configurations/transform folder):
Sunday Domingo
Monday Segunda
Tuesday Terça
Wednesday Quarta
Thursday Quinta
Friday Sexta
Saturday Sábado
No Date and Time:
Check if the ntp binding is making a connection to the ntp server. You should see this in the log files once logging is enabled.
Lastest information (Warn) were 7 hours ago…
18:36:22.508 WARN o.o.b.ntp.internal.NtpBinding[:122]- couldn't establish network connection [host 'a.ntp.br'] -> returning current sytem time instead
And 2 minutes ago…
2015-09-10 01:08:51 - Date state updated to 2015-09-10T01:08:51
I was not successful in getting date time with 1.7.0. It always gave me a not able to connect to server error but I was busy fixing mybzwave devices so never looked further. However with 1.7.1 all seems to work well. Below is my item definition
DateTime Date “Date [%1$tA, %1$td %1$tb,%1$tY %1$tT]” { ntp=“America/Chicago:en_US” }
And my ntp configuration is as below
ntp:refresh=900000
ntp:hostname=pool.ntp.org
Mahesh,
Back to my main problem…
I am able to show date and time informations, however weekday appears in ENGLISH.
I need to show this information in another language (for example spanish, portuguese or japanese).
So… main problem is how to do this?
When I add MAP translation service and Translation rule (.map file), date and time information do not appears.
Regards.
Out of interest, what’s your JVM Language?
ie. run this as a Rule and look at the output in openhab.log
:
import java.util.Locale
rule "Test Locale"
when Time cron "0/10 * * * * ?"
then
val Locale LOCALE = Locale::getDefault
logInfo('locale', LOCALE.toString)
end
It’s possible that some i18n elements aren’t printed correctly because the JVM settings aren’t setup (or are defaulting to US). These are typically picked up from the OS, in an OS dependent manner. For Linux, it involves specific Environment variables (think LANG
, LANGUAGE
)
14:37:10.008 INFO o.openhab.model.script.locale[:53]- en_US
Your openHAB machine is running on an OS that’s configured for English. Java sees that, and internally defaults it’s Locale to match.
Switch your OS over to the Locale you’re interested in, and all output/display functions in Java should cutover as well… at least they will in a correctly NLS’d (or MLS’d) app.
Internally DateTime is language neutral, so it won’t matter how values get into the DateTime, it’s more about how they format for output purposes.
How you switch the language is OS dependent, but for something common like Linux, it can be done a few ways.
The easiest is to set the LC_ALL
variable prior to starting openHAB.
export LC_ALL=en_GB.UTF-8
This likely requires that you have this lang installed (OS-wise). There are command-line overrides on the JVM that’ll probably also work.
To understand how this is done for other OS’s, you can Google and/or use StackOverflow (aka SO) since the model is different across platforms, and in some cases, across versions of Java.
I did this change, but Openhab persist to show weekday in english. Thanks.
pi@openhab ~ $ locale -a
C
C.UTF-8
en_US.utf8
POSIX
pt_BR.utf8
pi@openhab ~ $ locale
LANG=pt_BR.UTF-8
LANGUAGE=pt_BR:pt
LC_CTYPE="pt_BR.UTF-8"
LC_NUMERIC="pt_BR.UTF-8"
LC_TIME="pt_BR.UTF-8"
LC_COLLATE="pt_BR.UTF-8"
LC_MONETARY="pt_BR.UTF-8"
LC_MESSAGES="pt_BR.UTF-8"
LC_PAPER="pt_BR.UTF-8"
LC_NAME="pt_BR.UTF-8"
LC_ADDRESS="pt_BR.UTF-8"
LC_TELEPHONE="pt_BR.UTF-8"
LC_MEASUREMENT="pt_BR.UTF-8"
LC_IDENTIFICATION="pt_BR.UTF-8"
LC_ALL=pt_BR.UTF-8
14:37:10.008 INFO o.openhab.model.script.locale[:53]- en_US
You’ll need to show how you’re starting openHAB, and where you’re setting the environment relative to how you’re starting it.
For example, if you make these changes in one shell, but openHAB is starting from another (like init.d
scripts) it won’t be picked up. If you make the changes “system-level” in Raspbian, then it’ll probably be picked up on next boot.
I’m guessing you’ve set it in one shell, but you’re starting openHAB in another. I just tweaked my /etc/init.d/openhab
script to add the LC_ALL
environment to my startup sequence, per the above snippet of shell, and now my sample rule correctly emits:
12:47:53.316 INFO org.openhab.model.script.locale[:53]- en_GB
where normally, I get en_US
.
Not yet.
Hey guys,
I stumbled upon your thread since I had the same issues. After migrating my OH setup to new hardware my date items were in English instead of german from the old setup.
Indeed the language was set different. This is how I rectivied this on my debain server (should also work for raspbian, etc)
env | grep LANG
LANG=de_DE.UTF-8
LANGUAGE=en_US:en
export LANGUAGE=de_DE:de
apt-get install dpkg-reconfigure
dpkg-reconfigure locales
Generating locales (this might take a while)...
de_DE.UTF-8... done
en_US.UTF-8... done
reboot
While reconfiguring, choose your new language and reboot.
Hope this helps.
Hi… it is working now. SOMETIMES!!
Let me understand what happens…
Here’s a tutorial on how to achieve your local language for the NTP binding.
No hassle with installing another locale on your Raspberry or other system.
Just keeping the settings of your system. It’s just a few simple steps…
Step 1 - Install the NTP Binding in OpenHab
Step 2 - Go to Things -> Local Time and link the channel “ntp:ntp:local:dateTime” to an item “Date”
(this item you can use in the future for a full date & time text. Example: Sunday, 06.01.2019 20:00)
Sunday=Zondag
Monday=Maandag
Tuesday=Dinsdag
Wednesday=Woensdag
Thursday=Donderdag
Friday=Vrijdag
Saturday=Zaterdag
Step 4 - Put this line in the home.things file. Change it to your own locale / ntp server if needed.
ntp:ntp:local [ hostname="nl.pool.ntp.org", refreshInterval=60, refreshNtp=30, locale="Europe/Amsterdam" timeZone="Europe/Amsterdam" ]
Step 5 - Create 2 new items by adding these lines in the home.items file.
DateTime Today "Datum [MAP(weekday.map):%1$tA]" { channel="ntp:ntp:local:dateTime" }
DateTime Time "[%1$td.%1$tm.%1$tY %1$tH:%1$tM]" { channel="ntp:ntp:local:dateTime" }
Step 6 - You can now add the items to your sitemap by adding these lines to the home.sitemap file.
Text label="" icon="calendar" item=Today
Text label="" icon="" item=Time
Hello,
it worked, But i get this error
2019-02-27 17:29:47.323 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state ‘2019-02-27T17:29:47.288+0100’ on item ‘Today’ with pattern ‘MAP(weekday.map):%1$tA’: Cannot format state ‘2019-02-27T17:29:47.288+0100’ to format ‘%1$tA’
anyone?