Procházet zdrojové kódy

Localize hardcoded ViewController strings for schedule, AI Companion, and pagination.

Add matching keys across all locales so transcript/notes errors, transcription progress, speech fallback, and schedule load failures respect the selected app language.

Co-authored-by: Cursor <cursoragent@cursor.com>
AhtashamShahzad1 před 1 měsícem
rodič
revize
c941ffcffe

+ 7 - 7
meetings_app/ViewController.swift

@@ -3738,7 +3738,7 @@ private extension ViewController {
                         recording.transcriptStatusRaw = MeetingTranscriptStatus.failed.rawValue
                         recording.transcriptErrorMessage = msg
                     }
-                    self.aiCompanionTranscriptTextView?.string = "Transcript unavailable.\n\n\(msg)"
+                    self.aiCompanionTranscriptTextView?.string = "Transcript unavailable.\n\n%@".localized(with: msg)
                     self.aiCompanionRefreshTranscriptStatusLabels(forMeetingID: meetingId)
                     if self.selectedSidebarPage == .aiCompanion {
                         self.pageCache[.aiCompanion] = nil
@@ -3783,7 +3783,7 @@ private extension ViewController {
                 guard let self else { return }
                 let text: String
                 if progress.totalChunks > 0 {
-                    text = "Transcribing \(progress.completedChunks)/\(progress.totalChunks) chunks..."
+                    text = "Transcribing %d/%d chunks...".localized(with: progress.completedChunks, progress.totalChunks)
                 } else {
                     text = "Transcript processing...".localized
                 }
@@ -3983,7 +3983,7 @@ private extension ViewController {
                         recording.notesStatusRaw = MeetingNotesStatus.failed.rawValue
                         recording.notesErrorMessage = msg
                     }
-                    self.aiCompanionNotesTextView?.string = "Notes unavailable.\n\n\(msg)"
+                    self.aiCompanionNotesTextView?.string = "Notes unavailable.\n\n%@".localized(with: msg)
                     self.aiCompanionRefreshNotesStatusLabels(forMeetingID: meetingId)
                     if self.selectedSidebarPage == .aiCompanion {
                         self.pageCache[.aiCompanion] = nil
@@ -4072,7 +4072,7 @@ private extension ViewController {
 
         aiCompanionAudioStatusLabelByView[buttonId]?.stringValue = "Speaking...".localized
 
-        let text = aiCompanionSpeechTextByView[buttonId] ?? "Ended meeting."
+        let text = aiCompanionSpeechTextByView[buttonId] ?? "Ended meeting.".localized
         let utterance = AVSpeechUtterance(string: text)
         utterance.rate = 0.5
         utterance.volume = 1.0
@@ -9858,7 +9858,7 @@ private extension ViewController {
             pagination.spacing = 10
 
             let moreLabel = textLabel(
-                "Showing \(schedulePageVisibleCount) of \(schedulePageFilteredMeetings.count)",
+                "Showing %d of %d".localized(with: schedulePageVisibleCount, schedulePageFilteredMeetings.count),
                 font: NSFont.systemFont(ofSize: 12, weight: .medium),
                 color: palette.textMuted
             )
@@ -9943,8 +9943,8 @@ private extension ViewController {
                 if hasGoogleSessionAvailable() == false {
                     applyGoogleProfile(nil)
                 }
-                scheduleDateHeadingLabel?.stringValue = "Couldn’t load schedule"
-                schedulePageDateHeadingLabel?.stringValue = "Couldn’t load schedule"
+                scheduleDateHeadingLabel?.stringValue = "Couldn't load schedule".localized
+                schedulePageDateHeadingLabel?.stringValue = "Couldn't load schedule".localized
                 if let stack = scheduleCardsStack {
                     renderScheduleCards(into: stack, meetings: [])
                 }

+ 6 - 0
meetings_app/ar.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "الملاحظات غير متاحة (انقر لإعادة المحاولة)";
 "Transcript unavailable" = "النسخ غير متاح";
 "Notes unavailable" = "الملاحظات غير متاحة";
+"Transcript unavailable.\n\n%@" = "النسخ غير متاح.\n\n%@";
+"Notes unavailable.\n\n%@" = "الملاحظات غير متاحة.\n\n%@";
+"Transcribing %d/%d chunks..." = "جارٍ النسخ %d/%d مقطعًا...";
+"Ended meeting." = "انتهى الاجتماع.";
 "Could not find recording details for this meeting." = "تعذر العثور على تفاصيل التسجيل لهذا الاجتماع.";
 "Transcript - %@" = "النسخ - %@";
 "Notes - %@" = "ملاحظات - %@";
@@ -341,6 +345,8 @@
 "No meetings on %@" = "لا توجد اجتماعات في %@";
 "1 meeting on %@" = "اجتماع واحد في %@";
 "%d meetings on %@" = "%d اجتماعات في %@";
+
+"Showing %d of %d" = "عرض %d من %d";
 "All day" = "طوال اليوم";
 "Duration: all day" = "المدة: طوال اليوم";
 "Duration: %dh %dm" = "المدة: %dس %dد";

+ 6 - 0
meetings_app/de.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Notizen nicht verfügbar (tippen Sie zum Wiederholen)";
 "Transcript unavailable" = "Transkript nicht verfügbar";
 "Notes unavailable" = "Notizen nicht verfügbar";
+"Transcript unavailable.\n\n%@" = "Transkript nicht verfügbar.\n\n%@";
+"Notes unavailable.\n\n%@" = "Notizen nicht verfügbar.\n\n%@";
+"Transcribing %d/%d chunks..." = "Transkription von %d/%d Abschnitten...";
+"Ended meeting." = "Meeting beendet.";
 "Could not find recording details for this meeting." = "Aufzeichnungsdetails für diese Besprechung konnten nicht gefunden werden.";
 "Transcript - %@" = "Transkript - %@";
 "Notes - %@" = "Notizen - %@";
@@ -341,6 +345,8 @@
 "No meetings on %@" = "Keine Besprechungen am %@";
 "1 meeting on %@" = "1 Besprechung am %@";
 "%d meetings on %@" = "%d Besprechungen am %@";
+
+"Showing %d of %d" = "%d von %d angezeigt";
 "All day" = "Ganztägig";
 "Duration: all day" = "Dauer: ganztägig";
 "Duration: %dh %dm" = "Dauer: %dh %dm";

+ 6 - 0
meetings_app/el.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Οι σημειώσεις δεν είναι διαθέσιμες (πατήστε για επανάληψη)";
 "Transcript unavailable" = "Η απομαγνητοφώνηση δεν είναι διαθέσιμη";
 "Notes unavailable" = "Οι σημειώσεις δεν είναι διαθέσιμες";
+"Transcript unavailable.\n\n%@" = "Η απομαγνητοφώνηση δεν είναι διαθέσιμη.\n\n%@";
+"Notes unavailable.\n\n%@" = "Οι σημειώσεις δεν είναι διαθέσιμες.\n\n%@";
+"Transcribing %d/%d chunks..." = "Μεταγραφή %d/%d τμημάτων...";
+"Ended meeting." = "Η σύσκεψη ολοκληρώθηκε.";
 "Could not find recording details for this meeting." = "Δεν βρέθηκαν λεπτομέρειες εγγραφής για αυτή τη σύσκεψη.";
 "Transcript - %@" = "Απομαγνητοφώνηση - %@";
 "Notes - %@" = "Σημειώσεις - %@";
@@ -340,6 +344,8 @@
 "No meetings on %@" = "Καμία σύσκεψη στις %@";
 "1 meeting on %@" = "1 σύσκεψη στις %@";
 "%d meetings on %@" = "%d συσκέψεις στις %@";
+
+"Showing %d of %d" = "Εμφάνιση %d από %d";
 "All day" = "Ολοήμερο";
 "Duration: all day" = "Διάρκεια: ολοήμερο";
 "Duration: %dh %dm" = "Διάρκεια: %dω %dλ";

+ 5 - 0
meetings_app/en.lproj/Localizable.strings

@@ -217,7 +217,11 @@
 "Notes ready" = "Notes ready";
 "Notes unavailable (tap to retry)" = "Notes unavailable (tap to retry)";
 "Transcript unavailable" = "Transcript unavailable";
+"Transcript unavailable.\n\n%@" = "Transcript unavailable.\n\n%@";
 "Notes unavailable" = "Notes unavailable";
+"Notes unavailable.\n\n%@" = "Notes unavailable.\n\n%@";
+"Transcribing %d/%d chunks..." = "Transcribing %d/%d chunks...";
+"Ended meeting." = "Ended meeting.";
 "Could not find recording details for this meeting." = "Could not find recording details for this meeting.";
 "Transcript - %@" = "Transcript - %@";
 "Notes - %@" = "Notes - %@";
@@ -340,6 +344,7 @@
 "No meetings on %@" = "No meetings on %@";
 "1 meeting on %@" = "1 meeting on %@";
 "%d meetings on %@" = "%d meetings on %@";
+"Showing %d of %d" = "Showing %d of %d";
 "All day" = "All day";
 "Duration: all day" = "Duration: all day";
 "Duration: %dh %dm" = "Duration: %dh %dm";

+ 6 - 0
meetings_app/es-ES.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Notas no disponibles (toca para reintentar)";
 "Transcript unavailable" = "Transcripción no disponible";
 "Notes unavailable" = "Notas no disponibles";
+"Transcript unavailable.\n\n%@" = "Transcripción no disponible.\n\n%@";
+"Notes unavailable.\n\n%@" = "Notas no disponibles.\n\n%@";
+"Transcribing %d/%d chunks..." = "Transcribiendo %d/%d fragmentos...";
+"Ended meeting." = "Reunión finalizada.";
 "Could not find recording details for this meeting." = "No se pudieron encontrar los detalles de grabación para esta reunión.";
 "Transcript - %@" = "Transcripción - %@";
 "Notes - %@" = "Notas - %@";
@@ -341,6 +345,8 @@
 "No meetings on %@" = "No hay reuniones el %@";
 "1 meeting on %@" = "1 reunión el %@";
 "%d meetings on %@" = "%d reuniones el %@";
+
+"Showing %d of %d" = "Mostrando %d de %d";
 "All day" = "Todo el día";
 "Duration: all day" = "Duración: todo el día";
 "Duration: %dh %dm" = "Duración: %dh %dm";

+ 6 - 0
meetings_app/es-MX.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Notas no disponibles (toca para reintentar)";
 "Transcript unavailable" = "Transcripción no disponible";
 "Notes unavailable" = "Notas no disponibles";
+"Transcript unavailable.\n\n%@" = "Transcripción no disponible.\n\n%@";
+"Notes unavailable.\n\n%@" = "Notas no disponibles.\n\n%@";
+"Transcribing %d/%d chunks..." = "Transcribiendo %d/%d fragmentos...";
+"Ended meeting." = "Reunión finalizada.";
 "Could not find recording details for this meeting." = "No se pudieron encontrar los detalles de grabación para esta reunión.";
 "Transcript - %@" = "Transcripción - %@";
 "Notes - %@" = "Notas - %@";
@@ -341,6 +345,8 @@
 "No meetings on %@" = "No hay reuniones el %@";
 "1 meeting on %@" = "1 reunión el %@";
 "%d meetings on %@" = "%d reuniones el %@";
+
+"Showing %d of %d" = "Mostrando %d de %d";
 "All day" = "Todo el día";
 "Duration: all day" = "Duración: todo el día";
 "Duration: %dh %dm" = "Duración: %dh %dm";

+ 6 - 0
meetings_app/fi.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Muistiinpanot eivät saatavilla (napauta yrittääksesi uudelleen)";
 "Transcript unavailable" = "Litterointi ei saatavilla";
 "Notes unavailable" = "Muistiinpanot eivät saatavilla";
+"Transcript unavailable.\n\n%@" = "Litterointi ei saatavilla.\n\n%@";
+"Notes unavailable.\n\n%@" = "Muistiinpanot eivät saatavilla.\n\n%@";
+"Transcribing %d/%d chunks..." = "Transkriptio %d/%d osaa...";
+"Ended meeting." = "Kokous päättyi.";
 "Could not find recording details for this meeting." = "Tämän kokouksen tallennustietoja ei löytynyt.";
 "Transcript - %@" = "Litterointi - %@";
 "Notes - %@" = "Muistiinpanot - %@";
@@ -340,6 +344,8 @@
 "No meetings on %@" = "Ei kokouksia %@";
 "1 meeting on %@" = "1 kokous %@";
 "%d meetings on %@" = "%d kokousta %@";
+
+"Showing %d of %d" = "Näytetään %d / %d";
 "All day" = "Koko päivä";
 "Duration: all day" = "Kesto: koko päivä";
 "Duration: %dh %dm" = "Kesto: %dt %dm";

+ 6 - 0
meetings_app/fr-CA.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Notes indisponibles (appuyez pour réessayer)";
 "Transcript unavailable" = "Transcription indisponible";
 "Notes unavailable" = "Notes indisponibles";
+"Transcript unavailable.\n\n%@" = "Transcription indisponible.\n\n%@";
+"Notes unavailable.\n\n%@" = "Notes indisponibles.\n\n%@";
+"Transcribing %d/%d chunks..." = "Transcription de %d/%d segments...";
+"Ended meeting." = "Réunion terminée.";
 "Could not find recording details for this meeting." = "Impossible de trouver les détails d'enregistrement pour cette réunion.";
 "Transcript - %@" = "Transcription - %@";
 "Notes - %@" = "Notes - %@";
@@ -341,6 +345,8 @@
 "No meetings on %@" = "Aucune réunion le %@";
 "1 meeting on %@" = "1 réunion le %@";
 "%d meetings on %@" = "%d réunions le %@";
+
+"Showing %d of %d" = "Affichage de %d sur %d";
 "All day" = "Toute la journée";
 "Duration: all day" = "Durée : toute la journée";
 "Duration: %dh %dm" = "Durée : %dh %dm";

+ 6 - 0
meetings_app/fr.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Notes indisponibles (appuyez pour réessayer)";
 "Transcript unavailable" = "Transcription indisponible";
 "Notes unavailable" = "Notes indisponibles";
+"Transcript unavailable.\n\n%@" = "Transcription indisponible.\n\n%@";
+"Notes unavailable.\n\n%@" = "Notes indisponibles.\n\n%@";
+"Transcribing %d/%d chunks..." = "Transcription de %d/%d segments...";
+"Ended meeting." = "Réunion terminée.";
 "Could not find recording details for this meeting." = "Impossible de trouver les détails d'enregistrement pour cette réunion.";
 "Transcript - %@" = "Transcription - %@";
 "Notes - %@" = "Notes - %@";
@@ -340,6 +344,8 @@
 "No meetings on %@" = "Aucune réunion le %@";
 "1 meeting on %@" = "1 réunion le %@";
 "%d meetings on %@" = "%d réunions le %@";
+
+"Showing %d of %d" = "Affichage de %d sur %d";
 "All day" = "Toute la journée";
 "Duration: all day" = "Durée : toute la journée";
 "Duration: %dh %dm" = "Durée : %dh %dm";

+ 6 - 0
meetings_app/he.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "ההערות אינן זמינות (הקש כדי לנסות שוב)";
 "Transcript unavailable" = "התמלול אינו זמין";
 "Notes unavailable" = "ההערות אינן זמינות";
+"Transcript unavailable.\n\n%@" = "התמלול אינו זמין.\n\n%@";
+"Notes unavailable.\n\n%@" = "ההערות אינן זמינות.\n\n%@";
+"Transcribing %d/%d chunks..." = "מתמלל %d/%d קטעים...";
+"Ended meeting." = "הפגישה הסתיימה.";
 "Could not find recording details for this meeting." = "לא ניתן היה למצוא פרטי הקלטה לפגישה זו.";
 "Transcript - %@" = "תמלול - %@";
 "Notes - %@" = "הערות - %@";
@@ -340,6 +344,8 @@
 "No meetings on %@" = "אין פגישות ב-%@";
 "1 meeting on %@" = "פגישה אחת ב-%@";
 "%d meetings on %@" = "%d פגישות ב-%@";
+
+"Showing %d of %d" = "מציג %d מתוך %d";
 "All day" = "כל היום";
 "Duration: all day" = "משך: כל היום";
 "Duration: %dh %dm" = "משך: %dש' %dדק'";

+ 6 - 0
meetings_app/it.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Note non disponibili (tocca per riprovare)";
 "Transcript unavailable" = "Trascrizione non disponibile";
 "Notes unavailable" = "Note non disponibili";
+"Transcript unavailable.\n\n%@" = "Trascrizione non disponibile.\n\n%@";
+"Notes unavailable.\n\n%@" = "Note non disponibili.\n\n%@";
+"Transcribing %d/%d chunks..." = "Trascrizione di %d/%d segmenti...";
+"Ended meeting." = "Riunione terminata.";
 "Could not find recording details for this meeting." = "Impossibile trovare i dettagli di registrazione per questa riunione.";
 "Transcript - %@" = "Trascrizione - %@";
 "Notes - %@" = "Note - %@";
@@ -340,6 +344,8 @@
 "No meetings on %@" = "Nessuna riunione il %@";
 "1 meeting on %@" = "1 riunione il %@";
 "%d meetings on %@" = "%d riunioni il %@";
+
+"Showing %d of %d" = "Visualizzazione di %d su %d";
 "All day" = "Tutto il giorno";
 "Duration: all day" = "Durata: tutto il giorno";
 "Duration: %dh %dm" = "Durata: %dh %dm";

+ 6 - 0
meetings_app/ko.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "메모를 사용할 수 없음 (다시 시도하려면 탭)";
 "Transcript unavailable" = "전사를 사용할 수 없음";
 "Notes unavailable" = "메모를 사용할 수 없음";
+"Transcript unavailable.\n\n%@" = "전사를 사용할 수 없음.\n\n%@";
+"Notes unavailable.\n\n%@" = "메모를 사용할 수 없음.\n\n%@";
+"Transcribing %d/%d chunks..." = "%d/%d개 청크 전사 중...";
+"Ended meeting." = "회의가 종료되었습니다.";
 "Could not find recording details for this meeting." = "이 회의에 대한 녹화 세부정보를 찾을 수 없습니다.";
 "Transcript - %@" = "전사 - %@";
 "Notes - %@" = "메모 - %@";
@@ -341,6 +345,8 @@
 "No meetings on %@" = "%@에 회의 없음";
 "1 meeting on %@" = "%@에 회의 1개";
 "%d meetings on %@" = "%2$@에 회의 %1$d개";
+
+"Showing %d of %d" = "%d/%d개 표시 중";
 "All day" = "하루 종일";
 "Duration: all day" = "시간: 하루 종일";
 "Duration: %dh %dm" = "시간: %dh %dm";

+ 6 - 0
meetings_app/nb.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Notater utilgjengelige (trykk for å prøve igjen)";
 "Transcript unavailable" = "Transkripsjon utilgjengelig";
 "Notes unavailable" = "Notater utilgjengelige";
+"Transcript unavailable.\n\n%@" = "Transkripsjon utilgjengelig.\n\n%@";
+"Notes unavailable.\n\n%@" = "Notater utilgjengelige.\n\n%@";
+"Transcribing %d/%d chunks..." = "Transkriberer %d/%d segmenter...";
+"Ended meeting." = "Møtet er avsluttet.";
 "Could not find recording details for this meeting." = "Kunne ikke finne opptaksdetaljer for dette møtet.";
 "Transcript - %@" = "Transkripsjon - %@";
 "Notes - %@" = "Notater - %@";
@@ -340,6 +344,8 @@
 "No meetings on %@" = "Ingen møter den %@";
 "1 meeting on %@" = "1 møte den %@";
 "%d meetings on %@" = "%d møter den %@";
+
+"Showing %d of %d" = "Viser %d av %d";
 "All day" = "Hele dagen";
 "Duration: all day" = "Varighet: hele dagen";
 "Duration: %dh %dm" = "Varighet: %dt %dm";

+ 6 - 0
meetings_app/nl.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Notities niet beschikbaar (tik om opnieuw te proberen)";
 "Transcript unavailable" = "Transcript niet beschikbaar";
 "Notes unavailable" = "Notities niet beschikbaar";
+"Transcript unavailable.\n\n%@" = "Transcript niet beschikbaar.\n\n%@";
+"Notes unavailable.\n\n%@" = "Notities niet beschikbaar.\n\n%@";
+"Transcribing %d/%d chunks..." = "Transcriberen van %d/%d segmenten...";
+"Ended meeting." = "Vergadering beëindigd.";
 "Could not find recording details for this meeting." = "Kon geen opnamedetails voor deze vergadering vinden.";
 "Transcript - %@" = "Transcript - %@";
 "Notes - %@" = "Notities - %@";
@@ -341,6 +345,8 @@
 "No meetings on %@" = "Geen vergaderingen op %@";
 "1 meeting on %@" = "1 vergadering op %@";
 "%d meetings on %@" = "%d vergaderingen op %@";
+
+"Showing %d of %d" = "%d van %d weergegeven";
 "All day" = "Hele dag";
 "Duration: all day" = "Duur: hele dag";
 "Duration: %dh %dm" = "Duur: %du %dm";

+ 6 - 0
meetings_app/pl.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Notatki niedostępne (dotknij, aby ponowić)";
 "Transcript unavailable" = "Transkrypcja niedostępna";
 "Notes unavailable" = "Notatki niedostępne";
+"Transcript unavailable.\n\n%@" = "Transkrypcja niedostępna.\n\n%@";
+"Notes unavailable.\n\n%@" = "Notatki niedostępne.\n\n%@";
+"Transcribing %d/%d chunks..." = "Transkrypcja %d/%d fragmentów...";
+"Ended meeting." = "Spotkanie zakończone.";
 "Could not find recording details for this meeting." = "Nie można znaleźć szczegółów nagrania dla tego spotkania.";
 "Transcript - %@" = "Transkrypcja - %@";
 "Notes - %@" = "Notatki - %@";
@@ -340,6 +344,8 @@
 "No meetings on %@" = "Brak spotkań w dniu %@";
 "1 meeting on %@" = "1 spotkanie w dniu %@";
 "%d meetings on %@" = "%d spotkań w dniu %@";
+
+"Showing %d of %d" = "Wyświetlanie %d z %d";
 "All day" = "Cały dzień";
 "Duration: all day" = "Czas trwania: cały dzień";
 "Duration: %dh %dm" = "Czas trwania: %dg %dmin";

+ 6 - 0
meetings_app/pt-BR.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Anotações indisponíveis (toque para tentar novamente)";
 "Transcript unavailable" = "Transcrição indisponível";
 "Notes unavailable" = "Anotações indisponíveis";
+"Transcript unavailable.\n\n%@" = "Transcrição indisponível.\n\n%@";
+"Notes unavailable.\n\n%@" = "Anotações indisponíveis.\n\n%@";
+"Transcribing %d/%d chunks..." = "Transcrevendo %d/%d trechos...";
+"Ended meeting." = "Reunião encerrada.";
 "Could not find recording details for this meeting." = "Não foi possível encontrar detalhes da gravação para esta reunião.";
 "Transcript - %@" = "Transcrição - %@";
 "Notes - %@" = "Anotações - %@";
@@ -341,6 +345,8 @@
 "No meetings on %@" = "Nenhuma reunião em %@";
 "1 meeting on %@" = "1 reunião em %@";
 "%d meetings on %@" = "%d reuniões em %@";
+
+"Showing %d of %d" = "Exibindo %d de %d";
 "All day" = "Dia todo";
 "Duration: all day" = "Duração: dia todo";
 "Duration: %dh %dm" = "Duração: %dh %dm";

+ 6 - 0
meetings_app/ru.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Заметки недоступны (нажмите, чтобы повторить)";
 "Transcript unavailable" = "Расшифровка недоступна";
 "Notes unavailable" = "Заметки недоступны";
+"Transcript unavailable.\n\n%@" = "Расшифровка недоступна.\n\n%@";
+"Notes unavailable.\n\n%@" = "Заметки недоступны.\n\n%@";
+"Transcribing %d/%d chunks..." = "Транскрипция %d/%d фрагментов...";
+"Ended meeting." = "Встреча завершена.";
 "Could not find recording details for this meeting." = "Не удалось найти детали записи для этой встречи.";
 "Transcript - %@" = "Расшифровка - %@";
 "Notes - %@" = "Заметки - %@";
@@ -340,6 +344,8 @@
 "No meetings on %@" = "Нет встреч %@";
 "1 meeting on %@" = "1 встреча %@";
 "%d meetings on %@" = "%d встреч %@";
+
+"Showing %d of %d" = "Показано %d из %d";
 "All day" = "Весь день";
 "Duration: all day" = "Длительность: весь день";
 "Duration: %dh %dm" = "Длительность: %dh %dm";

+ 6 - 0
meetings_app/sv.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Anteckningar inte tillgängliga (tryck för att försöka igen)";
 "Transcript unavailable" = "Transkription inte tillgänglig";
 "Notes unavailable" = "Anteckningar inte tillgängliga";
+"Transcript unavailable.\n\n%@" = "Transkription inte tillgänglig.\n\n%@";
+"Notes unavailable.\n\n%@" = "Anteckningar inte tillgängliga.\n\n%@";
+"Transcribing %d/%d chunks..." = "Transkriberar %d/%d segment...";
+"Ended meeting." = "Mötet avslutades.";
 "Could not find recording details for this meeting." = "Kunde inte hitta inspelningsinformation för det här mötet.";
 "Transcript - %@" = "Transkription - %@";
 "Notes - %@" = "Anteckningar - %@";
@@ -340,6 +344,8 @@
 "No meetings on %@" = "Inga möten den %@";
 "1 meeting on %@" = "1 möte den %@";
 "%d meetings on %@" = "%d möten den %@";
+
+"Showing %d of %d" = "Visar %d av %d";
 "All day" = "Heldag";
 "Duration: all day" = "Längd: heldag";
 "Duration: %dh %dm" = "Längd: %dh %dm";

+ 6 - 0
meetings_app/uk.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Нотатки недоступні (торкніться, щоб повторити)";
 "Transcript unavailable" = "Транскрипція недоступна";
 "Notes unavailable" = "Нотатки недоступні";
+"Transcript unavailable.\n\n%@" = "Транскрипція недоступна.\n\n%@";
+"Notes unavailable.\n\n%@" = "Нотатки недоступні.\n\n%@";
+"Transcribing %d/%d chunks..." = "Транскрибування %d/%d фрагментів...";
+"Ended meeting." = "Зустріч завершено.";
 "Could not find recording details for this meeting." = "Не вдалося знайти деталі запису для цієї зустрічі.";
 "Transcript - %@" = "Транскрипція - %@";
 "Notes - %@" = "Нотатки - %@";
@@ -340,6 +344,8 @@
 "No meetings on %@" = "Немає зустрічей на %@";
 "1 meeting on %@" = "1 зустріч на %@";
 "%d meetings on %@" = "%d зустрічей на %@";
+
+"Showing %d of %d" = "Показано %d з %d";
 "All day" = "Весь день";
 "Duration: all day" = "Тривалість: весь день";
 "Duration: %dh %dm" = "Тривалість: %dгод %dхв";

+ 6 - 0
meetings_app/vi.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "Ghi chú không khả dụng (nhấn để thử lại)";
 "Transcript unavailable" = "Bản ghi không khả dụng";
 "Notes unavailable" = "Ghi chú không khả dụng";
+"Transcript unavailable.\n\n%@" = "Bản ghi không khả dụng.\n\n%@";
+"Notes unavailable.\n\n%@" = "Ghi chú không khả dụng.\n\n%@";
+"Transcribing %d/%d chunks..." = "Đang phiên âm %d/%d đoạn...";
+"Ended meeting." = "Cuộc họp đã kết thúc.";
 "Could not find recording details for this meeting." = "Không tìm thấy chi tiết ghi âm cho cuộc họp này.";
 "Transcript - %@" = "Bản ghi - %@";
 "Notes - %@" = "Ghi chú - %@";
@@ -341,6 +345,8 @@
 "No meetings on %@" = "Không có cuộc họp vào %@";
 "1 meeting on %@" = "1 cuộc họp vào %@";
 "%d meetings on %@" = "%d cuộc họp vào %@";
+
+"Showing %d of %d" = "Hiển thị %d trong %d";
 "All day" = "Cả ngày";
 "Duration: all day" = "Thời lượng: cả ngày";
 "Duration: %dh %dm" = "Thời lượng: %dh %dm";

+ 6 - 0
meetings_app/zh-Hans.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "笔记不可用(点击重试)";
 "Transcript unavailable" = "转录不可用";
 "Notes unavailable" = "笔记不可用";
+"Transcript unavailable.\n\n%@" = "转录不可用.\n\n%@";
+"Notes unavailable.\n\n%@" = "笔记不可用.\n\n%@";
+"Transcribing %d/%d chunks..." = "正在转录 %d/%d 个片段...";
+"Ended meeting." = "会议已结束。";
 "Could not find recording details for this meeting." = "找不到此会议的录制详情。";
 "Transcript - %@" = "转录 - %@";
 "Notes - %@" = "笔记 - %@";
@@ -341,6 +345,8 @@
 "No meetings on %@" = "%@ 无会议";
 "1 meeting on %@" = "%@ 有 1 个会议";
 "%d meetings on %@" = "%2$@ 有 %1$d 个会议";
+
+"Showing %d of %d" = "显示 %d / %d";
 "All day" = "全天";
 "Duration: all day" = "时长:全天";
 "Duration: %dh %dm" = "时长:%dh %dm";

+ 6 - 0
meetings_app/zh-Hant.lproj/Localizable.strings

@@ -218,6 +218,10 @@
 "Notes unavailable (tap to retry)" = "筆記不可用(點擊重試)";
 "Transcript unavailable" = "轉錄不可用";
 "Notes unavailable" = "筆記不可用";
+"Transcript unavailable.\n\n%@" = "轉錄不可用.\n\n%@";
+"Notes unavailable.\n\n%@" = "筆記不可用.\n\n%@";
+"Transcribing %d/%d chunks..." = "正在轉錄 %d/%d 個片段...";
+"Ended meeting." = "會議已結束。";
 "Could not find recording details for this meeting." = "找不到此會議的錄製詳情。";
 "Transcript - %@" = "轉錄 - %@";
 "Notes - %@" = "筆記 - %@";
@@ -341,6 +345,8 @@
 "No meetings on %@" = "%@ 無會議";
 "1 meeting on %@" = "%@ 有 1 個會議";
 "%d meetings on %@" = "%2$@ 有 %1$d 個會議";
+
+"Showing %d of %d" = "顯示 %d / %d";
 "All day" = "全天";
 "Duration: all day" = "持續時間:全天";
 "Duration: %dh %dm" = "持續時間:%dh %dm";