diff --git a/docusaurus/docs/Flutter/guides/adding_localization.mdx b/docusaurus/docs/Flutter/guides/adding_localization.mdx index 8ecc0cce..4ad5eede 100644 --- a/docusaurus/docs/Flutter/guides/adding_localization.mdx +++ b/docusaurus/docs/Flutter/guides/adding_localization.mdx @@ -26,7 +26,8 @@ At the moment we support the following languages: - [Italian](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/lib/src/stream_chat_localizations_it.dart) - [French](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/lib/src/stream_chat_localizations_fr.dart) - [Spanish](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/lib/src/stream_chat_localizations_es.dart) - +- [Japanese](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/lib/src/stream_chat_localizations_ja.dart) +- [Korean](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/lib/src/stream_chat_localizations_ko.dart) More languages will be added in the future. Feel free to [contribute](https://github.com/GetStream/stream-chat-flutter/blob/master/CONTRIBUTING.md) to add more languages. ### Add dependency @@ -64,6 +65,8 @@ class MyApp extends StatelessWidget { Locale('fr'), Locale('it'), Locale('es'), + Locale('ja'), + Locale('ko'), ], // Add GlobalStreamChatLocalizations.delegates localizationsDelegates: GlobalStreamChatLocalizations.delegates, @@ -133,6 +136,8 @@ Here is an example of how that would look like: Locale('fr'), Locale('it'), Locale('es'), + Locale('ja'), + Locale('ko'), ], // locales are the locales of the device // supportedLocales are the app supported locales @@ -175,6 +180,8 @@ Example: nb fr it - es + es + ja + ko ``` diff --git a/packages/stream_chat_flutter/lib/src/gallery_footer.dart b/packages/stream_chat_flutter/lib/src/gallery_footer.dart index 365368ac..2b2858f8 100644 --- a/packages/stream_chat_flutter/lib/src/gallery_footer.dart +++ b/packages/stream_chat_flutter/lib/src/gallery_footer.dart @@ -142,9 +142,9 @@ class _GalleryFooterState extends State { mainAxisSize: MainAxisSize.min, children: [ Text( - '${widget.currentPage + 1} ' - '${context.translations.ofText} ' - '${widget.totalPages}', + context.translations.galleryPaginationText( + currentPage: widget.currentPage, + totalPages: widget.totalPages), style: galleryFooterThemeData.titleTextStyle, ), ], diff --git a/packages/stream_chat_flutter/lib/src/localization/translations.dart b/packages/stream_chat_flutter/lib/src/localization/translations.dart index d6e5add0..d3b3e8cb 100644 --- a/packages/stream_chat_flutter/lib/src/localization/translations.dart +++ b/packages/stream_chat_flutter/lib/src/localization/translations.dart @@ -296,8 +296,9 @@ abstract class Translations { /// The text shown for "You" String get youText; - /// The text shown for "Of" - String get ofText; + /// Gallery footer pagination text + String galleryPaginationText( + {required int currentPage, required int totalPages}); /// The text shown for "File" String get fileText; @@ -657,7 +658,9 @@ class DefaultTranslations implements Translations { String get youText => 'You'; @override - String get ofText => 'of'; + String galleryPaginationText( + {required int currentPage, required int totalPages}) => + '${currentPage + 1} of $totalPages'; @override String get fileText => 'File'; diff --git a/packages/stream_chat_flutter/test/src/default_translations_test.dart b/packages/stream_chat_flutter/test/src/default_translations_test.dart index e78c0115..14a4a318 100644 --- a/packages/stream_chat_flutter/test/src/default_translations_test.dart +++ b/packages/stream_chat_flutter/test/src/default_translations_test.dart @@ -167,7 +167,7 @@ void main() { expect(translations.withText, isNotNull); expect(translations.inText, isNotNull); expect(translations.youText, isNotNull); - expect(translations.ofText, isNotNull); + expect(translations.galleryPaginationText, isNotNull); expect(translations.fileText, isNotNull); expect(translations.replyToMessageLabel, isNotNull); }); diff --git a/packages/stream_chat_localizations/CHANGELOG.md b/packages/stream_chat_localizations/CHANGELOG.md index 0845fa05..d718ce12 100644 --- a/packages/stream_chat_localizations/CHANGELOG.md +++ b/packages/stream_chat_localizations/CHANGELOG.md @@ -2,9 +2,9 @@ โœ… Added -* Added support - for [Spanish](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/lib/src/stream_chat_localizations_es.dart) - locale. +* Added support for [Spanish](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/lib/src/stream_chat_localizations_es.dart) locale. +* Added support for [Korean](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/lib/src/stream_chat_localizations_ko.dart) locale. +* Added support for [Japanese](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/lib/src/stream_chat_localizations_ja.dart) locale. ๐Ÿ”„ Changed @@ -13,7 +13,7 @@ - 'เคคเคธเฅเคตเฅ€เคฐเฅ‡เค‚' -> 'เฅžเฅ‹เคŸเฅ‹เคœ' - 'เคฌเคฟเคคเคพ เคนเฅเค† เค•เคฒ' -> 'เค•เคฒ' - 'เคšเฅˆเคจเคฒ เคฎเฅŒเคจ เคนเฅˆ' -> 'เคšเฅˆเคจเคฒ เคฎเฅเคฏเฅ‚เคŸ เคนเฅˆ' - + ## 1.0.2 * Updated `stream_chat_flutter` dependency diff --git a/packages/stream_chat_localizations/README.md b/packages/stream_chat_localizations/README.md index c2ea8a72..131d6b13 100644 --- a/packages/stream_chat_localizations/README.md +++ b/packages/stream_chat_localizations/README.md @@ -35,6 +35,8 @@ At the moment we support the following languages: - [Italian](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/lib/src/stream_chat_localizations_it.dart) - [French](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/lib/src/stream_chat_localizations_fr.dart) - [Spanish](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/lib/src/stream_chat_localizations_es.dart) +- [Japanese](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/lib/src/stream_chat_localizations_ja.dart) +- [Korean](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/lib/src/stream_chat_localizations_ko.dart) More languages will be added in the future. Feel free to [contribute](https://github.com/GetStream/stream-chat-flutter/blob/master/CONTRIBUTING.md) to add more languages. @@ -70,6 +72,8 @@ class MyApp extends StatelessWidget { Locale('fr'), Locale('it'), Locale('es'), + Locale('ja'), + Locale('ko'), ], // Add GlobalStreamChatLocalizations.delegates localizationsDelegates: GlobalStreamChatLocalizations.delegates, @@ -113,6 +117,8 @@ Example: fr it es + ja + ko ``` diff --git a/packages/stream_chat_localizations/example/lib/add_new_lang.dart b/packages/stream_chat_localizations/example/lib/add_new_lang.dart index 8a1d196e..1efe6c95 100644 --- a/packages/stream_chat_localizations/example/lib/add_new_lang.dart +++ b/packages/stream_chat_localizations/example/lib/add_new_lang.dart @@ -374,7 +374,9 @@ class NnStreamChatLocalizations extends GlobalStreamChatLocalizations { String get youText => 'You'; @override - String get ofText => 'of'; + String galleryPaginationText( + {required int currentPage, required int totalPages}) => + '$currentPage of $totalPages'; @override String get fileText => 'File'; @@ -453,6 +455,9 @@ class MyApp extends StatelessWidget { Locale('hi'), Locale('fr'), Locale('it'), + Locale('es'), + Locale('ja'), + Locale('ko'), // Add support for additional 'nn' locale Locale('nn'), ], diff --git a/packages/stream_chat_localizations/example/lib/main.dart b/packages/stream_chat_localizations/example/lib/main.dart index c99a4c6c..c71ceb01 100644 --- a/packages/stream_chat_localizations/example/lib/main.dart +++ b/packages/stream_chat_localizations/example/lib/main.dart @@ -72,6 +72,9 @@ class MyApp extends StatelessWidget { Locale('hi'), Locale('fr'), Locale('it'), + Locale('es'), + Locale('ja'), + Locale('ko'), ], // Add GlobalStreamChatLocalizations.delegates localizationsDelegates: GlobalStreamChatLocalizations.delegates, diff --git a/packages/stream_chat_localizations/example/lib/override_lang.dart b/packages/stream_chat_localizations/example/lib/override_lang.dart index 5be8f9a6..a52fcf9f 100644 --- a/packages/stream_chat_localizations/example/lib/override_lang.dart +++ b/packages/stream_chat_localizations/example/lib/override_lang.dart @@ -97,6 +97,9 @@ class MyApp extends StatelessWidget { Locale('hi'), Locale('fr'), Locale('it'), + Locale('es'), + Locale('ja'), + Locale('ko'), ], // Add overridden "CustomStreamChatLocalizationsEn.delegate" along with // "GlobalStreamChatLocalizations.delegates" 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 a6a66b93..4094dcaa 100644 --- a/packages/stream_chat_localizations/lib/src/stream_chat_localizations.dart +++ b/packages/stream_chat_localizations/lib/src/stream_chat_localizations.dart @@ -11,6 +11,10 @@ part 'stream_chat_localizations_fr.dart'; part 'stream_chat_localizations_it.dart'; +part 'stream_chat_localizations_ja.dart'; + +part 'stream_chat_localizations_ko.dart'; + part 'stream_chat_localizations_hi.dart'; /// The set of supported languages, as language code strings. @@ -27,6 +31,8 @@ const kStreamChatSupportedLanguages = { 'fr', 'it', 'es', + 'ja', + 'ko' }; /// Creates a [GlobalStreamChatLocalizations] instance for the given `locale`. @@ -59,6 +65,10 @@ GlobalStreamChatLocalizations? getStreamChatTranslation(Locale locale) { return const StreamChatLocalizationsIt(); case 'es': return const StreamChatLocalizationsEs(); + case 'ja': + return const StreamChatLocalizationsJa(); + case 'ko': + return const StreamChatLocalizationsKo(); } } diff --git a/packages/stream_chat_localizations/lib/src/stream_chat_localizations_en.dart b/packages/stream_chat_localizations/lib/src/stream_chat_localizations_en.dart index 5041d398..13de9729 100644 --- a/packages/stream_chat_localizations/lib/src/stream_chat_localizations_en.dart +++ b/packages/stream_chat_localizations/lib/src/stream_chat_localizations_en.dart @@ -350,7 +350,9 @@ class StreamChatLocalizationsEn extends GlobalStreamChatLocalizations { String get youText => 'You'; @override - String get ofText => 'of'; + String galleryPaginationText( + {required int currentPage, required int totalPages}) => + '${currentPage + 1} of $totalPages'; @override String get fileText => 'File'; diff --git a/packages/stream_chat_localizations/lib/src/stream_chat_localizations_es.dart b/packages/stream_chat_localizations/lib/src/stream_chat_localizations_es.dart index b43e4ba8..7082ebf0 100644 --- a/packages/stream_chat_localizations/lib/src/stream_chat_localizations_es.dart +++ b/packages/stream_chat_localizations/lib/src/stream_chat_localizations_es.dart @@ -355,7 +355,9 @@ class StreamChatLocalizationsEs extends GlobalStreamChatLocalizations { String get youText => 'Usted'; @override - String get ofText => 'de'; + String galleryPaginationText( + {required int currentPage, required int totalPages}) => + '${currentPage + 1} de $totalPages'; @override String get fileText => 'Archivo'; diff --git a/packages/stream_chat_localizations/lib/src/stream_chat_localizations_fr.dart b/packages/stream_chat_localizations/lib/src/stream_chat_localizations_fr.dart index 9d8586d5..2331b522 100644 --- a/packages/stream_chat_localizations/lib/src/stream_chat_localizations_fr.dart +++ b/packages/stream_chat_localizations/lib/src/stream_chat_localizations_fr.dart @@ -207,7 +207,7 @@ class StreamChatLocalizationsFr extends GlobalStreamChatLocalizations { @override String togglePinUnpinText({required bool pinned}) { if (pinned) return 'Dรฉcrocher de la conversation'; - return 'ร‰pingler ร  la discussion'; + return 'ร‰pingler ร  la conversation'; } @override @@ -354,7 +354,9 @@ class StreamChatLocalizationsFr extends GlobalStreamChatLocalizations { String get youText => 'Vous'; @override - String get ofText => 'de'; + String galleryPaginationText( + {required int currentPage, required int totalPages}) => + '${currentPage + 1} de $totalPages'; @override String get fileText => 'Fichier'; 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 7d7f54d2..975e8097 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 @@ -340,16 +340,18 @@ class StreamChatLocalizationsHi extends GlobalStreamChatLocalizations { String get sendLabel => 'เคญเฅ‡เคœเฅ‡เค‚'; @override - String get withText => 'เคตเคฟเคฆ'; + String get withText => 'เคตเคฟเคฆ'; //TODO: break? @override - String get inText => 'เค‡เคจ'; + String get inText => 'เค‡เคจ'; //TODO: break? @override String get youText => 'เค†เคช'; @override - String get ofText => 'เค‘เฅž'; + String galleryPaginationText( + {required int currentPage, required int totalPages}) => + '${currentPage + 1} เค‘เคซเคผ $totalPages'; @override String get fileText => 'เคซเคผเคพเค‡เคฒ'; 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 index 8b2e1692..313e1e26 100644 --- a/packages/stream_chat_localizations/lib/src/stream_chat_localizations_it.dart +++ b/packages/stream_chat_localizations/lib/src/stream_chat_localizations_it.dart @@ -351,7 +351,9 @@ Il file รจ troppo grande per essere caricato. Il limite รจ di $limitInMB MB.'''; String get youText => 'te'; @override - String get ofText => 'di'; + String galleryPaginationText( + {required int currentPage, required int totalPages}) => + '${currentPage + 1} di $totalPages'; @override String get fileText => 'file'; diff --git a/packages/stream_chat_localizations/lib/src/stream_chat_localizations_ja.dart b/packages/stream_chat_localizations/lib/src/stream_chat_localizations_ja.dart new file mode 100644 index 00000000..e6946125 --- /dev/null +++ b/packages/stream_chat_localizations/lib/src/stream_chat_localizations_ja.dart @@ -0,0 +1,349 @@ +part of 'stream_chat_localizations.dart'; + +/// The translations for Japanese (`ja`). +class StreamChatLocalizationsJa extends GlobalStreamChatLocalizations { + /// Create an instance of the translation bundle for Japanese. + const StreamChatLocalizationsJa({String localeName = 'ja'}) + : super(localeName: localeName); + + @override + String get launchUrlError => 'URLใฎ่ตทๅ‹•ใŒใงใใพใ›ใ‚“'; + + @override + String get loadingUsersError => 'ใƒฆใƒผใ‚ถใƒผใฎ่ชญใฟ่พผใฟใŒใงใใพใ›ใ‚“'; + + @override + String get noUsersLabel => '็พๅœจใ€ใƒฆใƒผใ‚ถใƒผใฏใ„ใพใ›ใ‚“ใ€‚'; + + @override + String get retryLabel => 'ๅ†่ฉฆ่กŒ'; + + @override + String get userLastOnlineText => 'ๅ‰ๅ›žใฎใ‚ชใƒณใƒฉใ‚คใƒณ'; + + @override + String get userOnlineText => 'ใ‚ชใƒณใƒฉใ‚คใƒณ'; + + @override + String userTypingText(Iterable users) { + if (users.isEmpty) return ''; + final first = users.first; + if (users.length == 1) { + return '${first.name}ใŒๅ…ฅๅŠ›ใ—ใฆใ„ใพใ™'; + } + return '${first.name}ใจ${users.length - 1}ไบบใŒๅ…ฅๅŠ›ใ—ใฆใ„ใพใ™'; + } + + @override + String get threadReplyLabel => 'ใ‚นใƒฌใƒƒใƒ‰่ฟ”ไฟก'; + + @override + String get onlyVisibleToYouText => '่‡ชๅˆ†ใ—ใ‹่ฆ‹ใ‚Œใพใ›ใ‚“'; + + @override + String threadReplyCountText(int count) => '$countใคใฎใ‚นใƒฌใƒƒใƒ‰่ฟ”ไฟก'; + + @override + String attachmentsUploadProgressText({ + required int remaining, + required int total, + }) => + '$remaining/${total}mbใฎใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ไธญ ใ€‚ใ€‚ใ€‚'; + + @override + String pinnedByUserText({ + required User pinnedBy, + required User currentUser, + }) { + final pinnedByCurrentUser = currentUser.id == pinnedBy.id; + if (pinnedByCurrentUser) return 'ใ‚ใชใŸใฎใƒ”ใƒณ'; + return '${pinnedBy.name}ใฎใƒ”ใƒณ'; + } + + @override + String get emptyMessagesText => '็พๅœจใ€ใƒกใƒƒใ‚ปใƒผใ‚ธใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚'; + + @override + String get genericErrorText => 'ใ‚จใƒฉใƒผใŒ็™บ็”Ÿใ—ใพใ—ใŸ'; + + @override + String get loadingMessagesError => 'ใƒกใƒƒใ‚ปใƒผใ‚ธใฎ่ชญใฟ่พผใฟใ‚จใƒฉใƒผ'; + + @override + String resultCountText(int count) => '$countไปถใฎ็ตๆžœ'; + + @override + String get messageDeletedText => 'ใ“ใฎใƒกใƒƒใ‚ปใƒผใ‚ธใฏๅ‰Š้™คใ•ใ‚Œใพใ—ใŸใ€‚'; + + @override + String get messageDeletedLabel => 'ใƒกใƒƒใ‚ปใƒผใ‚ธๅ‰Š้™ค'; + + @override + String get messageReactionsLabel => 'ใƒกใƒƒใ‚ปใƒผใ‚ธใฎใƒชใ‚ขใ‚ฏใ‚ทใƒงใƒณ'; + + @override + String get emptyChatMessagesText => 'ใƒใƒฃใƒƒใƒˆใŒใ‚ใ‚Šใพใ›ใ‚“ใŒใ€‚ใ€‚ใ€‚'; + + @override + String threadSeparatorText(int replyCount) => '$replyCountไปถใฎ่ฟ”ไฟก'; + + @override + String get connectedLabel => 'ๆŽฅ็ถšใ—ใฆใ„ใพใ™'; + + @override + String get disconnectedLabel => 'ๆŽฅ็ถšๅˆ‡ใ‚Œ'; + + @override + String get reconnectingLabel => 'ๅ†ๆŽฅ็ถšไธญใ€‚ใ€‚ใ€‚'; + + @override + String get alsoSendAsDirectMessageLabel => 'ใƒ€ใ‚คใƒฌใ‚ฏใƒˆใƒกใƒƒใ‚ปใƒผใ‚ธใงใ‚‚้€ไฟก'; + + @override + String get addACommentOrSendLabel => 'ใ‚ณใƒกใƒณใƒˆใฎ่ฟฝๅŠ ใ‚„้€ไฟก'; + + @override + String get searchGifLabel => 'GIFใฎๆคœ็ดข'; + + @override + String get writeAMessageLabel => 'ใƒกใƒƒใ‚ปใƒผใ‚ธใ‚’ๆ›ธใ'; + + @override + String get instantCommandsLabel => 'ใ‚คใƒณใ‚นใ‚ฟใƒณใƒˆใ‚ณใƒžใƒณใƒ‰'; + + @override + String fileTooLargeAfterCompressionError(double limitInMB) => + 'ใƒ•ใ‚กใ‚คใƒซใฎใ‚ตใ‚คใ‚บใŒๅคงใใ™ใŽใฆใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ใงใใพใ›ใ‚“ใ€‚' + 'ใƒ•ใ‚กใ‚คใƒซใ‚ตใ‚คใ‚บใฎๅˆถ้™ใฏ${limitInMB}MBใงใ™ใ€‚' + 'ๅœง็ธฎใ—ใฆใฟใพใ—ใŸใŒใ€ๅๅˆ†ใงใฏใ‚ใ‚Šใพใ›ใ‚“ใงใ—ใŸใ€‚'; + + @override + String fileTooLargeError(double limitInMB) => + 'ใƒ•ใ‚กใ‚คใƒซใŒๅคงใใ™ใŽใฆใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ใงใใพใ›ใ‚“ใ€‚ใƒ•ใ‚กใ‚คใƒซใ‚ตใ‚คใ‚บใฎๅˆถ้™ใฏ${limitInMB}MBใงใ™ใ€‚'; + + @override + String emojiMatchingQueryText(String query) => 'ใ€Œ"$query"ใ€ใจใŠๆƒใ„ใฎ็ตตๆ–‡ๅญ—'; + + @override + String get addAFileLabel => 'ใƒ•ใ‚กใ‚คใƒซใฎ่ฟฝๅŠ '; + + @override + String get photoFromCameraLabel => 'ใ‚ซใƒกใƒฉใ‹ใ‚‰ใฎๅ†™็œŸ'; + + @override + String get uploadAFileLabel => 'ใƒ•ใ‚กใ‚คใƒซใฎใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰'; + + @override + String get uploadAPhotoLabel => 'ๅ†™็œŸใฎใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰'; + + @override + String get uploadAVideoLabel => 'ๅ‹•็”ปใฎใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰'; + + @override + String get videoFromCameraLabel => 'ใ‚ซใƒกใƒฉใ‹ใ‚‰ใฎๅ‹•็”ป'; + + @override + String get okLabel => 'ใ‚ˆใ—'; + + @override + String get somethingWentWrongError => 'ใ‚จใƒฉใƒผใŒ็™บ็”Ÿใ—ใพใ—ใŸ'; + + @override + String get addMoreFilesLabel => 'ใƒ•ใ‚กใ‚คใƒซใฎ่ฟฝๅŠ '; + + @override + String get enablePhotoAndVideoAccessMessage => 'ใŠๅ‹้”ใจๅ…ฑๆœ‰ใงใใ‚‹ใ‚ˆใ†ใซใ€ๅ†™็œŸ' + '\nใ‚„ใƒ“ใƒ‡ใ‚ชใธใฎใ‚ขใ‚ฏใ‚ปใ‚นใ‚’ๆœ‰ๅŠนใซใ—ใฆใใ ใ•ใ„ใ€‚'; + @override + String get allowGalleryAccessMessage => 'ใ‚ฎใƒฃใƒฉใƒชใƒผใธใฎใ‚ขใ‚ฏใ‚ปใ‚นใ‚’่จฑๅฏใ™ใ‚‹'; + + @override + String get flagMessageLabel => 'ใƒกใƒƒใ‚ปใƒผใ‚ธใ‚’ใƒ•ใƒฉใ‚ฐใ™ใ‚‹'; + + @override + String get flagMessageQuestion => 'ใ“ใฎใƒกใƒƒใ‚ปใƒผใ‚ธใฎใ‚ณใƒ”ใƒผใ‚’' + '\nใƒขใƒ‡ใƒฌใƒผใ‚ฟใƒผใซ้€ใฃใฆใ€ใ•ใ‚‰ใซ่ชฟๆŸปใ—ใฆใ‚‚ใ‚‰ใ„ใพใ™ใ‹๏ผŸ'; + + @override + String get flagLabel => 'ใƒ•ใƒฉใ‚ฐใ™ใ‚‹'; + + @override + String get cancelLabel => 'ใ‚ญใƒฃใƒณใ‚ปใƒซ'; + + @override + String get flagMessageSuccessfulLabel => 'ใƒกใƒƒใ‚ปใƒผใ‚ธใซใƒ•ใƒฉใ‚ฐใŒไป˜ใ‘ใ‚‰ใ‚Œใพใ—ใŸ'; + + @override + String get flagMessageSuccessfulText => 'ใ“ใฎใƒกใƒƒใ‚ปใƒผใ‚ธใฏใƒขใƒ‡ใƒฌใƒผใ‚ฟใƒผใซๅ ฑๅ‘Šใ•ใ‚Œใพใ—ใŸใ€‚'; + + @override + String get deleteLabel => 'ๅ‰Š้™ค'; + + @override + String get deleteMessageLabel => 'ใƒกใƒƒใ‚ปใƒผใ‚ธใ‚’ๅ‰Š้™คใ™ใ‚‹ '; + + @override + String get deleteMessageQuestion => 'ใ“ใฎใƒกใƒƒใ‚ปใƒผใ‚ธ' + '\nใ‚’ๅฎŒๅ…จใซๅ‰Š้™คใ—ใฆใ‚‚ใ‚ˆใ‚ใ—ใ„ใงใ™ใ‹๏ผŸ'; + + @override + String get operationCouldNotBeCompletedText => 'ๆ“ไฝœใ‚’ๅฎŒไบ†ใงใใพใ›ใ‚“ใงใ—ใŸใ€‚'; + + @override + String get replyLabel => '่ฟ”ไฟก'; + + @override + String togglePinUnpinText({required bool pinned}) { + if (pinned) return 'ไผš่ฉฑใฎใƒ”ใƒณใ‚’ๅค–ใ™'; + return 'ไผš่ฉฑใซใƒ”ใƒณใ™ใ‚‹'; + } + + @override + String toggleDeleteRetryDeleteMessageText({required bool isDeleteFailed}) { + if (isDeleteFailed) return 'ใƒกใƒƒใ‚ปใƒผใ‚ธใฎๅ‰Š้™คใ‚’ๅ†่ฉฆ่กŒใ™ใ‚‹'; + return 'ใƒกใƒƒใ‚ปใƒผใ‚ธใ‚’ๅ‰Š้™คใ™ใ‚‹'; + } + + @override + String get copyMessageLabel => 'ใƒกใƒƒใ‚ปใƒผใ‚ธใ‚’ใ‚ณใƒ”ใƒผใ™ใ‚‹'; + + @override + String get editMessageLabel => 'ใƒกใƒƒใ‚ปใƒผใ‚ธใ‚’็ทจ้›†ใ™ใ‚‹'; + + @override + String toggleResendOrResendEditedMessage({required bool isUpdateFailed}) { + if (isUpdateFailed) return '็ทจ้›†ใ—ใŸใƒกใƒƒใ‚ปใƒผใ‚ธใ‚’ๅ†้€ใ™ใ‚‹'; + return 'ๅ†้€'; + } + + @override + String get photosLabel => 'ๅ†™็œŸ'; + + String _getDay(DateTime dateTime) { + final now = DateTime.now(); + final today = DateTime(now.year, now.month, now.day); + final yesterday = DateTime(now.year, now.month, now.day - 1); + + final date = DateTime(dateTime.year, dateTime.month, dateTime.day); + + if (date == today) { + return 'ไปŠๆ—ฅ'; + } else if (date == yesterday) { + return 'ๆ˜จๆ—ฅ'; + } else { + return '${Jiffy(date).MMMd}ใซ'; + } + } + + @override + String sentAtText({required DateTime date, required DateTime time}) => + '${_getDay(date)}ใฎ${Jiffy(time.toLocal()).format('HH:mm')}ใซ้€ไฟกใ—ใพใ—ใŸ '; + + @override + String get todayLabel => 'ไปŠๆ—ฅ'; + + @override + String get yesterdayLabel => 'ๆ˜จๆ—ฅ'; + + @override + String get channelIsMutedText => 'ใƒใƒฃใƒณใƒใƒซใŒ็„ก้Ÿณใ•ใ‚Œใฆใ„ใพใ™'; + + @override + String get noTitleText => 'ใ‚ฟใ‚คใƒˆใƒซ็„กใ—'; + + @override + String get letsStartChattingLabel => 'ใƒใƒฃใƒƒใƒˆใ‚’ๅง‹ใ‚ใ‚ˆใ†๏ผ'; + + @override + String get sendingFirstMessageLabel => 'ๅ‹ไบบใซๆœ€ๅˆใฎใƒกใƒƒใ‚ปใƒผใ‚ธใ‚’้€ใ‚Šใพใ—ใ‚‡ใ†ใ‹๏ผŸ'; + + @override + String get startAChatLabel => 'ใƒใƒฃใƒƒใƒˆใ‚’้–‹ๅง‹ใ™ใ‚‹'; + + @override + String get loadingChannelsError => 'ใƒใƒฃใƒใƒซใฎใƒญใƒผใƒ‰ไธญใซใ‚จใƒฉใƒผใŒ็™บ็”Ÿใ—ใพใ—ใŸ'; + + @override + String get deleteConversationLabel => 'ไผš่ฉฑใ‚’ๅ‰Š้™คใ™ใ‚‹'; + + @override + String get deleteConversationQuestion => 'ๆœฌๅฝ“ใซไผš่ฉฑใ‚’ๅ‰Š้™คใ—ใพใ™ใ‹๏ผŸ'; + + @override + String get streamChatLabel => 'ใ‚นใƒˆใƒชใƒผใƒ ใƒใƒฃใƒƒใƒˆ'; + + @override + String get searchingForNetworkText => 'ใƒใƒƒใƒˆใƒฏใƒผใ‚ฏใ‚’ๆคœ็ดขไธญ'; + + @override + String get offlineLabel => 'ใ‚ชใƒ•ใƒฉใ‚คใƒณใ€‚ใ€‚ใ€‚'; + + @override + String get tryAgainLabel => 'ๅ†่ฉฆ่กŒใ™ใ‚‹'; + + @override + String membersCountText(int count) => '$countไบบใฎใƒกใƒณใƒใƒผ'; + + @override + String watchersCountText(int count) => '$countไบบใŒใ‚ชใƒณใƒฉใ‚คใƒณ'; + + @override + String get viewInfoLabel => 'ๆƒ…ๅ ฑใ‚’่ฆ‹ใ‚‹'; + + @override + String get leaveGroupLabel => 'ใ‚ฐใƒซใƒผใƒ—ใ‚’้›ขใ‚Œใ‚‹'; + + @override + String get leaveLabel => '้›ขใ‚Œใ‚‹'; + + @override + String get leaveConversationLabel => 'ไผš่ฉฑใ‚’้›ขใ‚Œใ‚‹'; + + @override + String get leaveConversationQuestion => 'ๆœฌๅฝ“ใซไผš่ฉฑใ‚’้›ขใ‚Œใพใ™ใ‹๏ผŸ'; + + @override + String get showInChatLabel => 'ใƒใƒฃใƒƒใƒˆใง่กจ็คบ'; + + @override + String get saveImageLabel => '็”ปๅƒใ‚’ไฟๅญ˜'; + + @override + String get saveVideoLabel => 'ใƒ“ใƒ‡ใ‚ชใ‚’ไฟๅญ˜'; + + @override + String get uploadErrorLabel => 'ใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ใ‚จใƒฉใƒผ'; + + @override + String get giphyLabel => 'ใ‚ฎใƒ•ใ‚ฃใƒผ'; + + @override + String get shuffleLabel => 'ใƒŸใƒƒใ‚ฏใ‚น'; + + @override + String get sendLabel => '้€ไฟก'; + + @override + String get withText => 'ใจ'; + + @override + String get inText => 'ใซ'; + + // This is the word for 'customer' or 'user' because saying 'you' directly + //is too informal and rude + @override + String get youText => 'ใ‚ใชใŸ'; + + @override + String galleryPaginationText({ + required int currentPage, + required int totalPages, + }) => + '${currentPage + 1} / $totalPages'; + + @override + String get fileText => 'ใƒ•ใ‚กใ‚คใƒซ'; + + @override + String get replyToMessageLabel => 'ใƒกใƒƒใ‚ปใƒผใ‚ธใซ่ฟ”ไฟก'; +} diff --git a/packages/stream_chat_localizations/lib/src/stream_chat_localizations_ko.dart b/packages/stream_chat_localizations/lib/src/stream_chat_localizations_ko.dart new file mode 100644 index 00000000..2642b991 --- /dev/null +++ b/packages/stream_chat_localizations/lib/src/stream_chat_localizations_ko.dart @@ -0,0 +1,347 @@ +part of 'stream_chat_localizations.dart'; + +/// The translations for Korean (`ko`). +class StreamChatLocalizationsKo extends GlobalStreamChatLocalizations { + /// Create an instance of the translation bundle for Korean. + const StreamChatLocalizationsKo({String localeName = 'ko'}) + : super(localeName: localeName); + + @override + String get launchUrlError => 'URL์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค'; + + @override + String get loadingUsersError => '์‚ฌ์šฉ์ž๋ฅผ ๋กœ๋“œํ•˜๋Š” ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ'; + + @override + String get noUsersLabel => 'ํ˜„์žฌ ์‚ฌ์šฉ์ž๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค'; + + @override + String get retryLabel => '๋‹ค์‹œ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค'; + + @override + String get userLastOnlineText => '๋งˆ์ง€๋ง‰ ์˜จ๋ผ์ธ์ž…๋‹ˆ๋‹ค'; + + @override + String get userOnlineText => '์˜จ๋ผ์ธ'; + + @override + String userTypingText(Iterable users) { + if (users.isEmpty) return ''; + final first = users.first; + if (users.length == 1) { + return '${first.name} ํƒ€์ดํ•‘์ค‘'; + } + return '${first.name}ํ•˜๊ณ  ${users.length - 1}๋ช… ํƒ€์ดํ•‘์ค‘'; + } + + @override + String get threadReplyLabel => '์Šค๋ ˆ๋“œ ์‘๋‹ต์ž…๋‹ˆ๋‹ค'; + + @override + String get onlyVisibleToYouText => '๋‹น์‹ ๋งŒ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค'; + + @override + String threadReplyCountText(int count) => '$count์Šค๋ ˆ๋“œ ๋‹ต์žฅ'; + + @override + String attachmentsUploadProgressText({ + required int remaining, + required int total, + }) => + '$remaining/${total}mb๋ฅผ ์—…๋กœ๋“œ์ค‘...'; + + @override + String pinnedByUserText({ + required User pinnedBy, + required User currentUser, + }) { + final pinnedByCurrentUser = currentUser.id == pinnedBy.id; + if (pinnedByCurrentUser) return '๋‹น์‹ ์˜ ํ•€'; + return '${pinnedBy.name}์˜ ํ•€'; + } + + @override + String get emptyMessagesText => 'ํ˜„์žฌ ๋ฉ”์‹œ์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค'; + + @override + String get genericErrorText => '๋ญ”๊ฐ€ ์ž˜๋ชป๋์Šต๋‹ˆ๋‹ค'; + + @override + String get loadingMessagesError => '๋ฉ”์‹œ์ง€๋ฅผ ๋กœ๋“œํ•˜๋Š” ๋™์•ˆ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค'; + + @override + String resultCountText(int count) => '$count๊ฐœ์˜ ๊ฒฐ๊ณผ'; + + @override + String get messageDeletedText => '์ด ๋ฉ”์‹œ์ง€๋Š” ์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.'; + + @override + String get messageDeletedLabel => '๋ฉ”์‹œ์ง€๊ฐ€ ์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค'; + + @override + String get messageReactionsLabel => '๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ์‘๋‹ต'; + + @override + String get emptyChatMessagesText => '์•„์ง ์ฑ„ํŒ…์ด ์—†์Šต๋‹ˆ๋‹ค...'; + + @override + String threadSeparatorText(int replyCount) => '$replyCount๊ฐœ์˜ ๋‹ต์žฅ'; + + @override + String get connectedLabel => '์—ฐ๊ฒฐ์ค‘'; + + @override + String get disconnectedLabel => '์—ฐ๊ฒฐ์ด ๋Š๊ฒผ์Šต๋‹ˆ๋‹ค'; + + @override + String get reconnectingLabel => '๋‹ค์‹œ ์—ฐ๊ฒฐํ•˜๋Š” ์ค‘...'; + + @override + String get alsoSendAsDirectMessageLabel => '๋‹ค์ด๋ ‰ํŠธ ๋ฉ”์‹œ์ง€๋กœ๋„ ๋ณด๋ƒ…๋‹ˆ๋‹ค'; + + @override + String get addACommentOrSendLabel => '์ฃผ์„์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ณด๋ƒ…๋‹ˆ๋‹ค'; + + @override + String get searchGifLabel => 'GIF ๊ฒ€์ƒ‰'; + + @override + String get writeAMessageLabel => '๋ฉ”์‹œ์ง€ ์“ฐ๊ธฐ'; + + @override + String get instantCommandsLabel => '์ธ์Šคํ„ดํŠธ ์ปค๋งจ์ฆˆ'; + + @override + String fileTooLargeAfterCompressionError(double limitInMB) => + 'ํŒŒ์ผ์ด ๋„ˆ๋ฌด ์ปค์„œ ์—…๋กœ๋“œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ' + 'ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ์€ ${limitInMB}MB์ž…๋‹ˆ๋‹ค. ' + '์šฐ๋ฆฌ๋Š” ์••์ถ•ํ•ด ๋ณด์•˜์ง€๋งŒ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.'; + + @override + String fileTooLargeError(double limitInMB) => + 'ํŒŒ์ผ์ด ๋„ˆ๋ฌด ์ปค์„œ ์—…๋กœ๋“œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ์€ ${limitInMB}MB์ž…๋‹ˆ๋‹ค.'; + + @override + String emojiMatchingQueryText(String query) => '"$query"๊ณผ ์ผ์น˜ํ•˜๋Š” ์ด๋ชจํ‹ฐ์ฝ˜์ž…๋‹ˆ๋‹ค'; + + @override + String get addAFileLabel => 'ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•จ'; + + @override + String get photoFromCameraLabel => '์นด๋ฉ”๋ผ์—์„œ ์ฐ์€ ์‚ฌ์ง„'; + + @override + String get uploadAFileLabel => 'ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•จ'; + + @override + String get uploadAPhotoLabel => '์‚ฌ์ง„์„ ์—…๋กœ๋“œํ•จ'; + + @override + String get uploadAVideoLabel => '๋น„๋””์˜ค๋ฅผ ์—…๋กœ๋“œํ•จ'; + + @override + String get videoFromCameraLabel => '์นด๋ฉ”๋ผ์˜ ๋น„๋””์˜ค.'; + + @override + String get okLabel => 'ํ™•์ธ'; + + @override + String get somethingWentWrongError => '๋ญ”๊ฐ€ ์ž˜๋ชป๋์Šต๋А๋‹ค'; + + @override + String get addMoreFilesLabel => 'ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•จ'; + + @override + String get enablePhotoAndVideoAccessMessage => '์นœ๊ตฌ์™€ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์‚ฌ์ง„๊ณผ' + '\n๋™์˜์ƒ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค.'; + + @override + String get allowGalleryAccessMessage => '๊ฐค๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค'; + + @override + String get flagMessageLabel => ' ๋ฉ”์‹œ์ง€๋ฅผ ํ”Œ๋ž˜๊ทธํ•จ'; + + @override + String get flagMessageQuestion => '์ถ”๊ฐ€ ์กฐ์‚ฌ๋ฅผ ์œ„ํ•ด ์ง„ํ–‰์ž์—๊ฒŒ ์ด ๋ฉ”์‹œ์ง€์˜ ๋ณต์‚ฌ๋ณธ์„ ์ „์†กํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?'; + + @override + String get flagLabel => 'ํ”Œ๋ž˜๊ทธํ•จ'; + + @override + String get cancelLabel => '์ทจ์†Œ'; + + @override + String get flagMessageSuccessfulLabel => '๋ฉ”์‹œ์ง€์— ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ง€์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค'; + + @override + String get flagMessageSuccessfulText => '๋ฉ”์‹œ์ง€๊ฐ€ ์ง„ํ–‰์ž์—๊ฒŒ ๋ณด๊ณ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.'; + + @override + String get deleteLabel => '์‚ญ์ œ'; + + @override + String get deleteMessageLabel => '๋ฉ”์‹œ์ง€๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.'; + + @override + String get deleteMessageQuestion => '์ด ๋ฉ”์‹œ์ง€๋ฅผ ์™„์ „ํžˆ ์‚ญ์ œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?'; + + @override + String get operationCouldNotBeCompletedText => '์ž‘์—…์„ ์™„๋ฃŒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.'; + + @override + String get replyLabel => '๋‹ต๊ธ€'; + + @override + String togglePinUnpinText({required bool pinned}) { + if (pinned) return '๋Œ€ํ™”์˜ ํ•€์„ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค'; + return '๋Œ€ํ™”์— ๊ณ ์ •ํ•ฉ๋‹ˆ๋‹ค'; + } + + @override + String toggleDeleteRetryDeleteMessageText({required bool isDeleteFailed}) { + if (isDeleteFailed) return '๋ฉ”์‹œ์ง€ ์‚ญ์ œ๋ฅผ ๋‹ค์‹œ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค'; + return '๋ฉ”์‹œ์ง€๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค'; + } + + @override + String get copyMessageLabel => '๋ฉ”์‹œ์ง€๋ฅผ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.'; + + @override + String get editMessageLabel => '๋ฉ”์‹œ์ง€๋ฅผ ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค.'; + + @override + String toggleResendOrResendEditedMessage({required bool isUpdateFailed}) { + if (isUpdateFailed) return 'ํŽธ์ง‘๋œ ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ค์‹œ ๋ณด๋ƒ…๋‹ˆ๋‹ค.'; + return '๋‹ค์‹œ ๋ณด๋ƒ…๋‹ˆ๋‹ค.'; + } + + @override + String get photosLabel => '์‚ฌ์ง„'; + + String _getDay(DateTime dateTime) { + final now = DateTime.now(); + final today = DateTime(now.year, now.month, now.day); + final yesterday = DateTime(now.year, now.month, now.day - 1); + + final date = DateTime(dateTime.year, dateTime.month, dateTime.day); + + if (date == today) { + return '์˜ค๋Š˜'; + } else if (date == yesterday) { + return '์–ด์ œ'; + } else { + return '${Jiffy(date).MMMd}์—'; + } + } + + @override + String sentAtText({required DateTime date, required DateTime time}) => + '${_getDay(date)} ${Jiffy(time.toLocal()).format('HH:mm')}์— ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค'; + + @override + String get todayLabel => '์˜ค๋Š˜'; + + @override + String get yesterdayLabel => '์–ด์ œ'; + + @override + String get channelIsMutedText => '์ฑ„๋„์ด ์Œ์†Œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.'; + + @override + String get noTitleText => '์ œ๋ชฉ์ด ์—†์Šต๋‹ˆ๋‹ค.'; + + @override + String get letsStartChattingLabel => '์ฑ„ํŒ… ์‹œ์ž‘ํ•ด์š”!'; + + @override + String get sendingFirstMessageLabel => '์นœ๊ตฌ์—๊ฒŒ ์ฒซ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด ๋ณผ๊นŒ์š”?'; + + @override + String get startAChatLabel => '๋Œ€ํ™”๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.'; + + @override + String get loadingChannelsError => '์ฑ„๋„์„ ๋กœ๋“œํ•˜๋Š” ๋™์•ˆ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.'; + + @override + String get deleteConversationLabel => '๋Œ€ํ™”๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.'; + + @override + String get deleteConversationQuestion => '๋Œ€ํ™”๋ฅผ ์‚ญ์ œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?'; + + @override + String get streamChatLabel => '์ŠคํŠธ๋ฆผ ์ฑ„ํŒ…'; + + @override + String get searchingForNetworkText => '๋„คํŠธ์›Œํฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ์ค‘์ž…๋‹ˆ๋‹ค.'; + + @override + String get offlineLabel => '์˜คํ”„๋ผ์ธ...'; + + @override + String get tryAgainLabel => '๋‹ค์‹œ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค'; + + @override + String membersCountText(int count) => '$count๋ช…'; + + @override + String watchersCountText(int count) => '$count๋ช…์ด ์˜จ๋ผ์ธ'; + + @override + String get viewInfoLabel => '์ •๋ณด๋ฅผ ๋ณด๊ธฐ'; + + @override + String get leaveGroupLabel => '๊ทธ๋ฃน์„ ๋– ๋‚ฉ๋‹ˆ๋‹ค.'; + + @override + String get leaveLabel => '๋– ๋‚˜๋‹ค'; + + @override + String get leaveConversationLabel => '๋Œ€ํ™”์—์„œ ๋– ๋‚ฉ๋‹ˆ๋‹ค.'; + + @override + String get leaveConversationQuestion => '์ •๋ง ์ด ๋Œ€ํ™”์—์„œ ๋‚˜๊ฐ€์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?'; + + @override + String get showInChatLabel => '์ฑ„ํŒ…์— ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.'; + + @override + String get saveImageLabel => '์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.'; + + @override + String get saveVideoLabel => '๋น„๋””์˜ค๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.'; + + @override + String get uploadErrorLabel => '์—…๋กœ๋“œ ์˜ค๋ฅ˜'; + + @override + String get giphyLabel => '์ง€ํ”ผ'; + + @override + String get shuffleLabel => '์„ž๊ธฐ'; + + @override + String get sendLabel => '๋ณด๋‚ด๊ธฐ'; + + @override + String get withText => 'ํ•จ๊ป˜'; + + @override + String get inText => '์—'; + + // This is the word for 'customer' or 'user' because saying 'you' directly + // is too informal and rude + @override + String get youText => '๋‹น์‹ '; + + @override + String galleryPaginationText( + {required int currentPage, required int totalPages}) => + '${currentPage + 1} / $totalPages'; + //3 / 11 + + @override + String get fileText => 'ํŒŒ์ผ'; + + @override + String get replyToMessageLabel => '๋ฉ”์‹œ์ง€์— ํšŒ์‹ ํ•ฉ๋‹ˆ๋‹ค.'; +} diff --git a/packages/stream_chat_localizations/test/translations_test.dart b/packages/stream_chat_localizations/test/translations_test.dart index 0e621159..c7314a58 100644 --- a/packages/stream_chat_localizations/test/translations_test.dart +++ b/packages/stream_chat_localizations/test/translations_test.dart @@ -174,7 +174,7 @@ void main() { expect(localizations.withText, isNotNull); expect(localizations.inText, isNotNull); expect(localizations.youText, isNotNull); - expect(localizations.ofText, isNotNull); + expect(localizations.galleryPaginationText, isNotNull); expect(localizations.fileText, isNotNull); expect(localizations.replyToMessageLabel, isNotNull); });