I18N in SportsTracker
---------------------

The internationalization is done by using the Java ResourceBundle class and the
appropriate *.properties files.

All the text resources for the default language (english) are located in the 
properties-file "SportsTracker.properties" in the directory 
"sportstracker/src/main/resources/i18n". Each additional translation must be
contained in an own file "SportsTracker_**.properties" (** must be the language
code) in the same directory.
Example: the file SportsTracker_de.properties contains the german translation.

The following steps needs to be done for creating new translations:

- Create a new file with the language code filename extension and copy the
  content of the default language "SportsTracker.properties" into it.
- Translate all the contained propeties values.
- The properties-file must use UTF-8 encoding, special characters must not use
  Unicode escape sequences (e.g. \u00c4). Since Java 9 this is not required
  anymore.

For updating an existing translation you should use a diff-tool (e.g. meld on
Linux) and compare the default language file "SportsTracker.properties" with
the properties file of the language you are working on.
You need to add all the missing properties to your language file and remove
all the properties which doesn't exists in the default language anymore.

The new or updated translations can be tested after a rebuild on the next 
application startup. If you want to test a language other than your current
locale, you need to pass the language code with the system property
"user.language" on application startup. Example for french locale:

  java -Duser.language=fr -jar sportstracker-7.4.1.jar

The IntelliJ IDEA IDE provides a very handy resource bundle editor, it can
display and edit the translations for all supported languages for each text
resource in one view.


Stefan Saring
2020/01/01


History of resource changes for each release
--------------------------------------------

SportsTracker 7.8.1:

- pv.main.zone_prefix (new)

- pv.opt.power_data.text (new)
- pv.opt.normalized_power.text (new)
- pv.laps.avgPower (new)
- pv.laps.maxPower (new)
- pv.laps.normalizedPower (new)
- pv.samples.power (new)
- pv.diagram.axis.power (new)
- pv.track.tooltip.power (new)

- pv.main.sport_type.text (new)
- pv.main.type.text (removed)

SportsTracker 7.8.0:

- st.view.equipment_usage.Action.text=Equipment (new)
- st.view.equipment_usage.Action.shortDescription (new)

- st.dlg.equipment_usage.title (new)
- st.dlg.equipment_usage.sport_type.text (new)
- st.dlg.equipment_usage.columns.name (new)
- st.dlg.equipment_usage.columns.distance (new)
- st.dlg.equipment_usage.columns.duration (new)
- st.dlg.equipment_usage.columns.first_usage (new)
- st.dlg.equipment_usage.columns.last_usage (new)
- st.dlg.equipment_usage.empty (new)

- st.dlg.exercise.info.no_equipment (new)

- st.dlg.statistic_results.totals.text (new)
- st.dlg.statistic_results.minimums.text (new)
- st.dlg.statistic_results.averages.text (new)
- st.dlg.statistic_results.maximums.text (new)
- st.dlg.statistic_results.total.text (removed)
- st.dlg.statistic_results.minimum.text (removed)
- st.dlg.statistic_results.average.text (removed)
- st.dlg.statistic_results.maximum.text (removed)

SportsTracker 7.6.1:

- st.main.info.update_available (new)
- st.dlg.sporttype.toggle_equipment_use.Action.text (new)
- st.dlg.sporttype.equipment_not_in_use.suffix (new)

- pv.track.axis.altitude (new)

SportsTracker 7.6.0:

- st.exerciselistview.descent (new)
- st.dlg.exercise.descent.text (new)
- st.dlg.exercise.error.descent (new)
- st.dlg.statistic_results.total_descent.text (new)
- st.dlg.statistic_results.descent.text (new)
- st.dlg.overview.display.descent_sum.text (new)
- st.dlg.overview.value_type.descent_sum (new)
- st.dlg.options.show_descent.text (new)

- st.dlg.sporttype.speed_mode.text
- st.dlg.sporttype.speed_mode_speed.text
- st.dlg.sporttype.speed_mode_pace.text

- st.dlg.options.preferred_speed_mode.text (new)
- st.dlg.options.speed_mode_speed.text (new)
- st.dlg.options.speed_mode_pace.text (new)

- st.dlg.options.speed_unit.text (removed)
- st.dlg.options.distance_hour.text (removed)
- st.dlg.options.minutes_distance.text (removed)

- st.dlg.about.authors.text (new)

- pv.opt.descent.text (new)
- pv.laps.descent (new)
- pv.opt.total.text (new)

