Skip to content

Commit

Permalink
A lot of documentation and string cleanup.
Browse files Browse the repository at this point in the history
  • Loading branch information
ChrisMarshallNY committed Jul 16, 2024
1 parent f3d8f95 commit 6549b61
Show file tree
Hide file tree
Showing 13 changed files with 107 additions and 65 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,12 @@
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

// NOTE:
// "Labels" are short, simple titles. "Hints" are longer explanations. Labels should always be short and succinct, but hints can be a lot longer.
// These are voiceover strings. Pronunciation and auditory clarity are important.
/* NOTE TO TRANSLATOR:

"Labels" are short, simple titles. "Hints" are longer explanations. Labels should always be short and succinct, but hints can be a lot longer.

These are voiceover strings. Pronunciation and auditory clarity are important.
*/

// ************************************************ ***********************************************************
// * -------------------------------------------- * * ------------------------------------------------------- *
Expand All @@ -41,7 +44,7 @@
"SLUG-ACC-SETTINGS-BUTTON-HINT" = "This will open a screen, with various app settings.";

/* This is the label for the segmented switch at the top of the Main Screen. */
"SLUG-ACC-WEEKDAY-SWITCH-LABEL" = "Select the Weekday";
"SLUG-ACC-WEEKDAY-SWITCH-LABEL" = "Select Weekday";
/* This is the hint for the segmented switch at the top of the Main Screen. */
"SLUG-ACC-WEEKDAY-SWITCH-HINT" = "With this segmented switch, you can see in-progress meetings, choose a weekday in which to show meetings, or select meeting name search mode.";

Expand All @@ -56,7 +59,7 @@
"SLUG-ACC-WEEKDAY-SWITCH-WEEKDAY-HINT-FORMAT" = "If you select this, you will see meetings that gather every %@.";

/* The individual segment label for the search segment */
"SLUG-ACC-WEEKDAY-SWITCH-8-LABEL" = "Search For Meetings";
"SLUG-ACC-WEEKDAY-SWITCH-8-LABEL" = "Meeting Name Search";
/* The individual segment hint for the search segment */
"SLUG-ACC-WEEKDAY-SWITCH-8-HINT" = "If you select this, you will enter Text Search Mode, where you can find meetings by name.";

Expand All @@ -66,17 +69,17 @@
"SLUG-ACC-ENTER-SEARCH-TEXT-HINT" = "Any text that you enter here, will be used to filter out meetings that have that text in their meeting name.";

/* This is the label for the close search mode button. */
"SLUG-ACC-CLOSE-SEARCH-BUTTON-LABEL" = "Leave Text Search";
"SLUG-ACC-CLOSE-SEARCH-BUTTON-LABEL" = "Exit Text Search";
/* This is the label for the close search mode button. */
"SLUG-ACC-CLOSE-SEARCH-BUTTON-HINT" = "Selecting this button leaves text search mode, and returns you to the regular weekday selection mode.";

/* This is the label for the decrement (left) time button. */
"SLUG-ACC-LEFT-BUTTON-LABEL" = "Go To The Time Slot Before This One";
"SLUG-ACC-LEFT-BUTTON-LABEL" = "Go To Time Before";
/* This is the hint for the decrement (left) time button. */
"SLUG-ACC-LEFT-BUTTON-HINT" = "If you select this, the table will show meetings that start at the time slot before this one.";

/* This is the label for the increment (right) time button. */
"SLUG-ACC-RIGHT-BUTTON-LABEL" = "Go To The Time Slot After This One";
"SLUG-ACC-RIGHT-BUTTON-LABEL" = "Go To Time After";
/* This is the hint for the increment (right) time button. */
"SLUG-ACC-RIGHT-BUTTON-HINT" = "If you select this, the table will show meetings that start at the time slot after this one.";

Expand All @@ -91,12 +94,12 @@
"SLUG-ACC-COMPLETION-DISPLAY-HINT" = "This indicates how far through the day we are. Left is towards 12AM, and right is towards midnight.";

/* This is the label for the day/time picker. */
"SLUG-ACC-DIRECT-PICKER-LABEL" = "Pick A Day And Time";
"SLUG-ACC-DIRECT-PICKER-LABEL" = "Select Day And Time";
/* This is the hint for the day/time picker. */
"SLUG-ACC-DIRECT-PICKER-HINT" = "This allows you to directly go to a weekday and time.";
"SLUG-ACC-DIRECT-PICKER-HINT" = "This allows you to directly choose a weekday and time.";

