diff --git a/LOCALIZATION.md b/LOCALIZATION.md new file mode 100644 index 00000000..ece36e1d --- /dev/null +++ b/LOCALIZATION.md @@ -0,0 +1,19 @@ +Localization files are in Localization/CODE.lproj/Localizable.strings +e.g. +Localization/es-419/Localizable.strings +Localization/fr/Localizable.strings + +The format is: +The string found in the code (English) += +The string to localize to +; + +e.g.: +"Yes" = "Oui"; + +To see if a file has any non-translated items +Run this to find all the strings that are the same on both sides of the equals sign: +`cut -f1 -d\= Localizable.strings > first && cut -f2 -d\= Localizable.strings | sed 's/.$//' > last && diff -wy first last | grep -v \| && rm first last` + +This may give some false positives, e.g. in French, "Photo" and "Date" are the same in English and French. diff --git a/Localization/es-419.lproj/Localizable.strings b/Localization/es-419.lproj/Localizable.strings index 7cee2fff..c0046ade 100644 --- a/Localization/es-419.lproj/Localizable.strings +++ b/Localization/es-419.lproj/Localizable.strings @@ -4,9 +4,8 @@ "Are you sure you want to replace captain?" = "Are you sure you want to replace captain?"; "Board Vessel" = "Board Vessel"; "Cancel" = "Cancel"; -"Cannot access reports" = "Cannot access reports"; "Captain" = "Captain"; -"Change status to \"On Duty\"?" = "Change status to \"On Duty\"?"; +"Change status to \"At Sea\"?" = "Change status to \"At Sea\"?"; "Continue editing" = "Continue editing"; "Continue with empty fields?" = "Continue with empty fields?"; "Date: " = "Date: "; @@ -22,7 +21,7 @@ "No Results for “%@“" = "No Results for “%@“"; "Ok" = "Ok"; "Permit #" = "Permit #"; -"Please, input name or licence" = "Please, input name or licence"; +"Please, input name or license" = "Please, input name or license"; "Prefill" = "Prefill"; "Prefill Vessel Information From Previous Boarding?" = "Prefill Vessel Information From Previous Boarding?"; "Previous Boardings" = "Previous Boardings"; @@ -35,42 +34,21 @@ "Vessel: " = "Vessel: "; "Yes" = "Yes"; "You'll still be able to edit fields" = "You'll still be able to edit fields"; -"You're currently off duty" = "You're currently off duty"; -"Fishing" = "Fishing"; -"Transiting" = "Transiting"; -"Offloading" = "Offloading"; -"Other" = "Other" ; +"You're currently on land" = "You're currently on land"; +"Other" = "Other"; "Search Crew" = "Search Crew"; "Electronic Monitoring System" = "Electronic Monitoring System"; "Search EMS's" = "Search EMS's"; -"Tuna" = "Tuna"; -"Groundfish" = "Groundfish"; -"Bluefish" = "Bluefish"; -"Trawl" = "Trawl"; -"Long-line" = "Long-line"; -"Nets" = "Nets"; "Flag State" = "Flag State"; "Search Flag State" = "Search Flag State"; "Species" = "Species"; "Search Species" = "Search Species"; -"Tuna" = "Tuna"; -"Swordfish" = "Swordfish"; -"Clownfish" = "Clownfish"; -"Fish and Game code 7850(a)" = "Fish and Game code 7850(a)"; -"No commercial license" = "No commercial license"; -"Fish and Game code 7145(a)" = "Fish and Game code 7145(a)"; -"Fishing without a license" = "Fishing without a license"; -"Take/Possess undersize Dungeness crab" = "Take/Possess undersize Dungeness crab"; -"Take in violation of Federal Regulations" = "Take in violation of Federal Regulations"; -"California" = "California"; -"Use barbed hooks for Salmon" = "Use barbed hooks for Salmon"; "Crew Member" = "Crew Member"; "Captain's Name" = "Captain's Name"; "Crew Member Name" = "Crew Member Name"; "License Number" = "License Number"; "Remove Note" = "Remove Note"; "Add Note" = "Add Note"; -"Risk" = "Risk"; "Reason for amber" = "Reason for amber"; "Last Delivery" = "Last Delivery"; "Date" = "Date"; @@ -103,7 +81,6 @@ "Fishery" = "Fishery"; "Gear" = "Gear"; "Note" = "Note"; -"Boarding" = "Boarding"; "Weight" = "Weight"; "Count" = "Count"; "Latitude" = "Latitude"; @@ -114,7 +91,6 @@ "Search" = "Search"; "Search Vessels" = "Search Vessels"; "Back" = "Back"; -"Cancel" = "Cancel"; "Last Boarding" = "Last Boarding"; "Crew Members" = "Crew Members"; "Boardings" = "Boardings"; @@ -126,8 +102,13 @@ "Date & Time" = "Date & Time"; "Time" = "Time"; "Skip the following sections?" = "Skip the following sections?"; -"On Duty" = "On Duty"; -"Off Duty" = "Off Duty"; +"At Sea" = "At Sea"; +"On Land" = "On Land"; +"Patrol Summary" = "Patrol Summary"; +"Continue" = "Continue"; +"Time At Sea" = "Time At Sea"; +"Start Time" = "Start Time"; +"End Time" = "End Time"; "Find records" = "Find records"; "Red" = "Red"; "Amber" = "Amber"; @@ -148,7 +129,7 @@ "Tonnes" = "Tonnes"; "Weight & Count" = "Weight & Count"; "Search Activities" = "Search Activities"; -"Search Fishery" = "Search Fishery"; +"Search Fisheries" = "Search Fisheries"; "Search Gear" = "Search Gear" ; "Gear Type" = "Gear Type"; "Search Violations" = "Search Violations"; @@ -160,16 +141,16 @@ "Email/Username" = "Email/Username"; "Password" = "Password"; "Cancel boarding?" = "Cancel boarding?"; -"This boarding will not be saved" = "This boarding will not be saved"; +"This boarding will not be saved." = "This boarding will not be saved."; "Cancel Boarding" = "Cancel Boarding"; "Log In" = "Log In"; "Name" = "Name"; "Type" = "Type"; "You sure you want to logout?" = "You sure you want to logout?"; "You can only log back in once you have cellular service or are connected to WIFI with internet" = "You can only log back in once you have cellular service or are connected to WIFI with internet"; -"Are you still on duty?" = "Are you still on duty?"; +"Are you still at sea?" = "Are you still at sea?"; "It has been %@ hours after closing the application" = "It has been %@ hours after closing the application"; -"It has been %@ hours after starting of your duty." = "It has been %@ hours after starting of your duty."; +"It has been %@ hours since you went to sea." = "It has been %@ hours since you went to sea."; "Camera" = "Camera"; "Photo Library" = "Photo Library"; "Change profile picture" = "Change profile picture"; diff --git a/Localization/fr.lproj/Localizable.strings b/Localization/fr.lproj/Localizable.strings index 7cee2fff..57945bbc 100644 --- a/Localization/fr.lproj/Localizable.strings +++ b/Localization/fr.lproj/Localizable.strings @@ -1,177 +1,158 @@ -" Search" = " Search"; -"Add Report" = "Add Report"; -"Are you sure you want to remove this crew member?" = "Are you sure you want to remove this crew member?"; -"Are you sure you want to replace captain?" = "Are you sure you want to replace captain?"; -"Board Vessel" = "Board Vessel"; -"Cancel" = "Cancel"; -"Cannot access reports" = "Cannot access reports"; -"Captain" = "Captain"; -"Change status to \"On Duty\"?" = "Change status to \"On Duty\"?"; -"Continue editing" = "Continue editing"; -"Continue with empty fields?" = "Continue with empty fields?"; +" Search" = " Recherche"; +"Add Report" = "Ajouter un rapport"; +"Are you sure you want to remove this crew member?" = "Confirmez que vous voulez supprimer ce membre d'équipage"; +"Are you sure you want to replace captain?" = "Confirmez que vous voulez changer de capitaine"; +"Board Vessel" = "Inspecter Vaisseau"; +"Cancel" = "Annuler"; +"Captain" = "Capitaine"; +"Change status to \"At Sea\"?" = "Changer le statut"; +"Continue editing" = "Continuer la modification"; +"Continue with empty fields?" = "Continuer avec un champs vide?"; "Date: " = "Date: "; -"Empty fields" = "Empty fields"; -"Login Error" = "Login Error"; -"Forgot Password?" = "Forgot Password?"; -"Keep Editing" = "Keep Editing"; -"Loading..." = "Loading..."; -"Log Out" = "Log Out"; -"Login" = "Login"; -"Invalid email or password" = "Invalid email or password"; -"No" = "No"; -"No Results for “%@“" = "No Results for “%@“"; -"Ok" = "Ok"; -"Permit #" = "Permit #"; -"Please, input name or licence" = "Please, input name or licence"; -"Prefill" = "Prefill"; -"Prefill Vessel Information From Previous Boarding?" = "Prefill Vessel Information From Previous Boarding?"; -"Previous Boardings" = "Previous Boardings"; -"Recently Boarded" = "Recently Boarded"; -"Refresh" = "Refresh"; -"Skip" = "Skip"; -"Submit" = "Submit"; -"This crew member contained in violation(s)" = "This crew member contained in violation(s)"; -"This report already contains a captain" = "This report already contains a captain"; -"Vessel: " = "Vessel: "; -"Yes" = "Yes"; -"You'll still be able to edit fields" = "You'll still be able to edit fields"; -"You're currently off duty" = "You're currently off duty"; -"Fishing" = "Fishing"; -"Transiting" = "Transiting"; -"Offloading" = "Offloading"; -"Other" = "Other" ; -"Search Crew" = "Search Crew"; -"Electronic Monitoring System" = "Electronic Monitoring System"; -"Search EMS's" = "Search EMS's"; -"Tuna" = "Tuna"; -"Groundfish" = "Groundfish"; -"Bluefish" = "Bluefish"; -"Trawl" = "Trawl"; -"Long-line" = "Long-line"; -"Nets" = "Nets"; -"Flag State" = "Flag State"; -"Search Flag State" = "Search Flag State"; -"Species" = "Species"; -"Search Species" = "Search Species"; -"Tuna" = "Tuna"; -"Swordfish" = "Swordfish"; -"Clownfish" = "Clownfish"; -"Fish and Game code 7850(a)" = "Fish and Game code 7850(a)"; -"No commercial license" = "No commercial license"; -"Fish and Game code 7145(a)" = "Fish and Game code 7145(a)"; -"Fishing without a license" = "Fishing without a license"; -"Take/Possess undersize Dungeness crab" = "Take/Possess undersize Dungeness crab"; -"Take in violation of Federal Regulations" = "Take in violation of Federal Regulations"; -"California" = "California"; -"Use barbed hooks for Salmon" = "Use barbed hooks for Salmon"; -"Crew Member" = "Crew Member"; -"Captain's Name" = "Captain's Name"; -"Crew Member Name" = "Crew Member Name"; -"License Number" = "License Number"; -"Remove Note" = "Remove Note"; -"Add Note" = "Add Note"; -"Risk" = "Risk"; -"Reason for amber" = "Reason for amber"; -"Last Delivery" = "Last Delivery"; +"Empty fields" = "Champ vide"; +"Login Error" = "Erreur de connexion"; +"Forgot Password?" = "Mot de passe oublié?"; +"Keep Editing" = "Continuer de modifier"; +"Loading..." = "Chargement en cours..."; +"Log Out" = "Déconnexion"; +"Login" = "Connexion"; +"Invalid email or password" = "Non valide"; +"No" = "Non"; +"No Results for “%@“" = "Pas de résultats “%@“"; +"Ok" = "OK"; +"Permit #" = "Permis n°"; +"Please, input name or license" = "Ajouter un nom ou numéro de permis"; +"Prefill" = "Pré-remplir"; +"Prefill Vessel Information From Previous Boarding?" = "Pré-remplir la rubrique à partir de la dernière inspection? "; +"Previous Boardings" = "Inspections précédentes"; +"Recently Boarded" = "Récemment inspectés"; +"Refresh" = "Actualiser"; +"Skip" = "Sauter"; +"Submit" = "Enregistrer"; +"This crew member contained in violation(s)" = "Ce membre d’équipage est déjà associé à une infraction"; +"This report already contains a captain" = "Ce rapport comprend déjà un capitaine"; +"Vessel: " = "Vaisseau: "; +"Yes" = "Oui"; +"You'll still be able to edit fields" = "Vous pourrez toujours modifier les détails"; +"You're currently on land" = "Vous êtes à terre"; +"Other" = "Autres" ; +"Search Crew" = "Rechercher un équipage"; +"Electronic Monitoring System" = "Système de surveillance électronique"; +"Search EMS's" = "Rechercher dans un EMS"; +"Flag State" = "Etat du Pavillon"; +"Search Flag State" = "Rechercher l'Etat du Pavillon"; +"Species" = "Espèces"; +"Search Species" = "Rechercher"; +"Crew Member" = "Membre d'équipage"; +"Captain's Name" = "Nom du capitaine"; +"Crew Member Name" = "Nom du membre d'équipage"; +"License Number" = "Numéro de license"; +"Remove Note" = "Enlever la remarque"; +"Add Note" = "Ajouter une remarque"; +"Reason for amber" = "Explication"; +"Last Delivery" = "Dernière livraison"; "Date" = "Date"; -"Select" = "Select"; -"Business" = "Business"; -"Location" = "Location"; -"EMS Type" = "EMS Type"; +"Select" = "Sélectionner"; +"Business" = "Entreprise"; +"Location" = "Localisation"; +"EMS Type" = "Type de EMS"; "Description" = "Description"; -"Registry Number" = "Registry Number"; -"Remove EMS" = "Remove EMS"; -"Vessel Information" = "Vessel Information"; -"Vessel Name" = "Vessel Name"; -"Permit Number" = "Permit Number"; -"Home Port" = "Home Port"; -"Add Electronic Monitoring System" = "Add Electronic Monitoring System" ; -"Add" = "Add"; -"Violation" = "Violation"; -"Result of Violation" = "Result of Violation"; -"Issued to" = "Issued to"; -"Seizure" = "Seizure"; -"Add Violation" = "Add Violation"; -"Basic information" = "Basic information"; -"Vessel" = "Vessel"; -"Crew" = "Crew"; -"Activity" = "Activity"; -"Catch" = "Catch"; -"Violations" = "Violations"; -"Risk" = "Risk"; -"Notes" = "Notes"; -"Fishery" = "Fishery"; -"Gear" = "Gear"; -"Note" = "Note"; -"Boarding" = "Boarding"; -"Weight" = "Weight"; -"Count" = "Count"; +"Registry Number" = "Numéro de registre"; +"Remove EMS" = "Enlever un EMS"; +"Vessel Information" = "Détails du vaisseau"; +"Vessel Name" = "Nom du vaisseau"; +"Permit Number" = "Numéro de permis"; +"Home Port" = "Port de rattachement"; +"Add Electronic Monitoring System" = "Ajouter un système de surveillance électronique"; +"Add" = "Ajouter"; +"Violation" = "Infraction"; +"Result of Violation" = "Conséquence de l'infraction"; +"Issued to" = "Délivré à"; +"Seizure" = "Saisie"; +"Add Violation" = "Ajouter une infraction"; +"Basic information" = "Données de base"; +"Vessel" = "Vaisseau"; +"Crew" = "Equipage"; +"Activity" = "Activité"; +"Catch" = "Prise"; +"Violations" = "Infractions"; +"Risk" = "Risque"; +"Notes" = "Remarques"; +"Fishery" = "Pêcherie"; +"Gear" = "Equipement"; +"Note" = "Remarque"; +"Weight" = "Poids"; +"Count" = "Nombre"; "Latitude" = "Latitude"; "Longitude" = "Longitude"; -"Add New Vessel" = "Add New Vessel"; -"Find Records" = "Find Records"; -"New Boarding" = "New Boarding"; -"Search" = "Search"; -"Search Vessels" = "Search Vessels"; -"Back" = "Back"; -"Cancel" = "Cancel"; -"Last Boarding" = "Last Boarding"; -"Crew Members" = "Crew Members"; -"Boardings" = "Boardings"; -"Boarding" = "Boarding"; -"Warnings" = "Warnings"; -"Warning" = "Warning"; -"Citations" = "Citations"; -"Citation" = "Citation"; -"Date & Time" = "Date & Time"; -"Time" = "Time"; -"Skip the following sections?" = "Skip the following sections?"; -"On Duty" = "On Duty"; -"Off Duty" = "Off Duty"; -"Find records" = "Find records"; -"Red" = "Red"; -"Amber" = "Amber"; -"Green" = "Green"; -"Continue to" = "Continue to"; -"0 Violations" = "0 Violations"; -"New Business" = "New Business"; -"Choose Business" = "Choose Business"; -"Add Crew Member" = "Add Crew Member"; -"You left the following sections blank" = "You left the following sections blank"; -"Amount" = "Amount"; -"Add Catch" = "Add Catch"; -"Remove Catch" = "Remove Catch"; -"Unit" = "Unit"; -"lbs" = "lbs"; -"kg" = "kg"; -"Tons" = "Tons"; -"Tonnes" = "Tonnes"; -"Weight & Count" = "Weight & Count"; -"Search Activities" = "Search Activities"; -"Search Fishery" = "Search Fishery"; -"Search Gear" = "Search Gear" ; -"Gear Type" = "Gear Type"; -"Search Violations" = "Search Violations"; +"Add New Vessel" = "Ajouter un nouveau vaisseau"; +"Find Records" = "Rechercher le registre"; +"New Boarding" = "Nouvelle inspection"; +"Search" = "Recherche"; +"Search Vessels" = "Recherche de vaisseau"; +"Back" = "Retour"; +"Last Boarding" = "Dernière inspection"; +"Crew Members" = "Membres d'équipage"; +"Boardings" = "Inspections"; +"Boarding" = "Inspection"; +"Warnings" = "Avertissements"; +"Warning" = "Avertissement"; +"Citations" = "Procès-verbaux"; +"Citation" = "Procès-verbal"; +"Date & Time" = "Date et heure"; +"Time" = "Heure"; +"Skip the following sections?" = "Sauter les sections suivantes?"; +"At Sea" = "En mer"; +"On Land" = "À terre"; +"Patrol Summary" = "Résumé des inspections"; +"Continue" = "Continuer"; +"Time At Sea" = "Temps écoulé en mer"; +"Start Time" = "Début"; +"End Time" = "Fin"; +"Find records" = "Recherche le registre"; +"Red" = "Rouge"; +"Amber" = "Ambre"; +"Green" = "Vert"; +"Continue to" = "Continuer"; +"0 Violations" = "0 Infractions"; +"New Business" = "Nouvelle entreprise"; +"Choose Business" = "Choisir l'entreprise"; +"Add Crew Member" = "Ajouter un membre d'équipage"; +"You left the following sections blank" = "Vous avez laissé ces champs vides"; +"Amount" = "Quantités"; +"Add Catch" = "Ajouter une prise"; +"Remove Catch" = "Supprimer la prise"; +"Unit" = "Unité"; +"lbs" = "livres"; +"kg" = "kilogrammes"; +"Tons" = "tonnes"; +"Tonnes" = "tonnes métriques"; +"Weight & Count" = "Poids et nombre"; +"Search Activities" = "Rechercher dans les actvités"; +"Search Fisheries" = "Rechercher"; +"Search Gear" = "Rechercher"; +"Gear Type" = "Type"; +"Search Violations" = "Rechercher une infraction"; "Photo" = "Photo"; "Photos:" = "Photos:"; -"Remove Violation" = "Remove Violation"; -"Remove" = "Remove"; -"Are you sure you want to submit the boarding?" = "Are you sure you want to submit the boarding?"; -"Email/Username" = "Email/Username"; -"Password" = "Password"; -"Cancel boarding?" = "Cancel boarding?"; -"This boarding will not be saved" = "This boarding will not be saved"; -"Cancel Boarding" = "Cancel Boarding"; -"Log In" = "Log In"; -"Name" = "Name"; +"Remove Violation" = "Supprimer une infraction"; +"Remove" = "Supprimer"; +"Are you sure you want to submit the boarding?" = "Confirmez l'enregistrement"; +"Email/Username" = "Email/Identifiant"; +"Password" = "Mot de passe"; +"Cancel boarding?" = "Annuler l'inspection?"; +"This boarding will not be saved." = "Cette inspection ne sera pas sauvegardée."; +"Cancel Boarding" = "Annuler l'inspection"; +"Log In" = "Connexion"; +"Name" = "Nom"; "Type" = "Type"; -"You sure you want to logout?" = "You sure you want to logout?"; -"You can only log back in once you have cellular service or are connected to WIFI with internet" = "You can only log back in once you have cellular service or are connected to WIFI with internet"; -"Are you still on duty?" = "Are you still on duty?"; -"It has been %@ hours after closing the application" = "It has been %@ hours after closing the application"; -"It has been %@ hours after starting of your duty." = "It has been %@ hours after starting of your duty."; -"Camera" = "Camera"; -"Photo Library" = "Photo Library"; -"Change profile picture" = "Change profile picture"; -"Access your login and password on the keychain" = "Access your login and password on the keychain"; -"Boarding Submitted!" = "Boarding Submitted!"; +"You sure you want to logout?" = "Confirmez que vous voulez vous déconnecter"; +"You can only log back in once you have cellular service or are connected to WIFI with internet" = "Vous ne pourrez vous reconnecter que si vous disposez d'un service mobile ou d'unne connexion wifi"; +"Are you still at sea?" = "Etes-vous encore en mer?"; +"It has been %@ hours after closing the application" = "%@ heures se sont écoulées depuis la fermeture de l'application."; +"It has been %@ hours since you went to sea." = "%@ heures se sont écoulées depuis votre départ en mer"; +"Camera" = "Prendre une photo"; +"Photo Library" = "Choisir une photo"; +"Change profile picture" = "Changer de photo de profil"; +"Access your login and password on the keychain" = "Accéder à l'identifiant et mot de passe à l'aide du trousseau iCloud"; +"Boarding Submitted!" = "Inspection enregistrée!"; diff --git a/Localization/uk.lproj/Localizable.strings b/Localization/uk.lproj/Localizable.strings index 4a24c94b..825405df 100644 --- a/Localization/uk.lproj/Localizable.strings +++ b/Localization/uk.lproj/Localizable.strings @@ -12,9 +12,8 @@ "Are you sure you want to replace captain?" = "Ви впевнені, що Ви хочете замінити капітана?"; "Board Vessel" = "Прибути на судно"; "Cancel" = "Скасувати"; -"Cannot access reports" = "Неможливо отримати доступ до звітів"; "Captain" = "Капітан"; -"Change status to \"On Duty\"?" = "Зміна статусу на \"на варті\"?"; +"Change status to \"At Sea\"?" = "Зміна статусу на \"на варті\"?"; "Continue editing" = "Продовжити редагування"; "Continue with empty fields?" = "Продовжити з порожніми полями?"; "Date: " = "Дата:"; @@ -30,7 +29,7 @@ "No Results for “%@“" = "Немає результатів для «%@»"; "Ok" = "Добре"; "Permit #" = "Дозвіл #"; -"Please, input name or licence" = "Будь ласка, ім'я входу або ліцензії"; +"Please, input name or license" = "Будь ласка, ім'я входу або ліцензії"; "Prefill" = "Попереднє заповнення"; "Prefill Vessel Information From Previous Boarding?" = "Заповнити судову інформацію від попередньої посадки?"; "Previous Boardings" = "Попередні прибуття"; @@ -43,42 +42,17 @@ "Vessel: " = "Судно: "; "Yes" = "Так"; "You'll still be able to edit fields" = "Ви все ще будете в змозі редагувати поля"; -"You're currently off duty" = "Ви в даний час не на службi"; -"Fishing" = "Рибальство"; -"Transiting" = "Транзит"; -"Offloading" = "Розвантаження"; +"You're currently on land" = "Ви в даний час не на службi"; "Other" = "Інший"; "Search Crew" = "Пошук екіпажа"; "Electronic Monitoring System" = "Електронна мониторингова система"; "Search EMS's" = "Пошук ЕМС"; -"Tuna" = "Тунець"; -"Groundfish" = "Камбала"; -"Bluefish" = "Блакитна риба"; -"Trawl" = "Траловий лов"; -"Long-line" = "Ярусний лов"; -"Nets" = "Ciточний лов"; -"Flag State" = "Держава прапора"; -"Search Flag State" = "Пошук Держави Прапора"; -"Species" = "Вид"; -"Search Species" = "Пошук по виду"; -"Tuna" = "Тунець"; -"Swordfish" = "Риба-меч"; -"Clownfish" = "Риба-клоун"; -"Fish and Game code 7850(a)" = "Риба і дичина, код 7850 (а)"; -"No commercial license" = "Немає Комерційної Ліцензії"; -"Fish and Game code 7145(a)" = "Риба і дичина код 7145 (а)"; -"Fishing without a license" = "Риболовля без ліцензії"; -"Take/Possess undersize Dungeness crab" = "Ловля/зберігання підрозмірних крабів Магістр"; -"Take in violation of Federal Regulations" = "Порушення федеральних правил"; -"California" = "Каліфорнія"; -"Use barbed hooks for Salmon" = "Використовуйє колючі гачки для лосося"; "Crew Member" = "Член команди"; "Captain's Name" = "Ім'я капітана"; "Crew Member Name" = "Ім'я Члену Екіпажу"; "License Number" = "Номер ліцензії"; "Remove Note" = "Видалити Примітку"; "Add Note" = "Додати Примітку"; -"Risk" = "Ризик"; "Reason for amber" = "Причина для бурштинового"; "Last Delivery" = "Остання поставка"; "Date" = "Дата"; @@ -122,7 +96,6 @@ "Search" = "Пошук"; "Search Vessels" = "Пошук судів"; "Back" = "Назад"; -"Cancel" = "Скасувати"; "Last Boarding" = "Останнє Прибуття"; "Crew Members" = "Члени екіпажу"; "Boardings" = "Висадкок"; @@ -134,8 +107,13 @@ "Date & Time" = "Дата та час"; "Time" = "Час"; "Skip the following sections?" = "Пропустити наступні розділи?"; -"On Duty" = "На Варті"; -"Off Duty" = "Вільно"; +"At Sea" = "На Варті"; +"On Land" = "Вільно"; +"Patrol Summary" = "Patrol Summary"; +"Continue" = "Continue"; +"Time At Sea" = "Time At Sea"; +"Start Time" = "Start Time"; +"End Time" = "End Time"; "Find records" = "Знайти звіти"; "Red" = "Червоний"; "Amber" = "Бурштиновий"; @@ -156,7 +134,7 @@ "Tonnes" = "Метричні Тонни"; "Weight & Count" = "Вага і Кількість"; "Search Activities" = "Пошук Діяльності"; -"Search Fishery" = "Пошук Рибальства"; +"Search Fisheries" = "Пошук Рибальства"; "Search Gear" = "Пошук Спорядження"; "Gear Type" = "Тип Спорядження"; "Search Violations" = "Пошук Порушеннь"; @@ -168,16 +146,16 @@ "Email/Username" = "Е-Мейл/Ім'я користувача"; "Password" = "Пароль"; "Cancel boarding?" = "Скасувати прибуття?"; -"This boarding will not be saved" = "Це прибуття не буде збережено"; +"This boarding will not be saved." = "Це прибуття не буде збережено"; "Cancel Boarding" = "Повернутися"; "Log In" = "Увійти"; "Name" = "Ім'я"; "Type" = "Тип"; "You sure you want to logout?" = "Ви впевнені що хочете вийти?"; "You can only log back in once you have cellular service or are connected to WIFI with internet" = "Ви зможете зайти тільки коли у вас з\'явиться інтернет"; -"Are you still on duty?" = "Ви все ще на чергуванні?"; +"Are you still at sea?" = "Ви все ще на чергуванні?"; "It has been %@ hours after closing the application" = "Пройшло %@ години після зачинення додатку"; -"It has been %@ hours after starting of your duty." = "Пройшло %@ годин після початку чергування"; +"It has been %@ hours since you went to sea." = "Пройшло %@ годин після початку чергування"; "Camera" = "Камера"; "Photo Library" = "Бібліотека Фотографій"; "Change profile picture" = "Змінити фотографію"; diff --git a/O-FISHTests/CrewMemberViewModelTests.swift b/O-FISHTests/CrewMemberViewModelTests.swift index e0b65acf..bd23b25f 100644 --- a/O-FISHTests/CrewMemberViewModelTests.swift +++ b/O-FISHTests/CrewMemberViewModelTests.swift @@ -97,7 +97,7 @@ class CrewMemberViewModelTests: XCTestCase { sut.license = "Licence number" //then - XCTAssertTrue(sut.isComplete, "If name and licence is filled then crew should be complete") + XCTAssertTrue(sut.isComplete, "If name and license is filled then crew should be complete") } func testIsNotComplete() { diff --git a/O-FISHTests/EMSViewModelTests.swift b/O-FISHTests/EMSViewModelTests.swift index cd1c055a..c5435622 100644 --- a/O-FISHTests/EMSViewModelTests.swift +++ b/O-FISHTests/EMSViewModelTests.swift @@ -71,7 +71,7 @@ class EMSViewModelTests: XCTestCase { sut.registryNumber = "12345789" //then - XCTAssertTrue(sut.isComplete, "If name and licence is filled then crew should be complete") + XCTAssertTrue(sut.isComplete, "If name and license is filled then crew should be complete") // when sut.emsType = "Other" diff --git a/o-fish-ios/Helpers/NotificationManager.swift b/o-fish-ios/Helpers/NotificationManager.swift index 41fecd11..98c90b88 100644 --- a/o-fish-ios/Helpers/NotificationManager.swift +++ b/o-fish-ios/Helpers/NotificationManager.swift @@ -42,7 +42,7 @@ class NotificationManager { } func requestNotificationAfterStartDuty(hours: Int) { - let localizedString = NSLocalizedString("It has been %@ hours after starting of your duty.", comment: "") + let localizedString = NSLocalizedString("It has been %@ hours since you went to sea.", comment: "") let title = String(format: localizedString, String(hours)) createNotification(title: title, hours: hours) } @@ -56,7 +56,7 @@ class NotificationManager { let seconds = TimeInterval(hours * secondsInHour) let content = UNMutableNotificationContent() content.title = title - content.subtitle = NSLocalizedString("Are you still on duty?", comment: "") + content.subtitle = NSLocalizedString("Are you still at sea?", comment: "") content.sound = UNNotificationSound.default let trigger = UNTimeIntervalNotificationTrigger(timeInterval: seconds, repeats: false) diff --git a/o-fish-ios/ViewModel/User/DutyChangeViewModel.swift b/o-fish-ios/ViewModel/User/DutyChangeViewModel.swift index f925a19e..7927444b 100644 --- a/o-fish-ios/ViewModel/User/DutyChangeViewModel.swift +++ b/o-fish-ios/ViewModel/User/DutyChangeViewModel.swift @@ -17,8 +17,8 @@ class DutyChangeViewModel: ObservableObject { enum Status: String { case notSelected = "" - case onDuty = "On Duty" - case offDuty = "Off Duty" + case onDuty = "At Sea" + case offDuty = "On Land" } private var dutyChange: DutyChange? diff --git a/o-fish-ios/Views/Components/BoardVesselButton.swift b/o-fish-ios/Views/Components/BoardVesselButton.swift index bcde5b7c..4003b2c4 100644 --- a/o-fish-ios/Views/Components/BoardVesselButton.swift +++ b/o-fish-ios/Views/Components/BoardVesselButton.swift @@ -40,8 +40,8 @@ struct BoardVesselButton: View { .padding(.bottom, onHeader ? Dimensions.mainSpacing : Dimensions.bottomPadding) .padding(.horizontal, Dimensions.padding) .alert(isPresented: $showingGoOnDutyAlert) { - Alert(title: Text("You're currently off duty"), - message: Text("Change status to \"On Duty\"?"), + Alert(title: Text("You're currently on land"), + message: Text("Change status to \"At Sea\"?"), primaryButton: .default(Text("Yes"), action: { self.onDuty.onDuty = true self.showingReportRootView = true diff --git a/o-fish-ios/Views/PatrolBoat/PatrolBoatView.swift b/o-fish-ios/Views/PatrolBoat/PatrolBoatView.swift index f311900b..fd8ba191 100644 --- a/o-fish-ios/Views/PatrolBoat/PatrolBoatView.swift +++ b/o-fish-ios/Views/PatrolBoat/PatrolBoatView.swift @@ -109,8 +109,8 @@ struct PatrolBoatView: View { trailing: TextToggle(isOn: dutyBinding, titleLabel: "", - onLabel: "On Duty", - offLabel: "Off Duty") + onLabel: "At Sea", + offLabel: "On Land") ) .navigationBarTitle(Text(""), displayMode: .inline) .navigationBarBackButtonHidden(true) @@ -141,8 +141,8 @@ struct PatrolBoatView: View { } private func showGoOnDutyAlert() { - showingAlertItem = AlertItem(title: "You're currently off duty", - message: "Change status to \"On Duty\"?", + showingAlertItem = AlertItem(title: "You're currently on land", + message: "Change status to \"At Sea\"?", primaryButton: .default(Text("Yes"), action: goOnDutyAlertClicked), secondaryButton: .cancel()) } diff --git a/o-fish-ios/Views/PatrolBoat/PatrolSummary/PatrolSummaryView.swift b/o-fish-ios/Views/PatrolBoat/PatrolSummary/PatrolSummaryView.swift index 9c8dd0de..2094c71d 100644 --- a/o-fish-ios/Views/PatrolBoat/PatrolSummary/PatrolSummaryView.swift +++ b/o-fish-ios/Views/PatrolBoat/PatrolSummary/PatrolSummaryView.swift @@ -33,7 +33,7 @@ struct PatrolSummaryView: View { VStack(spacing: .zero) { ScrollView { wrappedShadowView { - StartStopDatePicker(title: "Time On Duty", + StartStopDatePicker(title: "Time At Sea", startDate: $startDuty.date, endDate: $plannedOffDutyTime) } @@ -58,7 +58,7 @@ struct PatrolSummaryView: View { } VStack(spacing: .zero) { - CallToActionButton(title: "Go Off Duty", + CallToActionButton(title: "Continue", action: self.goOffDutyClicked) .padding(.top, Dimensions.buttonTopPadding) .padding(.bottom, Dimensions.buttonBottomPadding) @@ -83,7 +83,7 @@ struct PatrolSummaryView: View { .navigationBarItems(leading: Button(action: { self.presentationMode.wrappedValue.dismiss() }) { Text("Cancel") }, trailing: Button(action: self.goOffDutyClicked) { - Text("Go Off Duty") + Text("Continue") }) } diff --git a/o-fish-ios/Views/PatrolBoat/TextToggle.swift b/o-fish-ios/Views/PatrolBoat/TextToggle.swift index d129ce8b..091c626d 100644 --- a/o-fish-ios/Views/PatrolBoat/TextToggle.swift +++ b/o-fish-ios/Views/PatrolBoat/TextToggle.swift @@ -30,13 +30,13 @@ struct TextToggle_Previews: PreviewProvider { VStack { TextToggle(isOn: .constant(false), titleLabel: "Test", - onLabel: "On Duty", - offLabel: "Off Duty") + onLabel: "At Sea", + offLabel: "On Land") Divider() TextToggle(isOn: .constant(true), titleLabel: "Test", - onLabel: "On Duty", - offLabel: "Off Duty") + onLabel: "At Sea", + offLabel: "On Land") } } diff --git a/o-fish-ios/Views/ReportFlow/Violations/ViolationCreateCrewMemberView.swift b/o-fish-ios/Views/ReportFlow/Violations/ViolationCreateCrewMemberView.swift index e9908d20..7caa35de 100644 --- a/o-fish-ios/Views/ReportFlow/Violations/ViolationCreateCrewMemberView.swift +++ b/o-fish-ios/Views/ReportFlow/Violations/ViolationCreateCrewMemberView.swift @@ -76,7 +76,7 @@ struct ViolationCreateCrewMemberView: View { secondaryButton: .default(Text("Continue editing"))) } else if self.presentedAlert == .emptyInput { - return Alert(title: Text("Empty fields"), message: Text("Please, input name or licence")) + return Alert(title: Text("Empty fields"), message: Text("Please, input name or license")) } assertionFailure("Should never reach this option")