SportsTracker 7.5.0:

- pv.main.heartrate.text (new)

SportsTracker 7.4.0:

- st.dlg.options.smoothed_charts.text (new)

- pv.track.maptooltip.start (new)
- pv.track.maptooltip.end (new)
- pv.track.maptooltip.lap (new)

SportsTracker 7.3.0:
- st.view.export_sqlite.Action.text (new)
- st.main.error.export_sqlite (new)

- st.view.filter_exercises.Action.text (removed)
- st.view.filter_exercises.Action.shortDescription (removed)
- st.view.filter_entries.Action.text (added)
- st.view.filter_entries.Action.shortDescription (added)

- st.dlg.filter.title (edited)
- st.dlg.filter.entry_type.text (new)
- st.dlg.filter.entry_type_exercise.text (new)
- st.dlg.filter.entry_type_note.text (new)
- st.dlg.filter.entry_type_weight.text (new)

SportsTracker 7.1.1:
- pv.main.device.text (new)
- pv.main.user.text (removed)

SportsTracker 7.1.0:
- st.dlg.about.translators.text (edited)

SportsTracker 7.0.0:
- application.title (new, no translations needed)
- application.version (new, no translations needed)

- common.ok (new)

- st.main.error.create_dir (edited)
- st.main.error.missing_exercise_files (edited)
- st.main.confirm.define_first_sporttype (removed)
- st.main.info.initial_sporttypes_added (new)
- st.main.error.print_view (edited)
- st.main.error.print_view.no_printer (new)

- st.view.website.Action.text (new)

- st.exerciselistview.empty (new)
- st.notelistview.empty (new)
- st.weightlistview.empty (new)

- st.initial_sporttypes.cycling (new)
- st.initial_sporttypes.cycling.mtb_tour (new)
- st.initial_sporttypes.cycling.mtb_race (new)
- st.initial_sporttypes.cycling.road_tour (new)
- st.initial_sporttypes.cycling.road_race (new)
- st.initial_sporttypes.running (new)
- st.initial_sporttypes.running.street_run (new)
- st.initial_sporttypes.running.street_race (new)
- st.initial_sporttypes.running.trail_run (new)
- st.initial_sporttypes.running.trail_race (new)

- st.dlg.about.translators.text (edited)
- st.dlg.about.close.Action.text (removed)
- st.dlg.about.sportstracker.text (removed)
- st.dlg.about.license.text (new)
- st.dlg.about.copyright.text (edited)

- st.dlg.note.error.time (new)
- st.dlg.note.ok.Action.text (removed)
- st.dlg.note.cancel.Action.text (removed)

- st.dlg.weight.error.time (new)
- st.dlg.weight.ok.Action.text (removed)
- st.dlg.weight.cancel.Action.text (removed)

- st.dlg.exercise.error.time (new)
- st.dlg.exercise.calc_distance.Action.text (removed)
- st.dlg.exercise.calc_avg_speed.Action.text (removed)
- st.dlg.exercise.calc_duration.Action.text (removed)
- st.dlg.exercise.ok.Action.text (removed)
- st.dlg.exercise.cancel.Action.text (removed)
- st.dlg.exercise.error.wrong_relation (removed)

- st.dlg.hrm_file_open.filter_all_files (new)

- st.dlg.overview.close.Action.text (removed)

- st.dlg.sporttype_list.confirm.delete_existing.text (edited)
- st.dlg.sporttype_list.close.Action.text (removed)

- st.dlg.sporttype.confirm.delete_subtype_existing.text (edited)
- st.dlg.sporttype.confirm.delete_equipment_existing.text (edited)
- st.dlg.sporttype.ok.Action.text (removed)
- st.dlg.sporttype.cancel.Action.text (removed)
- st.dlg.sporttype.colorchooser.title (removed)

- st.dlg.filter.ok.Action.text (removed)
- st.dlg.filter.cancel.Action.text (removed)

- st.dlg.statistic.info.no_exercises_found (edited)
- st.dlg.statistic.close.Action.text (removed)

- st.dlg.statistic_results.close.Action.text (removed)

- st.dlg.options.initial_optional_fields.text (new)
- st.dlg.options.list_optional_fields.text (removed)
- st.dlg.options.lookandfeel.text (removed)
- st.dlg.options.ok.Action.text (removed)
- st.dlg.options.cancel.Action.text (removed)

- pv.info.no_data_available (new)
- pv.track.position.text (new)

