From c300037aec8932f4144e4745475cc0541a29f5f1 Mon Sep 17 00:00:00 2001 From: Amabelle Trachtenberg Date: Sun, 17 Dec 2023 00:28:01 +0200 Subject: [PATCH 1/4] Removed TEXTS from pointTypeToDescription/timeline --- src/pages/components/timeline/TimelinePoint.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pages/components/timeline/TimelinePoint.tsx b/src/pages/components/timeline/TimelinePoint.tsx index 0c776d41..04665284 100644 --- a/src/pages/components/timeline/TimelinePoint.tsx +++ b/src/pages/components/timeline/TimelinePoint.tsx @@ -1,4 +1,4 @@ -import { TEXTS } from 'src/resources/texts' +import { t } from 'i18next' import styled from 'styled-components' import { Moment } from 'moment' @@ -25,9 +25,9 @@ export const pointTypeToColor: Record = { export const pointTypeToDescription: Record = { [PointType.BOUNDARY]: null, - [PointType.GTFS]: TEXTS.timestamp_gtfs, - [PointType.SIRI]: TEXTS.timestamp_siri, - [PointType.TARGET]: TEXTS.timestamp_target, + [PointType.GTFS]: t('timestamp_gtfs'), + [PointType.SIRI]: t('timestamp_siri'), + [PointType.TARGET]: t('timestamp_target'), } type PointProps = { @@ -58,7 +58,7 @@ type LabeledPointProps = { } & PointProps export const LabeledPoint = ({ timestamp, top, type }: LabeledPointProps) => { - const timeDisplay = timestamp.format(TEXTS.time_format) + const timeDisplay = timestamp.format(t('time_format')) return ( <> From 46c0702a633bf9cf010a94058c2f4a4c8252fa1e Mon Sep 17 00:00:00 2001 From: Amabelle Trachtenberg Date: Sun, 17 Dec 2023 00:30:38 +0200 Subject: [PATCH 2/4] deleted texts.ts:) --- src/resources/texts.tsx | 214 ---------------------------------------- 1 file changed, 214 deletions(-) delete mode 100644 src/resources/texts.tsx diff --git a/src/resources/texts.tsx b/src/resources/texts.tsx deleted file mode 100644 index d261e707..00000000 --- a/src/resources/texts.tsx +++ /dev/null @@ -1,214 +0,0 @@ -const PLACEHOLDER = 'XXX' - -export const TEXT_KEYS = { - realtime_map_explanation: 'realtime_map_explanation', - timeline_page_title: 'timeline_page_title', - realtime_map_page_title: 'realtime_map_page_title', - gaps_page_title: 'gaps_page_title', - singleline_map_page_title: 'singleline_map_page_title', - choose_datetime: 'choose_datetime', - choose_date: 'choose_date', - choose_time: 'choose_time', - choose_operator: 'choose_operator', - operator_placeholder: 'operator_placeholder', - choose_line: 'choose_line', - line_placeholder: 'line_placeholder', - choose_route: 'choose_route', - choose_stop: 'choose_stop', - direction_arrow: 'direction_arrow', - date_format: 'date_format', - time_format: 'time_format', - datetime_format: 'datetime_format', - loading_routes: 'loading_routes', - loading_stops: 'loading_stops', - loading_gaps: 'loading_gaps', - timestamp_target: 'timestamp_target', - timestamp_gtfs: 'timestamp_gtfs', - timestamp_siri: 'timestamp_siri', - loading_hits: 'loading_hits', - line_not_found: 'line_not_found', - hits_not_found: 'hits_not_found', - planned_time: 'planned_time', - planned_status: 'planned_status', - ride_as_planned: 'ride_as_planned', - ride_missing: 'ride_missing', - ride_extra: 'ride_extra', - ride_duped: 'ride_duped', - checkbox_only_gaps: 'checkbox_only_gaps', - dashboard_page_title: 'dashboard_page_title', - dashboard_tooltip_content: 'dashboard_tooltip_content', - worst_lines_page_title: 'worst_lines_page_title', - rides_planned: 'rides_planned', - rides_actual: 'rides_actual', - dashboard_page_graph_title_time: 'dashboard_page_graph_title_time', - dashboard_page_graph_title_hour: 'dashboard_page_graph_title_hour', - from_date: 'from_date', - to_date: 'to_date', - watch_locations_in_range: 'watch_locations_in_range', - minutes: 'minutes', - minutes_5: 'minutes_5', - show_x_bus_locations: 'show_x_bus_locations', - from_time_x_to_time_y: 'from_time_x_to_time_y', - choose_start_time: 'choose_start_time', - group_by_hour_tooltip_content: 'group_by_hour_tooltip_content', - group_by_day_tooltip_content: 'group_by_day_tooltip_content', - start: 'start', - end: 'end', - about_title: 'about_title', - donate_title: 'donate_title', - report_a_bug_title: 'report_a_bug_title', - website_name: 'website_name', - what_is_website: 'what_is_website', - what_is_website_paragraph: 'what_is_website_paragraph', - planning_information: 'planning_information', - performance_information: 'performance_information', - discovered_mistake: 'discovered_mistake', - discovered_mistake_paragraph: 'discovered_mistake_paragraph', - privacy: 'privacy', - license: 'license', - questions: 'questions', - funding: 'funding', - funding_paragraph: 'funding_paragraph', - mr_meir: 'mr_meir', - innovation_authority: 'innovation_authority', - migdal_company: 'migdal_company', - and_smaller_donors: 'and_smaller_donors', - gaps_patterns_page_title: 'gaps_patterns_page_title', - profile_page: 'profile_page', - profile_page_line: 'profile_page_line', - github_link: 'github_link', - bug_title: 'bug_title', - bug_title_message: 'bug_title_message', - bug_description: 'bug_description', - bug_description_message: 'bug_description_message', - bug_environment: 'bug_environment', - bug_environment_message: 'bug_environment_message', - bug_expected_behavior: 'bug_expected_behavior', - bug_expected_behavior_message: 'bug_expected_behavior_message', - bug_actual_behavior: 'bug_actual_behavior', - bug_actual_behavior_message: 'bug_actual_behavior_message', - bug_reproducibility: 'bug_reproducibility', - bug_reproducibility_message: 'bug_reproducibility_message', - bug_attachments: 'bug_attachments', - bug_attachments_upload_button: 'bug_attachments_upload_button', - bug_submit: 'bug_submit', - bug_contact_name: 'bug_contact_name', - bug_contact_name_message: 'bug_contact_name_message', - bug_contact_email: 'bug_contact_email', - bug_contact_email_message: 'bug_contact_email_message', - bug_form_description: 'bug_form_description', - bug_type: 'bug_type', - bug_type_message: 'bug_type_message', - bug_type_bug: 'bug_type_bug', - bug_type_feature: 'bug_type_feature', -} - -export const TEXTS = { - realtime_map_explanation: 'נתוני מיקום של אוטובוסים שנאספו בזמן אמת', - timeline_page_title: 'לוח זמנים היסטורי', - realtime_map_page_title: 'מפה בזמן אמת', - gaps_page_title: 'נסיעות שלא יצאו', - gaps_patterns_page_title: 'דפוסי נסיעות שלא יצאו', - singleline_map_page_title: 'מפה לפי קו', - choose_datetime: 'תאריך ושעה', - choose_date: 'תאריך', - choose_dates: 'תאריכים', - choose_time: 'שעה', - choose_operator: 'חברה מפעילה', - operator_placeholder: 'לדוגמא: דן', - choose_line: 'מספר קו', - line_placeholder: 'לדוגמא: 17א', - choose_route: `בחירת מסלול נסיעה (XXX אפשרויות)`, - choose_stop: `בחירת תחנה (XXX אפשרויות)`, - direction_arrow: '⟵', - date_format: 'YYYY-MM-DD', - time_format: 'HH:mm:ss', - datetime_format: 'HH:mm:ss · YYYY-MM-DD', - loading_routes: 'מסלולי נסיעה בטעינה', - loading_stops: 'תחנות עצירה בטעינה', - loading_gaps: 'פערי נסיעות בטעינה', - timestamp_target: 'זמן החיפוש ⌚', - timestamp_gtfs: 'זמן עצירה מתוכנן 🕛', - timestamp_siri: 'זמן עצירה בפועל 🚌', - loading_hits: 'זמני נסיעה בטעינה', - line_not_found: 'הקו לא נמצא', - hits_not_found: 'לא נמצאו נסיעות מתוכננות או בפועל', - planned_time: 'שעה מתוכננת', - planned_status: 'סטטוס', - ride_as_planned: 'יצאה כמתוכנן ✔️', - ride_missing: 'נסיעה חסרה ❌', - ride_extra: 'נסיעה שלא תוכננה 🧐', - ride_duped: 'נסיעה כפולה ❇️', - checkbox_only_gaps: 'רק פערים', - dashboard_page_title: 'מפעילי תח"צ לפי קיום נסיעות מתוכננות', - dashboard_tooltip_content: - 'על כל קו בישראל מוצמד GPS שמדווח את מיקום האוטובוס כל כמה רגעים.\n' + - 'אז מה היא נסיעה שלא בוצעה? זאת נסיעה שתוכננה, אבל לא דווח שיצאה בנתוני הGPS. תוכלו לראות אותה באפליקציה למשל, אבל כשתחכו בתחנה, היא לעולם לא תגיע', - worst_lines_page_title: 'הקווים הגרועים ביותר', - rides_planned: 'נסיעות שתוכננו', - rides_actual: 'נסיעות שיצאו', - dashboard_page_graph_title_day: 'אחוזי יציאה מסך הנסיעות לפי יום', - dashboard_page_graph_title_hour: 'אחוזי יציאה מסך הנסיעות לפי שעה', - from_date: 'מתאריך', - to_date: 'עד תאריך', - watch_locations_in_range: 'צפה במיקומי אוטובוסים בטווח של', - minutes: 'דקות', - minutes_5: '5 דקות', - show_x_bus_locations: 'מיקומי אוטובוסים', - from_time_x_to_time_y: 'משעה XXX עד שעה YYY', - choose_start_time: 'בחירת שעת התחלה', - group_by_day_tooltip_content: 'לפי יום', - group_by_hour_tooltip_content: 'לפי שעה', - start: 'התחלה', - end: 'סיום', - about_title: 'אודות', - donate_title: 'לתרומות', - report_a_bug_title: 'דיווח על באג', - website_name: 'דאטאבוס', - what_is_website: 'מהו אתר “דאטאבוס”?', - what_is_website_paragraph: - 'אתר דאטאבוס של הסדנא לידע ציבורי מציג נתונים על איכות קווי התחבורה הציבורית בארץ (אמינות, דיוק, מסלול). דאטאבוס מחבר למעשה בין מספר מקורות מידע ממשלתיים:', - planning_information: - "מידע התכנון - GTFS - המפורסם כל יום ומכיל את פרטי הקווים, מיקומי התחנות, שעות המעבר בהן וכו'.", - performance_information: - 'מידע הביצוע - SIRI - לכל אוטובוס בישראל מוצמד משדר GPS שמדווח את מיקום האוטובוס כל כמה שניות.', - discovered_mistake: 'גילינו טעות או מידע לא מעודכן, מה עושים?', - discovered_mistake_paragraph: - 'מכיוון שכל המידע המוצג באתר מתבסס על מקורות המידע הרשמיים, מומלץ לפנות לגורם המפרסם לצורך בירור או תיקון הבעיה. צוות “דאטאבוס“ ישמח לסייע לכם להבין מיהו הגורם הממשלתי שפרסם את הנתון או המידע שדורשים בירור או תיקון.', - privacy: 'פרטיות', - license: 'רשיון שימוש', - questions: 'שאלות? תגובות? רעיונות?', - funding: 'מימון', - funding_paragraph: ( - <> - דאטא בוס מפותח בעבודת מתנדבים ומבוסס על{' '} - Open API שפותח בסדנא לידע ציבורי - בעזרתם הנדיבה של - - - ), - mr_meir: 'מר אשר מאיר', - innovation_authority: 'רשות החדשנות', - migdal_company: '“מגדל בקהילה“', - and_smaller_donors: 'ותרומות קטנות נוספות של ידידי ואוהדי הסדנא.', - all_rides_completed: 'כמעט / כל הנסיעות בוצעו', - missing_rides: 'מהנסיעות חסרות', - order_by_hour: 'לפי שעה', - order_by_severity: 'לפי חומרה', - line: 'קו', - from: 'מוצא', - destination: 'יעד', - sample_time: 'זמן דגימה', - velocity: 'מהירות', - drive_direction: 'כיוון נסיעה:', - coords: 'נ.צ:', - vehicle_ref: 'לוחית רישוי', - hide_document: 'הסתר מידע לגיקים', - show_document: 'הצג מידע לגיקים', - bearing: 'מעלות', - kmh: 'קמ״ש', - profile_page: 'דף פרופיל', - profile_page_line: 'דף פרופיל על קו', - github_link: 'github_link', -} - -export const formatted = (text: string, value: string) => text.replace(PLACEHOLDER, value) From 39c34a47875f6b9e1aaf108fc3ffc9b432046d72 Mon Sep 17 00:00:00 2001 From: Amabelle Trachtenberg Date: Sun, 17 Dec 2023 18:21:47 +0200 Subject: [PATCH 3/4] Removed t from LabeledPoint --- src/pages/components/timeline/TimelinePoint.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/components/timeline/TimelinePoint.tsx b/src/pages/components/timeline/TimelinePoint.tsx index 04665284..c933b66e 100644 --- a/src/pages/components/timeline/TimelinePoint.tsx +++ b/src/pages/components/timeline/TimelinePoint.tsx @@ -58,7 +58,7 @@ type LabeledPointProps = { } & PointProps export const LabeledPoint = ({ timestamp, top, type }: LabeledPointProps) => { - const timeDisplay = timestamp.format(t('time_format')) + const timeDisplay = timestamp.format('HH:mm:ss') return ( <> From 453486b933ade4ae8a8e19c5e3278f85424001d8 Mon Sep 17 00:00:00 2001 From: NoamGaash Date: Mon, 18 Dec 2023 09:15:11 +0200 Subject: [PATCH 4/4] chore: text suggestion (#321) --- src/pages/components/timeline/Timeline.tsx | 4 +++- src/pages/components/timeline/TimelinePoint.tsx | 11 +++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/pages/components/timeline/Timeline.tsx b/src/pages/components/timeline/Timeline.tsx index c7cebea7..e51f0829 100644 --- a/src/pages/components/timeline/Timeline.tsx +++ b/src/pages/components/timeline/Timeline.tsx @@ -15,6 +15,7 @@ import { SiriVehicleLocationWithRelatedPydanticModel, } from 'open-bus-stride-client' import { Coordinates } from 'src/model/location' +import { useTranslation } from 'react-i18next' const Line = styled.div<{ totalHeight: number }>` height: ${({ totalHeight }) => totalHeight + PADDING * 3}px; @@ -55,9 +56,10 @@ export const Timeline = ({ pointType, timestampToTop, }: TimelineProps) => { + const { t } = useTranslation() return ( - {pointTypeToDescription[pointType]} + {t(pointTypeToDescription[pointType]!)} diff --git a/src/pages/components/timeline/TimelinePoint.tsx b/src/pages/components/timeline/TimelinePoint.tsx index c933b66e..78676283 100644 --- a/src/pages/components/timeline/TimelinePoint.tsx +++ b/src/pages/components/timeline/TimelinePoint.tsx @@ -1,4 +1,3 @@ -import { t } from 'i18next' import styled from 'styled-components' import { Moment } from 'moment' @@ -23,12 +22,12 @@ export const pointTypeToColor: Record = { [PointType.TARGET]: TARGET_COLOR, } -export const pointTypeToDescription: Record = { +export const pointTypeToDescription = { [PointType.BOUNDARY]: null, - [PointType.GTFS]: t('timestamp_gtfs'), - [PointType.SIRI]: t('timestamp_siri'), - [PointType.TARGET]: t('timestamp_target'), -} + [PointType.GTFS]: 'timestamp_gtfs', + [PointType.SIRI]: 'timestamp_siri', + [PointType.TARGET]: 'timestamp_target', +} as const type PointProps = { top: number