/* This is the label for the day/time picker. */
"SLUG-ACC-DIRECT-EXIT-LABEL" = "Return to the Normal Selector";
"SLUG-ACC-DIRECT-EXIT-LABEL" = "Go Back to Normal";
/* This is the hint for the day/time picker. */
"SLUG-ACC-DIRECT-EXIT-HINT" = "Selecting this, returns you to the regular weekday/time selector.";

Expand All @@ -123,7 +126,7 @@
"SLUG-ACC-TIME-DAY-MI-HINT" = "This displays the weekday, start time, and end time, of the meeting.";

/* This label is applied to the meeting "in progress" text label in the Meeting Inspector Screen */
"SLUG-ACC-IN-PROGRESS-MI-LABEL" = "Meeting Is In Progress";
"SLUG-ACC-IN-PROGRESS-MI-LABEL" = "Meeting In Progress";
/* This hint is applied to the meeting "in progress" text label in the Meeting Inspector Screen */
"SLUG-ACC-IN-PROGRESS-MI-HINT" = "This means that the meeting is currently under way.";

Expand All @@ -138,7 +141,7 @@
"SLUG-ACC-COMMENTS-MI-HINT" = "This has any extra information about the meeting.";

/* This label is applied to the phone icon button in the Meeting Inspector Screen */
"SLUG-ACC-PHONE-MI-LABEL" = "Call Into the Meeting";
"SLUG-ACC-PHONE-MI-LABEL" = "Call the Meeting";
/* This hint is applied to the phone icon button in the Meeting Inspector Screen */
"SLUG-ACC-PHONE-MI-HINT" = "If you select this, the phone will attempt to call directly into the meeting.";

Expand All @@ -153,12 +156,12 @@
"SLUG-ACC-VIDEO-MI-HINT-FORMAT" = "If you select this, the %@ app will be opened to the meeting.";

/* This label is applied to the phone extra info text view in the Meeting Inspector Screen */
"SLUG-ACC-PHONE-INFO-MI-LABEL" = "Extra Phone Information";
"SLUG-ACC-PHONE-INFO-MI-LABEL" = "Extra Phone Info";
/* This hint is applied to the phone extra info text view in the Meeting Inspector Screen */
"SLUG-ACC-PHONE-INFO-MI-HINT" = "This contains additional phone information.";

/* This label is applied to the phone extra info text view in the Meeting Inspector Screen */
"SLUG-ACC-XTRA-INFO-MI-LABEL" = "Extra Virtual Information";
"SLUG-ACC-XTRA-INFO-MI-LABEL" = "Extra Virtual Info";
/* This hint is applied to the phone extra info text view in the Meeting Inspector Screen */
"SLUG-ACC-XTRA-INFO-MI-HINT" = "This contains additional information about the virtual meeting.";

Expand All @@ -168,12 +171,12 @@
"SLUG-ACC-IN-PERSON-ADDRESS-MI-HINT" = "This is the address of the in-person meeting.";

/* This label is applied to the in-person extra information label in the Meeting Inspector Screen */
"SLUG-ACC-XTRA-IN-PERSON-ADDRESS-MI-LABEL" = "Extra Information";
"SLUG-ACC-XTRA-IN-PERSON-ADDRESS-MI-LABEL" = "Extra Info";
/* This hint is applied to the in-person extra information label in the Meeting Inspector Screen */
"SLUG-ACC-XTRA-IN-PERSON-ADDRESS-MI-HINT" = "This is the address of the in-person meeting.";
"SLUG-ACC-XTRA-IN-PERSON-ADDRESS-MI-HINT" = "This is extra information about the in-person meeting.";

/* This label is applied to the action button in the navbar of the Meeting Inspector Screen */
"SLUG-ACC-ACTION-BUTTON-LABEL" = "Share the URL";
"SLUG-ACC-ACTION-BUTTON-LABEL" = "Share the Meeting";
/* This hint is applied to the action button in the navbar of the Meeting Inspector Screen */
"SLUG-ACC-ACTION-BUTTON-HINT" = "If you select this, a sheet will be shown, allowing you to share a link to this meeting.";

Expand Down
27 changes: 13 additions & 14 deletions Sources/VirtualMeetingFinder/Resources/en.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@
"SLUG-IN-PROGRESS-FORMAT" = "In Progress Since %@";
/* This is the string that we display in the list, for in-progress meetings that have been going since yesterday. The placeholder is replaced by the time, in localized form. */
"SLUG-IN-PROGRESS-YESTERDAY-FORMAT" = "In Progress Since %@ Yesterday";
/* This is the title for the segmented switch segment, for in-progress meetings.

/* This is the title for the segmented switch segment, for in-progress meetings, in the Main Screen.

NOTE TO TRANSLATOR: This needs to be very short. It will cause the segment it occupies to expand, horizontally. It is only one of nine, so it can't be too big.
*/
Expand Down Expand Up @@ -88,6 +89,17 @@
/* This is displayed under the globe icon, in the Meeting Inspector. */
"SLUG-GLOBE-BUTTON" = "Web";

