From 5097e4844b04ead4b0d2772190a67cfe66046087 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Wed, 21 Jul 2021 16:38:59 +0200 Subject: [PATCH] add italian translation --- .../lib/src/stream_chat_localizations.dart | 10 +- .../lib/src/stream_chat_localizations_hi.dart | 2 +- .../lib/src/stream_chat_localizations_it.dart | 358 ++++++++++++++++++ 3 files changed, 368 insertions(+), 2 deletions(-) create mode 100644 packages/stream_chat_localizations/lib/src/stream_chat_localizations_it.dart diff --git a/packages/stream_chat_localizations/lib/src/stream_chat_localizations.dart b/packages/stream_chat_localizations/lib/src/stream_chat_localizations.dart index 03147834..d0b1f6dc 100644 --- a/packages/stream_chat_localizations/lib/src/stream_chat_localizations.dart +++ b/packages/stream_chat_localizations/lib/src/stream_chat_localizations.dart @@ -7,6 +7,7 @@ import 'package:stream_chat_flutter/stream_chat_flutter.dart' part 'stream_chat_localizations_en.dart'; part 'stream_chat_localizations_fr.dart'; +part 'stream_chat_localizations_it.dart'; part 'stream_chat_localizations_hi.dart'; /// The set of supported languages, as language code strings. @@ -17,7 +18,12 @@ part 'stream_chat_localizations_hi.dart'; /// See also: /// /// * [getStreamChatTranslation], whose documentation describes these values. -const kStreamChatSupportedLanguages = {'en', 'hi', 'fr'}; +const kStreamChatSupportedLanguages = { + 'en', + 'hi', + 'fr', + 'it', +}; /// Creates a [GlobalStreamChatLocalizations] instance for the given `locale`. /// @@ -45,6 +51,8 @@ GlobalStreamChatLocalizations? getStreamChatTranslation(Locale locale) { return const StreamChatLocalizationsHi(); case 'fr': return const StreamChatLocalizationsFr(); + case 'it': + return const StreamChatLocalizationsIt(); } } diff --git a/packages/stream_chat_localizations/lib/src/stream_chat_localizations_hi.dart b/packages/stream_chat_localizations/lib/src/stream_chat_localizations_hi.dart index c4c4a33a..e32b4a4d 100644 --- a/packages/stream_chat_localizations/lib/src/stream_chat_localizations_hi.dart +++ b/packages/stream_chat_localizations/lib/src/stream_chat_localizations_hi.dart @@ -1,6 +1,6 @@ part of 'stream_chat_localizations.dart'; -/// The translations for English (`hi`). +/// The translations for Hindi (`hi`). class StreamChatLocalizationsHi extends GlobalStreamChatLocalizations { /// Create an instance of the translation bundle for Hindi. const StreamChatLocalizationsHi({String localeName = 'hi'}) diff --git a/packages/stream_chat_localizations/lib/src/stream_chat_localizations_it.dart b/packages/stream_chat_localizations/lib/src/stream_chat_localizations_it.dart new file mode 100644 index 00000000..0edcbd0a --- /dev/null +++ b/packages/stream_chat_localizations/lib/src/stream_chat_localizations_it.dart @@ -0,0 +1,358 @@ +part of 'stream_chat_localizations.dart'; + +/// The translations for English (`hi`). +class StreamChatLocalizationsIt extends GlobalStreamChatLocalizations { + /// Create an instance of the translation bundle for Hindi. + const StreamChatLocalizationsIt({String localeName = 'it'}) + : super(localeName: localeName); + + @override + String get launchUrlError => 'Impossibile aprire l\'url'; + + @override + String get loadingUsersError => 'Errore durante il carimento degli utenti'; + + @override + String get noUsersLabel => 'Non c\'é nessun utente al momento'; + + @override + String get retryLabel => 'Riprova'; + + @override + String get userLastOnlineText => 'Ultimo accesso'; + + @override + String get userOnlineText => 'Online'; + + @override + String userTypingText(Iterable users) { + if (users.isEmpty) return ''; + final first = users.first; + if (users.length == 1) { + return '${first.name} sta scrivendo'; + } + return '${first.name} e altri ${users.length - 1} stanno scrivendo'; + } + + @override + String get threadReplyLabel => 'Rispondi nel thread'; + + @override + String get onlyVisibleToYouText => 'Visible solo a te'; + + @override + String threadReplyCountText(int count) => '$count risposte al thread'; + + @override + String attachmentsUploadProgressText({ + required int remaining, + required int total, + }) => + 'Caricamento $remaining/$total ...'; + + @override + String pinnedByUserText({ + required User pinnedBy, + required User currentUser, + }) { + final pinnedByCurrentUser = currentUser.id == pinnedBy.id; + if (pinnedByCurrentUser) return 'Messo in evidenza da te'; + return 'Messo in evidenza da ${pinnedBy.name}'; + } + + @override + String get emptyMessagesText => 'Non c\'é nessun messaggio al momento'; + + @override + String get genericErrorText => 'Qualcosa è andato storto'; + + @override + String get loadingMessagesError => + 'Errore durante il caricamento dei messaggi'; + + @override + String resultCountText(int count) => '$count risultati'; + + @override + String get messageDeletedText => 'Questo messaggio è stato eliminato'; + + @override + String get messageDeletedLabel => 'Messaggio cancellato'; + + @override + String get messageReactionsText => 'Reazioni al messaggio'; + + @override + String get emptyChatMessagesText => 'Nessuna conversazione al momento...'; + + @override + String threadSeparatorText(int replyCount) { + if (replyCount == 1) return '1 risposta'; + return '$replyCount risposte'; + } + + @override + String get connectedLabel => 'Connesso'; + + @override + String get disconnectedLabel => 'Disconnesso'; + + @override + String get reconnectingLabel => 'Riconnessione in corso...'; + + @override + String get alsoSendAsDirectMessageLabel => + 'Manda anche come messaggio diretto'; + + @override + String get addACommentOrSendLabel => 'Aggiungi un commento o invia'; + + @override + String get searchGifLabel => 'Cerca una GIF'; + + @override + String get writeAMessageLabel => 'Scrivi un messaggio'; + + @override + String get instantCommandsLabel => 'Commandi istantanei'; + + @override + String get fileTooLargeAfterCompressionError => + 'Il file è troppo grande per essere caricato. ' + 'Il file eccede il limite di 20MB. ' + 'Abbiamo provato a comprimerlo, ma non è stato abbastanza.'; + + @override + String get fileTooLargeError => + 'Il file è troppo grande per essere caricato. Il limite è di 20MB.'; + + @override + String emojiMatchingQueryText(String query) => 'Emoji per "$query"'; + + @override + String get addAFileLabel => 'Aggiungi un file'; + + @override + String get photoFromCameraLabel => 'Immagine dalla fotocamera'; + + @override + String get uploadAFileLabel => 'Carica un file'; + + @override + String get uploadAPhotoLabel => 'Carica una foto'; + + @override + String get uploadAVideoLabel => 'Carica un video'; + + @override + String get videoFromCameraLabel => 'Video dalla fotocamera'; + + @override + String get okLabel => 'Ok'; + + @override + String get somethingWentWrongLabel => 'Qualcosa è andato storto'; + + @override + String get addMoreFilesLabel => 'Aggiungi altri file'; + + @override + String get enablePhotoAndVideoAccessMessage => + 'Per favore attiva l\'accesso alle foto' + '\ne ai video cosí potrai condividerli con i tuoi amici.'; + + @override + String get allowGalleryAccessMessage => 'Permetti l\'accesso alla galleria'; + + @override + String get flagMessageLabel => 'Segnala messaggio'; + + @override + String get flagMessageQuestion => 'Vuoi mandare una copia di questo messaggio' + '\nad un moderatore?'; + + @override + String get flagLabel => 'SEGNALA'; + + @override + String get cancelLabel => 'ANNULLA'; + + @override + String get flagMessageSuccessfulLabel => 'Messaggio segnalato'; + + @override + String get flagMessageSuccessfulText => + 'Questo messaggio è stato segnalato ad un moderatore.'; + + @override + String get deleteLabel => 'CANCELLA'; + + @override + String get deleteMessageLabel => 'Cancella messaggio'; + + @override + String get deleteMessageQuestion => + 'Sei sicuro di voler definitivamente cancellare questo\nmessaggio?'; + + @override + String get operationCouldNotBeCompletedText => + 'Non è stato possibile completare questa operazione.'; + + @override + String get replyLabel => 'Rispondi'; + + @override + String togglePinUnpinText({required bool pinned}) { + if (pinned) return 'Rimuovi dagli elementi in evidenza'; + return 'Metti in evidenza'; + } + + @override + String toggleDeleteRetryDeleteMessageText({required bool isDeleteFailed}) { + if (isDeleteFailed) return 'Riprova a cancellare il messaggio'; + return 'Cancella il messaggio'; + } + + @override + String get copyMessageLabel => 'Copia messaggio'; + + @override + String get editMessageLabel => 'Modifica messaggio'; + + @override + String toggleResendOrResendEditedMessage({required bool isUpdateFailed}) { + if (isUpdateFailed) return 'Riprova modifica messaggio'; + return 'Riprova'; + } + + @override + String get photosLabel => 'Foto'; + + String _getDay(DateTime dateTime) { + final now = Jiffy(DateTime.now()); + final date = Jiffy(dateTime); + + if (date.isSame(now, Units.DAY)) { + return 'oggi'; + } else if (now.diff(date, Units.HOUR) < 24) { + return 'ieri'; + } else { + return 'il ${date.MMMd}'; + } + } + + @override + String sentAtText({required DateTime date, required DateTime time}) => ''' +Inviato il ${_getDay(date)} alle ${Jiffy(time.toLocal()).format('HH:mm')}'''; + + @override + String get todayLabel => 'Oggi'; + + @override + String get yesterdayLabel => 'Ieri'; + + @override + String get channelIsMutedText => 'Il canale è mutato'; + + @override + String get noTitleText => 'Nessun titolo'; + + @override + String get letsStartChattingLabel => 'Inizia una conversazione!'; + + @override + String get sendingFirstMessageLabel => + 'Che ne dici di mandare il tuo primo messaggio ad un amico?'; + + @override + String get startAChatLabel => 'Inizia una conversazione'; + + @override + String get loadingChannelsError => 'Errore durante il caricamento dei canali'; + + @override + String get deleteConversationLabel => 'Elemina conversazione'; + + @override + String get deleteConversationQuestion => + 'Sei sicuro di voler eliminare questa conversazione?'; + + @override + String get streamChatLabel => 'Stream Chat'; + + @override + String get searchingForNetworkLabel => 'Cercando una connessione'; + + @override + String get offlineLabel => 'Offline...'; + + @override + String get tryAgainLabel => 'Riprova'; + + @override + String membersCountText(int count) { + if (count == 1) return '1 membro'; + return '$count membri'; + } + + @override + String watchersCountText(int count) { + if (count == 1) return '1 Online'; + return '$count Online'; + } + + @override + String get viewInfoLabel => 'Vedi info'; + + @override + String get leaveGroupLabel => 'Esci dal gruppo'; + + @override + String get leaveLabel => 'ESCI'; + + @override + String get leaveConversationLabel => 'Esci dalla conversazione'; + + @override + String get leaveConversationQuestion => + 'Sei sicuro di voler lasciare questa conversazione?'; + + @override + String get showInChatLabel => 'Mostra nella chat'; + + @override + String get saveImageLabel => 'Salva immagine'; + + @override + String get saveVideoLabel => 'Salva video'; + + @override + String get uploadErrorLabel => 'ERRORE DURANTE IL CARICAMENTO'; + + @override + String get giphyLabel => 'Giphy'; + + @override + String get shuffleLabel => 'Shuffle'; + + @override + String get sendLabel => 'Invia'; + + @override + String get withText => 'con'; + + @override + String get inText => 'in'; + + @override + String get youText => 'te'; + + @override + String get ofText => 'di'; + + @override + String get fileText => 'file'; + + @override + String get replyToMessageLabel => 'Rispondi al messaggio'; +}