Merge branch 'develop' of https://github.com/GetStream/stream-chat-flutter into text-message-guide
This commit is contained in:
@@ -28,6 +28,7 @@ The core package allows more customisation and hence provides business logic but
|
||||
reusable and customisable UI components.
|
||||
4. <b>Persistence (stream_chat_persistence)</b>: provides a persistence client for fetching and
|
||||
saving chat data locally.
|
||||
5. <b>Localizations (stream_chat_localizations)</b>: provides a set of localizations for the SDK.
|
||||
|
||||
We recommend building prototypes using the full UI package since it contains UI widgets already
|
||||
integrated with Stream's API. [stream_chat_flutter](https://pub.dev/packages/stream_chat_flutter)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: adding_custom_attachments
|
||||
sidebar_position: 2
|
||||
sidebar_position: 3
|
||||
title: Adding Custom Attachments
|
||||
---
|
||||
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
---
|
||||
id: adding_localization
|
||||
sidebar_position: 2
|
||||
title: Adding Localization
|
||||
---
|
||||
|
||||
Adding Localization To UI Widgets
|
||||
|
||||
### Introduction
|
||||
|
||||
We have a dedicated package for adding localization to our UI widgets. It's called `stream_chat_localizations` and you can find it [here](https://pub.dev/packages/stream_chat_localizations).
|
||||
|
||||
### Supported languages
|
||||
|
||||
At the moment we support the following languages:
|
||||
- [English](https://pub.dev/documentation/stream_chat_localizations/latest/stream_chat_localizations/StreamChatLocalizationsEn-class.html)
|
||||
- [Hindi](https://pub.dev/documentation/stream_chat_localizations/latest/stream_chat_localizations/StreamChatLocalizationsHi-class.html)
|
||||
- [Italian](https://pub.dev/documentation/stream_chat_localizations/latest/stream_chat_localizations/StreamChatLocalizationsIt-class.html)
|
||||
- [French](https://pub.dev/documentation/stream_chat_localizations/latest/stream_chat_localizations/StreamChatLocalizationsFr-class.html)
|
||||
|
||||
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
|
||||
|
||||
Add this to your package's pubspec.yaml file, use the latest version [](https://pub.dartlang.org/packages/stream_chat_localizations)
|
||||
```yaml
|
||||
dependencies:
|
||||
stream_chat_localizations: ^latest_version
|
||||
```
|
||||
|
||||
You should then run `flutter packages get`
|
||||
|
||||
### Usage
|
||||
|
||||
```dart
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:stream_chat_localizations/stream_chat_localizations.dart';
|
||||
|
||||
void main() {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
runApp(MyApp());
|
||||
}
|
||||
|
||||
class MyApp extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MaterialApp(
|
||||
// Add all the supported locales
|
||||
supportedLocales: const [
|
||||
Locale('en'),
|
||||
Locale('hi'),
|
||||
Locale('fr'),
|
||||
Locale('it'),
|
||||
],
|
||||
// Add GlobalStreamChatLocalizations.delegates
|
||||
localizationsDelegates: GlobalStreamChatLocalizations.delegates,
|
||||
builder: (context, widget) => StreamChat(
|
||||
client: client,
|
||||
child: widget,
|
||||
),
|
||||
home: StreamChannel(
|
||||
channel: channel,
|
||||
child: const ChannelPage(),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Adding a new language
|
||||
|
||||
To add a new language, create a new class extending `GlobalStreamChatLocalizations` and create a delegate for it, adding it to the `delegates` array.
|
||||
|
||||
Checkout [this example](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/example/lib/add_new_lang.dart) to see how to add a new language.
|
||||
|
||||
### Override exisiting languages
|
||||
|
||||
To override an existing language, create a new class extending that particular language class and create a delegate for it, adding it to the `delegates` array.
|
||||
|
||||
Checkout [this example](https://github.com/GetStream/stream-chat-flutter/blob/master/packages/stream_chat_localizations/example/lib/override_lang.dart) to see how to override an existing language.
|
||||
|
||||
### ⚠️ Note on **iOS**
|
||||
|
||||
For translation to work on **iOS** you need to add supported locales to
|
||||
`ios/Runner/Info.plist` as described [here](https://flutter.dev/docs/development/accessibility-and-localization/internationalization#specifying-supportedlocales).
|
||||
|
||||
Example:
|
||||
|
||||
```xml
|
||||
<key>CFBundleLocalizations</key>
|
||||
<array>
|
||||
<string>en</string>
|
||||
<string>nb</string>
|
||||
<string>fr</string>
|
||||
<string>it</string>
|
||||
</array>
|
||||
```
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: mig_guide_2_0
|
||||
sidebar_position: 3
|
||||
sidebar_position: 4
|
||||
title: Migrating to 2.0 (Null-safety)
|
||||
---
|
||||
|
||||
|
||||
@@ -29,7 +29,6 @@ void main() {
|
||||
expect(newUser.id, user.id);
|
||||
expect(newUser.role, user.role);
|
||||
expect(newUser.name, user.name);
|
||||
expect(newUser.language, user.language);
|
||||
|
||||
newUser = user.copyWith(
|
||||
id: 'test',
|
||||
@@ -42,7 +41,6 @@ void main() {
|
||||
expect(newUser.id, 'test');
|
||||
expect(newUser.role, 'test');
|
||||
expect(newUser.name, 'test');
|
||||
expect(newUser.language, 'en');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -148,8 +148,8 @@ class StreamChatState extends State<StreamChat> {
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
final locale = ui.window.locale;
|
||||
final languageCode = locale.languageCode;
|
||||
final currentLocale = Localizations.localeOf(context);
|
||||
final languageCode = currentLocale.languageCode;
|
||||
final availableLocales = Jiffy.getAllAvailableLocales();
|
||||
if (availableLocales.contains(languageCode)) {
|
||||
Jiffy.locale(languageCode);
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
## 1.0.1
|
||||
|
||||
* Minor Fixes
|
||||
|
||||
## 1.0.0
|
||||
|
||||
* First release
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
- [Register](https://getstream.io/chat/trial/) to get an API key for Stream Chat
|
||||
- [Flutter Chat Tutorial](https://getstream.io/chat/flutter/tutorial/)
|
||||
- [Chat UI Kit](https://getstream.io/chat/ui-kit/)
|
||||
- [UI Docs](https://getstream.io/chat/docs/sdk/flutter/stream_chat_flutter/introduction/)
|
||||
|
||||
This package provides localized strings for the stream chat widgets for many languages.
|
||||
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_localizations/flutter_localizations.dart';
|
||||
import 'package:jiffy/jiffy.dart';
|
||||
import 'package:stream_chat_flutter/stream_chat_flutter.dart'
|
||||
show StreamChatLocalizations, User;
|
||||
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
|
||||
|
||||
part 'stream_chat_localizations_en.dart';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/// Localizations for the StreamChat Flutter library.
|
||||
library stream_chat_localization;
|
||||
library stream_chat_localizations;
|
||||
|
||||
export 'package:flutter_localizations/flutter_localizations.dart'
|
||||
show
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: stream_chat_localizations
|
||||
description: The Official localizations for Stream Chat Flutter, a service for building chat applications
|
||||
version: 1.0.0
|
||||
version: 1.0.1
|
||||
homepage: https://github.com/GetStream/stream-chat-flutter
|
||||
repository: https://github.com/GetStream/stream-chat-flutter
|
||||
issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues
|
||||
|
||||
Reference in New Issue
Block a user