/* One of these is displayed under the video icon, in the Meeting Inspector. They denote the particular app that will be opened, by selecting the icon.

NOTE TO TRANSLATOR: These are corporate trade names. If there are no localized well-known substitutes, leave the English names.
*/
"SLUG-DIRECT-URI-ZOOM" = "Zoom";
"SLUG-DIRECT-URI-GOTOMEETING" = "GotoMeeting";
"SLUG-DIRECT-URI-SKYPE" = "Skype";
"SLUG-DIRECT-URI-MEET" = "Google Meet";
"SLUG-DIRECT-URI-DISCORD" = "Discord";
"SLUG-DIRECT-URI-JITSI" = "Jitsi Meet";

// MARK: - ATTENDANCE SCREEN -

/* The title of the "My Attendance" Screen */
Expand Down Expand Up @@ -119,19 +131,6 @@
/* The button string for the BMLT button */
"SLUG-BMLT-LABEL" = "The Basic Meeting List Toolbox (BMLT)";

// MARK: - APP NAMES -

/* One of these is displayed under the video icon, in the Meeting Inspector. They denote the particular app that will be opened, by selecting the icon.

NOTE TO TRANSLATOR: These are corporate trade names. If there are no localized well-known substitutes, leave the English names.
*/
"SLUG-DIRECT-URI-ZOOM" = "Zoom";
"SLUG-DIRECT-URI-GOTOMEETING" = "GotoMeeting";
"SLUG-DIRECT-URI-SKYPE" = "Skype";
"SLUG-DIRECT-URI-MEET" = "Google Meet";
"SLUG-DIRECT-URI-DISCORD" = "Discord";
"SLUG-DIRECT-URI-JITSI" = "Jitsi Meet";

