diff --git a/Countix/Components/EmptyStateView.swift b/Countix/Components/EmptyStateView.swift index b307999..c7c72a4 100644 --- a/Countix/Components/EmptyStateView.swift +++ b/Countix/Components/EmptyStateView.swift @@ -13,7 +13,7 @@ struct EmptyStateView: View { Text(verbatim: L10n.tr("No events for %@", DateFormatting.eventDate.string(from: selectedDate))) .font(.title3.weight(.semibold)) - Text("Pick another day from the calendar or create a new event to start your countdown collection.") + Text(L10n.tr("Pick another day from the calendar or create a new event to start your countdown collection.")) .font(.body) .foregroundStyle(.secondary) .multilineTextAlignment(.center) diff --git a/Countix/Components/GlassAddButton.swift b/Countix/Components/GlassAddButton.swift index 266ebfa..e70904a 100644 --- a/Countix/Components/GlassAddButton.swift +++ b/Countix/Components/GlassAddButton.swift @@ -16,7 +16,7 @@ struct GlassAddButton: View { .foregroundStyle(.white) } - Text("Add New Event") + Text(L10n.tr("Add New Event")) .font(.headline.weight(.semibold)) .foregroundStyle(.white) } @@ -46,7 +46,7 @@ struct GlassAddButton: View { } } .buttonStyle(.plain) - .accessibilityLabel("Add New Event") + .accessibilityLabel(L10n.tr("Add New Event")) } } diff --git a/Countix/Views/CalendarStripView.swift b/Countix/Views/CalendarStripView.swift index 64da338..09c3aa6 100644 --- a/Countix/Views/CalendarStripView.swift +++ b/Countix/Views/CalendarStripView.swift @@ -52,7 +52,7 @@ struct CalendarStripView: View { } .buttonStyle(.plain) - Button("Today", action: onToday) + Button(L10n.tr("Today"), action: onToday) .font(.subheadline.weight(.semibold)) .foregroundStyle(.white) .padding(.horizontal, Constants.spacing * 3.5) diff --git a/Countix/Views/EventFormView.swift b/Countix/Views/EventFormView.swift index c4d3439..3cce4b4 100644 --- a/Countix/Views/EventFormView.swift +++ b/Countix/Views/EventFormView.swift @@ -64,11 +64,11 @@ struct EventFormView: View { .toolbar { ToolbarItem(placement: .topBarLeading) { if formStep == .details { - Button("Cancel") { + Button(L10n.tr("Cancel")) { dismiss() } } else { - Button("Back") { + Button(L10n.tr("Back")) { withAnimation(.easeInOut(duration: 0.2)) { formStep = .details } @@ -104,23 +104,23 @@ struct EventFormView: View { } } } - .alert("Delete Event?", isPresented: $isShowingDeleteAlert) { - Button("Delete", role: .destructive) { + .alert(L10n.tr("Delete Event?"), isPresented: $isShowingDeleteAlert) { + Button(L10n.tr("Delete"), role: .destructive) { onDelete?() dismiss() } - Button("Cancel", role: .cancel) {} + Button(L10n.tr("Cancel"), role: .cancel) {} } message: { - Text("This event will be permanently removed.") + Text(L10n.tr("This event will be permanently removed.")) } } private var introCard: some View { VStack(alignment: .leading, spacing: Constants.spacing * 2.5) { - Text(existingEvent == nil ? "Design a new countdown" : "Refine your countdown") + Text(existingEvent == nil ? L10n.tr("Design a new countdown") : L10n.tr("Refine your countdown")) .font(.title2.weight(.bold)) - Text("Set title, date, time and display mode. Then set colors and optional image in preview before saving.") + Text(L10n.tr("Set title, date, time and display mode. Then set colors and optional image in preview before saving.")) .font(.body) .foregroundStyle(.secondary) } @@ -139,17 +139,17 @@ struct EventFormView: View { private var formCard: some View { VStack(alignment: .leading, spacing: 16) { fieldContainer(title: L10n.tr("Title")) { - TextField("Conference opening, anniversary, departure...", text: $viewModel.title) + TextField(L10n.tr("Conference opening, anniversary, departure..."), text: $viewModel.title) .textInputAutocapitalization(.words) .padding(Constants.spacing * 3.5) .background(.thinMaterial, in: RoundedRectangle(cornerRadius: 18, style: .continuous)) } - DatePicker("Event Date", selection: $viewModel.eventDate, displayedComponents: .date) + DatePicker(L10n.tr("Event Date"), selection: $viewModel.eventDate, displayedComponents: .date) .datePickerStyle(.graphical) fieldContainer(title: L10n.tr("Time")) { - DatePicker("Event Time", selection: $viewModel.eventTime, displayedComponents: .hourAndMinute) + DatePicker(L10n.tr("Event Time"), selection: $viewModel.eventTime, displayedComponents: .hourAndMinute) .datePickerStyle(.wheel) .labelsHidden() } @@ -190,10 +190,10 @@ struct EventFormView: View { private var previewStep: some View { VStack(alignment: .leading, spacing: 16) { - Text("Widget Preview") + Text(L10n.tr("Widget Preview")) .font(.title3.weight(.bold)) - Text("Choose colors and optional image, then save.") + Text(L10n.tr("Choose colors and optional image, then save.")) .font(.body) .foregroundStyle(.secondary) @@ -204,7 +204,7 @@ struct EventFormView: View { Button(role: .destructive) { isShowingDeleteAlert = true } label: { - Label("Delete Event", systemImage: "trash") + Label(L10n.tr("Delete Event"), systemImage: "trash") .font(.subheadline.weight(.semibold)) .frame(maxWidth: .infinity) .padding(.vertical, 12) @@ -240,7 +240,7 @@ struct EventFormView: View { fieldContainer(title: L10n.tr("Background Image (Optional)")) { VStack(alignment: .leading, spacing: 12) { PhotosPicker(selection: $selectedPhotoItem, matching: .images) { - Label("Choose Image", systemImage: "photo.on.rectangle") + Label(L10n.tr("Choose Image"), systemImage: "photo.on.rectangle") .font(.subheadline.weight(.semibold)) .padding(.horizontal, 14) .padding(.vertical, 10) @@ -260,11 +260,11 @@ struct EventFormView: View { viewModel.backgroundImageData = nil selectedPhotoItem = nil } label: { - Label("Remove Image", systemImage: "trash") + Label(L10n.tr("Remove Image"), systemImage: "trash") .font(.subheadline.weight(.semibold)) } } else { - Text("No image selected") + Text(L10n.tr("No image selected")) .font(.subheadline) .foregroundStyle(.secondary) } diff --git a/Countix/Views/HomeView.swift b/Countix/Views/HomeView.swift index 0d37909..6d4f561 100644 --- a/Countix/Views/HomeView.swift +++ b/Countix/Views/HomeView.swift @@ -86,7 +86,7 @@ struct HomeView: View { .presentationDragIndicator(.visible) } .alert( - "Delete Event?", + L10n.tr("Delete Event?"), isPresented: Binding( get: { pendingDeletionEvent != nil }, set: { isPresented in @@ -97,11 +97,11 @@ struct HomeView: View { ), presenting: pendingDeletionEvent ) { event in - Button("Delete", role: .destructive) { + Button(L10n.tr("Delete"), role: .destructive) { deleteEvent(event) pendingDeletionEvent = nil } - Button("Cancel", role: .cancel) { + Button(L10n.tr("Cancel"), role: .cancel) { pendingDeletionEvent = nil } } message: { event in @@ -157,7 +157,7 @@ struct HomeView: View { private var eventsSection: some View { VStack(alignment: .leading, spacing: Constants.spacing * 4) { HStack { - Text("Events") + Text(L10n.tr("Events")) .font(.title2.weight(.semibold)) Spacer() @@ -178,13 +178,13 @@ struct HomeView: View { Button { editingEvent = event } label: { - Label("Edit", systemImage: "pencil") + Label(L10n.tr("Edit"), systemImage: "pencil") } Button(role: .destructive) { pendingDeletionEvent = event } label: { - Label("Delete", systemImage: "trash") + Label(L10n.tr("Delete"), systemImage: "trash") } } } diff --git a/Countix/de.lproj/Localizable.strings b/Countix/de.lproj/Localizable.strings new file mode 100644 index 0000000..2fd55c5 --- /dev/null +++ b/Countix/de.lproj/Localizable.strings @@ -0,0 +1,70 @@ +"Event Countdown" = "Ereignis-Countdown"; +"Your premium timeline for the moments that matter." = "Deine Premium-Timeline für die Momente, die zählen."; +"Delete Event?" = "Ereignis löschen?"; +"Delete Event" = "Ereignis löschen"; +"Delete" = "Löschen"; +"Cancel" = "Abbrechen"; +"\"%@\" will be permanently removed." = "\"%@\" wird dauerhaft entfernt."; +"%d total" = "%d insgesamt"; +"%d today" = "%d heute"; +"Events" = "Ereignisse"; +"Edit" = "Bearbeiten"; +"Passed" = "Vergangen"; +"Upcoming" = "Anstehend"; +"No events for %@" = "Keine Ereignisse für %@"; +"Pick another day from the calendar or create a new event to start your countdown collection." = "Wähle einen anderen Tag aus dem Kalender oder erstelle ein neues Ereignis, um deine Countdown-Sammlung zu starten."; +"Add New Event" = "Neues Ereignis hinzufügen"; +"Today" = "Heute"; +"Back" = "Zurück"; +"Preview" = "Vorschau"; +"New Event" = "Neues Ereignis"; +"Edit Event" = "Ereignis bearbeiten"; +"Save" = "Speichern"; +"Update" = "Aktualisieren"; +"This event will be permanently removed." = "Dieses Ereignis wird dauerhaft entfernt."; +"Design a new countdown" = "Einen neuen Countdown entwerfen"; +"Refine your countdown" = "Deinen Countdown verfeinern"; +"Set title, date, time and display mode. Then set colors and optional image in preview before saving." = "Titel, Datum, Uhrzeit und Anzeigemodus festlegen. Dann Farben und optionales Bild in der Vorschau vor dem Speichern einstellen."; +"Title" = "Titel"; +"Conference opening, anniversary, departure..." = "Konferenzeröffnung, Jubiläum, Abreise..."; +"Event Date" = "Ereignisdatum"; +"Time" = "Uhrzeit"; +"Event Time" = "Ereigniszeit"; +"Display Mode" = "Anzeigemodus"; +"Widget Preview" = "Widget-Vorschau"; +"Choose colors and optional image, then save." = "Farben und optionales Bild wählen, dann speichern."; +"Color Options" = "Farboptionen"; +"Background Image (Optional)" = "Hintergrundbild (optional)"; +"Choose Image" = "Bild wählen"; +"Remove Image" = "Bild entfernen"; +"No image selected" = "Kein Bild ausgewählt"; +"Event passed" = "Ereignis vergangen"; +"%d year" = "%d Jahr"; +"%d years" = "%d Jahre"; +"%d month" = "%d Monat"; +"%d months" = "%d Monate"; +"%d day" = "%d Tag"; +"%d days" = "%d Tage"; +"%d hour" = "%d Stunde"; +"%d hours" = "%d Stunden"; +"%d minute" = "%d Minute"; +"%d minutes" = "%d Minuten"; +"%d second" = "%d Sekunde"; +"%d seconds" = "%d Sekunden"; +"Years" = "Jahre"; +"Months" = "Monate"; +"Days" = "Tage"; +"Hours" = "Stunden"; +"Minutes" = "Minuten"; +"Seconds" = "Sekunden"; +"Full Countdown" = "Vollständiger Countdown"; +"Blue" = "Blau"; +"Orange" = "Orange"; +"Green" = "Grün"; +"Yellow" = "Gelb"; +"Purple" = "Lila"; +"Primary" = "Primär"; +"Secondary" = "Sekundär"; +"Red" = "Rot"; +"Light Blue" = "Hellblau"; +"Pink" = "Rosa"; diff --git a/Countix/en.lproj/Localizable.strings b/Countix/en.lproj/Localizable.strings index dc871eb..f7a44fc 100644 --- a/Countix/en.lproj/Localizable.strings +++ b/Countix/en.lproj/Localizable.strings @@ -1,6 +1,7 @@ "Event Countdown" = "Event Countdown"; "Your premium timeline for the moments that matter." = "Your premium timeline for the moments that matter."; "Delete Event?" = "Delete Event?"; +"Delete Event" = "Delete Event"; "Delete" = "Delete"; "Cancel" = "Cancel"; "\"%@\" will be permanently removed." = "\"%@\" will be permanently removed."; diff --git a/Countix/es.lproj/Localizable.strings b/Countix/es.lproj/Localizable.strings new file mode 100644 index 0000000..6ce7c1e --- /dev/null +++ b/Countix/es.lproj/Localizable.strings @@ -0,0 +1,70 @@ +"Event Countdown" = "Cuenta atrás para eventos"; +"Your premium timeline for the moments that matter." = "Tu línea de tiempo premium para los momentos que importan."; +"Delete Event?" = "¿Eliminar evento?"; +"Delete Event" = "Eliminar evento"; +"Delete" = "Eliminar"; +"Cancel" = "Cancelar"; +"\"%@\" will be permanently removed." = "\"%@\" se eliminará de forma permanente."; +"%d total" = "%d en total"; +"%d today" = "%d hoy"; +"Events" = "Eventos"; +"Edit" = "Editar"; +"Passed" = "Pasado"; +"Upcoming" = "Próximo"; +"No events for %@" = "No hay eventos para %@"; +"Pick another day from the calendar or create a new event to start your countdown collection." = "Elige otro día del calendario o crea un nuevo evento para comenzar tu colección de cuentas atrás."; +"Add New Event" = "Añadir nuevo evento"; +"Today" = "Hoy"; +"Back" = "Atrás"; +"Preview" = "Vista previa"; +"New Event" = "Nuevo evento"; +"Edit Event" = "Editar evento"; +"Save" = "Guardar"; +"Update" = "Actualizar"; +"This event will be permanently removed." = "Este evento se eliminará de forma permanente."; +"Design a new countdown" = "Diseña una nueva cuenta atrás"; +"Refine your countdown" = "Refina tu cuenta atrás"; +"Set title, date, time and display mode. Then set colors and optional image in preview before saving." = "Establece el título, la fecha, la hora y el modo de visualización. Luego, elige los colores y una imagen opcional en la vista previa antes de guardar."; +"Title" = "Título"; +"Conference opening, anniversary, departure..." = "Apertura de conferencia, aniversario, salida..."; +"Event Date" = "Fecha del evento"; +"Time" = "Hora"; +"Event Time" = "Hora del evento"; +"Display Mode" = "Modo de visualización"; +"Widget Preview" = "Vista previa del widget"; +"Choose colors and optional image, then save." = "Elige los colores y una imagen opcional, luego guarda."; +"Color Options" = "Opciones de color"; +"Background Image (Optional)" = "Imagen de fondo (opcional)"; +"Choose Image" = "Elegir imagen"; +"Remove Image" = "Eliminar imagen"; +"No image selected" = "Ninguna imagen seleccionada"; +"Event passed" = "Evento pasado"; +"%d year" = "%d año"; +"%d years" = "%d años"; +"%d month" = "%d mes"; +"%d months" = "%d meses"; +"%d day" = "%d día"; +"%d days" = "%d días"; +"%d hour" = "%d hora"; +"%d hours" = "%d horas"; +"%d minute" = "%d minuto"; +"%d minutes" = "%d minutos"; +"%d second" = "%d segundo"; +"%d seconds" = "%d segundos"; +"Years" = "Años"; +"Months" = "Meses"; +"Days" = "Días"; +"Hours" = "Horas"; +"Minutes" = "Minutos"; +"Seconds" = "Segundos"; +"Full Countdown" = "Cuenta atrás completa"; +"Blue" = "Azul"; +"Orange" = "Naranja"; +"Green" = "Verde"; +"Yellow" = "Amarillo"; +"Purple" = "Púrpura"; +"Primary" = "Primario"; +"Secondary" = "Secundario"; +"Red" = "Rojo"; +"Light Blue" = "Azul claro"; +"Pink" = "Rosa"; diff --git a/Countix/fr.lproj/Localizable.strings b/Countix/fr.lproj/Localizable.strings new file mode 100644 index 0000000..4d8d37b --- /dev/null +++ b/Countix/fr.lproj/Localizable.strings @@ -0,0 +1,70 @@ +"Event Countdown" = "Compte à rebours d'événements"; +"Your premium timeline for the moments that matter." = "Votre chronologie premium pour les moments qui comptent."; +"Delete Event?" = "Supprimer l'événement ?"; +"Delete Event" = "Supprimer l'événement"; +"Delete" = "Supprimer"; +"Cancel" = "Annuler"; +"\"%@\" will be permanently removed." = "\"%@\" sera définitivement supprimé."; +"%d total" = "%d au total"; +"%d today" = "%d aujourd'hui"; +"Events" = "Événements"; +"Edit" = "Modifier"; +"Passed" = "Passé"; +"Upcoming" = "À venir"; +"No events for %@" = "Aucun événement pour %@"; +"Pick another day from the calendar or create a new event to start your countdown collection." = "Choisissez un autre jour dans le calendrier ou créez un nouvel événement pour commencer votre collection de comptes à rebours."; +"Add New Event" = "Ajouter un nouvel événement"; +"Today" = "Aujourd'hui"; +"Back" = "Retour"; +"Preview" = "Aperçu"; +"New Event" = "Nouvel événement"; +"Edit Event" = "Modifier l'événement"; +"Save" = "Enregistrer"; +"Update" = "Mettre à jour"; +"This event will be permanently removed." = "Cet événement sera définitivement supprimé."; +"Design a new countdown" = "Concevoir un nouveau compte à rebours"; +"Refine your countdown" = "Affiner votre compte à rebours"; +"Set title, date, time and display mode. Then set colors and optional image in preview before saving." = "Définissez le titre, la date, l'heure et le mode d'affichage. Ensuite, choisissez les couleurs et une image facultative dans l'aperçu avant d'enregistrer."; +"Title" = "Titre"; +"Conference opening, anniversary, departure..." = "Ouverture de conférence, anniversaire, départ..."; +"Event Date" = "Date de l'événement"; +"Time" = "Heure"; +"Event Time" = "Heure de l'événement"; +"Display Mode" = "Mode d'affichage"; +"Widget Preview" = "Aperçu du Widget"; +"Choose colors and optional image, then save." = "Choisissez les couleurs et une image facultative, puis enregistrez."; +"Color Options" = "Options de couleur"; +"Background Image (Optional)" = "Image de fond (facultatif)"; +"Choose Image" = "Choisir une image"; +"Remove Image" = "Supprimer l'image"; +"No image selected" = "Aucune image sélectionnée"; +"Event passed" = "Événement passé"; +"%d year" = "%d an"; +"%d years" = "%d ans"; +"%d month" = "%d mois"; +"%d months" = "%d mois"; +"%d day" = "%d jour"; +"%d days" = "%d jours"; +"%d hour" = "%d heure"; +"%d hours" = "%d heures"; +"%d minute" = "%d minute"; +"%d minutes" = "%d minutes"; +"%d second" = "%d seconde"; +"%d seconds" = "%d secondes"; +"Years" = "Ans"; +"Months" = "Mois"; +"Days" = "Jours"; +"Hours" = "Heures"; +"Minutes" = "Minutes"; +"Seconds" = "Secondes"; +"Full Countdown" = "Compte à rebours complet"; +"Blue" = "Bleu"; +"Orange" = "Orange"; +"Green" = "Vert"; +"Yellow" = "Jaune"; +"Purple" = "Violet"; +"Primary" = "Primaire"; +"Secondary" = "Secondaire"; +"Red" = "Rouge"; +"Light Blue" = "Bleu clair"; +"Pink" = "Rose"; diff --git a/Countix/it.lproj/Localizable.strings b/Countix/it.lproj/Localizable.strings index 0b37e8f..5b389a5 100644 --- a/Countix/it.lproj/Localizable.strings +++ b/Countix/it.lproj/Localizable.strings @@ -1,6 +1,7 @@ "Event Countdown" = "Conto alla rovescia eventi"; "Your premium timeline for the moments that matter." = "La tua timeline premium per i momenti che contano."; "Delete Event?" = "Eliminare l'evento?"; +"Delete Event" = "Elimina evento"; "Delete" = "Elimina"; "Cancel" = "Annulla"; "\"%@\" will be permanently removed." = "\"%@\" verrà rimosso definitivamente."; diff --git a/CountixWidgetExtension/CountixWidget.swift b/CountixWidgetExtension/CountixWidget.swift index 3bb7281..1a49064 100644 --- a/CountixWidgetExtension/CountixWidget.swift +++ b/CountixWidgetExtension/CountixWidget.swift @@ -74,11 +74,11 @@ struct CountixWidgetEntryView: View { ) } else { VStack(alignment: .leading, spacing: 10) { - Text("No Event Selected") + Text(NSLocalizedString("No Event Selected", comment: "")) .font(.headline.weight(.semibold)) .foregroundStyle(.white) - Text("Open Countix and create an event to show a countdown on your Home Screen.") + Text(NSLocalizedString("Open Countix and create an event to show a countdown on your Home Screen.", comment: "")) .font(.caption) .foregroundStyle(.white.opacity(0.82)) } @@ -302,8 +302,8 @@ struct CountixWidget: Widget { AppIntentConfiguration(kind: kind, intent: CountixIntent.self, provider: CountixWidgetProvider()) { entry in CountixWidgetEntryView(entry: entry) } - .configurationDisplayName("Event Countdown") - .description("Show the next Countix event on the Home Screen.") + .configurationDisplayName(NSLocalizedString("Event Countdown", comment: "")) + .description(NSLocalizedString("Show the next Countix event on the Home Screen.", comment: "")) .supportedFamilies([.systemSmall, .systemMedium]) } } diff --git a/CountixWidgetExtension/de.lproj/Localizable.strings b/CountixWidgetExtension/de.lproj/Localizable.strings new file mode 100644 index 0000000..1cd551e --- /dev/null +++ b/CountixWidgetExtension/de.lproj/Localizable.strings @@ -0,0 +1,28 @@ +"Event passed" = "Ereignis vergangen"; +"Upcoming" = "Anstehend"; +"Passed" = "Vergangen"; +"%d year" = "%d Jahr"; +"%d years" = "%d Jahre"; +"%d month" = "%d Monat"; +"%d months" = "%d Monate"; +"%d day" = "%d Tag"; +"%d days" = "%d Tage"; +"%d hour" = "%d Stunde"; +"%d hours" = "%d Stunden"; +"%d minute" = "%d Minute"; +"%d minutes" = "%d Minuten"; +"%d second" = "%d Sekunde"; +"%d seconds" = "%d Sekunden"; +"Years" = "Jahre"; +"Months" = "Monate"; +"Days" = "Tage"; +"Hours" = "Stunden"; +"Minutes" = "Minuten"; +"Seconds" = "Sekunden"; +"No Event Selected" = "Kein Ereignis ausgewählt"; +"Open Countix and create an event to show a countdown on your Home Screen." = "Öffne Countix und erstelle ein Ereignis, um einen Countdown auf deinem Home-Bildschirm anzuzeigen."; +"Event Countdown" = "Ereignis-Countdown"; +"Show the next Countix event on the Home Screen." = "Zeige das nächste Countix-Ereignis auf dem Home-Bildschirm an."; +"Select Event" = "Ereignis auswählen"; +"Select an event to display in the widget." = "Wähle ein Ereignis aus, das im Widget angezeigt werden soll."; +"Event" = "Ereignis"; diff --git a/CountixWidgetExtension/es.lproj/Localizable.strings b/CountixWidgetExtension/es.lproj/Localizable.strings new file mode 100644 index 0000000..7118bbb --- /dev/null +++ b/CountixWidgetExtension/es.lproj/Localizable.strings @@ -0,0 +1,28 @@ +"Event passed" = "Evento pasado"; +"Upcoming" = "Próximo"; +"Passed" = "Pasado"; +"%d year" = "%d año"; +"%d years" = "%d años"; +"%d month" = "%d mes"; +"%d months" = "%d meses"; +"%d day" = "%d día"; +"%d days" = "%d días"; +"%d hour" = "%d hora"; +"%d hours" = "%d horas"; +"%d minute" = "%d minuto"; +"%d minutes" = "%d minutos"; +"%d second" = "%d segundo"; +"%d seconds" = "%d segundos"; +"Years" = "Años"; +"Months" = "Meses"; +"Days" = "Días"; +"Hours" = "Horas"; +"Minutes" = "Minutos"; +"Seconds" = "Segundos"; +"No Event Selected" = "Ningún evento seleccionado"; +"Open Countix and create an event to show a countdown on your Home Screen." = "Abre Countix y crea un evento para mostrar una cuenta atrás en tu pantalla de inicio."; +"Event Countdown" = "Cuenta atrás para eventos"; +"Show the next Countix event on the Home Screen." = "Muestra el próximo evento de Countix en la pantalla de inicio."; +"Select Event" = "Seleccionar evento"; +"Select an event to display in the widget." = "Selecciona un evento para mostrar en el widget."; +"Event" = "Evento"; diff --git a/CountixWidgetExtension/fr.lproj/Localizable.strings b/CountixWidgetExtension/fr.lproj/Localizable.strings new file mode 100644 index 0000000..3a80c17 --- /dev/null +++ b/CountixWidgetExtension/fr.lproj/Localizable.strings @@ -0,0 +1,28 @@ +"Event passed" = "Événement passé"; +"Upcoming" = "À venir"; +"Passed" = "Passé"; +"%d year" = "%d an"; +"%d years" = "%d ans"; +"%d month" = "%d mois"; +"%d months" = "%d mois"; +"%d day" = "%d jour"; +"%d days" = "%d jours"; +"%d hour" = "%d heure"; +"%d hours" = "%d heures"; +"%d minute" = "%d minute"; +"%d minutes" = "%d minutes"; +"%d second" = "%d seconde"; +"%d seconds" = "%d secondes"; +"Years" = "Ans"; +"Months" = "Mois"; +"Days" = "Jours"; +"Hours" = "Heures"; +"Minutes" = "Minutes"; +"Seconds" = "Secondes"; +"No Event Selected" = "Aucun événement sélectionné"; +"Open Countix and create an event to show a countdown on your Home Screen." = "Ouvrez Countix et créez un événement pour afficher un compte à rebours sur votre écran d'accueil."; +"Event Countdown" = "Compte à rebours d'événements"; +"Show the next Countix event on the Home Screen." = "Affichez le prochain événement Countix sur l'écran d'accueil."; +"Select Event" = "Sélectionner un événement"; +"Select an event to display in the widget." = "Sélectionnez un événement à afficher dans le widget."; +"Event" = "Événement";