From acf7219ad94a17fe3354c0811877e9bced8ae2cc Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Thu, 2 Apr 2015 16:43:18 +0000 Subject: [PATCH] Updated i18n support git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-portlet@113885 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../user/td/client/TabularDataController.java | 53 +++++++++-- .../user/td/client/TabularDataPortlet.java | 13 +-- .../client/resource/TabularDataResources.java | 15 +++ .../user/td/client/resource/flag_es.png | Bin 0 -> 469 bytes .../user/td/client/resource/flag_gb.png | Bin 0 -> 599 bytes .../user/td/client/resource/flag_it.png | Bin 0 -> 420 bytes .../user/td/client/resource/language.png | Bin 0 -> 886 bytes .../user/td/client/resource/language_32.png | Bin 0 -> 2029 bytes .../user/td/client/ribbon/FileToolBar.java | 89 +++++++++++++++++- .../td/client/ribbon/FileToolBarMessages.java | 15 +++ .../td/client/ribbon/TabularDataRibbon.java | 4 +- .../user/td/tabulardataportlet.gwt.xml | 6 +- .../user/td/client/resource/flag_es.png | Bin 0 -> 469 bytes .../user/td/client/resource/flag_gb.png | Bin 0 -> 599 bytes .../user/td/client/resource/flag_it.png | Bin 0 -> 420 bytes .../user/td/client/resource/language.png | Bin 0 -> 886 bytes .../user/td/client/resource/language_32.png | Bin 0 -> 2029 bytes .../ribbon/FileToolBarMessages.properties | 8 +- .../ribbon/FileToolBarMessages_es.properties | 7 +- .../ribbon/FileToolBarMessages_it.properties | 7 +- .../user/td/tabulardataportlet.gwt.xml | 8 +- 21 files changed, 189 insertions(+), 36 deletions(-) create mode 100755 src/main/java/org/gcube/portlets/user/td/client/resource/flag_es.png create mode 100644 src/main/java/org/gcube/portlets/user/td/client/resource/flag_gb.png create mode 100755 src/main/java/org/gcube/portlets/user/td/client/resource/flag_it.png create mode 100644 src/main/java/org/gcube/portlets/user/td/client/resource/language.png create mode 100644 src/main/java/org/gcube/portlets/user/td/client/resource/language_32.png create mode 100755 src/main/resources/org/gcube/portlets/user/td/client/resource/flag_es.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/flag_gb.png create mode 100755 src/main/resources/org/gcube/portlets/user/td/client/resource/flag_it.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/language.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/language_32.png diff --git a/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java b/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java index 4e8a302..b5c4dcd 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java +++ b/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java @@ -4,6 +4,7 @@ package org.gcube.portlets.user.td.client; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import org.gcube.portlets.user.td.chartswidget.client.ChartsWidgetTD; @@ -80,6 +81,8 @@ import com.allen_sauer.gwt.log.client.Log; import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.RunAsyncCallback; import com.google.gwt.event.shared.SimpleEventBus; +import com.google.gwt.i18n.client.LocaleInfo; +import com.google.gwt.user.client.Cookies; import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; @@ -98,6 +101,7 @@ import com.sencha.gxt.widget.core.client.event.DialogHideEvent.DialogHideHandler */ public class TabularDataController { + private static final String TD_LANG_COOKIE = "TDLangCookie"; private SimpleEventBus eventBus; private MainBoxPanel mainBoxPanel; private UIStateType uiState = UIStateType.START; @@ -339,8 +343,39 @@ public class TabularDataController { } + protected void checkLocale() { + String[] locales = LocaleInfo.getAvailableLocaleNames(); + + for (String locale : locales) { + Log.debug("Locale avaible:" + locale); + } + + String currentLocaleCookie = Cookies.getCookie(LocaleInfo + .getLocaleCookieName()); + Log.debug(TD_LANG_COOKIE+":" + currentLocaleCookie); + + LocaleInfo currentLocaleInfo = LocaleInfo.getCurrentLocale(); + Log.debug("Current Locale:" + currentLocaleInfo.getLocaleName()); + + } + + protected void changeLanguage(String localeName) { + Date now = new Date(); + long nowLong = now.getTime(); + nowLong = nowLong + (1000 * 60 * 60 * 24 * 21); + now.setTime(nowLong); + String cookieLang=Cookies.getCookie(TD_LANG_COOKIE); + if(cookieLang!=null){ + Cookies.removeCookie(TD_LANG_COOKIE); + } + Cookies.setCookie(TD_LANG_COOKIE, localeName, now); + com.google.gwt.user.client.Window.Location.reload(); + } + // public void restoreUISession() { + checkLocale(); + String value = com.google.gwt.user.client.Window.Location .getParameter("TabularResourceId"); TRId startTRId = new TRId(value); @@ -655,7 +690,6 @@ public class TabularDataController { eventBus.fireEvent(dataViewRequestEvent); } - private void deleteTabularResource() { final ConfirmMessageBox mb = new ConfirmMessageBox("Confirm", @@ -761,7 +795,7 @@ public class TabularDataController { case LOGS: openLogsWindow(); break; - + case DUPLICATE_DETECTION: openDuplicatesRowsDetection(); break; @@ -916,7 +950,15 @@ public class TabularDataController { case CREATE_GIS_MAP: openCreateMapWizard(); break; - + case LANGUAGE_EN: + changeLanguage("en"); + break; + case LANGUAGE_ES: + changeLanguage("es"); + break; + case LANGUAGE_IT: + changeLanguage("it"); + break; default: break; } @@ -938,7 +980,6 @@ public class TabularDataController { } } - private void doWidgetRequestCommand(WidgetRequestEvent event) { WidgetRequestType widgetRequestType = event.getWidgetRequestType(); switch (widgetRequestType) { @@ -2004,7 +2045,7 @@ public class TabularDataController { UtilsGXT3.alert("Error", "No tabular resource present"); } } - + private void openDuplicatesRowsDelete() { Log.debug("Request Duplicates Rows Delete Tab"); if (trId != null) { @@ -2017,8 +2058,6 @@ public class TabularDataController { UtilsGXT3.alert("Error", "No tabular resource present"); } } - - private void openGeospatialCSquare() { Log.debug("Request Geospatial Create C-Square Coordiantes Tab"); diff --git a/src/main/java/org/gcube/portlets/user/td/client/TabularDataPortlet.java b/src/main/java/org/gcube/portlets/user/td/client/TabularDataPortlet.java index 4deb91e..b7d0a55 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/TabularDataPortlet.java +++ b/src/main/java/org/gcube/portlets/user/td/client/TabularDataPortlet.java @@ -11,7 +11,6 @@ import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.Scheduler; import com.google.gwt.core.client.Scheduler.ScheduledCommand; -import com.google.gwt.i18n.client.LocaleInfo; import com.google.gwt.user.client.ui.RootPanel; import com.google.web.bindery.event.shared.EventBus; import com.sencha.gxt.core.client.util.Margins; @@ -73,17 +72,7 @@ public class TabularDataPortlet implements EntryPoint { } - protected void loadMainPanel() { - String[] locales=LocaleInfo.getAvailableLocaleNames(); - - for(String locale:locales){ - Log.debug("Locale avaible:"+locale); - } - - LocaleInfo currentLocale = LocaleInfo.getCurrentLocale(); - Log.debug("Current Locale:"+currentLocale.getLocaleName()); - - + protected void loadMainPanel() { TabularDataController controller = new TabularDataController(); EventBus eventBus = controller.getEventBus(); diff --git a/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java b/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java index c580d9b..e66c840 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java +++ b/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java @@ -489,4 +489,19 @@ public interface TabularDataResources extends ClientBundle { @Source("point.png") ImageResource geometryPoint(); + @Source("flag_gb.png") + ImageResource flagGB(); + + @Source("flag_it.png") + ImageResource flagIT(); + + @Source("flag_es.png") + ImageResource flagES(); + + @Source("language_32.png") + ImageResource language32(); + + @Source("language.png") + ImageResource language(); + } diff --git a/src/main/java/org/gcube/portlets/user/td/client/resource/flag_es.png b/src/main/java/org/gcube/portlets/user/td/client/resource/flag_es.png new file mode 100755 index 0000000000000000000000000000000000000000..c2de2d7111e3cb59cf6511dd2ab045e824bdb43e GIT binary patch literal 469 zcmV;`0V@89P)@|4`Xj5kLT%`al?B=W5I`&pe;NKW0^Ri&h`xRJ_x;0v zUa?=y?0^3M|NZ~}FE9c#{{3cP{Qd6}13&;Vf!z&M{pZWqKYu4MFm$tgedF}w=P#IQ z7-9gT-$11R0mKA$(qEu4%ok$*y!^wMRm*x;`R7|k6yu?K{s8?55I{^|9{?Tjhec2I zv+6&FhFWG_BbNVc|Ns94tNRJp!0`V!Py;{!F#$2enB#XZaohg-5%Tlk#oa&nzQW9g zl0Y{D4gK?n0U&@Fe=;yIr=|V7caH%YEYL84k`Tt9-wc2LGODP&y?7BIfLMT@X8Qey zK~fSFpuiXa$^kU(k2*|8J(R-+sudaynhucHbwAMTnor{mwqO^w7JHzaBsT z{O^B8RYf5+LvDs&KmRKVd78=o{`1#HTiEo_OolaGleS)G+IQ#sUI`b*pv<`1zCJ=H0jd{{2S>p`ri%{LsXJ%FbMS z$#S`6f|?OG!^Jxczkf6Q`UNF{l0Sd`ad7zm>({^EzyAS6{{CgrkluOb3l1A>ZU2~A zK+FZ=zkmP!`TOVhpFbzBzFaPmD2$N3;+$pK?>zdet`f0002ovPDHLkV1gy;I?Vt8 literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/user/td/client/resource/flag_it.png b/src/main/java/org/gcube/portlets/user/td/client/resource/flag_it.png new file mode 100755 index 0000000000000000000000000000000000000000..89692f74f051cd43503744c3dab65c8ba773b7e2 GIT binary patch literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~o!2~3KHq6QcQY`6?zK#qG>ra@ocD)4hB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrIztFq(O~IEGZ*N=lh=;=qSyMwWku z27eMOW_|f0uQeek^e_9g7KH|eq{JVG0^UaP2Jy4}|L^JL_3uCblfVD@mnS9t`~UCn z|MT(+KT|KOfz%~1cG~~^_2vEk{SFNQ?Cjg~|NsBWy<%2im{vp^YdeS=hk-Cyo6U`Hgs{l4FR(w#{P`G0;a3G2@YSmzI~fu(ZE1> L{an^LB{Ts58L6#6 literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/user/td/client/resource/language.png b/src/main/java/org/gcube/portlets/user/td/client/resource/language.png new file mode 100644 index 0000000000000000000000000000000000000000..12e2a5166daf3d79da4cdc3915ba4305472c295d GIT binary patch literal 886 zcmV-+1Bv{JP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00Q1gL_t(I%Vm;XXdG1-hM$=; zvwx;Zwwp#YQAx2WR(oMo6tsoZidUk=JHd*0Q9-1X3cV=!cO{4v3SvR9P!$m`6e`r9 zDV9L6)?&d}*-#@*-28Tv-JRK)IdjgLcMm2mm`g$gHU`Z)j7ECbzl(qAZ2 z4z{xEkzo#Z{lUz(-Ms(9ELZ*-WTU(@Q<}*Y#fg23+%YE{>GGO*PxgV{!abNbkawjD~kWQ#pp6IN#zF>}}HedhiV1*s0@P z&?@1Lzl2r*&ctJnTeo)`LkAAv`#vI<16SZ=x^u#UwHatbnx-_CS7!dc^vi?$&wkkg z@Q&;}%;=3Dd42i<(h3|bcB4%Punq=G9E3`$+RY4pom%FLlNAQbKZE0=jf*cba5qpa zSZk>_Ld1OC^4&V%{3{izmnIk*ZBkq6;p}*xp@$UZ@)DUfJleklnJKKb;1{V)Uh%&@ zTHAgUqJCI)isd~g-g88AEG+-thn~zS&)> z=ko|rBR+ID$(9sHxTGfCRGci87%8#VqLsn}h~ms|S{F}15XVHajVoN%l6Ge)>-5KU zUD8H?=xw7iLlP$)z%?1YH|N^ZvXb}aa{7#DH+KooqmeWLFvk1`kj*umpckn%Q51Cm z9|y~e1T5x`KbN~bj3W_&m-ktd(WV!4Geid=snN(}-NC==uHJB?O35Lyh|Hs{IshTW z%?!d2-EN~zhEnoYfKnQ?@?9ygSiCe{pLcrT7Yd|Gfz~9(kfh4{2f$8o4-}|4;Q#;t M07*qoM6N<$f~kR;p#T5? literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/user/td/client/resource/language_32.png b/src/main/java/org/gcube/portlets/user/td/client/resource/language_32.png new file mode 100644 index 0000000000000000000000000000000000000000..649c91363a2a86238e0f1d438669c6ad8349f5cb GIT binary patch literal 2029 zcmVe zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00&h`L_t(o!=0CFj9pb3hM%?8 z-sjAvGZg4WD4@2*Hb_UI656Bz1EgrYq>xZRE0Aae1^EFfYBXvTv{VohV}e2q5TieY zaFImOmJt$yRI#;k3#~Av?F?z#@t0(7< zPtT<5ZyP!Bx@%^idET;NjvyU=kc^}U&T*7B=ewcQaUE3cRUifkLt-q6%ADhYY zzPSwUYw*_K7(0eW85kU6|Nb$G9Xp6agY4Qn&cIN0?XAIa4vrRF^`VkE_y2_6FRbB} zW*4{L_agf?4YUU!zT^iR#`*n>^BH^maaN9Q;m6;)fO&Je*gsO@Ln0+XLx30wQ3x@y z|4_lQvrp#cgMVhp%)s3BcX8Jv+qmP`n=wYgXnO!Lf%k!p+Y4?R`UpG!GX(eE$(=Wy z!{ryxCrVXN%MuNN(kDVvuK(2OT(j*_7JU0wb}cxMRcrsk-(TJf3NZMjq{e1VNC9FQ9$;$OV<*F4Ia_$Ywc;{cQBV|cwG+A=te7>^zNzOblMAtWN;em~V zJoVfFl7wVHQY6F(R@&=8XKtxy(3!)GnnfBDJhV0No5fcmFKuGc@atT9{yfBcn(DaX zr3YEK=oEU_T*G%Be1)f<-$6Yybk+>@%+QfRR}R#(wg}8?H(syZC|Q=#Xa+_`%gS0& zC~XZBBWZk`;68JhP4(@P(TF{q40s-{VzUA2xa9J)7^nyv8p-L zI0|6H(xuv+5;bcnOwK9SeVNQ<Dux#HEYS7#bB}g?@L<=A*uvbCU)*3RiSdU z2yc6Olv3*8a+Z%b`Tn8+Vi0Sw)*$~UK-C!mlo%pu+9Y&}RmEB`a|>pz7@_VIYYo=e zX}H@VP?9P!f$kY)&M>fLDjWJl5d*PQzWVj~^vrvP&Kl%-)qG7_b-r0wEb8MUeiR9fSL%Td!4|?pM zN{OZtNhL8x8ey6oc<%mR>Byfpu=$)-ys`UP)?L1t&U&DuZrHx_Ox}Fz01wQzoP6q8 z)Orshage!Pqlg+NLcx!gT}u)DWUVL&;JUimw*Kc7HshUsx!a_y;P89a8Dk#K?z!cb zU+iA-`Lt=>y?X7+10RiP#wDbHk;tKKy&Oz$G5eyc>6>*L);a2V4QDOZSc>GCdDiES zJ&sS##&&ejcX7Hkg@A|lUe_!3!fFBlLMLx?|JcMj(+-b&L)isUiIVbr|W?q>4Gb%c~9;)}zhQEiDlkyMxjFt*(>DoV8qg^od4oV0SiN4AJ zu~iqWp-AO%J5c37i9qFltxnF-*`tGKI)EgJ5JM{oEvNx&NGVS0z*HdWJsM)Aeic#+ zKyb*BHk=y35+&h9(NGmP>cANYWg8kOkf1q;sDfxlYzrU>Mxn=bQ?KVF1HlN% z2n}OFs@7J=a}EcNYW1JXprekl2AgGAV=zU5rhw4S2&_{M6+TOL#AZ45tVW(W@~p;8 zIgzcKH`9zB_wMn%1pwfBd)Rfx2QZyo#2AP%5=u{q5$}CA9-{v*)() { + + @Override + public void onSelection(SelectionEvent event) { + eventBus.fireEvent(new RibbonEvent( + RibbonType.LANGUAGE_EN)); + + } + }); + + itItem + .addSelectionHandler(new SelectionHandler() { + + @Override + public void onSelection(SelectionEvent event) { + eventBus.fireEvent(new RibbonEvent( + RibbonType.LANGUAGE_IT)); + + } + }); + + esItem + .addSelectionHandler(new SelectionHandler() { + + @Override + public void onSelection(SelectionEvent event) { + eventBus.fireEvent(new RibbonEvent( + RibbonType.LANGUAGE_ES)); + + } + }); + + menuReplace.add(enItem); + menuReplace.add(itItem); + menuReplace.add(esItem); + return menuReplace; + } + public void setUI(UIStateEvent event) { UIStateType uiStateType = event.getUIStateType(); diff --git a/src/main/java/org/gcube/portlets/user/td/client/ribbon/FileToolBarMessages.java b/src/main/java/org/gcube/portlets/user/td/client/ribbon/FileToolBarMessages.java index 23a0826..6b968bb 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/ribbon/FileToolBarMessages.java +++ b/src/main/java/org/gcube/portlets/user/td/client/ribbon/FileToolBarMessages.java @@ -141,5 +141,20 @@ public interface FileToolBarMessages extends Messages { @DefaultMessage("Help") String helpButtonToolTip(); + @DefaultMessage("Language") + String languageButton(); + + @DefaultMessage("Language") + String languageButtonToolTip(); + + // + @DefaultMessage("English") + String english(); + + @DefaultMessage("Italian") + String italian(); + + @DefaultMessage("Spanish") + String spanish(); } \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java b/src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java index d92c616..a84beea 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java +++ b/src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java @@ -57,12 +57,12 @@ public class TabularDataRibbon { con = new VerticalLayoutContainer(); con.add(modifyToolBar.getToolBar(), vldata); ribbon.add(con, msgs.modify()); - + /* ruleToolBar = new RuleToolBar(eventBus); con = new VerticalLayoutContainer(); con.add(ruleToolBar.getToolBar(), vldata); ribbon.add(con, msgs.rule()); - + */ templateToolBar = new TemplateToolBar(eventBus); con = new VerticalLayoutContainer(); con.add(templateToolBar.getToolBar(), vldata); diff --git a/src/main/java/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml b/src/main/java/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml index 8ab92b4..97abd0c 100644 --- a/src/main/java/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml +++ b/src/main/java/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml @@ -70,10 +70,10 @@ - + + value="TDLang" /> @|4`Xj5kLT%`al?B=W5I`&pe;NKW0^Ri&h`xRJ_x;0v zUa?=y?0^3M|NZ~}FE9c#{{3cP{Qd6}13&;Vf!z&M{pZWqKYu4MFm$tgedF}w=P#IQ z7-9gT-$11R0mKA$(qEu4%ok$*y!^wMRm*x;`R7|k6yu?K{s8?55I{^|9{?Tjhec2I zv+6&FhFWG_BbNVc|Ns94tNRJp!0`V!Py;{!F#$2enB#XZaohg-5%Tlk#oa&nzQW9g zl0Y{D4gK?n0U&@Fe=;yIr=|V7caH%YEYL84k`Tt9-wc2LGODP&y?7BIfLMT@X8Qey zK~fSFpuiXa$^kU(k2*|8J(R-+sudaynhucHbwAMTnor{mwqO^w7JHzaBsT z{O^B8RYf5+LvDs&KmRKVd78=o{`1#HTiEo_OolaGleS)G+IQ#sUI`b*pv<`1zCJ=H0jd{{2S>p`ri%{LsXJ%FbMS z$#S`6f|?OG!^Jxczkf6Q`UNF{l0Sd`ad7zm>({^EzyAS6{{CgrkluOb3l1A>ZU2~A zK+FZ=zkmP!`TOVhpFbzBzFaPmD2$N3;+$pK?>zdet`f0002ovPDHLkV1gy;I?Vt8 literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/flag_it.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/flag_it.png new file mode 100755 index 0000000000000000000000000000000000000000..89692f74f051cd43503744c3dab65c8ba773b7e2 GIT binary patch literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~o!2~3KHq6QcQY`6?zK#qG>ra@ocD)4hB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrIztFq(O~IEGZ*N=lh=;=qSyMwWku z27eMOW_|f0uQeek^e_9g7KH|eq{JVG0^UaP2Jy4}|L^JL_3uCblfVD@mnS9t`~UCn z|MT(+KT|KOfz%~1cG~~^_2vEk{SFNQ?Cjg~|NsBWy<%2im{vp^YdeS=hk-Cyo6U`Hgs{l4FR(w#{P`G0;a3G2@YSmzI~fu(ZE1> L{an^LB{Ts58L6#6 literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/language.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/language.png new file mode 100644 index 0000000000000000000000000000000000000000..12e2a5166daf3d79da4cdc3915ba4305472c295d GIT binary patch literal 886 zcmV-+1Bv{JP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00Q1gL_t(I%Vm;XXdG1-hM$=; zvwx;Zwwp#YQAx2WR(oMo6tsoZidUk=JHd*0Q9-1X3cV=!cO{4v3SvR9P!$m`6e`r9 zDV9L6)?&d}*-#@*-28Tv-JRK)IdjgLcMm2mm`g$gHU`Z)j7ECbzl(qAZ2 z4z{xEkzo#Z{lUz(-Ms(9ELZ*-WTU(@Q<}*Y#fg23+%YE{>GGO*PxgV{!abNbkawjD~kWQ#pp6IN#zF>}}HedhiV1*s0@P z&?@1Lzl2r*&ctJnTeo)`LkAAv`#vI<16SZ=x^u#UwHatbnx-_CS7!dc^vi?$&wkkg z@Q&;}%;=3Dd42i<(h3|bcB4%Punq=G9E3`$+RY4pom%FLlNAQbKZE0=jf*cba5qpa zSZk>_Ld1OC^4&V%{3{izmnIk*ZBkq6;p}*xp@$UZ@)DUfJleklnJKKb;1{V)Uh%&@ zTHAgUqJCI)isd~g-g88AEG+-thn~zS&)> z=ko|rBR+ID$(9sHxTGfCRGci87%8#VqLsn}h~ms|S{F}15XVHajVoN%l6Ge)>-5KU zUD8H?=xw7iLlP$)z%?1YH|N^ZvXb}aa{7#DH+KooqmeWLFvk1`kj*umpckn%Q51Cm z9|y~e1T5x`KbN~bj3W_&m-ktd(WV!4Geid=snN(}-NC==uHJB?O35Lyh|Hs{IshTW z%?!d2-EN~zhEnoYfKnQ?@?9ygSiCe{pLcrT7Yd|Gfz~9(kfh4{2f$8o4-}|4;Q#;t M07*qoM6N<$f~kR;p#T5? literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/language_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/language_32.png new file mode 100644 index 0000000000000000000000000000000000000000..649c91363a2a86238e0f1d438669c6ad8349f5cb GIT binary patch literal 2029 zcmVe zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00&h`L_t(o!=0CFj9pb3hM%?8 z-sjAvGZg4WD4@2*Hb_UI656Bz1EgrYq>xZRE0Aae1^EFfYBXvTv{VohV}e2q5TieY zaFImOmJt$yRI#;k3#~Av?F?z#@t0(7< zPtT<5ZyP!Bx@%^idET;NjvyU=kc^}U&T*7B=ewcQaUE3cRUifkLt-q6%ADhYY zzPSwUYw*_K7(0eW85kU6|Nb$G9Xp6agY4Qn&cIN0?XAIa4vrRF^`VkE_y2_6FRbB} zW*4{L_agf?4YUU!zT^iR#`*n>^BH^maaN9Q;m6;)fO&Je*gsO@Ln0+XLx30wQ3x@y z|4_lQvrp#cgMVhp%)s3BcX8Jv+qmP`n=wYgXnO!Lf%k!p+Y4?R`UpG!GX(eE$(=Wy z!{ryxCrVXN%MuNN(kDVvuK(2OT(j*_7JU0wb}cxMRcrsk-(TJf3NZMjq{e1VNC9FQ9$;$OV<*F4Ia_$Ywc;{cQBV|cwG+A=te7>^zNzOblMAtWN;em~V zJoVfFl7wVHQY6F(R@&=8XKtxy(3!)GnnfBDJhV0No5fcmFKuGc@atT9{yfBcn(DaX zr3YEK=oEU_T*G%Be1)f<-$6Yybk+>@%+QfRR}R#(wg}8?H(syZC|Q=#Xa+_`%gS0& zC~XZBBWZk`;68JhP4(@P(TF{q40s-{VzUA2xa9J)7^nyv8p-L zI0|6H(xuv+5;bcnOwK9SeVNQ<Dux#HEYS7#bB}g?@L<=A*uvbCU)*3RiSdU z2yc6Olv3*8a+Z%b`Tn8+Vi0Sw)*$~UK-C!mlo%pu+9Y&}RmEB`a|>pz7@_VIYYo=e zX}H@VP?9P!f$kY)&M>fLDjWJl5d*PQzWVj~^vrvP&Kl%-)qG7_b-r0wEb8MUeiR9fSL%Td!4|?pM zN{OZtNhL8x8ey6oc<%mR>Byfpu=$)-ys`UP)?L1t&U&DuZrHx_Ox}Fz01wQzoP6q8 z)Orshage!Pqlg+NLcx!gT}u)DWUVL&;JUimw*Kc7HshUsx!a_y;P89a8Dk#K?z!cb zU+iA-`Lt=>y?X7+10RiP#wDbHk;tKKy&Oz$G5eyc>6>*L);a2V4QDOZSc>GCdDiES zJ&sS##&&ejcX7Hkg@A|lUe_!3!fFBlLMLx?|JcMj(+-b&L)isUiIVbr|W?q>4Gb%c~9;)}zhQEiDlkyMxjFt*(>DoV8qg^od4oV0SiN4AJ zu~iqWp-AO%J5c37i9qFltxnF-*`tGKI)EgJ5JM{oEvNx&NGVS0z*HdWJsM)Aeic#+ zKyb*BHk=y35+&h9(NGmP>cANYWg8kOkf1q;sDfxlYzrU>Mxn=bQ?KVF1HlN% z2n}OFs@7J=a}EcNYW1JXprekl2AgGAV=zU5rhw4S2&_{M6+TOL#AZ45tVW(W@~p;8 zIgzcKH`9zB_wMn%1pwfBd)Rfx2QZyo#2AP%5=u{q5$}CA9-{v*) + value="TDLangCookie" /> + value="TDLang" /> - + -->