// ***********************************************************************************************************
// MARK: - DO NOT TRANSLATE BELOW THIS LINE -
// ***********************************************************************************************************
Expand Down
14 changes: 11 additions & 3 deletions Sources/VirtualMeetingFinder/Support/VMF_Extensions.swift
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,9 @@ extension VMF_TapHoldButton {
/* ###################################################################################################################################### */
// MARK: - Date Extension for Localized Strings -
/* ###################################################################################################################################### */
/**
Adds a special method for localizing our time.
*/
extension Date {
/* ################################################################## */
/**
Expand Down Expand Up @@ -196,7 +199,6 @@ extension Date {
/* ###################################################################################################################################### */
// MARK: - String Extension -
/* ###################################################################################################################################### */
/* ###################################################################### */
/**
This adds various functionality to Strings
*/
Expand Down Expand Up @@ -250,6 +252,9 @@ extension StringProtocol {
/* ###################################################################################################################################### */
// MARK: - Additional Function for Meetings -
/* ###################################################################################################################################### */
/**
This extension adds some methods to the individual meeting class.
*/
extension MeetingInstance {
/* ################################################################## */
/**
Expand Down Expand Up @@ -350,7 +355,7 @@ extension Dictionary where Key == Int, Value == [MeetingInstance] {
// MARK: - Bundle Extension -
/* ###################################################################################################################################### */
/**
This extension adds a simple accessor to access the URL.
This extension adds a simple accessor to fetch the URL, and an accessor to get the large app icon.
*/
public extension Bundle {
/* ################################################################## */
Expand All @@ -374,8 +379,11 @@ public extension Bundle {
}

/* ###################################################################################################################################### */
// MARK: Add Stuff We Want
// MARK: - SwiftBMLSDK_MeetingLocalTimezoneCollection Extension -
/* ###################################################################################################################################### */
/**
This extension adds a simple accessor to fetch the meetings that we have marked as ones that we attend.
*/
extension SwiftBMLSDK_MeetingLocalTimezoneCollection {
/* ################################################################## */
/**
Expand Down
2 changes: 1 addition & 1 deletion Sources/VirtualMeetingFinder/Support/VMF_MapMarker.swift
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ class VMF_MapMarker: MKAnnotationView {
extension VMF_MapMarker {
/* ################################################################## */
/**
The annotation coordinate
The marker coordinate is the annotation coordinate
*/
var coordinate: CLLocationCoordinate2D { annotation?.coordinate ?? kCLLocationCoordinate2DInvalid }
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import RVS_Generic_Swift_Toolbox
// MARK: - The URL Button Class -
/* ###################################################################################################################################### */
/**
This is a special button that has a string and a URL.
This is a special button that has a string and a URL. This class lets us define them in IB.
*/
class VMF_URLButton: UIButton {
/* ################################################################## */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ import SwiftBMLSDK
/* ###################################################################################################################################### */
/**
This is the main view controller for the attended meetings tab.

This is a very basic table display. It does not have any controls or filters.
*/
class VMF_AttendanceViewController: VMF_BaseViewController {
/* ################################################################## */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ extension VMF_BaseViewController {
/**
This converts a 1 == Sun format into a localized weekday index (1 ... 7)

- parameter: An integer (1 = Sunday), with the unlocalized index.
- parameter: An integer (1 -> 7), with the unlocalized index (database native setup).
- returns: The 1-based weekday index for the local system.
*/
func mapWeekday(_ inWeekdayIndex: Int) -> Int {
Expand All @@ -79,7 +79,7 @@ extension VMF_BaseViewController {
/**
This converts the selected localized weekday into the 1 == Sun format needed for the meeting data.

- parameter: An integer (1 -> 7), with the localized weekday.
- parameter: An integer (1 -> 7), with the localized weekday (user's native setup).
- returns: The 1-based weekday index for 1 = Sunday
*/
func unMapWeekday(_ inWeekdayIndex: Int) -> Int {
Expand Down Expand Up @@ -223,7 +223,7 @@ extension VMF_BaseViewController {

/* ################################################################## */
/**
Triggers a subtle success haptic.
Triggers a subtle selection haptic.
*/
func selectionHaptic() {
selectionGenerator?.selectionChanged()
Expand All @@ -239,6 +239,15 @@ extension VMF_BaseViewController {
notificationGenerator?.prepare()
}

/* ################################################################## */
/**
Triggers a "soft impact" haptic.
*/
func softImpactHaptic() {
feedbackGenerator?.impactOccurred(intensity: 0.25)
feedbackGenerator?.prepare()
}

/* ################################################################## */
/**
Triggers a "hard impact" haptic.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ extension VMF_BaseProtocol {
}

/* ###################################################################################################################################### */
// MARK: - Protocol for "Owners" of This Class -
// MARK: - Protocol for Table Display -
/* ###################################################################################################################################### */
/**
Protocol for embedded tables.
Expand Down Expand Up @@ -79,7 +79,7 @@ protocol VMF_EmbeddedTableControllerProtocol: VMF_BaseProtocol {
}

/* ###################################################################################################################################### */
// MARK: - Protocol for "Owners" of This Class -
// MARK: - Protocol for "Owners" of Table Display -
/* ###################################################################################################################################### */
/**
Protocol for owners
Expand Down Expand Up @@ -253,8 +253,10 @@ extension VMF_TableCell {
/* ################################################################## */
/**
Called when someone double-taps on the row.

- parameter: ignored
*/
@IBAction func doubleTapped(_ inTapGesture: UITapGestureRecognizer) {
@IBAction func doubleTapped(_: Any) {
guard let myController = myController,
let myMeeting = myMeeting
else { return }
Expand All @@ -265,18 +267,26 @@ extension VMF_TableCell {
/* ################################################################## */
/**
Called when someone single-taps on the row.

- parameter: ignored
*/
@IBAction func singleTapped(_ inTapGesture: UITapGestureRecognizer) {
@IBAction func singleTapped(_: Any) {
guard let myController = myController,
let myMeeting = myMeeting
else { return }

myController.selectMeeting(myMeeting)
}

}

/* ###################################################################################################################################### */
// MARK: Instance Methods
/* ###################################################################################################################################### */
extension VMF_TableCell {
/* ################################################################## */
/**
Sets all the items up.
Sets all the items up. This is called when the meeting is changed.
We can't wait for layout. This stuff needs to be done in advance.
*/
func setUpTextItems() {
guard let myController = myController,
Expand Down Expand Up @@ -494,7 +504,7 @@ extension VMF_EmbeddedTableController {
extension VMF_EmbeddedTableController {
/* ################################################################## */
/**
Called to show a meeting details page.
Called when attendance changes for a meeting.

- parameter inMeeting: The meeting instance.
*/
Expand All @@ -503,7 +513,7 @@ extension VMF_EmbeddedTableController {
mutableMeeting.iAttend = !inMeeting.iAttend
successHaptic()
valueTable?.reloadData()
myController?.setAttendance()
myController?.setAttendance() // This tells the "owner" to update its table and bar button.
}

/* ################################################################## */
Expand Down
Loading

0 comments on commit 6549b61

Please sign in to comment.