SportsTracker 5.7.0:
- st.dlg.exercise.error.import_console (new)
- st.dlg.exercise.error.import (removed)
- st.dlg.about.copyright.text (changed)
- pv.error.read_exercise_console (new)
- pv.error.read_exercise (removed)

SportsTracker 5.6.0:
- st.dlg.overview.display.sportsubtype_distance.text (new)
- st.dlg.overview.value_type.sportsubtype_distance (new)
- st.dlg.overview.display.equipment_distance.text (new)
- st.dlg.overview.value_type.equipment_distance (new)
- st.dlg.overview.for_sport_type.text (new)
- st.dlg.overview.equipment_not_specified (new)

- pv.track.tooltip.trackpoint (new)
- pv.track.tooltip.time (new)
- pv.track.tooltip.distance (new)
- pv.track.tooltip.altitude (new)
- pv.track.tooltip.heartrate (new)
- pv.track.tooltip.speed (new)
- pv.track.tooltip.temperature (new)

SportsTracker 5.5.0:
- common.warning
- st.main.error.missing_exercise_files

SportsTracker 5.4.0:

- st.view.entry_copy.Action.text (new)
- st.view.entry_copy.Action.shortDescription (new)

SportsTracker 5.0.0:

- All texts and resource keys with "PolarViewer" has been renamed to 
  "ExerciseViewer" (also updated in all translations)
- pv.view.track (new)
- pv.track.no_track_data.text (new)

SportsTracker 4.0.1:

- st.exerciselistview.ascen (new)
- st.exerciselistview.energy (new)
- st.exerciselistview.equipment (new)

- st.dlg.options.listview.title (new)
- st.dlg.options.list_optional_fields.text (new)
- st.dlg.options.show_avg_heartrate.text (new)
- st.dlg.options.show_ascent.text (new)
- st.dlg.options.show_energy.text (new)
- st.dlg.options.show_equipment.text (new)
- st.dlg.options.show_comment.text (new)

SportsTracker 4.0.0:

- st.main.error.no_note (new)
- st.main.error.no_weight (new)

- st.notelistview.date (new)
- st.notelistview.text (new)
- st.notelistview.print.title (new)
- st.notelistview.print.page (new)

- st.weightlistview.date (new)
- st.weightlistview.weight (new)
- st.weightlistview.comment (new)
- st.weightlistview.print.title (new)
- st.weightlistview.print.page (new)

- st.view.note_list_view.Action.text (new)
- st.view.note_list_view.Action.shortDescription (new)
- st.view.weight_list_view.Action.text (new)
- st.view.weight_list_view.Action.shortDescription (new)

- st.calview.note_short (new)
- st.calview.weight_short (new)
- st.calview.weight_tooltip.weight (new)

- st.view.entry_delete.Action.text= (new)
- st.view.entry_delete.Action.shortDescription (new)
- st.view.entry_edit.Action.text (new)
- st.view.entry_edit.Action.shortDescription (new)

- st.view.note_add.Action.text (new)
- st.view.note_add.Action.shortDescription (new)
- st.view.weight_add.Action.text (new)
- st.view.weight_add.Action.shortDescription (new)

- st.view.exercise_add.Action.shortDescription (changed)

- st.view.confirm.delete.title (changed)
- st.view.confirm.delete.text (changed)

- st.dlg.note.title (new)
- st.dlg.note.title.add (new)
- st.dlg.note.date.text (new)
- st.dlg.note.time.text (new)
- st.dlg.note.text.text (new)
- st.dlg.note.ok.Action.text (new)
- st.dlg.note.cancel.Action.text (new)
- st.dlg.note.error.date (new)
- st.dlg.note.error.no_text (new)

- st.dlg.weight.title (new)
- st.dlg.weight.title.add (new)
- st.dlg.weight.date.text (new)
- st.dlg.weight.time.text (new)
- st.dlg.weight.weight.text (new)
- st.dlg.weight.comment.text (new)
- st.dlg.weight.ok.Action.text (new)
- st.dlg.weight.cancel.Action.text (new)
- st.dlg.weight.error.date (new)
- st.dlg.weight.error.weight (new)

- st.dlg.overview.display.weight.text (new)
- st.dlg.overview.value_type.weight (new)

- st.dlg.cal_cell_exercises.title (removed)
- st.dlg.cal_cell_exercises.ok.Action.text (removed)
- st.dlg.cal_cell_exercises.cancel.Action.text (removed)

