ICEfaces
  1. ICEfaces
  2. ICE-2424

selectInputDate should use localised tooltips

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.7DR#2
    • Fix Version/s: 1.7Beta1, 1.7
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      Firefox 2.0.0.9
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial

      Description

      SelectInputDate renders out ALT, TITLE, and SUMMARY attributes, which are hard-coded Strings. These should be taken from resource bundles, so that developers can localise or override them.

        Issue Links

          Activity

          Hide
          Mark Collette added a comment -

          I searched through SelectInputDateRenderer, and replaced all hard-coded ALT, TITLE, and SUMMARY attributes, with ones specified in messages.properties and messages_fr.properties. I also added a few ones that hadn't been in there, and removed an incorrect one (days from other months had TITLE of a different day of week).

          Developers can localise them into other languages, or override them in the ResourceBundle specified by FacesContext.getCurrentInstance().getApplication().getMessageBundle() and FacesContext.getCurrentInstance().getViewRoot().getLocale(). If they do not want the attributes to be rendered at all, they can define them as empty Strings in that ResourceBundle.

          Subversion 15235
          icefaces\component\src\com\icesoft\faces\component\selectinputdate\SelectInputDateRenderer.java
          icefaces\component\src\com\icesoft\faces\resources\messages.properties
          icefaces\component\src\com\icesoft\faces\resources\messages_fr.properties
          icefaces\component\src\com\icesoft\faces\utils\MessageUtils.java

          Show
          Mark Collette added a comment - I searched through SelectInputDateRenderer, and replaced all hard-coded ALT, TITLE, and SUMMARY attributes, with ones specified in messages.properties and messages_fr.properties. I also added a few ones that hadn't been in there, and removed an incorrect one (days from other months had TITLE of a different day of week). Developers can localise them into other languages, or override them in the ResourceBundle specified by FacesContext.getCurrentInstance().getApplication().getMessageBundle() and FacesContext.getCurrentInstance().getViewRoot().getLocale(). If they do not want the attributes to be rendered at all, they can define them as empty Strings in that ResourceBundle. Subversion 15235 icefaces\component\src\com\icesoft\faces\component\selectinputdate\SelectInputDateRenderer.java icefaces\component\src\com\icesoft\faces\resources\messages.properties icefaces\component\src\com\icesoft\faces\resources\messages_fr.properties icefaces\component\src\com\icesoft\faces\utils\MessageUtils.java
          Hide
          Sam Xiao added a comment -

          when using fr locale, the previous year and next year button has incomplete "title" value. intead of saying "Voir lannée prochaine: 2008" it displays the title as "Voir lannée prochaine:

          {0}

          "

          Show
          Sam Xiao added a comment - when using fr locale, the previous year and next year button has incomplete "title" value. intead of saying "Voir lannée prochaine: 2008" it displays the title as "Voir lannée prochaine: {0} "
          Hide
          Mark Collette added a comment -

          In the French messages_fr.properties file, it uses single quotes for things like: l'année. It turns out that single quotes have to be escaped with another single quote, otherwise the

          {0}

          notation for arguments is ignored.

          Subversion 15733
          icefaces\component\src\com\icesoft\faces\resources\messages_fr.properties

          Show
          Mark Collette added a comment - In the French messages_fr.properties file, it uses single quotes for things like: l'année. It turns out that single quotes have to be escaped with another single quote, otherwise the {0} notation for arguments is ignored. Subversion 15733 icefaces\component\src\com\icesoft\faces\resources\messages_fr.properties
          Hide
          Mark Collette added a comment -

          It turns out that in message properties that get passed through a MessageFormat that each uses a form of escaping single quotes. When there's a property string with arguments, like

          {0}

          , you should enter a single quote as a single backslash followed by two single quotes. Otherwise, if there are no arguments, then you should use just a single quote. If you use the \'' when there no arguments, then that won't work properly.

          Subversion 15763
          icefaces\component\src\com\icesoft\faces\resources\messages_fr.properties

          Subversion 15764
          icefaces\component\src\com\icesoft\faces\resources\messages.properties

          Show
          Mark Collette added a comment - It turns out that in message properties that get passed through a MessageFormat that each uses a form of escaping single quotes. When there's a property string with arguments, like {0} , you should enter a single quote as a single backslash followed by two single quotes. Otherwise, if there are no arguments, then you should use just a single quote. If you use the \'' when there no arguments, then that won't work properly. Subversion 15763 icefaces\component\src\com\icesoft\faces\resources\messages_fr.properties Subversion 15764 icefaces\component\src\com\icesoft\faces\resources\messages.properties
          Hide
          Jens Hartwig added a comment -

          Maybe you can add a german properties file:

          com.icesoft.faces.component.inputfile.INVALID_FILE=\''

          {0}\'' ist keine valide Datei
          com.icesoft.faces.component.inputfile.INVALID_NAME_PATTERN=Der Dateiname \''{0}

          \'' entspricht nicht dem angegebenen Dateischema \''

          {1}

          \''
          com.icesoft.faces.component.inputfile.SIZE_LIMIT_EXCEEDED=Die Anfrage wurde abgebrochen. Die zulässige Dateigröße wurde überschritten.
          com.icesoft.faces.component.inputfile.UNKNOWN_SIZE=Die Anfrage wurde abgebrochen. Die Dateigröße ist unbekannt.

          com.icesoft.faces.component.paneltabset.PanelTabSet.selectedIndex=

          {0}: Es trat ein Problem beim wechseln des Reiters auf.

          com.icesoft.faces.component.selectinputdate.INPUT_TEXT_TITLE=Datumsformat: {0}

          com.icesoft.faces.component.selectinputdate.CALENDAR_TITLE=Ein Kalender in dem ein Datum ausgewählt werden kann.
          com.icesoft.faces.component.selectinputdate.CALENDAR_SUMMARY=Dies ist ein Kalender. Das Jahr und Datum kann im oberen Bereich geändert werden. Unterhalb befinden sich die Tage. Jede Spalte ist ein Tag in einer Woche. Jede Zelle ein Tag in einem Monat.
          com.icesoft.faces.component.selectinputdate.POPUP_CALENDAR_TITLE=Ein Kalender in dem ein Datum ausgewählt werden kann.
          com.icesoft.faces.component.selectinputdate.POPUP_CALENDAR_SUMMARY=Dies ist ein Kalender. Das Jahr und Datum kann im oberen Bereich geändert werden. Unterhalb befinden sich die Tage. Jede Spalte ist ein Tag in einer Woche. Jede Zelle ein Tag in einem Monat.
          com.icesoft.faces.component.selectinputdate.YEAR_MONTH_SUMMARY=Auswahl des Jahres und Monats
          com.icesoft.faces.component.selectinputdate.OPEN_POPUP_ALT=Kalender öffnen
          com.icesoft.faces.component.selectinputdate.OPEN_POPUP_TITLE=Kalender öffnen
          com.icesoft.faces.component.selectinputdate.CLOSE_POPUP_ALT=Kalender schließen
          com.icesoft.faces.component.selectinputdate.CLOSE_POPUP_TITLE=Kalender schließen
          com.icesoft.faces.component.selectinputdate.PREV_YEAR_ALT=Zeige vorheriges Jahr:

          {0}
          com.icesoft.faces.component.selectinputdate.PREV_YEAR_TITLE=Zeige vorheriges Jahr: {0}

          com.icesoft.faces.component.selectinputdate.NEXT_YEAR_ALT=Zeige nächstes Jahr:

          {0}
          com.icesoft.faces.component.selectinputdate.NEXT_YEAR_TITLE=Zeige nächstes Jahr: {0}

          com.icesoft.faces.component.selectinputdate.PREV_MONTH_ALT=Zeige vorherigen Monat:

          {0}
          com.icesoft.faces.component.selectinputdate.PREV_MONTH_TITLE=Zeige vorherigen Monat: {0}

          com.icesoft.faces.component.selectinputdate.NEXT_MONTH_ALT=Zeige nächsten Monat:

          {0}
          com.icesoft.faces.component.selectinputdate.NEXT_MONTH_TITLE=Zeige nächsten Monat: {0}

          com.icesoft.faces.component.selectinputdate.PREV_YEAR_LABEL=weiter
          com.icesoft.faces.component.selectinputdate.NEXT_YEAR_LABEL=zurück

          feel free to add it in 1.7.2 SP2

          Show
          Jens Hartwig added a comment - Maybe you can add a german properties file: com.icesoft.faces.component.inputfile.INVALID_FILE=\'' {0}\'' ist keine valide Datei com.icesoft.faces.component.inputfile.INVALID_NAME_PATTERN=Der Dateiname \''{0} \'' entspricht nicht dem angegebenen Dateischema \'' {1} \'' com.icesoft.faces.component.inputfile.SIZE_LIMIT_EXCEEDED=Die Anfrage wurde abgebrochen. Die zulässige Dateigröße wurde überschritten. com.icesoft.faces.component.inputfile.UNKNOWN_SIZE=Die Anfrage wurde abgebrochen. Die Dateigröße ist unbekannt. com.icesoft.faces.component.paneltabset.PanelTabSet.selectedIndex= {0}: Es trat ein Problem beim wechseln des Reiters auf. com.icesoft.faces.component.selectinputdate.INPUT_TEXT_TITLE=Datumsformat: {0} com.icesoft.faces.component.selectinputdate.CALENDAR_TITLE=Ein Kalender in dem ein Datum ausgewählt werden kann. com.icesoft.faces.component.selectinputdate.CALENDAR_SUMMARY=Dies ist ein Kalender. Das Jahr und Datum kann im oberen Bereich geändert werden. Unterhalb befinden sich die Tage. Jede Spalte ist ein Tag in einer Woche. Jede Zelle ein Tag in einem Monat. com.icesoft.faces.component.selectinputdate.POPUP_CALENDAR_TITLE=Ein Kalender in dem ein Datum ausgewählt werden kann. com.icesoft.faces.component.selectinputdate.POPUP_CALENDAR_SUMMARY=Dies ist ein Kalender. Das Jahr und Datum kann im oberen Bereich geändert werden. Unterhalb befinden sich die Tage. Jede Spalte ist ein Tag in einer Woche. Jede Zelle ein Tag in einem Monat. com.icesoft.faces.component.selectinputdate.YEAR_MONTH_SUMMARY=Auswahl des Jahres und Monats com.icesoft.faces.component.selectinputdate.OPEN_POPUP_ALT=Kalender öffnen com.icesoft.faces.component.selectinputdate.OPEN_POPUP_TITLE=Kalender öffnen com.icesoft.faces.component.selectinputdate.CLOSE_POPUP_ALT=Kalender schließen com.icesoft.faces.component.selectinputdate.CLOSE_POPUP_TITLE=Kalender schließen com.icesoft.faces.component.selectinputdate.PREV_YEAR_ALT=Zeige vorheriges Jahr: {0} com.icesoft.faces.component.selectinputdate.PREV_YEAR_TITLE=Zeige vorheriges Jahr: {0} com.icesoft.faces.component.selectinputdate.NEXT_YEAR_ALT=Zeige nächstes Jahr: {0} com.icesoft.faces.component.selectinputdate.NEXT_YEAR_TITLE=Zeige nächstes Jahr: {0} com.icesoft.faces.component.selectinputdate.PREV_MONTH_ALT=Zeige vorherigen Monat: {0} com.icesoft.faces.component.selectinputdate.PREV_MONTH_TITLE=Zeige vorherigen Monat: {0} com.icesoft.faces.component.selectinputdate.NEXT_MONTH_ALT=Zeige nächsten Monat: {0} com.icesoft.faces.component.selectinputdate.NEXT_MONTH_TITLE=Zeige nächsten Monat: {0} com.icesoft.faces.component.selectinputdate.PREV_YEAR_LABEL=weiter com.icesoft.faces.component.selectinputdate.NEXT_YEAR_LABEL=zurück feel free to add it in 1.7.2 SP2
          Hide
          Mark Collette added a comment -

          Jens Hartwig, thanks a lot for your translation. Before we can use it, we'd need you to sign a contributor's agreement, to cover all the licensing legalese.
          http://www.icefaces.org/main/community/contribute.iface

          Show
          Mark Collette added a comment - Jens Hartwig, thanks a lot for your translation. Before we can use it, we'd need you to sign a contributor's agreement, to cover all the licensing legalese. http://www.icefaces.org/main/community/contribute.iface

            People

            • Assignee:
              Unassigned
              Reporter:
              Mark Collette
            • Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: