← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 16405: GIS calendars implemented + PT i18n fix.

 

Merge authors:
  Jan Henrik Øverland (janhenrik-overland)
------------------------------------------------------------
revno: 16405 [merge]
committer: Jan Henrik Overland <janhenrik.overland@xxxxxxxxx>
branch nick: dhis2
timestamp: Wed 2014-08-13 17:55:29 +0200
message:
  GIS calendars implemented + PT i18n fix.
removed:
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/i18n.json
added:
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/i18n/
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/i18n/en.json
modified:
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/index.html
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/app.js
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/core.js
  dhis-2/dhis-web/dhis-web-pivot/src/main/webapp/dhis-web-pivot/app/scripts/app.js


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== added directory 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/i18n'
=== removed file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/i18n.json'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/i18n.json	2014-05-16 10:04:38 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/i18n.json	1970-01-01 00:00:00 +0000
@@ -1,438 +0,0 @@
-[
-"save",
-"saved",
-"delete_",
-"deleted",
-"update",
-"updated",
-"register",
-"registered",
-"add",
-"added",
-"assign",
-"assigned",
-"refresh",
-"refreshed",
-"select",
-"selected",
-"cancel",
-"cancelled",
-"apply",
-"applied",
-"show",
-"hide",
-"showhide",
-"toggle",
-"boundary",
-"level",
-"type",
-"new_",
-"edit",
-"export_",
-"map",
-"favorite",
-"favorites",
-"legend",
-"legendset",
-"group",
-"groups",
-"groupset",
-"groupsets",
-"indicators",
-"dataelements",
-"thematic_map",
-"polygon_layer",
-"point_layer",
-"indicator_group",
-"indicator",
-"period_type",
-"period",
-"map",
-"in_the_map",
-"legend_type",
-"method",
-"classes",
-"low_color",
-"high_color",
-"optional",
-"loading",
-"automatic",
-"predefined",
-"equal_intervals",
-"equal_group_count",
-"fixed_intervals",
-"administrator",
-"map_source",
-"base_coordinate",
-"admin_panels",
-"longitude_x",
-"latitude_y",
-"save_coordinate",
-"export_map_as_image",
-"status",
-"error_while_retrieving_data",
-"bounds",
-"comma_separated_values",
-"ajax_request_failed",
-"component_init_not_complete",
-"error",
-"form_is_not_complete",
-"filter",
-"assign_all",
-"auto_assign",
-"please_select_map",
-"auto_assignment",
-"remove_all",
-"remove_all_relations",
-"all_relations_for_the_map",
-"removed",
-"error_while_deleting_relation_map_and_oranisation_unit",
-"remove_selected",
-"remove_relation",
-"please_select_least_one_organisation_unit_in_the_list",
-"assign",
-"organisation_units",
-"assigned_to",
-"database",
-"is_already_assigned",
-"min_size",
-"max_size",
-"select_a_value",
-"applying_organisation_units_relations",
-"assigning",
-"no",
-"assigned",
-"creating_map",
-"current_selection_no_data",
-"creating_choropleth",
-"assign_organisation_unit",
-"no_feature_selected",
-"cursor_position",
-"overview_map",
-"feature_data",
-"map_legend_polygon",
-"map_legend_point",
-"return_to_DHIS_2_dashboard",
-"exit_gis",
-"help",
-"create_predefined_legend_sets",
-"export_map_as_excel",
-"favorite_map_views",
-"show_hide_labels",
-"zoom_to_visible_extent",
-"zoom_out",
-"zoom_in",
-"assign_organisation_units_to_map",
-"map_layers",
-"and",
-"was_saved_as_base_coordinate",
-"error_while_saving_data",
-"is_saved_as_map_source",
-"is_already_selected",
-"overlays_",
-"overlays",
-"was_registered",
-"is_already_in_use",
-"new_overlay",
-"name",
-"overlay_form_is_not_complete",
-"display_name",
-"fill_color",
-"fill_opacity",
-"stroke_color",
-"map_source_file",
-"please_enter_map_title",
-"stroke_width",
-"delete_overlay",
-"overlay",
-"was_deleted",
-"please_select_an_overlay",
-"select",
-"title",
-"preview",
-"queryable",
-"description",
-"register_map",
-"register_maps",
-"zoom",
-"name_column",
-"organisation_unit_level",
-"please_render_map_first",
-"please_select_an_overlay",
-"select",
-"title",
-"include_legend",
-"include_values",
-"export_excel",
-"image_format",
-"image_quality",
-"export_image",
-"image_export",
-"setup",
-"medium",
-"large",
-"add_to_dashboard",
-"dhis_dashboard",
-"dashboard_map_view",
-"added_to_dashboard",
-"please_select_a_map_view",
-"view",
-"delete_map_view",
-"new_map_view",
-"there_is_already_a_map_view_called",
-"thematic_map_form_is_not_complete",
-"map_view_form_is_not_complete",
-"save",
-"saving_current_thematic_map_selection",
-"new_legend_set",
-"already_exists",
-"a_legend_set_called",
-"assign_to_indicator",
-"assign_to_dataelement",
-"please_select_a_legend_set",
-"link_legend_set_to_indicator",
-"please_select_at_least_one_indicator",
-"was_updated",
-"automatic_legend_sets",
-"start_value",
-"end_value",
-"color",
-"new_legend",
-"please_select_a_legend",
-"legends",
-"overlapping_legends_are_not_allowed",
-"please_select_at_least_one_legend",
-"predefined_legend_sets",
-"assignment",
-"geoserver_shapefiles",
-"must_be_a_number",
-"must_be_between_180_and_180",
-"must_be_between_90_and_90",
-"there_is_already_a_map_called",
-"selected_relations_removed",
-"the_source_file",
-"delete_baselayer",
-"please_select_a_baselayer",
-"baselayer",
-"baselayers",
-"url",
-"layer",
-"new_baselayer",
-"baselayer_form_is_not_complete",
-"mapvaluetype",
-"dataelement_group",
-"dataelement",
-"organisation_units_assigned",
-"the_view",
-"parent_orgunit",
-"delete_map",
-"aggregating_map_values",
-"loading_geojson",
-"date_type",
-"saved_as_date_type",
-"start_date",
-"end_date",
-"fixed_periods",
-"start_end_dates",
-"please_expand_layer_panel",
-"has_no_orgunits",
-"highlight_color",
-"feature_filter",
-"locate_features",
-"no_coordinates_found",
-"image_resolution",
-"max",
-"characters",
-"geojson_file",
-"history",
-"api_key",
-"measure_distance",
-"low_point_size",
-"high_point_size",
-"system",
-"width",
-"height",
-"text_filter",
-"font_size",
-"bold_",
-"italic",
-"level",
-"low_point_size",
-"high_point_size",
-"system",
-"width",
-"height",
-"text_filter",
-"font_size",
-"bold_",
-"italic",
-"select_outer_boundary",
-"select_organisation_unit_level",
-"type",
-"code",
-"address",
-"contact_person",
-"email",
-"phone_number",
-"infrastructural_data",
-"select_point_level",
-"level_is_higher_that_boundary_level",
-"select_new_location_on_map",
-"show_information_sheet",
-"relocate",
-"administrator_settings",
-"thematic_layer",
-"register_map_favorite",
-"delete_favorite",
-"register_new_legend",
-"delete_legend",
-"overlay_",
-"register_new_legend_set",
-"delete_legend_set",
-"assign_indicators_to_legend_set",
-"assign_dataelements_to_legend_set",
-"export_image",
-"export_thematic_map_to_png",
-"total_distance",
-"set_thematic_map_date_type",
-"date",
-"legend_symbolizer",
-"image",
-"register_new_wms_overlay",
-"register_new_vector_overlay",
-"manage_favorites",
-"layers",
-"tools",
-"edit_layer",
-"clear",
-"search",
-"labels",
-"show_hide_feature_labels",
-"opacity",
-"history",
-"data_options",
-"legend_options",
-"parent_organisation_unit",
-"resize",
-"facility_layer",
-"open_which_layer",
-"organisationunit_search",
-"no_features_rendered",
-"wms_overlays",
-"file_overlays",
-"symbol_layer",
-"centroid_layer",
-"no_values_found",
-"close",
-"boundary_layer",
-"register_new_wms_overlay",
-"can_view",
-"can_edit_and_view",
-"none",
-"public_access",
-"search_for_user_groups",
-"create",
-"add_new",
-"search_for_favorites",
-"prev",
-"next",
-"no_map_to_save",
-"rename",
-"overwrite",
-"share_with_other_people",
-"legend_set_name",
-"legend_name",
-"add_legend",
-"favorite_outdated_create_new",
-"no_valid_coordinates_found",
-"invalid_coordinates",
-"coordinates_could_not_be_loaded",
-"no_aggregated_data_found",
-"start_end_value",
-"current_legends",
-"legendsets",
-"download",
-"please_create_map_first",
-"download_map_as_png",
-"write_your_interpretation",
-"share",
-"share_interpretation",
-"organisation_unit_level_parent",
-"value_type",
-"equal_counts",
-"classes_method",
-"low_color_size",
-"high_color_size",
-"no_indicator_selected",
-"no_dataelement_selected",
-"no_period_selected",
-"no_legendset_selected",
-"no_level_selected",
-"no_parent_organisationunit_selected",
-"no_groupset_selected",
-"show_circular_area",
-"organisationunit_groupset",
-"surrounding_areas",
-"table",
-"chart",
-"layer_stack_transparency",
-"thematic_layer_1_legend",
-"thematic_layer_2_legend",
-"thematic_layer_3_legend",
-"thematic_layer_4_legend",
-"facility_layer_legend",
-"facility_layer_export_currently_not_supported",
-"link_",
-"level_not_higher_than_parent_level",
-"information",
-"parent_unit",
-"home",
-"google_streets",
-"google_hybrid",
-"openstreetmap",
-"totals",
-"details",
-"last_week",
-"last_month",
-"last_bimonth",
-"last_quarter",
-"last_sixmonth",
-"this_year",
-"last_year",
-"last_financial_year",
-"select_organisation_units",
-"select_boundaries_and_levels",
-"select_organisation_unit_levels",
-"select_boundaries_and_groups",
-"select_organisation_unit_groups",
-"user_organisation_unit",
-"user_organisation_unit_children",
-"user_organisation_unit_grandchildren",
-"user_organisation_units",
-"dataset",
-"select_all_children",
-"select_groupset",
-"allow_external_access",
-"daily",
-"weekly",
-"monthly",
-"bimonthly",
-"quarterly",
-"sixmonthly",
-"sixmonthly_april",
-"yearly",
-"financial_oct",
-"financial_july",
-"financial_april",
-"relative",
-"reporting_rates",
-"event_layer",
-"coordinate",
-"go_to_pivot_tables",
-"open_this_map_as_table",
-"open_last_table",
-"go_to_charts",
-"open_this_map_as_chart",
-"open_last_chart",
-"clear"
-]

=== added file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/i18n/en.json'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/i18n/en.json	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/i18n/en.json	2014-08-13 15:40:54 +0000
@@ -0,0 +1,415 @@
+{
+    "dashboard_map_view": "Dashboard map view",
+    "no_features_rendered": "No features rendered",
+    "zoom": "Zoom",
+    "remove_all_relations": "Remove all relations",
+    "zoom_in": "Zoom in",
+    "equal_group_count": "Equal group count",
+    "search": "Search",
+    "can_view": "Can view",
+    "please_select_at_least_one_indicator": "Please select at least one indicator",
+    "select_boundaries_and_levels": "Select boundaries and levels",
+    "loading": "Loading..",
+    "infrastructural_data": "Infrastructural data",
+    "image": "Image",
+    "assign_dataelements_to_legend_set": "Assign data elements to legend set",
+    "export_map_as_image": "Export map as image",
+    "no_valid_coordinates_found": "No valid coordinates found",
+    "error_while_retrieving_data": "Error while retrieving data",
+    "no_period_selected": "No period selected",
+    "api_key": "API key",
+    "export_": "export_",
+    "view": "View",
+    "map_view_form_is_not_complete": "Map view form is not complete",
+    "user_organisation_units": "User organisation units",
+    "return_to_DHIS_2_dashboard": "Return to DHIS2 dashboard",
+    "creating_map": "Creating map..",
+    "no_legendset_selected": "No legend set selected",
+    "financial_oct": "Financial October",
+    "no_aggregated_data_found": "No aggregated data found",
+    "data_options": "Data options",
+    "register_map": "Register map",
+    "map": "Map",
+    "reporting_rates": "Reporting rates",
+    "sixmonthly": "Six-monthly",
+    "no_values_found": "No values found",
+    "is_already_assigned": "is already assigned",
+    "weekly": "Weekly",
+    "applying_organisation_units_relations": "Applying organisation units relations",
+    "classes": "Classes",
+    "max": "Max",
+    "there_is_already_a_map_view_called": "There is already a map view called",
+    "predefined_legend_sets": "Predefined legend sets",
+    "new_overlay": "New overlay",
+    "delete_legend_set": "Delete legend set",
+    "indicators": "Indicators",
+    "max_size": "Max size",
+    "search_for_favorites": "Search for favorites",
+    "last_financial_year": "Last financial year",
+    "register": "Register",
+    "history": "History",
+    "this_year": "This year",
+    "legend": "Legend",
+    "groupsets": "Group sets",
+    "organisation_unit_level": "Organisation unit level",
+    "feature_data": "Feature data",
+    "must_be_a_number": "must be a number",
+    "current_legends": "Current legends",
+    "select_groupset": "Select group set",
+    "high_color_size": "High color / size",
+    "boundary": "Boundary",
+    "close": "Close",
+    "all_relations_for_the_map": "All relations for the map",
+    "height": "Height",
+    "updated": "updated",
+    "description": "Description",
+    "no_coordinates_found": "No coordinates found",
+    "optional": "Optional",
+    "period_type": "Period type",
+    "was_updated": "was updated",
+    "thematic_layer_1_legend": "Thematic layer 1 legend",
+    "layer_stack_transparency": "Layer stack / transparency",
+    "image_export": "Image export",
+    "open_last_table": "Open last table",
+    "automatic": "Automatic",
+    "code": "Code",
+    "please_select_an_overlay": "Please select an overlay",
+    "and": "and",
+    "bounds": "Bounds",
+    "level_is_higher_that_boundary_level": "Level is higher than boundary level",
+    "base_coordinate": "Base coordinate",
+    "ajax_request_failed": "Ajax request failed",
+    "go_to_pivot_tables": "Go to pivot tables",
+    "select_organisation_units": "Select organisation units",
+    "large": "Large",
+    "export_thematic_map_to_png": "Export thematic map to PNG",
+    "update": "Update",
+    "indicator": "Indicator",
+    "export_image": "Export image",
+    "was_registered": "was registered",
+    "delete_map": "Delete map",
+    "name": "Name",
+    "please_select_at_least_one_legend": "Please select at least one legend",
+    "event_layer": "Event layer",
+    "image_resolution": "Resolution",
+    "zoom_to_visible_extent": "Zoom to visible extent",
+    "selected_relations_removed": "Selected relations removed",
+    "last_year": "Last year",
+    "thematic_map_form_is_not_complete": "Thematic map form is not complete",
+    "edit": "Edit",
+    "assigned": "assigned",
+    "layer": "Layer",
+    "please_render_map_first": "Please render the thematic map first",
+    "facility_layer": "Facility layer",
+    "name_column": "Name column",
+    "was_saved_as_base_coordinate": "was saved as base coordinate",
+    "color": "Color",
+    "overwrite": "Overwrite",
+    "dataelement_group": "Data el. group",
+    "please_select_a_baselayer": "Please select a base layer",
+    "select_organisation_unit_level": "Select organisation unit level",
+    "please_select_least_one_organisation_unit_in_the_list": "Please select at least one organisation unit in the list",
+    "no": "No",
+    "low_point_size": "Low point size",
+    "layers": "Layers",
+    "bimonthly": "Bi-monthly",
+    "link_legend_set_to_indicator": "Link legend set to indicator",
+    "level_not_higher_than_parent_level": "Organisation unit level cannot not be higher than parent level",
+    "export_map_as_excel": "Export map as Excel spreadsheet",
+    "help": "Get help with GIS",
+    "assign_to_dataelement": "Assign to data elements",
+    "remove_all": "Remove all",
+    "refresh": "Refresh",
+    "user_organisation_unit": "User org unit",
+    "organisation_units_assigned": "organisation units assigned",
+    "open_which_layer": "Open in which layer?",
+    "save_coordinate": "Save coordinate",
+    "edit_layer": "Edit layer",
+    "no_parent_organisationunit_selected": "No parent organisation unit selected",
+    "monthly": "Monthly",
+    "display_name": "Display name",
+    "creating_choropleth": "Creating choropleth..",
+    "file_overlays": "File overlays",
+    "home": "Home",
+    "last_bimonth": "Last bi-month",
+    "please_select_a_map_view": "Please select a map view",
+    "share_interpretation": "Share interpretation",
+    "legends": "Legends",
+    "relocate": "Relocate",
+    "legend_symbolizer": "Symbolizer",
+    "error_while_deleting_relation_map_and_oranisation_unit": "Error while deleting relation between map and organisation unit",
+    "symbol_layer": "Facility layer",
+    "clear": "Clear",
+    "no_level_selected": "No level selected",
+    "no_indicator_selected": "No indicator selected",
+    "new_legend_set": "New legend set",
+    "equal_intervals": "Equal intervals",
+    "measure_distance": "Measure distance",
+    "legend_set_name": "Legend set name",
+    "financial_april": "Financial April",
+    "fill_opacity": "Fill opacity",
+    "select_organisation_unit_levels": "Select organisation unit levels",
+    "map_legend_polygon": "Polygon legend",
+    "feature_filter": "Feature filter",
+    "boundary_layer": "Boundary layer",
+    "auto_assign": "Auto-assign",
+    "facility_layer_legend": "Facility layer legend",
+    "legend_type": "Legend type",
+    "link_": "Link",
+    "favorite_outdated_create_new": "Favorite is outdated - please create a new one",
+    "method": "Method",
+    "no_dataelement_selected": "No data element selected",
+    "legendsets": "Legend sets",
+    "apply": "Apply",
+    "assign_to_indicator": "Assign to indicators",
+    "save": "Save",
+    "italic": "Italic",
+    "register_maps": "Register maps",
+    "type": "Type",
+    "facility_layer_export_currently_not_supported": "Facility layer export currently not supported",
+    "centroid_layer": "Symbol layer",
+    "level": "Level",
+    "low_color": "Low color",
+    "none": "None",
+    "please_expand_layer_panel": "Please expand the layer panel you want to print",
+    "total_distance": "Total distance",
+    "highlight_color": "Highlight color",
+    "must_be_between_180_and_180": "must_be_between_180_and_180",
+    "favorites": "Favorites",
+    "relative": "Relative",
+    "there_is_already_a_map_called": "There is already a map called",
+    "please_select_a_legend_set": "Please select a legend set",
+    "assign_indicators_to_legend_set": "Assign indicators to legend set",
+    "overlay": "overlay",
+    "select_outer_boundary": "Select outer boundary",
+    "low_color_size": "Low color / size",
+    "add_new": "Add new",
+    "legend_options": "Legend options",
+    "start_value": "Start value",
+    "organisation_units": "Organisation units",
+    "add": "Add",
+    "date_type": "Date type",
+    "fixed_intervals": "Fixed intervals",
+    "assign_organisation_units_to_map": "Assign organisation units to map",
+    "selected": "Selected",
+    "remove_relation": "Remove relation",
+    "bold_": "Bold",
+    "loading_geojson": "Loading geojson..",
+    "added": "added",
+    "daily": "Daily",
+    "exit_gis": "Exit GIS",
+    "new_baselayer": "New base layer",
+    "high_point_size": "High point size",
+    "organisation_unit_level_parent": "Organisation unit level / parent",
+    "database": "database",
+    "please_select_map": "Please select a map",
+    "polygon_layer": "Polygon layer",
+    "dataset": "Data set",
+    "removed": "removed",
+    "already_exists": "already exists",
+    "totals": "Totals",
+    "aggregating_map_values": "Aggregating map values..",
+    "register_map_favorite": "Register current map as a favorite",
+    "is_saved_as_map_source": "is saved as map source",
+    "phone_number": "Phone number",
+    "saved_as_date_type": "saved as date type",
+    "overlays": "overlays",
+    "point_layer": "Point layer",
+    "new_": "new_",
+    "select_new_location_on_map": "Please select the new location on the map..",
+    "write_your_interpretation": "Write your interpretation",
+    "hide": "Hide",
+    "opacity": "Opacity",
+    "has_no_orgunits": "has no organisation units",
+    "predefined": "Predefined",
+    "export_excel": "Export spreadsheet",
+    "min_size": "Min size",
+    "overlay_": "Overlay",
+    "show_information_sheet": "Show information",
+    "contact_person": "Contact person",
+    "favorite": "Favorite",
+    "prev": "Prev",
+    "please_enter_map_title": "Please enter a map title",
+    "system": "System",
+    "show_circular_area": "Show circular area with radius (m)",
+    "preview": "Preview",
+    "geoserver_shapefiles": "Geoserver shapefiles",
+    "value_type": "Value type",
+    "next": "Next",
+    "latitude_y": "Latitude (y)",
+    "the_source_file": "The source file",
+    "date": "Date",
+    "end_date": "End date",
+    "must_be_between_90_and_90": "must_be_between_90_and_90",
+    "stroke_width": "Stroke width",
+    "remove_selected": "Remove selected",
+    "dataelement": "Data element",
+    "financial_july": "Financial July",
+    "thematic_layer_2_legend": "Thematic layer 2 legend",
+    "is_already_in_use": "is already in use",
+    "auto_assignment": "Auto assignment",
+    "manage_favorites": "Manage favorites",
+    "medium": "Medium",
+    "assignment": "Assignment",
+    "legend_name": "Legend name",
+    "is_already_selected": "is already selected",
+    "public_access": "Public access",
+    "no_groupset_selected": "No group set selected",
+    "chart": "Chart",
+    "refreshed": "refreshed",
+    "classes_method": "Classes / method",
+    "invalid_coordinates": "Invalid coordinates",
+    "show_hide_labels": "Show/hide feature labels",
+    "was_deleted": "was deleted",
+    "create_predefined_legend_sets": "Create predefined legend sets",
+    "cancel": "Cancel",
+    "download": "Download",
+    "longitude_x": "Longitude (x)",
+    "sixmonthly_april": "Six-monthly April",
+    "show_hide_feature_labels": "Show / Hide feature labels",
+    "error_while_saving_data": "Error while saving data",
+    "select": "Select",
+    "width": "Width",
+    "labels": "Labels",
+    "saved": "saved",
+    "stroke_color": "Stroke color",
+    "period": "Period",
+    "google_hybrid": "Google Hybrid",
+    "url": "URL",
+    "email": "Email",
+    "legendset": "Legend set",
+    "allow_external_access": "Allow external access",
+    "queryable": "Queryable",
+    "locate_features": "Locate features",
+    "openstreetmap": "OpenStreetMap",
+    "component_init_not_complete": "Component init not complete",
+    "delete_map_view": "Delete map view",
+    "added_to_dashboard": "added to dashboard",
+    "register_new_legend": "Register new legend",
+    "image_quality": "Image quality",
+    "parent_organisation_unit": "Parent organisation unit",
+    "showhide": "Show / hide",
+    "thematic_layer_3_legend": "Thematic layer 3 legend",
+    "download_map_as_png": "Download map as PNG",
+    "parent_orgunit": "Parent orgunit",
+    "can_edit_and_view": "Can edit and view",
+    "user_organisation_unit_grandchildren": "Org unit grand children",
+    "register_new_vector_overlay": "Register new vector overlay",
+    "groupset": "Group set",
+    "baselayer": "Base layer",
+    "please_select_a_legend": "Please select a legend",
+    "form_is_not_complete": "Form is not complete",
+    "dhis_dashboard": "DHIS dashboard",
+    "delete_legend": "Delete legend",
+    "high_color": "High color",
+    "open_this_map_as_table": "Open this map as table",
+    "delete_favorite": "Delete favorite",
+    "map_legend_point": "Point legend",
+    "select_organisation_unit_groups": "Select organisation unit groups",
+    "map_source_file": "Map source file",
+    "registered": "registered",
+    "assign_all": "Assign all",
+    "organisationunit_search": "Organisation unit search",
+    "a_legend_set_called": "A legend set called",
+    "search_for_user_groups": "Search for user groups",
+    "quarterly": "Quarterly",
+    "assign": "Assign",
+    "administrator_settings": "Administrator settings",
+    "in_the_map": "map",
+    "start_end_value": "Start/end value",
+    "wms_overlays": "WMS overlays",
+    "equal_counts": "Equal counts",
+    "overlapping_legends_are_not_allowed": "Overlapping legends are not allowed",
+    "comma_separated_values": "Comma separated values",
+    "map_source": "Map source",
+    "last_month": "Last month",
+    "groups": "Groups",
+    "last_sixmonth": "Last six-month",
+    "information": "Information",
+    "set_thematic_map_date_type": "Set thematic map date type",
+    "text_filter": "Text filter",
+    "cancelled": "cancelled",
+    "table": "Table",
+    "baselayers": "Base layers",
+    "create": "Create",
+    "go_to_charts": "Go to charts",
+    "include_legend": "Include legend",
+    "select_point_level": "Select point level",
+    "indicator_group": "Indicator group",
+    "current_selection_no_data": "The current selection returned no data",
+    "font_size": "Font size",
+    "last_quarter": "Last quarter",
+    "map_layers": "Map layers",
+    "share_with_other_people": "Share with other people",
+    "select_all_children": "Select all children",
+    "assign_organisation_unit": "Assign organisation unit",
+    "title": "Title",
+    "automatic_legend_sets": "Automatic legend sets",
+    "register_new_wms_overlay": "Register new WMS overlay",
+    "dataelements": "Data elements",
+    "overlay_form_is_not_complete": "Overlay form is not complete",
+    "admin_panels": "Admin panels",
+    "coordinate": "Coordinate",
+    "open_this_map_as_chart": "Open this map as chart",
+    "image_format": "Image format",
+    "thematic_layer_4_legend": "Thematic layer 4 legend",
+    "fill_color": "Fill color",
+    "include_values": "Include values",
+    "thematic_map": "Thematic map",
+    "register_new_legend_set": "Register new legend set",
+    "saving_current_thematic_map_selection": "Saving current thematic map selection.",
+    "thematic_layer": "Thematic layer",
+    "start_date": "Start date",
+    "geojson_file": "GeoJSON file",
+    "overlays_": "Overlays",
+    "select_a_value": "Select a value..",
+    "rename": "Rename",
+    "show": "Show",
+    "select_boundaries_and_groups": "Select boundaries and groups",
+    "resize": "Resize",
+    "tools": "Tools",
+    "delete_overlay": "Delete overlay",
+    "surrounding_areas": "Surrounding areas",
+    "the_view": "The view",
+    "yearly": "Yearly",
+    "no_map_to_save": "No map to save",
+    "cursor_position": "Cursor position",
+    "delete_": "delete_",
+    "open_last_chart": "Open last chart",
+    "google_streets": "Google Streets",
+    "coordinates_could_not_be_loaded": "Coordinates could not be loaded",
+    "status": "Status",
+    "organisationunit_groupset": "Organisation unit group set",
+    "mapvaluetype": "Map value type",
+    "deleted": "deleted",
+    "filter": "Filter",
+    "characters": "characters",
+    "new_legend": "New legend",
+    "new_map_view": "New map view",
+    "fixed_periods": "Fixed periods",
+    "please_create_map_first": "Please create a map first",
+    "last_week": "Last week",
+    "share": "Share",
+    "toggle": "Toggle",
+    "start_end_dates": "Start-end dates",
+    "details": "Details",
+    "overview_map": "Overview map",
+    "baselayer_form_is_not_complete": "Base layer form is not complete",
+    "setup": "Setup",
+    "parent_unit": "Parent unit",
+    "favorite_map_views": "Favorite map views",
+    "end_value": "End value",
+    "zoom_out": "Zoom out",
+    "error": "Error",
+    "delete_baselayer": "Delete base layer",
+    "user_organisation_unit_children": "Org unit children",
+    "assigned_to": "assigned to",
+    "assigning": "Assigning",
+    "no_feature_selected": "No feature selected",
+    "address": "Address",
+    "applied": "applied",
+    "administrator": "Administrator",
+    "add_to_dashboard": "Add to dashboard",
+    "group": "Group",
+    "add_legend": "Add legend"
+}

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/index.html'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/index.html	2014-02-09 16:23:59 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/index.html	2014-08-13 15:40:54 +0000
@@ -26,6 +26,13 @@
     <script type="text/javascript" src="../../dhis-web-commons/javascripts/openlayers/OpenLayers.js"></script>
     <script type="text/javascript" src="scripts/custom.js"></script>
 
