diff --git a/__snapshots__/storybook.test.ts.snap b/__snapshots__/storybook.test.ts.snap index 8dd625ea5..91c269215 100644 --- a/__snapshots__/storybook.test.ts.snap +++ b/__snapshots__/storybook.test.ts.snap @@ -12384,25 +12384,6 @@ exports[`Storyshots ItineraryBody/otp-react-redux Bike Rental Transit Itinerary 2 alerts - - -
2 alerts - - -
1 min - - - @@ -17908,7 +17851,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Custom Time Column 2`] = ` style={Object {}} >
@@ -17923,7 +17866,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Custom Time Column 2`] = ` className="c4 c5" >
Stop ID Stop Viewer @@ -18051,7 +17994,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Custom Time Column 2`] = ` Ride 20 Burnside/Stark @@ -18122,7 +18065,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Custom Time Column 2`] = ` role="group" >
Service operated by
@@ -18425,25 +18368,6 @@ exports[`Storyshots ItineraryBody/otp-react-redux Custom Time Column 2`] = ` onClick={[Function]} > 1 min - - - @@ -18466,7 +18390,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Custom Time Column 2`] = ` style={Object {}} >
@@ -29216,25 +29140,6 @@ exports[`Storyshots ItineraryBody/otp-react-redux Hide Driving Directions 2`] = 2 alerts - - -
2 alerts - - -
1 min - - - @@ -51159,7 +51026,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Tnc Transit Itinerary 2`] = ` style={Object {}} >
@@ -51174,7 +51041,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Tnc Transit Itinerary 2`] = ` className="c4 c5" >
Stop ID 792 Stop Viewer @@ -51264,7 +51131,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Tnc Transit Itinerary 2`] = ` Ride 20 Burnside/Stark @@ -51335,7 +51202,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Tnc Transit Itinerary 2`] = ` role="group" >
Service operated by
@@ -51542,7 +51409,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Tnc Transit Itinerary 2`] = ` > Stop ID 13327 Stop Viewer @@ -51618,25 +51485,6 @@ exports[`Storyshots ItineraryBody/otp-react-redux Tnc Transit Itinerary 2`] = ` onClick={[Function]} > 1 min - - - @@ -51659,7 +51507,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Tnc Transit Itinerary 2`] = ` style={Object {}} >
@@ -60548,25 +60396,6 @@ exports[`Storyshots ItineraryBody/otp-react-redux Two Alerts Not Always Collapsi 2 alerts - - -
2 alerts - - -
0 min - - - @@ -75036,11 +74827,11 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 color: #333; } -.c62 { +.c61 { color: #f44256; } -.c29 { +.c28 { background: transparent; border: 0; color: inherit; @@ -75050,33 +74841,33 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 text-decoration: none; } -.c44 { +.c43 { color: #008; cursor: pointer; margin-left: 5px; } -.c44:hover { +.c43:hover { -webkit-text-decoration: underline; text-decoration: underline; } -.c45 { +.c44 { padding-left: 0px; } -.c45:before { +.c44:before { content: "|"; color: black; margin-right: 5px; } -.c34::before { +.c33::before { content: ""; margin: 0 0.125em; } -.c56 { +.c55 { display: block; font-size: 13px; list-style: none; @@ -75088,13 +74879,13 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 padding: 0; } -.c24 { +.c23 { color: #676767; font-size: 13px; padding-bottom: 12px; } -.c30 { +.c29 { bottom: 0; cursor: pointer; left: 0; @@ -75105,7 +74896,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 z-index: 1; } -.c25 { +.c24 { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -75119,7 +74910,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 position: relative; } -.c22 { +.c20 { display: inline-block; grid-row-start: 2; grid-column-start: 1; @@ -75128,38 +74919,38 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 width: 0; } -.c50 { +.c49 { font-weight: 200; } -.c28 { +.c27 { font-weight: inherit; } -.c49 { +.c48 { font-size: 13px; font-weight: 500; } -.c48 { +.c47 { font-weight: 800; margin-right: 6px; } -.c46 { +.c45 { color: #807373; margin-top: 5px; } -.c27 img, -.c27 svg { +.c26 img, +.c26 svg { margin-right: 6px; height: 24px; width: 24px; vertical-align: bottom; } -.c26 { +.c25 { -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; @@ -75171,7 +74962,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 padding-right: 5px; } -.c31 { +.c30 { display: grid; grid-template-columns: 100px auto; } @@ -75189,7 +74980,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 font-size: 0.9em; } -.c23 { +.c22 { grid-row-start: 2; grid-column-start: 3; } @@ -75218,7 +75009,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 padding: 3px 0 10px 0; } -.c43 { +.c42 { color: #807373; font-size: 13px; font-weight: 300; @@ -75227,23 +75018,23 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 margin-top: -14px; } -.c35 { +.c34 { display: block; list-style: none; padding: 0; } -.c38 { +.c37 { margin-left: 24px; line-height: 1.25em; padding-top: 1px; } -.c38 > span { +.c37 > span { margin-right: 1ch; } -.c32 { +.c31 { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; @@ -75254,7 +75045,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 margin-top: 10px; } -.c32 a { +.c31 a { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -75269,58 +75060,58 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 justify-content: center; } -.c33 { +.c32 { color: #676767; font-size: 13px; font-style: normal; padding: 0; } -.c37 { +.c36 { fill: #676767; float: left; height: 16px; width: 16px; } -.c36 { +.c35 { font-size: 13px; margin-top: 8px; color: #676767; font-style: normal; } -.c39 { +.c38 { font-weight: 500; } -.c40 { +.c39 { font-weight: 200; opacity: 0.8975; padding-left: 1ch; } -.c59 { +.c58 { float: left; margin-left: -36px; color: #fff; } -.c60 { +.c59 { color: #676767; margin-top: 3px; } -.c57 { +.c56 { z-index: 30; position: relative; } -.c52 { +.c51 { margin-top: 5px; } -.c53 { +.c52 { color: #676767; display: -webkit-box; display: -webkit-flex; @@ -75328,30 +75119,30 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 display: flex; } -.c55 { +.c54 { font-size: 14px; } -.c54 { +.c53 { padding: 0; } -.c51 { +.c50 { margin-top: 5px; } -.c51 a { +.c50 a { color: #337ab7; -webkit-text-decoration: none; text-decoration: none; } -.c51 a:hover { +.c50 a:hover { -webkit-text-decoration: underline; text-decoration: underline; } -.c51 img { +.c50 img { margin-left: 5px; vertical-align: middle; } @@ -75379,7 +75170,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 word-wrap: anywhere; } -.c42 { +.c41 { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -75402,7 +75193,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 word-wrap: anywhere; } -.c61 { +.c60 { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -75425,21 +75216,16 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 word-wrap: anywhere; } -.c20 { +.c21 { -webkit-flex: 1; -ms-flex: 1; flex: 1; } -.c20 span { +.c21 span { display: block; } -.c21 { - padding-top: 3px; - font-weight: 600; -} - .c1 { font-size: 16px; } @@ -75449,7 +75235,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 font-family: Hind,sans-serif; } -.c1 .c47 { +.c1 .c46 { background-color: rgb(15,106,172); border-color: white; border-image: initial; @@ -75493,7 +75279,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 width: 100%; } -.c1 .c58 { +.c1 .c57 { margin-left: -23px; } @@ -75528,7 +75314,7 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 z-index: 10; } -.c41 { +.c40 { background-color: gray; left: 5px; right: 5px; @@ -75623,8 +75409,13 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1
+ + otpUi.ItineraryBody.tripAccessibility.legAccessibilityotpUi.ItineraryBody.tripAccessibility.likelyAccessible + - - ✅ - + ✅
otpUi.TransitLegBody.fromLocation
- Walk 238 feet to SE Cesar Chavez Blvd & Brooklyn (long address that spans multiple lines)
@@ -76165,63 +75955,63 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 style={Object {}} >
  1. SE Cesar Chavez Blvd & Clinton
  2. SE Cesar Chavez Blvd & Division
  3. SE Cesar Chavez Blvd & Lincoln
  4. SE Cesar Chavez Blvd & Stephens
    @@ -76297,38 +76087,38 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 3:52 PM