- st.view.exercise_delete.Action.text (removed)
- st.view.exercise_delete.Action.shortDescription (removed)
- st.view.exercise_edit.Action.text (removed)
- st.view.exercise_edit.Action.shortDescription (removed)

SportsTracker 3.5.1:

- st.calview.exe_tooltip.sport_type (new)
- st.calview.exe_tooltip.distance (new)
- st.calview.exe_tooltip.avg_speed (new)
- st.calview.exe_tooltip.duration (new)
- st.calview.draganddrop.invalid_hrm_file (new)
- st.calview.draganddrop.assigned (new)

SportsTracker 3.5.0:

- st.view.print.Action.text (new)
- st.view.print.Action.accelerator (new)
- st.view.print.Action.shortDescription (new)

- st.main.error.print_view (new)

- st.calview.print.title (new)
- st.listview.print.title (new)
- st.listview.print.page (new)
- st.listview.confirm.print_many_exercises.title (new)
- st.listview.confirm.print_many_exercises.text (new)

- st.dlg.options.defaultautocalc.text (new)
- st.dlg.options.distance.text (new)
- st.dlg.options.avg_speed.text (new)
- st.dlg.options.duration.text (new)

SportsTracker 3.4.0:

- st.dlg.overview.time_range.last_12_months.text (new)
- st.dlg.overview.sport_type.each_stacked.text (new)

- st.dlg.exercise.auto_calc_distance.Action.text (new)
- st.dlg.exercise.auto_calc_avg_speed.Action.text (new)
- st.dlg.exercise.auto_calc_duration.Action.text (new)
- st.dlg.exercise.calories.text (changed)
- st.dlg.exercise.hrm_view.Action.text (changed)
- st.dlg.exercise.hrm_import.Action.text (changed)

- st.dlg.exercise.calc_distance.Action.text (removed)
- st.dlg.exercise.calc_avg_speed.Action.text (removed)
- st.dlg.exercise.calc_duration.Action.text (removed)

- st.dlg.options.main.title (new)
- st.dlg.options.units.title (new)
- st.dlg.options.polarviewer.title (new)
- st.dlg.options.lookandfeel.text (new)
- st.dlg.options.diagram.text (new)

- st.dlg.options.distance_hour.text (changed)
- st.dlg.options.minutes_distance.text (changed)
- st.dlg.options.second_graph.text (changed)

- st.dlg.options.start_sunday.text (removed)
- st.dlg.options.polarviewer.text (removed)

- st.calview.today.Action.shortDescription (new)
- st.calview.today.Action.text (removed)

- st.dlg.sporttype.select.Action.shortDescription (new)

- st.dlg.sporttype.record_distance.text (changed)
- st.dlg.sportsubtype.name (changed)
- st.dlg.equipment.name (changed)

SportsTracker 3.3.0:

- st.main.confirm.define_first_sporttype (new)

SportsTracker 3.2.0:

- st.dlg.exercise.exercise_data.text (removed)
- st.dlg.exercise.optional_data.text (removed)
- st.dlg.exercise.date_time.text (removed)st.listview.print.title (new)
- st.listview.print.page
- st.dlg.exercise.hide.Action.text (removed)
- st.dlg.exercise.show.Action.text (removed)
- st.dlg.exercise.main.title (new)
- st.dlg.exercise.optional.title (new)
- st.dlg.exercise.comment.title (new)
- st.dlg.exercise.date.text (new)
- st.dlg.exercise.time.text (new)
- st.dlg.exercise.error.date (new)
- st.dlg.exercise.equipment.text (new)
- st.dlg.exercise.equipment.none.text (new)
- st.dlg.exercise.copy_comment.Action.text (new)
- st.dlg.exercise.error.no_sport_and_subtype (new)
- st.dlg.exercise.error.no_previous_exercise (new)

- st.dlg.sporttype.equipment.text (new)
- st.dlg.sporttype.confirm.delete_equipment.title (new)
- st.dlg.sporttype.confirm.delete_equipment.text (new)
- st.dlg.sporttype.confirm.delete_equipment_existing.text (new)

- st.dlg.equipment.* (new)

- st.dlg.filter.equipment.text (new)
- st.dlg.filter.error.date (new)
- st.dlg.overview.time_range.weeks_of_year.text (new)

- st.dlg.statistic.equipment.text (new)

- st.dlg.options.optional_data.tex (removed)
- st.dlg.options.display_optional_data.text (removed)

SportsTracker 3.1.0:

- no changes

SportsTracker 3.1.0:

- intitial Java based release