+    <script src="../../dhis-web-commons/javascripts/jQuery/jquery.min.js"></script>
+    <script src="../../dhis-web-commons/javascripts/jQuery/calendars/jquery.calendars.min.js"></script>
+    <script src="../../dhis-web-commons/javascripts/jQuery/calendars/jquery.calendars.plus.min.js"></script>
+    <script src="../../dhis-web-commons/javascripts/jQuery/calendars/jquery.calendars.picker.min.js"></script>
+    <script src="../../dhis-web-commons/javascripts/dhis2/dhis2.util.js"></script>
+    <script src="../../dhis-web-commons/javascripts/date.js"></script>
+
     <script type="text/javascript" src="../../dhis-web-commons/javascripts/periodTypeNoDep.js"></script>
 
     <script type="text/javascript" src="scripts/core.js"></script>

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/app.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/app.js	2014-07-15 21:47:10 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/app.js	2014-08-13 15:53:39 +0000
@@ -7248,25 +7248,22 @@
 			store: gis.store.periodTypes,
 			periodOffset: 0,
 			selectHandler: function() {
-				var type = this.getValue(),
-					pType,
-					offset,
-					periods;
+                var periodType = this.getValue(),
+                    generator = gis.init.periodGenerator,
+                    periods;
 
-				if (type === 'relativePeriods') {
+				if (periodType === 'relativePeriods') {
 					periodsByTypeStore.loadData(gis.conf.period.relativePeriods);
 
 					periodPrev.disable();
 					periodNext.disable();
 				}
 				else {
-					pType = new PeriodType();
-					offset = this.periodOffset;
-					periods = pType.get(type).generatePeriods({
-						offset: offset,
-						filterFuturePeriods: true,
-						reversePeriods: true
-					});
+                    periods = generator.filterFuturePeriodsExceptCurrent(generator.generateReversedPeriods(periodType, this.periodOffset));
+
+                    for (var i = 0; i < periods.length; i++) {
+                        periods[i].id = periods[i].iso;
+                    }
 
 					periodsByTypeStore.setIndex(periods);
 					periodsByTypeStore.loadData(periods);
@@ -9006,144 +9003,174 @@
 			}
 		};
 
-        Ext.Ajax.request({
-            url: 'manifest.webapp',
+		// requests
+		Ext.Ajax.request({
+			url: 'manifest.webapp',
 			success: function(r) {
 				init.contextPath = Ext.decode(r.responseText).activities.dhis.href;
 
-				Ext.Ajax.request({
-					url: 'i18n.json',
-					success: function(r) {
-						var i18nArray = Ext.decode(r.responseText);
-
-						Ext.Ajax.request({
-							url: init.contextPath + '/api/system/info.json',
-							success: function(r) {
-								init.contextPath = Ext.decode(r.responseText).contextPath || init.contextPath;
-
-								// i18n
-								requests.push({
-									url: init.contextPath + '/api/i18n?package=org.hisp.dhis.mapping',
-									method: 'POST',
-									headers: {
-										'Content-Type': 'application/json',
-										'Accepts': 'application/json'
-									},
-									params: Ext.encode(i18nArray),
-									success: function(r) {
-										GIS.i18n = Ext.decode(r.responseText);
-										fn();
-									}
-								});
-
-								// root nodes
-								requests.push({
-									url: init.contextPath + '/api/organisationUnits.json?userDataViewFallback=true&paging=false&fields=id,name,children[id,name]',
-									success: function(r) {
-										init.rootNodes = Ext.decode(r.responseText).organisationUnits || [];
-										fn();
-									}
-								});
-
-								// organisation unit levels
-								requests.push({
-									url: init.contextPath + '/api/organisationUnitLevels.json?fields=id,name,level&paging=false',
-									success: function(r) {
-										init.organisationUnitLevels = Ext.decode(r.responseText).organisationUnitLevels || [];
-
-										if (!init.organisationUnitLevels.length) {
-											alert('No organisation unit levels');
-										}
-
-										fn();
-									}
-								});
-
-								// user orgunits and children
-								requests.push({
-									url: init.contextPath + '/api/organisationUnits.json?userOnly=true&fields=id,name,children[id,name]&paging=false',
-									success: function(r) {
-										var organisationUnits = Ext.decode(r.responseText).organisationUnits || [],
-											ou = [],
-											ouc = [];
-
-										if (organisationUnits.length) {
-											for (var i = 0, org; i < organisationUnits.length; i++) {
-												org = organisationUnits[i];
-
-												ou.push(org.id);
-
-                                                if (org.children) {
-                                                    ouc = Ext.Array.clean(ouc.concat(Ext.Array.pluck(org.children, 'id') || []));
-                                                }
-											}
-
-											init.user = init.user || {};
-											init.user.ou = ou;
-                                            init.user.ouc = ouc;
-										}
-										else {
-											alert('User is not assigned to any organisation units');
-										}
-
-										fn();
-									}
-								});
-
-								// admin
-								requests.push({
-									url: init.contextPath + '/api/me/authorization/F_GIS_ADMIN',
-									success: function(r) {
-										init.user.isAdmin = (r.responseText === 'true');
-										fn();
-									}
-								});
-
-								// indicator groups
-								requests.push({
-									url: init.contextPath + '/api/indicatorGroups.json?fields=id,name&paging=false',
-									success: function(r) {
-										init.indicatorGroups = Ext.decode(r.responseText).indicatorGroups || [];
-										fn();
-									}
-								});
-
-								// data element groups
-								requests.push({
-									url: init.contextPath + '/api/dataElementGroups.json?fields=id,name&paging=false',
-									success: function(r) {
-										init.dataElementGroups = Ext.decode(r.responseText).dataElementGroups || [];
-										fn();
-									}
-								});
-
-                                // infrastructural data element group
-								requests.push({
-									url: init.contextPath + '/api/configuration/infrastructuralDataElements.json',
-									success: function(r) {
-										var obj = Ext.decode(r.responseText);
-
-										init.systemSettings.infrastructuralDataElementGroup = Ext.isObject(obj) ? obj : null;
-										fn();
-									}
-								});
-
-                                // infrastructural period type
-								requests.push({
-									url: init.contextPath + '/api/configuration/infrastructuralPeriodType.json',
-									success: function(r) {
-										var obj = Ext.decode(r.responseText);
-
-										init.systemSettings.infrastructuralPeriodType = Ext.isObject(obj) ? obj : null;
-										fn();
-									}
-								});
-
-								for (var i = 0; i < requests.length; i++) {
-									Ext.Ajax.request(requests[i]);
-								}
-                            }
-                        });
+                // system info
+                Ext.Ajax.request({
+                    url: init.contextPath + '/api/system/info.json',
+                    success: function(r) {
+                        var info = Ext.decode(r.responseText);
+
+                        // context path
+                        init.contextPath = info.contextPath || init.contextPath;
+
+                        // calendars
+                        init.dateFormat = info.dateFormat || 'yyyy-mm-dd';
+
+                        (function() {
+                            var dhis2PeriodUrl = '../../dhis-web-commons/javascripts/dhis2/dhis2.period.js',
+                                defaultCalendarId = 'gregorian',
+                                calendarIdMap = {'iso8601': defaultCalendarId},
+                                calendarId = calendarIdMap[info.calendar] || info.calendar || defaultCalendarId,
+                                calendarIds = ['coptic', 'ethiopian', 'islamic', 'julian', 'nepali', 'thai'],
+                                calendarScriptUrl,
+                                createGenerator;
+
+                            // calendar
+                            createGenerator = function() {
+                                init.calendar = $.calendars.instance(calendarId);
+                                init.periodGenerator = new dhis2.period.PeriodGenerator(init.calendar, init.dateFormat);
+                            };
+
+                            if (Ext.Array.contains(calendarIds, calendarId)) {
+                                calendarScriptUrl = '../../dhis-web-commons/javascripts/jQuery/calendars/jquery.calendars.' + calendarId + '.min.js';
+
+                                Ext.Loader.injectScriptElement(calendarScriptUrl, function() {
+                                    Ext.Loader.injectScriptElement(dhis2PeriodUrl, createGenerator);
+                                });
+                            }
+                            else {
+                                Ext.Loader.injectScriptElement(dhis2PeriodUrl, createGenerator);
+                            }
+                        }());
+
+                        // user info, i18n
+                        requests.push({
+                            url: init.contextPath + '/api/me/user-account.json',
+                            success: function(r) {
+                                init.keyUiLocale = Ext.decode(r.responseText).settings.keyUiLocale || 'en';
+
+                                // i18n
+                                Ext.Ajax.request({
+                                    url: 'i18n/' + init.keyUiLocale + '.json',
+                                    success: function(r) {
+                                        GIS.i18n = Ext.decode(r.responseText);
+                                        fn();
+                                    }
+                                });
+                            }
+                        });
+
+                        // root nodes
+                        requests.push({
+                            url: init.contextPath + '/api/organisationUnits.json?userDataViewFallback=true&paging=false&fields=id,name,children[id,name]',
+                            success: function(r) {
+                                init.rootNodes = Ext.decode(r.responseText).organisationUnits || [];
+                                fn();
+                            }
+                        });
+
+                        // organisation unit levels
+                        requests.push({
+                            url: init.contextPath + '/api/organisationUnitLevels.json?fields=id,name,level&paging=false',
+                            success: function(r) {
+                                init.organisationUnitLevels = Ext.decode(r.responseText).organisationUnitLevels || [];
+
+                                if (!init.organisationUnitLevels.length) {
+                                    alert('No organisation unit levels');
+                                }
+
+                                fn();
+                            }
+                        });
+
+                        // user orgunits and children
+                        requests.push({
+                            url: init.contextPath + '/api/organisationUnits.json?userOnly=true&fields=id,name,children[id,name]&paging=false',
+                            success: function(r) {
+                                var organisationUnits = Ext.decode(r.responseText).organisationUnits || [],
+                                    ou = [],
+                                    ouc = [];
+
+                                if (organisationUnits.length) {
+                                    for (var i = 0, org; i < organisationUnits.length; i++) {
+                                        org = organisationUnits[i];
+
+                                        ou.push(org.id);
+
+                                        if (org.children) {
+                                            ouc = Ext.Array.clean(ouc.concat(Ext.Array.pluck(org.children, 'id') || []));
+                                        }
+                                    }
+
+                                    init.user = init.user || {};
+                                    init.user.ou = ou;
+                                    init.user.ouc = ouc;
+                                }
+                                else {
+                                    alert('User is not assigned to any organisation units');
+                                }
+
+                                fn();
+                            }
+                        });
+
+                        // admin
+                        requests.push({
+                            url: init.contextPath + '/api/me/authorization/F_GIS_ADMIN',
+                            success: function(r) {
+                                init.user.isAdmin = (r.responseText === 'true');
+                                fn();
+                            }
+                        });
+
+                        // indicator groups
+                        requests.push({
+                            url: init.contextPath + '/api/indicatorGroups.json?fields=id,name&paging=false',
+                            success: function(r) {
+                                init.indicatorGroups = Ext.decode(r.responseText).indicatorGroups || [];
+                                fn();
+                            }
+                        });
+
+                        // data element groups
+                        requests.push({
+                            url: init.contextPath + '/api/dataElementGroups.json?fields=id,name&paging=false',
+                            success: function(r) {
+                                init.dataElementGroups = Ext.decode(r.responseText).dataElementGroups || [];
+                                fn();
+                            }
+                        });
+
+                        // infrastructural data element group
+                        requests.push({
+                            url: init.contextPath + '/api/configuration/infrastructuralDataElements.json',
+                            success: function(r) {
+                                var obj = Ext.decode(r.responseText);
+
+                                init.systemSettings.infrastructuralDataElementGroup = Ext.isObject(obj) ? obj : null;
+                                fn();
+                            }
+                        });
+
+                        // infrastructural period type
+                        requests.push({
+                            url: init.contextPath + '/api/configuration/infrastructuralPeriodType.json',
+                            success: function(r) {
+                                var obj = Ext.decode(r.responseText);
+
+                                init.systemSettings.infrastructuralPeriodType = Ext.isObject(obj) ? obj : null;
+                                fn();
+                            }
+                        });
+
+                        for (var i = 0; i < requests.length; i++) {
+                            Ext.Ajax.request(requests[i]);
+                        }
                     }
                 });
             }

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/core.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/core.js	2014-08-11 21:23:31 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/core.js	2014-08-13 15:53:39 +0000
@@ -382,21 +382,19 @@
 											store: {
 												fields: ['id', 'name'],
 												data: function() {
-													var pt = new PeriodType(),
-														periodType = gis.init.systemSettings.infrastructuralPeriodType.id,
-														data;
-
-													data = pt.get(periodType).generatePeriods({
-														offset: 0,
-														filterFuturePeriods: true,
-														reversePeriods: true
-													});
-
-													if (Ext.isArray(data) && data.length) {
-														data = data.slice(0,5);
+                                                    var periodType = gis.init.systemSettings.infrastructuralPeriodType.id,
+                                                        generator = gis.init.periodGenerator,
+														periods = generator.filterFuturePeriodsExceptCurrent(generator.generateReversedPeriods(periodType, this.periodOffset)) || [];
+
+													if (Ext.isArray(periods) && periods.length) {
+                                                        for (var i = 0; i < periods.length; i++) {
+                                                            periods[i].id = periods[i].iso;
+                                                        }
+
+														periods = periods.slice(0,5);
 													}
 
-													return data;
+													return periods;
 												}()
 											},
 											lockPosition: false,

=== modified file 'dhis-2/dhis-web/dhis-web-pivot/src/main/webapp/dhis-web-pivot/app/scripts/app.js'
--- dhis-2/dhis-web/dhis-web-pivot/src/main/webapp/dhis-web-pivot/app/scripts/app.js	2014-08-12 14:55:33 +0000
+++ dhis-2/dhis-web/dhis-web-pivot/src/main/webapp/dhis-web-pivot/app/scripts/app.js	2014-08-13 15:40:54 +0000
@@ -6095,7 +6095,7 @@
                             }
                         }());
 
-                        // user info
+                        // user info, i18n
                         requests.push({
                             url: init.contextPath + '/api/me/user-account.json',
                             success: function(r) {
@@ -6103,7 +6103,7 @@
 
                                 // i18n
                                 Ext.Ajax.request({
-                                    url: 'i18n/i18n_' + init.keyUiLocale + '.json',
+                                    url: 'i18n/' + init.keyUiLocale + '.json',
                                     success: function(r) {
                                         NS.i18n = Ext.decode(r.responseText);
                                         fn();