otpUi.TransitLegBody.fromLocation
- Walk 440 feet to SE Hawthorne & Cesar Chavez Blvd
@@ -76842,63 +76634,63 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 style={Object {}} >
  1. SE Hawthorne & 37th
  2. SE Hawthorne & 34th
  3. SE Hawthorne & 32nd
  4. SE Hawthorne & 30th
    @@ -76973,10 +76765,15 @@ exports[`Storyshots ItineraryBody/otp-react-redux Walk Transit Transfer With A 1 > 4:04 PM
    + + otpUi.ItineraryBody.tripAccessibility.legAccessibilityotpUi.ItineraryBody.tripAccessibility.inaccessible + - - ❌ - + ❌
otpUi.TransitLegBody.fromLocation
- Walk 479 feet to 1415 SE 28th Ave, Portland, OR, USA 97214
2 alerts - - -
2 alerts - - -
2 alerts - - -
1 min - - - @@ -141365,7 +141007,7 @@ exports[`Storyshots ItineraryBody/otp-ui Tnc Transit Itinerary 2`] = ` style={Object {}} >
@@ -141408,14 +141050,14 @@ exports[`Storyshots ItineraryBody/otp-ui Tnc Transit Itinerary 2`] = ` className="c3" >
Burnside/Stark @@ -141472,17 +141114,17 @@ exports[`Storyshots ItineraryBody/otp-ui Tnc Transit Itinerary 2`] = ` Ride
20
Burnside/Stark @@ -141528,24 +141170,24 @@ exports[`Storyshots ItineraryBody/otp-ui Tnc Transit Itinerary 2`] = ` />
@@ -142030,7 +141653,7 @@ exports[`Storyshots ItineraryBody/otp-ui Tnc Transit Itinerary 2`] = ` > - -
2 alerts - - -
0 min - - - @@ -164954,24 +164520,24 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine `; exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itinerary 2`] = ` -.c11 { +.c12 { display: inline-block; vertical-align: middle; overflow: hidden; } -.c56 { +.c55 { color: #f44256; } -.c32 { +.c31 { border-top-style: solid; border-top-width: 0; padding-top: 0; padding-bottom: 10px; } -.c20 { +.c19 { background: transparent; border: 0; color: inherit; @@ -164981,13 +164547,13 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine text-decoration: none; } -.c34 { +.c33 { color: #008; cursor: pointer; margin-left: 5px; } -.c34:hover { +.c33:hover { -webkit-text-decoration: underline; text-decoration: underline; } @@ -165016,7 +164582,7 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine padding-left: 1px; } -.c45 { +.c44 { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -165038,12 +164604,12 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine text-align: inherit; } -.c25::before { +.c24::before { content: ""; margin: 0 0.125em; } -.c55 { +.c54 { text-align: center; } @@ -165058,7 +164624,7 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine transform: translateX(-50%); } -.c36 { +.c35 { border-left: solid 8px #008ab0; height: 100%; width: 0; @@ -165069,7 +164635,7 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine transform: translateX(-50%); } -.c50 { +.c49 { display: block; font-size: 13px; list-style: none; @@ -165081,13 +164647,13 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine padding: 0; } -.c16 { +.c15 { color: #676767; font-size: 13px; padding-bottom: 12px; } -.c21 { +.c20 { bottom: 0; cursor: pointer; left: 0; @@ -165098,7 +164664,7 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine z-index: 1; } -.c17 { +.c16 { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -165112,7 +164678,7 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine position: relative; } -.c14 { +.c11 { display: inline-block; grid-row-start: 2; grid-column-start: 1; @@ -165121,30 +164687,30 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine width: 0; } -.c44 { +.c43 { font-weight: 200; } -.c19 { +.c18 { font-weight: inherit; } -.c43 { +.c42 { font-size: 13px; font-weight: 500; } -.c42 { +.c41 { font-weight: 800; margin-right: 6px; } -.c41 { +.c40 { color: #807373; margin-top: 5px; } -.c18 { +.c17 { -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; @@ -165177,7 +164743,7 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine padding-right: 5px; } -.c22 { +.c21 { display: grid; grid-template-columns: 100px auto; } @@ -165195,7 +164761,7 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine font-size: 0.9em; } -.c35 { +.c34 { padding: 3px 10px 3px 10px; border: 0; margin-top: -15px; @@ -165203,18 +164769,18 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine height: 35px; } -.c35:hover { +.c34:hover { cursor: pointer; } -.c33 { +.c32 { -webkit-flex: 0 0 25px; -ms-flex: 0 0 25px; flex: 0 0 25px; grid-column: -1; } -.c15 { +.c14 { grid-row-start: 2; grid-column-start: 3; } @@ -165243,7 +164809,7 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine padding: 3px 0 10px 0; } -.c37 { +.c36 { text-align: center; min-width: 30px; min-height: 30px; @@ -165272,7 +164838,7 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine cursor: default; } -.c38 { +.c37 { position: absolute; width: 1px; height: 1px; @@ -165284,23 +164850,23 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine border: 0; } -.c26 { +.c25 { display: block; list-style: none; padding: 0; } -.c29 { +.c28 { margin-left: 24px; line-height: 1.25em; padding-top: 1px; } -.c29 > span { +.c28 > span { margin-right: 1ch; } -.c23 { +.c22 { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; @@ -165311,7 +164877,7 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine margin-top: 10px; } -.c23 a { +.c22 a { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -165326,64 +164892,64 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine justify-content: center; } -.c24 { +.c23 { color: #676767; font-size: 13px; font-style: normal; padding: 0; } -.c28 { +.c27 { fill: #676767; float: left; height: 16px; width: 16px; } -.c27 { +.c26 { font-size: 13px; margin-top: 8px; color: #676767; font-style: normal; } -.c30 { +.c29 { font-weight: 500; } -.c31 { +.c30 { font-weight: 200; opacity: 0.8975; padding-left: 1ch; } -.c39 { +.c38 { font-weight: 200; font-size: 0.9em; margin-left: 10px; } -.c52 { +.c51 { float: left; margin-left: -36px; color: #fff; } -.c53 { +.c52 { color: #676767; margin-top: 3px; } -.c51 { +.c50 { z-index: 30; position: relative; } -.c46 { +.c45 { margin-top: 5px; } -.c47 { +.c46 { color: #676767; display: -webkit-box; display: -webkit-flex; @@ -165391,11 +164957,11 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine display: flex; } -.c49 { +.c48 { font-size: 14px; } -.c48 { +.c47 { padding: 0; } @@ -165422,7 +164988,7 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine word-wrap: anywhere; } -.c40 { +.c39 { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -165445,7 +165011,7 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine word-wrap: anywhere; } -.c54 { +.c53 { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -165468,21 +165034,16 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine word-wrap: anywhere; } -.c12 { +.c13 { -webkit-flex: 1; -ms-flex: 1; flex: 1; } -.c12 span { +.c13 span { display: block; } -.c13 { - padding-top: 3px; - font-weight: 600; -} -
    @@ -165539,11 +165100,16 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine
    + + otpUi.ItineraryBody.tripAccessibility.legAccessibilityotpUi.ItineraryBody.tripAccessibility.likelyAccessible + - - ✅ - + ✅
otpUi.TransitLegBody.fromLocation
- Walk 238 feet to SE Cesar Chavez Blvd & Brooklyn (long address that spans multiple lines)
@@ -165788,14 +165351,14 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine className="c3" >
Cesar Chavez/Lombard (very long route name) @@ -165821,7 +165384,7 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine > SE Cesar Chavez Blvd & Brooklyn ID 7439 @@ -165832,13 +165395,18 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine > 3:47 PM
+ + otpUi.ItineraryBody.tripAccessibility.legAccessibilityotpUi.ItineraryBody.tripAccessibility.unclear + - - ? - + ?
otpUi.TransitLegBody.fromLocation
- Ride
755X
Cesar Chavez/Lombard (very long route name) to @@ -165923,24 +165488,24 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine - Disembark at SE Cesar Chavez Blvd & Hawthorne ID 7459
otpUi.TransitLegBody.fromLocation
- Walk 440 feet to SE Hawthorne & Cesar Chavez Blvd
@@ -166419,14 +165984,14 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine className="c3" >
Hawthorne @@ -166452,7 +166017,7 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine > SE Hawthorne & Cesar Chavez Blvd ID 2626 @@ -166463,13 +166028,18 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine > 4:00 PM
+ + otpUi.ItineraryBody.tripAccessibility.legAccessibilityotpUi.ItineraryBody.tripAccessibility.inaccessible + - - ❌ - + ❌
otpUi.TransitLegBody.fromLocation
- Ride
1
Hawthorne to @@ -166554,24 +166121,24 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine - Disembark at SE Hawthorne & 27th ID 2613
otpUi.TransitLegBody.fromLocation
- Walk 479 feet to 1415 SE 28th Ave, Portland, OR, USA 97214
@@ -167095,11 +166664,11 @@ exports[`Storyshots ItineraryBody/otp-ui Walk Transit Transfer With A 11 Y Itine className="c5" >
Arrive at 1415 SE 28th Ave, Portland, OR, USA 97214
@@ -180041,25 +179610,6 @@ exports[`Storyshots ItineraryBody/otp-ui Zero Alerts Always Collapsing 2`] = ` onClick={[Function]} > 0 min - - - @@ -184708,25 +184258,6 @@ exports[`Storyshots ItineraryBody/otp-ui Zero Alerts Not Always Collapsing 2`] = onClick={[Function]} > 0 min - - - @@ -189374,25 +188905,6 @@ exports[`Storyshots ItineraryBody/otp-ui Zero Alerts Without Collapsing Prop 2`] onClick={[Function]} > 0 min - - - @@ -224172,12 +223684,21 @@ exports[`Storyshots PrintableItinerary Walk Transit Transfer With A 11 Y Itinera `; exports[`Storyshots PrintableItinerary Walk Transit Transfer With A 11 Y Itinerary 2`] = ` -.c7 { +.c8 { display: inline-block; vertical-align: middle; overflow: hidden; } +.c7 { + display: inline-block; + grid-row-start: 2; + grid-column-start: 1; + height: 0; + overflow: hidden; + width: 0; +} + .c20 { font-weight: 200; } @@ -224219,21 +223740,16 @@ exports[`Storyshots PrintableItinerary Walk Transit Transfer With A 11 Y Itinera word-wrap: anywhere; } -.c8 { +.c9 { -webkit-flex: 1; -ms-flex: 1; flex: 1; } -.c8 span { +.c9 span { display: block; } -.c9 { - padding-top: 3px; - font-weight: 600; -} - .c0 { margin-bottom: 10px; border-top: 1px solid grey; @@ -224346,11 +223862,16 @@ exports[`Storyshots PrintableItinerary Walk Transit Transfer With A 11 Y Itinera
+ + otpUi.ItineraryBody.tripAccessibility.itineraryAccessibilityotpUi.ItineraryBody.tripAccessibility.likelyAccessible + - - ✅ - + ✅
@@ -224466,11 +223984,16 @@ exports[`Storyshots PrintableItinerary Walk Transit Transfer With A 11 Y Itinera
+ + otpUi.ItineraryBody.tripAccessibility.itineraryAccessibilityotpUi.ItineraryBody.tripAccessibility.unclear + - - ? - + ?
@@ -224676,11 +224196,16 @@ exports[`Storyshots PrintableItinerary Walk Transit Transfer With A 11 Y Itinera
+ + otpUi.ItineraryBody.tripAccessibility.itineraryAccessibilityotpUi.ItineraryBody.tripAccessibility.inaccessible + - - ❌ - + ❌
@@ -224788,11 +224310,16 @@ exports[`Storyshots PrintableItinerary Walk Transit Transfer With A 11 Y Itinera
+ + otpUi.ItineraryBody.tripAccessibility.itineraryAccessibilityotpUi.ItineraryBody.tripAccessibility.inaccessible + - - ❌ - + ❌
diff --git a/packages/endpoints-overlay/i18n/tr.yml b/packages/endpoints-overlay/i18n/tr.yml index 0967ef424..dcb111804 100644 --- a/packages/endpoints-overlay/i18n/tr.yml +++ b/packages/endpoints-overlay/i18n/tr.yml @@ -1 +1,9 @@ -{} +otpUi: + EndpointsOverlay: + clearLocation: "{locationType} konumu olarak kaldır" + coordinates: "{lat, number, ::.00000}, {lon, number, ::.00000}" + forgetHome: Evi unut + forgetWork: İşi unut + saveAsHome: Evi kaydet + saveAsWork: İşi Kaydet + swapLocation: "{locationType} konumuna değiştir" diff --git a/packages/endpoints-overlay/package.json b/packages/endpoints-overlay/package.json index b79078b31..501d47b60 100644 --- a/packages/endpoints-overlay/package.json +++ b/packages/endpoints-overlay/package.json @@ -1,6 +1,6 @@ { "name": "@opentripplanner/endpoints-overlay", - "version": "2.0.10", + "version": "2.0.11", "description": "A map overlay to show the from and to locations of an itinerary", "main": "lib/index.js", "module": "esm/index.js", diff --git a/packages/from-to-location-picker/i18n/tr.yml b/packages/from-to-location-picker/i18n/tr.yml index 0967ef424..2848c9d78 100644 --- a/packages/from-to-location-picker/i18n/tr.yml +++ b/packages/from-to-location-picker/i18n/tr.yml @@ -1 +1,5 @@ -{} +otpUi: + FromToLocationPicker: + from: Buradan + planATrip: "Bir yolculuk planla:" + to: Buraya diff --git a/packages/from-to-location-picker/package.json b/packages/from-to-location-picker/package.json index cb0f02ca6..a7a4bfabf 100644 --- a/packages/from-to-location-picker/package.json +++ b/packages/from-to-location-picker/package.json @@ -1,6 +1,6 @@ { "name": "@opentripplanner/from-to-location-picker", - "version": "2.1.10", + "version": "2.1.11", "description": "Location Picker Component", "author": "@binh-dam-ibigroup", "homepage": "https://github.com/opentripplanner/otp-ui/#readme", diff --git a/packages/icons/package.json b/packages/icons/package.json index df41611af..62214b9db 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -1,6 +1,6 @@ { "name": "@opentripplanner/icons", - "version": "2.0.6", + "version": "2.0.7", "description": "Icons for otp-ui", "main": "lib/index.js", "module": "esm/index.js", diff --git a/packages/icons/src/companies/index.js b/packages/icons/src/companies/index.js index b85fe00f3..fc99337f1 100644 --- a/packages/icons/src/companies/index.js +++ b/packages/icons/src/companies/index.js @@ -20,7 +20,14 @@ const companyLookup = { }; function getCompanyIcon(name) { - const icon = companyLookup[name.toLowerCase()]; + const icon = + companyLookup[name.toLowerCase()] || + /* + Some company names are lyft_pdx instead of just Lyft. + This PR matches based on the first 4 characters to hopefully + match more company icons. + */ + companyLookup[name.toLowerCase().slice(0, 4)]; if (!icon) { console.warn(`No Company Icon found for: '${name}'!`); } diff --git a/packages/itinerary-body/i18n/en-US.yml b/packages/itinerary-body/i18n/en-US.yml index 14b903182..fdb663556 100644 --- a/packages/itinerary-body/i18n/en-US.yml +++ b/packages/itinerary-body/i18n/en-US.yml @@ -81,6 +81,12 @@ otpUi: car: by car escooter: by e-scooter walk: by walking + tripAccessibility: + inaccessible: inaccessible + itineraryAccessibility: "Wheelchair accessibility of this trip: " + legAccessibility: "Wheelchair accessibility of this trip leg: " + likelyAccessible: likely accessible + unclear: unknown viewOnMap: View on map TransitLegBody: AlertsBody: diff --git a/packages/itinerary-body/i18n/fr.yml b/packages/itinerary-body/i18n/fr.yml index 2187877fd..cd09ce35f 100644 --- a/packages/itinerary-body/i18n/fr.yml +++ b/packages/itinerary-body/i18n/fr.yml @@ -85,6 +85,12 @@ otpUi: car: en voiture escooter: en trottinette walk: à pied + tripAccessibility: + inaccessible: inaccessible + itineraryAccessibility: "Accessibilité de ce trajet en fauteuil roulant : " + legAccessibility: "Accessibilité de cette étape en fauteuil roulant : " + likelyAccessible: probablement accessible + unclear: inconnue viewOnMap: Afficher sur le plan TransitLegBody: AlertsBody: diff --git a/packages/itinerary-body/i18n/i18n-exceptions.json b/packages/itinerary-body/i18n/i18n-exceptions.json new file mode 100644 index 000000000..458ec5ec4 --- /dev/null +++ b/packages/itinerary-body/i18n/i18n-exceptions.json @@ -0,0 +1,7 @@ +{ + "ignoredIds": ["otpUi.ItineraryBody.tripAccessibility.accessible"], + + "groups": { + "otpUi.ItineraryBody.tripAccessibility.*Accessibility": ["itinerary", "leg"] + } +} diff --git a/packages/itinerary-body/i18n/ko.yml b/packages/itinerary-body/i18n/ko.yml index f01034f24..253d5dc99 100644 --- a/packages/itinerary-body/i18n/ko.yml +++ b/packages/itinerary-body/i18n/ko.yml @@ -1,31 +1,44 @@ otpUi: AccessLegBody: + LegDiagramPreview: + elevationChart: 고도 차트 + noElevationData: 사용 가능한 고도 데이터가 없습니다. + toggleElevationChart: 고도 차트 토글 RentedVehicleSubheader: pickupRental: "{company} {vehicleType} {vehicleName} 픽업" resumeRentalRide: 대여 서비스 이용 계속하기 vehicleType: - vehicle: 차량 bike: 자전거 bikeshare: 자전거 car: 자동차 escooter: 전기 스쿠터 + vehicle: 차량 walkVehicle: "{place}을(를) 따라 차량을 움직이기" - LegDiagramPreview: - elevationChart: 고도 차트 - noElevationData: 사용 가능한 고도 데이터가 없습니다. - toggleElevationChart: 고도 차트 토글 + TncLeg: + bookRide: 승차 예약 + bookRideLater: 예약하려면 {timeMillis, time, short}까지 대기 + estimatedCost: "예상 비용: {minFare} - {maxFare}" + estimatedTravelTime: "예상 이동 시간: {duration} (교통사정을 고려하지 않음)" + waitForPickup: "{company} 승차까지 {minutes, plural, =0 {} other { # 분} } 대기" + mapillaryTooltip: 이 위치의 거리 이미지 보기 step: circleClockwise: 시계 방향으로 원을 따라갑니다 + circleCounterClockwise: 시계 반대 방향으로 서클을 따르십시오 + continue: 계속 + enterStation: 역 입력 + exitStation: 역 나가기 hardLeft: 날카로운 왼쪽 hardRight: 날카로운 권리 + left: 왼쪽 right: 오른 slightlyLeft: 약간 왼쪽 + slightlyRight: 약간 오른쪽 uTurnLeft: 유턴 uTurnRight: 유턴 - continue: 계속 - circleCounterClockwise: 시계 반대 방향으로 서클을 따르십시오 - left: 왼쪽 - slightlyRight: 약간 오른쪽 + stepDepart: "{street} 에서 {heading}으로 향하다" + stepElevator: 엘리베이터를 타고 {street} 이동 + stepFollowSigns: "다음까지 표지판을 따라가십시오: {street}" + stepGeneric: "{street} 에 {step}" stepHeading: east: 동쪽 north: 북쪽 @@ -35,41 +48,31 @@ otpUi: southeast: 남동쪽 southwest: 남서쪽 west: 서쪽 - stepGeneric: "{street} 에 {step}" + stepStation: "{step} 에서 {street}" + summary: "{place} 에 {mode}" + summaryAndDistance: "{place} 에 {mode} {distance}" summaryMode: + bike: 자전거 bikeshare: 공유자전거 carDrive: 운전 - walk: 걷기 - bike: 자전거 carHail: 타다 escooter: 타다 - TncLeg: - bookRide: 승차 예약 - bookRideLater: 예약하려면 {timeMillis, time, short}까지 대기 - estimatedCost: "예상 비용: {minFare} - {maxFare}" - estimatedTravelTime: "예상 이동 시간: {duration} (교통사정을 고려하지 않음)" - waitForPickup: "{company} 승차까지 {minutes, plural, =0 {} other { # 분} } 대기" + walk: 걷기 unnamedPath: 이름 없는 경로 + unnamedRoad: 이름 없는 길 + vehicleTitle: "{company} {vehicleType}" vehicleType: - vehicle: 차량 bike: 자전거 bikeshare: 자전거 car: 자동차 escooter: 전기 스쿠터 - unnamedRoad: 이름 없는 길 - vehicleTitle: "{company} {vehicleType}" - stepDepart: "{street} 에서 {heading}으로 향하다" - stepElevator: 엘리베이터를 타고 {street} 이동 - summaryAndDistance: "{place} 에 {mode} {distance}" - mapillaryTooltip: 이 위치의 거리 이미지 보기 - summary: "{place} 에 {mode}" + vehicle: 차량 ItineraryBody: common: durationShort: "{hours, plural, =0 {} other {# 시간 }}{minutes} 분" flexAdvanceNotice: " 최소 {leadDays}일 전에" flexCallAhead: 미리 전화 flexCallNumber: "{phoneNumber}에 전화" - viewOnMap: 지도 보기 flexPickupMessage: 이 경로를 이용하려면 {advanceNotice}{action}야 합니다. stayOnBoard: "{place}에서는 그대로 타고 계십시오" travelBy: "{mode} 여행하다" @@ -78,14 +81,15 @@ otpUi: car: 차로 escooter: 전자 스쿠터로 walk: 걸어서 + viewOnMap: 지도 보기 TransitLegBody: - agencyExternalLink: "{agencyName} (외부 링크)" AlertsBody: + effectiveDate: "{dateTime, date, long}자로 유효" + effectiveTimeAndDate: "{day} {dateTime, time, short}자로 유효" today: 오늘 tomorrow: 내일 yesterday: 어제 - effectiveDate: "{dateTime, date, long}자로 유효" - effectiveTimeAndDate: "{day} {dateTime, time, short}자로 유효" + agencyExternalLink: "{agencyName} (외부 링크)" alertsHeader: "{alertCount}개의 알림" arriveAt: "{place} 시장에 도착하다" disembarkAt: "{legDestination} 에서 하차" @@ -93,7 +97,7 @@ otpUi: fare: "운임: {fare}" fromLocation: "{location}에서" legDetails: 다리 세부 사항 - operatedBy: '{agencyLink}에서 운영하는 서비스' + operatedBy: "{agencyLink}에서 운영하는 서비스" ride: 타다 rideDurationAndStops: "승차 {duration}{numStops, plural, =1 {} other { / # 정거장}}" routeDescription: "{routeName} {headsign}" diff --git a/packages/itinerary-body/i18n/ru.yml b/packages/itinerary-body/i18n/ru.yml index 4cd9f4913..7f7c1ae01 100644 --- a/packages/itinerary-body/i18n/ru.yml +++ b/packages/itinerary-body/i18n/ru.yml @@ -1,101 +1,110 @@ otpUi: - TransitLegBody: - fare: 'Стоимость проезда: {fare}' - AlertsBody: - yesterday: Вчера - tomorrow: Завтра - today: Сегодня - effectiveTimeAndDate: Актуально на {dateTime, time, short}, {day} - effectiveDate: Актуально на {dateTime, date, long} - rideDurationAndStops: 'Поездка: {duration}{numStops, plural, =1 {} other { / остановки - (#)}}' - stopViewer: Средство просмотра остановок - tripViewer: Средство просмотра поездки - stopId: Идентификатор остановки {stopId} - typicalWait: 'Типичное время ожидания: {waitTime}' - stopIdBasic: Идентификатор {stopId} - operatedBy: Услуги, предоставляемые агентством «{agencyLink}» - arriveAt: Прибытие в {place} - disembarkAt: Выходите в месте {legDestination} - alertsHeader: '{alertCount, plural, =1 {# предупреждение!} other {Несколько предупреждений - (#)!}}' - routeDescription: '{routeName} {headsign}' - fromLocation: Из места «{location}» AccessLegBody: LegDiagramPreview: - toggleElevationChart: Переключить график высот elevationChart: График высот noElevationData: Нет данных по высоте. + toggleElevationChart: Переключить график высот RentedVehicleSubheader: + pickupRental: Возьмите {vehicleType} «{company}» {vehicleName} resumeRentalRide: Продолжить аренду - walkVehicle: Проведите средство вдоль места «{place}» vehicleType: bike: велосипед - escooter: Электросамокат - car: aвто bikeshare: велосипед в прокат + car: aвто + escooter: Электросамокат vehicle: транспортное средство - pickupRental: Возьмите {vehicleType} «{company}» {vehicleName} - vehicleType: - car: Авто - bike: Велосипед - escooter: Электросамокат + walkVehicle: Проведите средство вдоль места «{place}» TncLeg: - estimatedTravelTime: 'Предполагаемое время поездки: {duration} (без учета дорожного - движения)' - estimatedCost: 'Предполагаемая стоимость: {minFare} — {maxFare}' - bookRideLater: Для бронирования подождите до {timeMillis, time, short} bookRide: Забронировать поездку - waitForPickup: 'Подождите{minutes, plural, =0 {} other { # мин}} до приезда - {company}' - summaryMode: - walk: Пешком - bikeshare: Прокат велосипедов - carDrive: Вождение - bike: Велосипед - escooter: Электросамокат - carHail: Поездка + bookRideLater: Для бронирования подождите до {timeMillis, time, short} + estimatedCost: "Предполагаемая стоимость: {minFare}\_— {maxFare}" + estimatedTravelTime: "Предполагаемое время поездки: {duration} (без учета дорожного движения)" + waitForPickup: "Подождите{minutes, plural, =0 {} other { # мин}} до приезда {company}" mapillaryTooltip: Показать изображения улиц для этого местоположения - unnamedRoad: Неизвестная дорога - stepHeading: - southwest: на юго-запад - south: на юг - southeast: на юго-восток - northwest: на северо-запад - northeast: на северо-восток - north: на север - west: на запад - east: на восток step: - slightlyRight: Немного правее - hardLeft: Строго налево circleClockwise: Двигайтесь по кругу по часовой стрелке + circleCounterClockwise: Двигайтесь по кругу против часовой стрелки continue: Продолжайте движение + enterStation: Введите станцию + exitStation: Выйти из станции + hardLeft: Строго налево + hardRight: Строго направо + left: Налево + right: Направо slightlyLeft: Немного левее + slightlyRight: Немного правее uTurnLeft: Левый разворот uTurnRight: Правый разворот - circleCounterClockwise: Двигайтесь по кругу против часовой стрелки - right: Направо - hardRight: Строго направо - left: Налево stepDepart: Направляйтесь {heading} на улице {street} stepElevator: Воспользуйтесь подъемом к улице {street} - summary: '{mode} до места «{place}»' - stepGeneric: '{step} на улице {street}' - summaryAndDistance: '{mode}{distance} до места «{place}»' + stepFollowSigns: Следуйте указателям {street} + stepGeneric: "{step} на улице {street}" + stepHeading: + east: на восток + north: на север + northeast: на северо-восток + northwest: на северо-запад + south: на юг + southeast: на юго-восток + southwest: на юго-запад + west: на запад + stepStation: "{step} __ {street}" + summary: "{mode} до места «{place}»" + summaryAndDistance: "{mode}{distance} до места «{place}»" + summaryMode: + bike: Велосипед + bikeshare: Прокат велосипедов + carDrive: Вождение + carHail: Поездка + escooter: Электросамокат + walk: Пешком unnamedPath: Неизвестный путь - vehicleTitle: '{vehicleType} «{company}»' + unnamedRoad: Неизвестная дорога + vehicleTitle: "{vehicleType} «{company}»" + vehicleType: + bike: Велосипед + bikeshare: Bелосипед в прокат + car: Авто + escooter: Электросамокат + vehicle: Транспортное средство ItineraryBody: - viewOnMap: Просмотреть на карте common: - durationShort: '{hours, plural, =0 {} other {# ч }}{minutes} мин' + durationShort: "{hours, plural, =0 {} other {# ч }}{minutes} мин" + flexCallAhead: звоните заранее + flexCallNumber: звоните {phoneNumber} flexPickupMessage: Чтобы воспользоваться этим маршрутом, {action}{advanceNotice}. - flexCallNumber: наберите {phoneNumber} + stayOnBoard: Не выходите в месте {place} + travelBy: Передвижение {mode} travelByMode: - car: на авто bike: на велосипеде + car: на авто escooter: на электросамокате walk: пешком - stayOnBoard: Не выходите в месте {place} - flexCallAhead: наберите заранее - travelBy: Передвижение {mode} + viewOnMap: Просмотреть на карте + TransitLegBody: + AlertsBody: + effectiveDate: Актуально на {dateTime, date, long} + effectiveTimeAndDate: Актуально на {dateTime, time, short}, {day} + today: Сегодня + tomorrow: Завтра + yesterday: Вчера + agencyExternalLink: "{agencyName} (Ссылка на внешний источник)" + alertsHeader: >- + {alertCount, plural, =1 {# предупреждение!} other {Несколько + предупреждений (#)!}} + arriveAt: Прибытие в {place} + disembarkAt: Выходите в месте {legDestination} + expandDetails: (Развернуть детали) + fare: "Стоимость проезда: {fare}" + fromLocation: Из места «{location}» + legDetails: Детальное описание отрезка маршрута + operatedBy: Услуги, предоставляемые агентством «{agencyLink}» + ride: Поездка + rideDurationAndStops: "Поездка: {duration}{numStops, plural, =1 {} other { / остановки (#)}}" + routeDescription: "{routeName} {headsign}" + stopId: Идентификатор остановки {stopId} + stopIdBasic: Идентификатор {stopId} + stopViewer: Средство просмотра остановок + tripViewer: Средство просмотра поездки + typicalWait: "Типичное время ожидания: {waitTime}" + zoomToLeg: Приблизить отрезок на карте diff --git a/packages/itinerary-body/i18n/tl.yml b/packages/itinerary-body/i18n/tl.yml index 2c56a1d3e..8c90d5296 100644 --- a/packages/itinerary-body/i18n/tl.yml +++ b/packages/itinerary-body/i18n/tl.yml @@ -1,97 +1,112 @@ otpUi: - TransitLegBody: - fare: 'Pamasahe: {fare}' - AlertsBody: - yesterday: Kahapon - tomorrow: Bukas - today: Ngayong Araw - effectiveTimeAndDate: May bisa simula {dateTime, time, short}, {day} - effectiveDate: May bisa simula {dateTime, date, long} - rideDurationAndStops: 'Ride {duration}{numStops, plural, =1 {} other { / # stops}}' - stopViewer: Ihinto ang Viewer - tripViewer: Viewer ng Biyahe - stopId: ID ng Hintuan {stopId} - typicalWait: 'Karaniwang tagal ng paghihintay: {waitTime}' - stopIdBasic: ID {stopId} - operatedBy: Ang serbisyo ay pinapatakbo ng {agencyLink} - arriveAt: Darating nang {place} - disembarkAt: Bumaba sa {legDestination} - alertsHeader: '{alertCount, plural, =1 {# alert} other {# alerts}}' - routeDescription: '{routeName} papuntang {headsign}' - fromLocation: mula sa {location} AccessLegBody: LegDiagramPreview: - toggleElevationChart: I-toggle ang chart ng elevation elevationChart: Chart ng elevation noElevationData: Walang available na data ng elevation. + toggleElevationChart: I-toggle ang chart ng elevation RentedVehicleSubheader: + pickupRental: Pag-pick up {company} {vehicleType} {vehicleName} resumeRentalRide: Magpatuloy gamit ang rental - walkVehicle: Dumaan sa {place} vehicleType: bike: bisikleta - escooter: E-scooter - car: Sasakyan bikeshare: shared bike + car: Sasakyan + escooter: E-scooter vehicle: sasakyan - pickupRental: Pag-pick up {company} {vehicleType} {vehicleName} - vehicleType: - car: Sasakyan - bike: Bisikleta - escooter: E-scooter + walkVehicle: Dumaan sa {place} TncLeg: - estimatedTravelTime: 'Tinatayang tagal ng biyahe: {duration} (hindi isinasaalang-alang - ang trapiko)' - estimatedCost: 'Tinatayang halaga: {minFare} - {maxFare}' - bookRideLater: Maghintay hanggang {timeMillis, time, short} para mag-book bookRide: Mag-book ng Ride - waitForPickup: 'Tagal ng paghihintay{minutes, plural, =0 {} other { # minutes}} - para sa pag-pick up ng {company}' - summaryMode: - walk: Naglalakad - bikeshare: Bikeshare - carDrive: Nagmamaneho - bike: Bisikleta - escooter: E-Scooter - carHail: Ride + bookRideLater: Maghintay hanggang {timeMillis, time, short} para mag-book + estimatedCost: "Tinatayang halaga: {minFare} - {maxFare}" + estimatedTravelTime: >- + Tinatayang tagal ng biyahe: {duration} (hindi isinasaalang-alang ang + trapiko) + waitForPickup: >- + Tagal ng paghihintay{minutes, plural, =0 {} other { # minutes}} para sa + pag-pick up ng {company} mapillaryTooltip: Ipakita ang larawan ng kalye sa lokasyong ito - unnamedRoad: Unnamed Road step: - slightlyRight: Slight right - hardLeft: Hard left circleClockwise: Follow circle clockwise + circleCounterClockwise: Follow circle counterclockwise continue: Continue + enterStation: I-enter ang istasyon + exitStation: Lumabas sa Istasyon + hardLeft: Hard left + hardRight: Hard right + left: Left + right: Right slightlyLeft: Slight left + slightlyRight: Slight right uTurnLeft: Left U-turn uTurnRight: Right U-turn - circleCounterClockwise: Follow circle counterclockwise - right: Right - hardRight: Hard right - left: Left + stepDepart: Head {heading} on {street} + stepElevator: Take elevator to {street} + stepFollowSigns: Sundin ang mga palatandaan sa {street} + stepGeneric: "{step} on {street}" stepHeading: + east: east + north: north + northeast: northeast + northwest: northwest south: south southeast: southeast - northwest: northwest - northeast: northeast - north: north + southwest: southwest west: west - east: east - stepDepart: Head {heading} on {street} - stepElevator: Take elevator to {street} - summary: '{mode} to {place}' - stepGeneric: '{step} on {street}' - summaryAndDistance: '{mode} {distance} to {place}' + stepStation: "{step} sa {street}" + summary: "{mode} to {place}" + summaryAndDistance: "{mode} {distance} to {place}" + summaryMode: + bike: Bisikleta + bikeshare: Bikeshare + carDrive: Nagmamaneho + carHail: Ride + escooter: E-Scooter + walk: Naglalakad unnamedPath: Unnamed Path - vehicleTitle: '{company} {vehicleType}' + unnamedRoad: Unnamed Road + vehicleTitle: "{company} {vehicleType}" + vehicleType: + bike: Bisikleta + bikeshare: Shared na Bisikleta + car: Sasakyan + escooter: E-scooter + vehicle: Sasakyan ItineraryBody: - viewOnMap: Tingnan sa mapa common: - durationShort: '{hours, plural, =0 {} other {# hr }}{minutes} (na) minuto' + durationShort: "{hours, plural, =0 {} other {# hr }}{minutes} (na) minuto" + flexCallAhead: tumawag nang maaga + flexCallNumber: tumawag sa {phoneNumber} flexPickupMessage: Para gamitin ang rutang ito, {action}{advanceNotice}. + stayOnBoard: Manatiling on board sa {place} + travelBy: Maglakbay sa pamamagitan ng {mode} travelByMode: - car: sasakyan bike: bisikleta + car: sasakyan escooter: e-scooter walk: walking - stayOnBoard: Manatiling on board sa {place} - flexCallAhead: '' - travelBy: Maglakbay sa pamamagitan ng {mode} + viewOnMap: Tingnan sa mapa + TransitLegBody: + AlertsBody: + effectiveDate: May bisa simula {dateTime, date, long} + effectiveTimeAndDate: May bisa simula {dateTime, time, short}, {day} + today: Ngayong Araw + tomorrow: Bukas + yesterday: Kahapon + agencyExternalLink: "{agencyName} (External na Link)" + alertsHeader: "{alertCount, plural, =1 {# alert} other {# alerts}}" + arriveAt: Darating nang {place} + disembarkAt: Bumaba sa {legDestination} + expandDetails: (I-expand ang mga detalye) + fare: "Pamasahe: {fare}" + fromLocation: mula sa {location} + legDetails: Mga detalye ng Paggalaw + operatedBy: Ang serbisyo ay pinapatakbo ng {agencyLink} + ride: Sumakay + rideDurationAndStops: "Ride {duration}{numStops, plural, =1 {} other { / # stops}}" + routeDescription: "{routeName} papuntang {headsign}" + stopId: ID ng Hintuan {stopId} + stopIdBasic: ID {stopId} + stopViewer: Ihinto ang Viewer + tripViewer: Viewer ng Biyahe + typicalWait: "Karaniwang tagal ng paghihintay: {waitTime}" + zoomToLeg: Mag-zoom sa leg sa mapa diff --git a/packages/itinerary-body/i18n/tr.yml b/packages/itinerary-body/i18n/tr.yml index 0967ef424..347c5b60f 100644 --- a/packages/itinerary-body/i18n/tr.yml +++ b/packages/itinerary-body/i18n/tr.yml @@ -1 +1,4 @@ -{} +otpUi: + AccessLegBody: + LegDiagramPreview: + elevationChart: Yükseklik tablosu diff --git a/packages/itinerary-body/i18n/vi.yml b/packages/itinerary-body/i18n/vi.yml index 6c77743be..5c8f07c0b 100644 --- a/packages/itinerary-body/i18n/vi.yml +++ b/packages/itinerary-body/i18n/vi.yml @@ -1,5 +1,9 @@ otpUi: AccessLegBody: + LegDiagramPreview: + elevationChart: Biểu đồ cao độ + noElevationData: Không có sẵn dữ liệu độ cao. + toggleElevationChart: Bật biểu đồ độ cao RentedVehicleSubheader: pickupRental: Nhận {vehicleType} {company} {vehicleName} resumeRentalRide: Tiếp tục sử dụng cho thuê @@ -10,29 +14,19 @@ otpUi: escooter: xe tay ga điện vehicle: xe walkVehicle: Đẩy phương tiện giao thông dọc theo {place} - summaryMode: - bikeshare: Xe đạp thuê - carDrive: Lái xe - walk: Đi bộ - carHail: Ngồi trên xe - escooter: Đi xe tay ga điện - bike: Xe đạp TncLeg: bookRide: Đặt trước một chuyến đi bookRideLater: Chờ cho đến {timeMillis, time, short} để đặt chỗ estimatedCost: "Chi phí ước tính: {minFare} - {maxFare}" - estimatedTravelTime: "Thời gian di chuyển ước tính: {duration} (không tính đến\ - \ giao thông)" + estimatedTravelTime: "Thời gian di chuyển ước tính: {duration} (không tính đến giao thông)" waitForPickup: "Chờ{minutes, plural, =0 {} other { # phút}} cho {company} đón" - LegDiagramPreview: - elevationChart: Biểu đồ cao độ - noElevationData: Không có sẵn dữ liệu độ cao. - toggleElevationChart: Bật biểu đồ độ cao mapillaryTooltip: Hiển thị hình ảnh đường phố tại vị trí này step: circleClockwise: Đi theo vòng tròn theo chiều kim đồng hồ circleCounterClockwise: Đi theo vòng tròn ngược chiều kim đồng hồ continue: Tiếp tục + enterStation: Nhập trạm + exitStation: Rời khỏi trạm hardLeft: Rẽ trái đột ngột hardRight: Rẽ phải đột ngột left: Rẽ trái @@ -42,6 +36,9 @@ otpUi: uTurnLeft: Quay mặt bên trái uTurnRight: Quay mặt bên phải stepDepart: Đi về hướng {heading} trên đường {street} + stepElevator: Đi thang máy đến {street} + stepFollowSigns: Đi theo biển hiệu đến {street} + stepGeneric: "{step} trên đường {street}" stepHeading: east: đông north: bắc @@ -51,8 +48,16 @@ otpUi: southeast: đông nam southwest: tây nam west: tây - stepGeneric: "{step} trên đường {street}" + stepStation: "{step} tại {street}" + summary: "{mode} đến {place}" summaryAndDistance: "{mode} {distance} đến {place}" + summaryMode: + bike: Xe đạp + bikeshare: Xe đạp thuê + carDrive: Lái xe + carHail: Ngồi trên xe + escooter: Đi xe tay ga điện + walk: Đi bộ unnamedPath: Con đường không tên unnamedRoad: Con đường không tên vehicleTitle: "{vehicleType} {company}" @@ -60,14 +65,11 @@ otpUi: bike: Xe đạp bikeshare: Xe đạp thuê car: Xe hơi - vehicle: Xe escooter: Xe tay ga điện - stepElevator: Đi thang máy đến {street} - summary: "{mode} đến {place}" + vehicle: Xe ItineraryBody: common: durationShort: "{hours, plural, =0 {} other {# giờ }}{minutes} phút" - viewOnMap: Xem trên bản đồ flexAdvanceNotice: " ít nhất trước {leadDays} ngày" flexCallAhead: gọi điện trước khi đi flexCallNumber: gọi {phoneNumber} @@ -79,25 +81,25 @@ otpUi: car: bằng xe hơi escooter: bằng xe tay ga điện tử walk: bằng cách đi bộ + viewOnMap: Xem trên bản đồ TransitLegBody: - agencyExternalLink: "{agencyName} (Liên kết bên ngoài)" AlertsBody: effectiveDate: Có hiệu lực kể từ {dateTime, date, long} effectiveTimeAndDate: Có hiệu lực kể từ {dateTime, time, short}, {day} today: Hôm nay tomorrow: Ngày mai yesterday: Hôm qua + agencyExternalLink: "{agencyName} (Liên kết bên ngoài)" alertsHeader: "{alertCount} cảnh báo" - arriveAt: "Đến {place}" + arriveAt: Đến {place} disembarkAt: Xuống xe ở {legDestination} expandDetails: (Mở rộng chi tiết) fare: "Giá vé: {fare}" - fromLocation: "Từ {location}" + fromLocation: Từ {location} legDetails: Chi tiết sân khấu operatedBy: Dịch vụ được điều hành bởi {agencyLink} ride: Đi đường - rideDurationAndStops: "Đi {duration}{numStops, plural, =1 {} other { / # điểm\ - \ dừng}}" + rideDurationAndStops: "Đi {duration}{numStops, plural, =1 {} other { / # điểm dừng}}" routeDescription: "{routeName} hướng {headsign}" stopId: Điểm dừng số {stopId} stopIdBasic: Điểm dừng số {stopId} diff --git a/packages/itinerary-body/i18n/zh_Hans.yml b/packages/itinerary-body/i18n/zh_Hans.yml index edaff6ca5..748d92a94 100644 --- a/packages/itinerary-body/i18n/zh_Hans.yml +++ b/packages/itinerary-body/i18n/zh_Hans.yml @@ -1,5 +1,9 @@ otpUi: AccessLegBody: + LegDiagramPreview: + elevationChart: 海拔图表 + noElevationData: 没有可用的海拔数据. + toggleElevationChart: 切换海拔图表 RentedVehicleSubheader: pickupRental: "{company} {vehicleType} {vehicleName} 捡起" resumeRentalRide: 继续使用租赁 @@ -10,89 +14,89 @@ otpUi: escooter: 电动滑板车 vehicle: 车辆 walkVehicle: 沿着 {place} 推车辆 + TncLeg: + bookRide: 预订乘车 + bookRideLater: 等到 {timeMillis, time, short} 进行预订 + estimatedCost: "估计费用: {minFare} - {maxFare}" + estimatedTravelTime: "估计的旅行时间: {duration} (不包括流量)" + waitForPickup: "等待 {minutes, plural, =0 {} other { # 分钟} } {company} 来接你" + mapillaryTooltip: 在这个位置显示街道图像 step: + circleClockwise: 顺时针跟随圆圈 + circleCounterClockwise: 逆时针跟随圆圈 continue: 继续 + enterStation: 输入车站 + exitStation: 退出车站 hardLeft: 硬左 + hardRight: 硬右 left: 左转 right: 右转 slightlyLeft: 稍稍左 slightlyRight: 稍向右 uTurnLeft: 左掉头 uTurnRight: 右掉头 - circleClockwise: 顺时针跟随圆圈 - circleCounterClockwise: 逆时针跟随圆圈 - hardRight: 硬右 stepDepart: 走{heading}在{street} + stepElevator: 乘坐电梯到 {street} + stepFollowSigns: 跟随指示牌 {street} + stepGeneric: "{street} 在 {step}" stepHeading: east: 向东 north: 向北 + northeast: 东北方向 northwest: 西北 south: 向南 + southeast: 东南 southwest: 西南 west: 向西 - northeast: 东北方向 - southeast: 东南 - stepElevator: 乘坐电梯到 {street} - stepGeneric: "{street} 在 {step}" + stepStation: "{step} 位于 {street}" + summary: "{place} 至 {mode}" summaryAndDistance: "{place} 至 {distance} {mode}" summaryMode: bike: 自行车 + bikeshare: 共享单车 + carDrive: 驾驶 carHail: 骑 escooter: 骑 - carDrive: 驾驶 walk: 步行 - bikeshare: 共享单车 unnamedPath: 未命名路径 unnamedRoad: 未命名路 + vehicleTitle: "{company} {vehicleType}" vehicleType: bike: 自行车 bikeshare: 自行车 - vehicle: 车辆 car: 汽车 escooter: 电动滑板车 - LegDiagramPreview: - elevationChart: 海拔图表 - noElevationData: 没有可用的海拔数据. - toggleElevationChart: 切换海拔图表 - mapillaryTooltip: 在这个位置显示街道图像 - TncLeg: - bookRide: 预订乘车 - bookRideLater: 等到 {timeMillis, time, short} 进行预订 - estimatedCost: "估计费用: {minFare} - {maxFare}" - estimatedTravelTime: "估计的旅行时间: {duration} (不包括流量)" - waitForPickup: "等待 {minutes, plural, =0 {} other { # 分钟} } {company} 来接你" - summary: "{place} 至 {mode}" - vehicleTitle: "{company} {vehicleType}" + vehicle: 车辆 ItineraryBody: + common: + durationShort: "{hours, plural, =0 {} other {# 시간 }}{minutes} 分钟" flexAdvanceNotice: " 至少提前 {leadDays} 天" flexCallAhead: 提前打电话 flexCallNumber: 拨打 {phoneNumber} - flexPickupMessage: 要走这条路,你必须{action} + flexPickupMessage: 要走这条路,你必须{action}{advanceNotice} + stayOnBoard: 留在 {place} 的巴士上 travelBy: "{mode} 旅行" - viewOnMap: 在地图上查看 travelByMode: bike: 骑自行车 car: 乘车 escooter: 乘坐电动滑板车 walk: 步行出 - common: - durationShort: "{hours, plural, =0 {} other {# 시간 }}{minutes} 分钟" - stayOnBoard: 留在 {place} 的巴士上 + viewOnMap: 在地图上查看 TransitLegBody: - agencyExternalLink: "{agencyName} (外部链接)" AlertsBody: effectiveDate: 从 {dateTime, date, long} 起生效 effectiveTimeAndDate: 从 {dateTime, time, short}, {day} 起生效 today: 今天 tomorrow: 明天 yesterday: 昨天 + agencyExternalLink: "{agencyName} (外部链接)" alertsHeader: "{alertCount} 个警报" arriveAt: 到达 disembarkAt: "{legDestination} 下车" expandDetails: (展开详情) fare: "票价: {fare}" - fromLocation: "从 {location}" - legDetails: 腿的细节 + fromLocation: 从 {location} + legDetails: 腿部情况 operatedBy: 服务运营商 {agencyLink} ride: 乘坐 rideDurationAndStops: "乘坐 {duration}{numStops, plural, =1 {} other { / # 站}}" diff --git a/packages/itinerary-body/package.json b/packages/itinerary-body/package.json index cc957220a..809860dfd 100644 --- a/packages/itinerary-body/package.json +++ b/packages/itinerary-body/package.json @@ -1,6 +1,6 @@ { "name": "@opentripplanner/itinerary-body", - "version": "5.1.2", + "version": "5.1.5", "description": "A component for displaying an itinerary body of a trip planning result", "main": "lib/index.js", "module": "esm/index.js", diff --git a/packages/itinerary-body/src/AccessLegBody/index.tsx b/packages/itinerary-body/src/AccessLegBody/index.tsx index 5ab1c8e31..4f9a3e51b 100644 --- a/packages/itinerary-body/src/AccessLegBody/index.tsx +++ b/packages/itinerary-body/src/AccessLegBody/index.tsx @@ -138,7 +138,9 @@ class AccessLegBody extends Component { onClick={this.onStepsHeaderClick} > - {leg.steps && } + {leg.steps && leg.steps.length > 0 && ( + + )} { + const intl = useIntl(); // Provide default mapping const mapping = gradationMap || { - 0.0: { color: "#ffe4e5", text: "❌" }, + 0.0: { + color: "#ffe4e5", + icon: "❌", + text: intl.formatMessage({ + id: `otpUi.ItineraryBody.tripAccessibility.inaccessible` + }) + }, 0.5: { color: "#dbe9ff", - text: "?" + icon: "?", + text: intl.formatMessage({ + id: `otpUi.ItineraryBody.tripAccessibility.unclear` + }) }, - 0.9: { color: "#bfffb5", text: "✅" } + 0.9: { + color: "#bfffb5", + icon: "✅", + text: intl.formatMessage({ + id: `otpUi.ItineraryBody.tripAccessibility.likelyAccessible` + }) + } }; // Find the highest (including equality) key for our score. @@ -75,15 +95,28 @@ const AccessibilityRating = ({ // External configuration may report "0.0" as 0, so include fallback const mapped = mapping[mappedKey] || mapping[0.0]; + const accessibilityPreface = intl.formatMessage({ + id: `otpUi.ItineraryBody.tripAccessibility.${ + isLeg ? "legAccessibility" : "itineraryAccessibility" + }` + }); + + const accessibilityScore = mapped.text; + + const accessibilityLabel = accessibilityPreface + accessibilityScore; + return ( + + {accessibilityLabel} + - + {/* Show either icon or text if no icon given */} {mapped.icon || {mapped.text}} diff --git a/packages/itinerary-body/src/ItineraryBody/place-row.tsx b/packages/itinerary-body/src/ItineraryBody/place-row.tsx index 73d6168b0..c1f354590 100755 --- a/packages/itinerary-body/src/ItineraryBody/place-row.tsx +++ b/packages/itinerary-body/src/ItineraryBody/place-row.tsx @@ -103,8 +103,10 @@ export default function PlaceRow({ {/* Custom rendering of the departure/arrival time of the specified leg. */} {!isDestination && leg.accessibilityScore && ( + // TODO: Reorder markup so accessibility info doesn't fall between time and destination. )} diff --git a/packages/itinerary-body/src/TransitLegBody/index.tsx b/packages/itinerary-body/src/TransitLegBody/index.tsx index f162656fd..0c5e19890 100644 --- a/packages/itinerary-body/src/TransitLegBody/index.tsx +++ b/packages/itinerary-body/src/TransitLegBody/index.tsx @@ -300,7 +300,9 @@ class TransitLegBody extends Component { alertCount: alerts.length }} /> - + {!shouldOnlyShowAlertsExpanded && ( + + )} )} diff --git a/packages/location-field/i18n/ko.yml b/packages/location-field/i18n/ko.yml index c6ffec1cc..7fcafad58 100644 --- a/packages/location-field/i18n/ko.yml +++ b/packages/location-field/i18n/ko.yml @@ -1,5 +1,6 @@ otpUi: LocationField: + beginTypingPrompt: 위치 검색 입력 시작 clearLocation: 위치 지우기 currentLocationUnavailable: 현재 위치를 사용할 수 없습니다 fetchingLocation: 위치를 가져오는 중… @@ -11,7 +12,7 @@ otpUi: nearby: 근처 정류장 noResults: 검색된 결과가 없 other: 기타 - otherCount: "{count}관심 지점" + otherCount: "{count} 다른 위치 관심" parenthesisFormat: "{main}({detail})" recentlySearched: 최근 검색 내역 resultsFound: "\"{input}\" 에 대해 {results} 습니다." @@ -23,4 +24,3 @@ otpUi: suggestedLocationsLong: 추천 위치 목록 표시 전환 useCurrentLocation: 현재 위치 사용 workLocation: 직장 - beginTypingPrompt: 위치 검색 입력 시작 diff --git a/packages/location-field/i18n/ru.yml b/packages/location-field/i18n/ru.yml index 68814d2c0..cb7d7e777 100644 --- a/packages/location-field/i18n/ru.yml +++ b/packages/location-field/i18n/ru.yml @@ -1,20 +1,30 @@ otpUi: LocationField: - myPlaces: Мои места - stops: Остановки beginTypingPrompt: Начните вводить название, чтобы выполнить поиск местоположений - other: Другое - recentlySearched: Недавние поисковые запросы - nearby: Остановки поблизости - homeLocation: Дом - workLocation: Работа - stations: Станции clearLocation: Очистить местоположение - useCurrentLocation: Использовать текущее местоположение - noResults: Нет результатов - stationCount: '{count, plural, =1 {# станция} other {# cтанции}}' - stopCount: '{count, plural, =1 {# остановка} other {# oстановки}}' currentLocationUnavailable: Текущее местоположение недоступно fetchingLocation: Получение местоположения… - parenthesisFormat: '{main} ({detail})' + fetchingSuggestions: Получение предложений… geocoderUnreachable: Не удалось связаться с геокодером + homeLocation: Дом + howToAccessResults: >- + Используйте клавишу со стрелкой вниз для просмотра списка результатов. Для + выбора результата используйте клавишу «Вход». + myPlaces: Мои места + nearby: Остановки поблизости + noResults: Нет результатов + other: Другое + otherCount: >- + {count, plural, =1 {# другой интересный момент} other {# другие интересные + моменты}} + parenthesisFormat: "{main} ({detail})" + recentlySearched: Недавние поисковые запросы + resultsFound: "{results} найдено для \"{input}\"." + stationCount: "{count, plural, =1 {# станция} other {# станции}}" + stations: Станции + stopCount: "{count, plural, =1 {# остановка} other {# остановки}}" + stops: Остановки + suggestedLocations: Рекомендуемые места + suggestedLocationsLong: Переключить отображение списка предлагаемых мест + useCurrentLocation: Использовать текущее местоположение + workLocation: Работа diff --git a/packages/location-field/i18n/tl.yml b/packages/location-field/i18n/tl.yml index 4e830bbe3..e3c4ea35f 100644 --- a/packages/location-field/i18n/tl.yml +++ b/packages/location-field/i18n/tl.yml @@ -1,19 +1,30 @@ otpUi: LocationField: - myPlaces: Aking Mga Lugar - stops: Mga Hintuan beginTypingPrompt: Simulang mag-type para maghanap ng mga lokasyon - other: Iba pa - recentlySearched: Kamakailang Hinanap - nearby: Mga Hintuan sa Malapit - homeLocation: Tirahan - workLocation: Trabaho - stations: Mga Istasyon clearLocation: I-clear ang lokasyon - useCurrentLocation: Gamitin ang Kasalukuyang Lokasyon - noResults: Walang nakitang resulta - stationCount: '{count} mga istasyon' currentLocationUnavailable: Hindi available ang kasalukuyang lokasyon fetchingLocation: Fine-fetch ang lokasyon… - parenthesisFormat: '{main} ({detail})' + fetchingSuggestions: Kumukuha ng mga mungkahi… geocoderUnreachable: Hind maabot ang geocoder + homeLocation: Tirahan + howToAccessResults: >- + Gamitin ang key na pababang arrow para mag-browse sa listahan ng mga + resulta. Para pumili ng resulta, gamitin ang Enter key. + myPlaces: Aking Mga Lugar + nearby: Mga Hintuan sa Malapit + noResults: Walang nakitang resulta + other: Iba pa + otherCount: >- + {count, plural, =1 {# iba pang punto} other {# iba pang mga punto}} ng + interes + parenthesisFormat: "{main} ({detail})" + recentlySearched: Kamakailang Hinanap + resultsFound: "{results} natagpuan para sa \"{input}\"." + stationCount: "{count, plural, =1 {# istasyon} other {# mga istasyon}}" + stations: Mga Istasyon + stopCount: "{count, plural, =1 {# hintuan} other {# mga hintuan}}" + stops: Mga Hintuan + suggestedLocations: Mga iminungkahing lokasyon + suggestedLocationsLong: I-toggle ang pagpapakita ng listahan ng mga iminumungkahing lokasyon + useCurrentLocation: Gamitin ang Kasalukuyang Lokasyon + workLocation: Trabaho diff --git a/packages/location-field/i18n/tr.yml b/packages/location-field/i18n/tr.yml index 0967ef424..d8683fb45 100644 --- a/packages/location-field/i18n/tr.yml +++ b/packages/location-field/i18n/tr.yml @@ -1 +1,28 @@ -{} +otpUi: + LocationField: + beginTypingPrompt: Konumları aramak için yazmaya başlayın + clearLocation: Konumu temizle + currentLocationUnavailable: Geçerli konum mevcut değil + fetchingLocation: Konum getiriliyor… + fetchingSuggestions: Öneriler getiriliyor… + geocoderUnreachable: Öneriler alınamıyor + homeLocation: Ev + howToAccessResults: >- + Sonuçlar listesine göz atmak için aşağı ok tuşunu kullanın. Bir sonucu + seçmek için Enter tuşunu kullanın. + myPlaces: Yerlerim + nearby: Yakındaki Duraklar + noResults: Sonuç yok + other: Diğer + otherCount: "{count, plural, =1 {# other point} diğer {# other points}} ilgi" + parenthesisFormat: "{main} ({detail})" + recentlySearched: Son Arananlar + resultsFound: "\"{input}\" için bulunan {results}." + stationCount: "{count, plural, =1 {# station} diğer {# stations}}" + stations: İstasyonlar + stopCount: "{count, plural, =1 {# stop} diğer {# stops}}" + stops: Duraklar + suggestedLocations: Önerilen konumlar + suggestedLocationsLong: Önerilen konumların listesini görüntülemeyi açın/kapatın + useCurrentLocation: Mevcut Konumu Kullan + workLocation: İş diff --git a/packages/location-field/i18n/vi.yml b/packages/location-field/i18n/vi.yml index 6cb08a468..6bec7dc93 100644 --- a/packages/location-field/i18n/vi.yml +++ b/packages/location-field/i18n/vi.yml @@ -14,13 +14,13 @@ otpUi: nearby: Điểm dừng liền kề noResults: Không có kết quả other: Khác - otherCount: "{count} điểm ưa thích" + otherCount: "{count} địa điểm quan tâm khác" parenthesisFormat: "{main} ({detail})" recentlySearched: Gần đây đã tìm kiếm resultsFound: "{results} tìm cho \"{input}\"." - stationCount: "{count} ga" + stationCount: "{count} trạm" stations: Ga - stopCount: "{count} điểm dừng" + stopCount: "{count} trạm dừng" stops: Điểm dừng suggestedLocations: Địa điểm được đề xuất suggestedLocationsLong: Bật tắt hiển thị danh sách địa điểm gợi ý diff --git a/packages/location-field/i18n/zh_Hans.yml b/packages/location-field/i18n/zh_Hans.yml index ef176b6de..efffb942b 100644 --- a/packages/location-field/i18n/zh_Hans.yml +++ b/packages/location-field/i18n/zh_Hans.yml @@ -12,13 +12,13 @@ otpUi: nearby: 附近的车站 noResults: 未找到结果 other: 其他 - otherCount: "{count}兴趣点" + otherCount: "{count}个其他兴趣点" parenthesisFormat: "{main}({detail})" recentlySearched: 最近搜索到的 - resultsFound: 为 "{input}" 找到 找到 {results} - stationCount: "{count}站台" + resultsFound: 为 "{input}" 找到 {results}。 + stationCount: "{count}个站台" stations: 站台 - stopCount: "{count}车站" + stopCount: "{count}个车站" stops: 车站 suggestedLocations: 建议地点 suggestedLocationsLong: 切换显示建议位置列表 diff --git a/packages/location-field/package.json b/packages/location-field/package.json index 5157d0ec4..48b1442ca 100644 --- a/packages/location-field/package.json +++ b/packages/location-field/package.json @@ -1,6 +1,6 @@ { "name": "@opentripplanner/location-field", - "version": "2.0.12", + "version": "2.0.13", "description": "A component for display and finding a location", "main": "lib/index.js", "module": "esm/index.js", diff --git a/packages/map-popup/i18n/tr.yml b/packages/map-popup/i18n/tr.yml index 0967ef424..193aa262f 100644 --- a/packages/map-popup/i18n/tr.yml +++ b/packages/map-popup/i18n/tr.yml @@ -1 +1,9 @@ -{} +otpUi: + MapPopup: + availableBikes: "Mevcut bisiklet: {value}" + availableDocks: "Mevcut rıhtım: {value}" + floatingBike: "Serbest gezen bisiklet: {name}" + floatingCar: "{company} {name}" + floatingEScooter: "E-skuter: {name}" + stopId: "Durak ID: {stopId}" + stopViewer: Durak Gösterici diff --git a/packages/map-popup/package.json b/packages/map-popup/package.json index 843a0daa9..e721b1de3 100644 --- a/packages/map-popup/package.json +++ b/packages/map-popup/package.json @@ -1,6 +1,6 @@ { "name": "@opentripplanner/map-popup", - "version": "2.0.7", + "version": "2.0.8", "description": "A component for displaying map popup contents", "main": "lib/index.js", "module": "esm/index.js", diff --git a/packages/printable-itinerary/i18n/ru.yml b/packages/printable-itinerary/i18n/ru.yml index 64cb47407..2f67cda2d 100644 --- a/packages/printable-itinerary/i18n/ru.yml +++ b/packages/printable-itinerary/i18n/ru.yml @@ -1,13 +1,19 @@ otpUi: PrintableItinerary: TncLeg: - estimatedWaitTime: 'Предполагаемое время до посадки: {duration}' - estimatedTravelTime: 'Предполагаемое время поездки: {duration} - (без учета дорожного движения)' - header: Воспользуйтесь услугами компании {company}, чтобы добраться - к месту {place} + estimatedTravelTime: >- + Предполагаемое время поездки: {duration} (без учета + дорожного движения) + estimatedWaitTime: "Предполагаемое время до посадки: {duration}" + header: >- + Воспользуйтесь услугами компании {company}, чтобы + добраться к месту {place} TransitLeg: - continuesAs: 'Продолжение: {routeDescription}' - alight: Выходите в месте {place} ({stopId}) в {time, + alight: >- + Выходите в месте {place} ({stopId}) в {time, time, short} + board: >- + Садитесь в транспорт в месте {place} ({stopId}) в + {time, time, short} + continuesAs: "Продолжение: {routeDescription}" depart: Отправление с места {place} diff --git a/packages/printable-itinerary/i18n/tl.yml b/packages/printable-itinerary/i18n/tl.yml index 3299e8eb9..85944b0f5 100644 --- a/packages/printable-itinerary/i18n/tl.yml +++ b/packages/printable-itinerary/i18n/tl.yml @@ -1,12 +1,21 @@ otpUi: PrintableItinerary: TncLeg: - estimatedWaitTime: 'Tinatayang tagal ng paghihintay para sa pag-pick up: {duration}' - estimatedTravelTime: 'Tinatayang tagal ng biyahe: {duration} - (hindi isinasaalang-alang ang trapiko)' - header: Gamitin ang {company} papuntang {place} + estimatedTravelTime: >- + Tinatayang tagal ng biyahe: {duration} (hindi + isinasaalang-alang ang trapiko) + estimatedWaitTime: >- + Tinatayang tagal ng paghihintay para sa pag-pick up: + {duration} + header: >- + Gamitin ang {company} papuntang + {place} TransitLeg: - continuesAs: Magpapatuloy bilang {routeDescription} - alight: Bumaba sa {place} ({stopId}) nang {time, time, + alight: >- + Bumaba sa {place} ({stopId}) nang {time, time, + short} + board: >- + Sumakay sa {place} ({stopId}) nang {time, time, short} + continuesAs: Magpapatuloy bilang {routeDescription} depart: Aalis sa {place} diff --git a/packages/printable-itinerary/i18n/tr.yml b/packages/printable-itinerary/i18n/tr.yml index 0967ef424..17ba300e2 100644 --- a/packages/printable-itinerary/i18n/tr.yml +++ b/packages/printable-itinerary/i18n/tr.yml @@ -1 +1,9 @@ -{} +otpUi: + PrintableItinerary: + TncLeg: + estimatedTravelTime: >- + Tahmini seyahat süresi: {duration} (trafiği hesaba + katmaz) + estimatedWaitTime: "Teslim alma için tahmini bekleme süresi: {duration}" + TransitLeg: + continuesAs: "{routeDescription} olarak devam et" diff --git a/packages/printable-itinerary/package.json b/packages/printable-itinerary/package.json index f0e74af23..6145e990d 100644 --- a/packages/printable-itinerary/package.json +++ b/packages/printable-itinerary/package.json @@ -1,6 +1,6 @@ { "name": "@opentripplanner/printable-itinerary", - "version": "2.0.15", + "version": "2.0.16", "description": "A component for displaying a printable itinerary body of a trip planning result", "main": "lib/index.js", "module": "esm/index.js", diff --git a/packages/transit-vehicle-overlay/i18n/ko.yml b/packages/transit-vehicle-overlay/i18n/ko.yml index 1b8f1c497..aec500b51 100644 --- a/packages/transit-vehicle-overlay/i18n/ko.yml +++ b/packages/transit-vehicle-overlay/i18n/ko.yml @@ -1,8 +1,9 @@ otpUi: TransitVehicleOverlay: defaultTooltip: "{route}: {duration} 전" - durationWithSeconds: "{hours, plural, =0 {} other {# 시간 }}{minutes, plural, =0\ - \ {{seconds, plural, =0 {# 분} other {}}} other {# 분}}{seconds, plural, =0 {}\ - \ other { # 초}}" + durationWithSeconds: >- + {hours, plural, =0 {} other {# 시간 }}{minutes, plural, =0 {{seconds, + plural, =0 {# 분} other {}}} other {# 분}}{seconds, plural, =0 {} other { # + 초}} + routeTitle: "{type} {name}" transitLine: 선 - routeTitle: '{type} {name}' diff --git a/packages/transit-vehicle-overlay/i18n/tr.yml b/packages/transit-vehicle-overlay/i18n/tr.yml index 0967ef424..da38bdf09 100644 --- a/packages/transit-vehicle-overlay/i18n/tr.yml +++ b/packages/transit-vehicle-overlay/i18n/tr.yml @@ -1 +1,9 @@ -{} +otpUi: + TransitVehicleOverlay: + defaultTooltip: "{route}: {duration} önce" + durationWithSeconds: >- + {hours, plural, =0 {} other {# hr }}{minutes, plural, =0 {{seconds, + plural, =0 {# min} other {}}} other {# min}}{seconds, plural, =0 {} other + { # sec}} + routeTitle: "{type} {name}" + transitLine: Hat diff --git a/packages/transit-vehicle-overlay/i18n/zh_Hans.yml b/packages/transit-vehicle-overlay/i18n/zh_Hans.yml index 68464e1f4..7cfaa22fd 100644 --- a/packages/transit-vehicle-overlay/i18n/zh_Hans.yml +++ b/packages/transit-vehicle-overlay/i18n/zh_Hans.yml @@ -1,9 +1,8 @@ otpUi: TransitVehicleOverlay: defaultTooltip: "{route}: {duration}前" - durationWithSeconds: - "{hours, plural, =0 {} other {#小时 }}{minutes, plural, =0 - {{seconds, plural, =0 {#分钟} other {}}} other {#分钟}}{seconds, plural, =0 {} other - { #秒}}" + durationWithSeconds: >- + {hours, plural, =0 {} other {#小时 }}{minutes, plural, =0 {{seconds, plural, + =0 {#分钟} other {}}} other {#分钟}}{seconds, plural, =0 {} other { #秒}} routeTitle: "{type} {name}" transitLine: 路线 diff --git a/packages/transit-vehicle-overlay/package.json b/packages/transit-vehicle-overlay/package.json index d61feb8d9..7cdea36b4 100644 --- a/packages/transit-vehicle-overlay/package.json +++ b/packages/transit-vehicle-overlay/package.json @@ -1,6 +1,6 @@ { "name": "@opentripplanner/transit-vehicle-overlay", - "version": "4.0.7", + "version": "4.0.8", "description": "Realtime Transit Vehicles Component", "author": "Frank Purcell", "homepage": "https://github.com/opentripplanner/otp-ui/tree/master/packages/transit-vehicle-overlay/#readme", diff --git a/packages/trip-details/i18n/ko.yml b/packages/trip-details/i18n/ko.yml index a4306c4ca..122d29cdb 100644 --- a/packages/trip-details/i18n/ko.yml +++ b/packages/trip-details/i18n/ko.yml @@ -15,11 +15,14 @@ otpUi: {departureDate, time, short}{departureDate, date, long} 출발 hideDetail: 세부정보 숨기기 + minutesActive: "소요 시간 사용 중: {minutes} 분" showDetail: 세부정보 표시 + timeActiveDescription: > + 이 이동편을 이용하면, 도보로 {walkMinutes} 분 및 자전거로 + {bikeMinutes} 분 소요됩니다. title: 트립 상세정보 tncFare: "{companies} 운임: {minTNCFare} - {maxTNCFare}" transferDiscountExplanation: 환승 할인 {transferAmount} 적용 transitFare: 대중 교통 운임 transitFareEntry: "{name} : {value}" tripIncludesFlex: 이 트립에는 가변 경로가 포함되어 있습니다. {extraMessage} - minutesActive: '활동 시간: {minutes} 분' diff --git a/packages/trip-details/i18n/ru.yml b/packages/trip-details/i18n/ru.yml index 3eacede20..9c4bf0df9 100644 --- a/packages/trip-details/i18n/ru.yml +++ b/packages/trip-details/i18n/ru.yml @@ -1,21 +1,33 @@ otpUi: TripDetails: - transitFareEntry: '{name}: {value}' - tncFare: 'Стоимость проезда в компаниях {companies}: {minTNCFare} — {maxTNCFare}' - departure: 'Прибытие: {departureDate, date, long} в {departureDate, - time, short}' FareTable: - senior: Пожилые - youth: Детский + cash: Наличные electronic: Электронный - special: Особые regular: Взрослые - cash: Наличные + senior: Пожилые + special: Особые + youth: Детский + co2: "Выбросы CO₂: {co2}" + co2description: >- + Интенсивность выбросов CO₂ рассчитывается умножением расстояния каждого + этапа поездки на интенсивность выбросов CO₂ для каждого вида транспорта. + Данные об интенсивности выбросов CO₂ для каждого вида транспорта взяты из + этой таблицы. + departure: >- + Прибытие: {departureDate, date, long} в + {departureDate, time, short} + hideDetail: Скрыть детали + minutesActive: >- + Время в активном режиме: {minutes, plural, one {# минуту} other {# + минуты}} + showDetail: Показать детали + timeActiveDescription: > + Проделав этот маршрут, вы потратите {walkMinutes, plural, one {# + минуту} other {# минуты}} на ходьбу и{bikeMinutes, + plural, one {# минуту} other {# минуты}} на езду на велосипеде. title: Подробные сведения о поездке + tncFare: "Стоимость проезда в компаниях {companies}: {minTNCFare}\_— {maxTNCFare}" + transferDiscountExplanation: Применяется скидка на пересадку в размере {transferAmount} transitFare: Стоимость проезда в общественном транспорте - co2description: Интенсивность выбросов CO₂ рассчитывается умножением расстояния - каждого этапа поездки на интенсивность выбросов CO₂ для каждого вида транспорта. - Данные об интенсивности выбросов CO₂ для каждого вида транспорта взяты из этой - таблицы. + transitFareEntry: "{name}: {value}" tripIncludesFlex: Эта поездка включает гибкие маршруты. {extraMessage} - co2: 'Выбросы CO₂: {co2}' diff --git a/packages/trip-details/i18n/tl.yml b/packages/trip-details/i18n/tl.yml index d1fef723f..455fcb178 100644 --- a/packages/trip-details/i18n/tl.yml +++ b/packages/trip-details/i18n/tl.yml @@ -1,20 +1,31 @@ otpUi: TripDetails: - transitFareEntry: '{name}: {value}' - tncFare: '{companies} Fare: {minTNCFare} - {maxTNCFare}' - departure: Aalis {departureDate, date, long} nang {departureDate, - time, short} FareTable: - senior: Nakatatanda - youth: Kabataan + cash: Cash electronic: Electronic - special: Espesyal regular: Nasa Hustong Gulang - cash: Cash + senior: Nakatatanda + special: Espesyal + youth: Kabataan + co2: "Na-emit na CO₂: {co2}" + co2description: >- + Kinakalkula ang intensity ng CO₂ sa pamamagitan ng pag-multiply sa + distansya ng bawat leg ng biyahe sa intensity ng CO₂ ng bawat mode. Ang + intensity ng CO₂ ng bawat mode ay nagmumula sa spreadsheet na + ito. + departure: >- + Aalis {departureDate, date, long} nang + {departureDate, time, short} + hideDetail: Itago ang mga detalye + minutesActive: "Oras na Ginugol sa pagiging Aktibo: {minutes} minuto" + showDetail: Ipakita ang mga detalye + timeActiveDescription: > + Sa pagbiyahe nang ganitong paraan, gugugol ka ng {walkMinutes} + (na) minuto sa paglalakad at {bikeMinutes} (na) + minuto sa pagbibisikleta. title: Mga Detalye ng Biyahe + tncFare: "{companies} Pamasahe: {minTNCFare} - {maxTNCFare}" + transferDiscountExplanation: Inilapat ang diskwento sa paglipat na {transferAmount} transitFare: Pamasahe sa Pampublikong Transportasyon - co2description: Kinakalkula ang intensity ng CO₂ sa pamamagitan ng pag-multiply - sa distansya ng bawat leg ng biyahe sa intensity ng CO₂ ng bawat mode. Ang intensity - ng CO₂ ng bawat mode ay nagmumula sa spreadsheet na ito. + transitFareEntry: "{name}: {value}" tripIncludesFlex: May mga flexible na ruta ang biyaheng ito. {extraMessage} - co2: 'Na-emit na CO₂: {co2}' diff --git a/packages/trip-details/i18n/tr.yml b/packages/trip-details/i18n/tr.yml index 0967ef424..23d4996e5 100644 --- a/packages/trip-details/i18n/tr.yml +++ b/packages/trip-details/i18n/tr.yml @@ -1 +1,20 @@ -{} +otpUi: + TripDetails: + FareTable: + cash: Nakit + electronic: Elektronik + regular: Yetişkin + senior: Kıdemli + special: Özel + youth: Gençlik + co2: "CO₂ Yayılımı: {co2}" + co2description: >- + CO2 yoğunluğu, her modun CO2 yoğunluğu ile bir gezinin her bacağının + mesafesini çarparak hesaplanır. Her modun CO2 yoğunluğu bu + tablodan elde edilir. + departure: >- + Kalkış {departureDate, date, long} + {departureDate, time, short} + hideDetail: Detayları gizle + showDetail: Detayları göster + title: Yolculuk detayları diff --git a/packages/trip-details/i18n/vi.yml b/packages/trip-details/i18n/vi.yml index 49ddc9a4d..96fff1c9b 100644 --- a/packages/trip-details/i18n/vi.yml +++ b/packages/trip-details/i18n/vi.yml @@ -16,11 +16,15 @@ otpUi: Khởi hành {departureDate, date, long} lúc {departureDate, time, short} hideDetail: Ẩn chi tiết + minutesActive: "Thời gian hoạt động: {minutes} phút" showDetail: Hiển thị chi tiết + timeActiveDescription: > + Nếu thực hiện chuyến đi này, quý vị sẽ dành {walkMinutes} + phút để đi bộ và {bikeMinutes} phút để đi xe + đạp. title: Chi tiết chuyến đi tncFare: "{companies} Giá vé: {minTNCFare} - {maxTNCFare}" transferDiscountExplanation: Giảm giá chuyển khoản {transferAmount} được áp dụng transitFare: Giá vé xe công cộng transitFareEntry: "{name}: {value}" tripIncludesFlex: Chuyến đi này bao gồm các tuyến đường linh hoạt. {extraMessage} - minutesActive: 'Thời gian hoạt động: {minutes} phút' diff --git a/packages/trip-details/i18n/zh_Hans.yml b/packages/trip-details/i18n/zh_Hans.yml index 9bab6b023..e90006efb 100644 --- a/packages/trip-details/i18n/zh_Hans.yml +++ b/packages/trip-details/i18n/zh_Hans.yml @@ -13,11 +13,14 @@ otpUi: {departureDate, date, long} {departureDate, time, short} 出发 hideDetail: 隐藏细节 + minutesActive: "活动时间: {minutes} 分钟" showDetail: 显示详细资料 + timeActiveDescription: > + 在本次行程中,您将步行 {walkMinutes} 分钟,骑行{bikeMinutes} + 分钟。 title: 行程详情 tncFare: "{companies} 票价: {minTNCFare} - {maxTNCFare}" transferDiscountExplanation: 应用了 {transferAmount} 的转让折扣 transitFare: 公共交通费 transitFareEntry: "{name}: {value}" tripIncludesFlex: 这个行程包括灵活的路线. {extraMessage} - minutesActive: '活动时间: {minutes} 分钟' diff --git a/packages/trip-details/package.json b/packages/trip-details/package.json index 9a863582f..e70ed0b22 100644 --- a/packages/trip-details/package.json +++ b/packages/trip-details/package.json @@ -1,6 +1,6 @@ { "name": "@opentripplanner/trip-details", - "version": "5.0.6", + "version": "5.0.7", "description": "A component for displaying details about a trip planning itinerary", "main": "lib/index.js", "module": "esm/index.js", diff --git a/packages/trip-form/i18n/ko.yml b/packages/trip-form/i18n/ko.yml index 4fe9f6566..0cb099de2 100644 --- a/packages/trip-form/i18n/ko.yml +++ b/packages/trip-form/i18n/ko.yml @@ -25,6 +25,7 @@ otpUi: rail-label: 기차 subway-label: 지하철 tram-label: 시가 전차 + walkReluctance-label: 도보를 피하세요 walkTolerance-label: 걷기 내성 walkTolerance-labelHigh: 더 많이 걷기 walkTolerance-labelLow: 덜 걷기 diff --git a/packages/trip-form/i18n/ru.yml b/packages/trip-form/i18n/ru.yml index c96357fad..8267419e0 100644 --- a/packages/trip-form/i18n/ru.yml +++ b/packages/trip-form/i18n/ru.yml @@ -1,47 +1,65 @@ otpUi: - queryParameters: - maxEScooterDistance: Максимальная дальность поездки на электросамокате - wheelchair: Предпочитать маршруты с возможностью передвижения на инвалидной коляске - maxWalkTime: Максимальное время прогулки - optimizeBikeSpeed: Скорость - maxWalkDistance: Максимальная дальность прогулки - watts: Мощность электросамоката - walkSpeed: Скорость ходьбы - watts1500powerfulEscooter: Мощный электросамокат (24 мили в час) - walkReluctanceLow: Больше этапов пешком - maxBikeTime: Максимальное время езды на велосипеде - optimizeBikeFlat: Поездка на велосипеде по ровной местности - watts125kidsHoverboard: Детский ховерборд (6 миль в час) - watts500robustEscooter: Электросамокат среднего уровня (18 миль в час) - optimizeFor: Оптимизировать для - maxBikeDistance: Максимальная дальность езды на велосипеде - optimizeBikeFriendly: Поездка на велосипеде - walkReluctanceHigh: Больше общественного транспорта - walkReluctance: Без этапов прогулки пешком - watts250entryLevelEscooter: Самокат начального уровня (11 миль в час) - speedInMilesPerHour: '{mph} миль/ч' - bikeSpeed: Скорость велосипеда - distanceInMiles: "{miles, number, :: unit/mile unit-width-full-name}\n" DateTimeSelector: - depart: Отправление в arrive: Прибытие к + date: Дата + dateTimeSelector: Выбор даты/времени + depart: Отправление в now: Выйти + time: Время ModeSelector: - settings: - ferry-label: Паром - bus-label: Автобус - rail-label: Рельсовый транспорт labels: bicycle: Велосипед - walk: Пешком car: Поездка в транспортном средстве - transit: Общественный транспорт rent: Прокат + transit: Общественный транспорт + walk: Пешком + settings: + bikeTolerance-label: Выносливость для езды на велосипеде + bikeTolerance-labelHigh: Больше на велосипеде + bikeTolerance-labelLow: Меньше на велосипеде + bus-label: Автобус + carTolerance-label: Выносливость для езды + carTolerance-labelHigh: Больше на машине + carTolerance-labelLow: Меньше на машине + ferry-label: Паром + rail-label: Рельсовый транспорт + subway-label: Метро + tram-label: Трамвай + walkReluctance-label: Избегать ходьбы пешком + walkTolerance-label: Выносливость для ходьбы пешком + walkTolerance-labelHigh: Больше ходьбы пешком + walkTolerance-labelLow: Меньше ходьбы пешком + wheelchair-label: Доступная маршрутизация + settingsLabel: "{mode} настройки" SettingsSelectorPanel: - use: Воспользоваться - useCompanies: Воспользоваться услугами компаний bikeOnly: Только велосипед + escooterOnly: Только электросамокат takeTransit: Воспользуйтесь общественным транспортом travelPreferences: Параметры поездок + use: Воспользоваться + useCompanies: Воспользоваться услугами компаний walkOnly: Только пешком - escooterOnly: Только электросамокат + queryParameters: + bikeSpeed: Скорость велосипеда + distanceInMiles: | + {miles, number, :: unit/mile unit-width-full-name} + maxBikeDistance: Максимальная дальность езды на велосипеде + maxBikeTime: Максимальное время езды на велосипеде + maxEScooterDistance: Максимальная дальность поездки на электросамокате + maxWalkDistance: Максимальная дальность прогулки + maxWalkTime: Максимальное время прогулки + optimizeBikeFlat: Поездка на велосипеде по ровной местности + optimizeBikeFriendly: Поездка на велосипеде + optimizeBikeSpeed: Скорость + optimizeFor: Оптимизировать для + speedInMilesPerHour: "{mph} миль/ч" + walkReluctance: Без этапов прогулки пешком + walkReluctanceHigh: Больше общественного транспорта + walkReluctanceLow: Больше этапов пешком + walkSpeed: Скорость ходьбы + watts: Мощность электросамоката + watts125kidsHoverboard: "Детский ховерборд (6\_миль в час)" + watts1500powerfulEscooter: "Мощный электросамокат (24\_мили в час)" + watts250entryLevelEscooter: "Самокат начального уровня (11\_миль в час)" + watts500robustEscooter: "Электросамокат среднего уровня (18\_миль в час)" + wheelchair: Предпочитать маршруты с возможностью передвижения на инвалидной коляске diff --git a/packages/trip-form/i18n/tl.yml b/packages/trip-form/i18n/tl.yml index d53d3b485..4557e6e3e 100644 --- a/packages/trip-form/i18n/tl.yml +++ b/packages/trip-form/i18n/tl.yml @@ -1,47 +1,65 @@ otpUi: - queryParameters: - maxEScooterDistance: Maximum na Layo ng E-scooter - wheelchair: Mas Gusto ang Mga Ruta Kung Saan Accessible ang Wheelchair - maxWalkTime: Max na Tagal ng Paglalakad - optimizeBikeSpeed: Bilis - maxWalkDistance: Maximum na Paglalakad - watts: Power ng E-scooter - walkSpeed: Bilis ng Paglalakad - watts1500powerfulEscooter: Powerful na E-scooter (24 mph) - walkReluctanceLow: Higit Pang Paglalakad - maxBikeTime: Max na Tagal ng Pagbibisikleta - optimizeBikeFlat: Flat na Biyahe - watts125kidsHoverboard: Pambatang hoverboard (6 mph) - watts500robustEscooter: Robust na E-scooter (18 mph) - optimizeFor: I-optimize para sa - maxBikeDistance: Maximum na Pagbibisikleta - optimizeBikeFriendly: Biyaheng Puwedeng Gumamit ng Bisikleta - walkReluctanceHigh: Higit Pang Pampublikong Transportasyon - walkReluctance: Pag-iwas sa Paglalakad - watts250entryLevelEscooter: Entry-level na scooter (11 mph) - speedInMilesPerHour: '{mph} MPH' - bikeSpeed: Bilis ng Bisikleta - distanceInMiles: "{miles, number, :: unit/mile unit-width-full-name}\n" DateTimeSelector: - depart: Umalis nang arrive: Dumating bago ang + date: Petsa + dateTimeSelector: Selector ng Petsa/Oras + depart: Umalis nang now: Umalis ngayon + time: Oras ModeSelector: - settings: - ferry-label: Ferry - bus-label: Bus - rail-label: Tren labels: bicycle: Bisikleta - walk: Naglalakad car: Nagmamaneho + rent: Magrenta transit: Pampublikong Transportasyon - rent: Rental + walk: Naglalakad + settings: + bikeTolerance-label: Tolerance sa Pagbibisikleta + bikeTolerance-labelHigh: Mas Maraming Pagbibisikleta + bikeTolerance-labelLow: Mas Kaunting Pagbibisikleta + bus-label: Bus + carTolerance-label: Tolerance ng Pagmamaneho + carTolerance-labelHigh: Mas Maraming Pagmamaneho + carTolerance-labelLow: Mas Kaunting Pagmamaneho + ferry-label: Ferry + rail-label: Tren + subway-label: Subway + tram-label: Tram + walkReluctance-label: Iwasan ang Paglalakad + walkTolerance-label: Tolerance sa Paglalakad + walkTolerance-labelHigh: Mas Maraming Paglalakad + walkTolerance-labelLow: Mas Kaunting Paglalakad + wheelchair-label: Accessible na Pagruruta + settingsLabel: "{mode} mga setting" SettingsSelectorPanel: - use: Gamitin - useCompanies: Gumamit ng mga kumpanya bikeOnly: Bisikleta Lang + escooterOnly: E-scooter Lang takeTransit: Gumamit ng Pampublikong Transportasyon travelPreferences: Mga Kagustuhan sa Paglalakbay + use: Gamitin + useCompanies: Gumamit ng mga kumpanya walkOnly: Maglakad Lang - escooterOnly: E-scooter Lang + queryParameters: + bikeSpeed: Bilis ng Bisikleta + distanceInMiles: | + {miles, number, :: unit/mile unit-width-full-name} + maxBikeDistance: Maximum na Pagbibisikleta + maxBikeTime: Max na Tagal ng Pagbibisikleta + maxEScooterDistance: Maximum na Layo ng E-scooter + maxWalkDistance: Maximum na Paglalakad + maxWalkTime: Max na Tagal ng Paglalakad + optimizeBikeFlat: Flat na Biyahe + optimizeBikeFriendly: Biyaheng Puwedeng Gumamit ng Bisikleta + optimizeBikeSpeed: Bilis + optimizeFor: I-optimize para sa + speedInMilesPerHour: "{mph} MPH" + walkReluctance: Pag-iwas sa Paglalakad + walkReluctanceHigh: Higit Pang Pampublikong Transportasyon + walkReluctanceLow: Higit Pang Paglalakad + walkSpeed: Bilis ng Paglalakad + watts: Power ng E-scooter + watts125kidsHoverboard: Pambatang hoverboard (6 mph) + watts1500powerfulEscooter: Powerful na E-scooter (24 mph) + watts250entryLevelEscooter: Entry-level na scooter (11 mph) + watts500robustEscooter: Robust na E-scooter (18 mph) + wheelchair: Mas Gusto ang Mga Ruta Kung Saan Accessible ang Wheelchair diff --git a/packages/trip-form/i18n/tr.yml b/packages/trip-form/i18n/tr.yml index 58ce27806..04cc78961 100644 --- a/packages/trip-form/i18n/tr.yml +++ b/packages/trip-form/i18n/tr.yml @@ -1,19 +1,21 @@ otpUi: DateTimeSelector: - depart: Kalkış saati - dateTimeSelector: Tarih/Saat Seçici date: Tarih + dateTimeSelector: Tarih/Saat Seçici + depart: Kalkış saati + now: Şimdi Git time: Zaman ModeSelector: - settings: - ferry-label: Feribot - bus-label: Otobüs - tram-label: Tramvay - subway-label: Metro - rail-label: Tren labels: bicycle: Bisiklet - walk: Yürüme car: Sürücü rent: Kira transit: Geçiş + walk: Yürüme + settings: + bikeTolerance-label: Bisiklet Toleransı + bus-label: Otobüs + ferry-label: Feribot + rail-label: Tren + subway-label: Metro + tram-label: Tramvay diff --git a/packages/trip-form/i18n/vi.yml b/packages/trip-form/i18n/vi.yml index 6562e37db..0e978fb5a 100644 --- a/packages/trip-form/i18n/vi.yml +++ b/packages/trip-form/i18n/vi.yml @@ -25,6 +25,7 @@ otpUi: rail-label: Xe lửa subway-label: Metro tram-label: Xe điện + walkReluctance-label: Tránh Đi Bộ walkTolerance-label: Sức chịu đựng đi bộ walkTolerance-labelHigh: Đi bộ nhiều hơn walkTolerance-labelLow: Ít đi bộ diff --git a/packages/trip-form/i18n/zh_Hans.yml b/packages/trip-form/i18n/zh_Hans.yml index 18a548762..4174704e7 100644 --- a/packages/trip-form/i18n/zh_Hans.yml +++ b/packages/trip-form/i18n/zh_Hans.yml @@ -14,7 +14,7 @@ otpUi: transit: 公共交通 walk: 步行 settings: - bikeTolerance-label: 骑自行车的容忍度 + bikeTolerance-label: 骑行容忍度 bikeTolerance-labelHigh: 更多骑自行车 bikeTolerance-labelLow: 少骑自行车 bus-label: 公共汽车 @@ -25,7 +25,8 @@ otpUi: rail-label: 火车 subway-label: 地铁 tram-label: 电车 - walkTolerance-label: 步行公差 + walkReluctance-label: 避免步行 + walkTolerance-label: 步行容忍度 walkTolerance-labelHigh: 多走路 walkTolerance-labelLow: 少走路 wheelchair-label: 无障碍路由 diff --git a/packages/trip-form/package.json b/packages/trip-form/package.json index 8f2883a2d..5d54265ac 100644 --- a/packages/trip-form/package.json +++ b/packages/trip-form/package.json @@ -1,6 +1,6 @@ { "name": "@opentripplanner/trip-form", - "version": "3.3.6", + "version": "3.3.7", "description": "Trip Settings Form and Related Components", "author": "@binh-dam-ibigroup", "homepage": "https://github.com/opentripplanner/otp-ui/#readme", diff --git a/packages/types/package.json b/packages/types/package.json index 87ccaeaff..cd21b8a4f 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@opentripplanner/types", - "version": "6.2.0", + "version": "6.2.1", "description": "TypeScript types used across multiple OTP-UI packages", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index b0888d8bb..915f40ea3 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -723,7 +723,7 @@ export type SliderOptions = { }; export type CheckboxOptions = { - addTransportMode?: TransportMode; + addTransportMode?: TransportMode | TransportMode[]; default?: boolean; label: string; type: "CHECKBOX";