Skip to content

Commit c8584cd

Browse files
author
rachana-egov
committed
updated localisation
1 parent a0dfd34 commit c8584cd

File tree

6 files changed

+50
-20
lines changed

6 files changed

+50
-20
lines changed

flutter/digit-ui-components/digit_components/lib/blocs/AppLocalization.dart

+6-7
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,20 @@ class ComponentLocalization {
2525
// Method to load localized strings
2626
Future<bool> load() async {
2727
_localizedStrings.clear();
28-
// Iterate over localized strings and filter based on locale
29-
for (var element in await localizedStrings) {
30-
if (element.locale == '${locale.languageCode}_${locale.countryCode}') {
31-
_localizedStrings.add(element);
32-
}
33-
}
28+
29+
_localizedStrings.add(localizedStrings);
30+
3431

3532
return true;
3633
}
3734

3835
// Method to translate a given localized value
3936
String translate(String localizedValues) {
40-
if (_localizedStrings.isEmpty) {
37+
if (_localizedStrings.isEmpty && _localizedStrings == null) {
38+
print('sdfjklllllllllllllllllllllllllllllll');
4139
return localizedValues;
4240
} else {
41+
print('bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
4342
final index = _localizedStrings.indexWhere(
4443
(medium) => medium.code == localizedValues,
4544
);
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import 'dart:typed_data';
2-
import 'dart:html' as html;
2+
//import 'dart:html' as html;
33

44
class WebFileWriter {
55
Future<String> writeToTemporaryFile(Uint8List dataBytes, String fileName) async {
@@ -17,14 +17,15 @@ class WebFileWriter {
1717
final extension = fileName.split('.').last.toLowerCase();
1818
final mimeType = mimeTypes[extension];
1919

20-
if (mimeType != null) {
21-
final blob = html.Blob([dataBytes], mimeType);
22-
final url = html.Url.createObjectUrlFromBlob(blob);
23-
html.window.open(url, '_blank');
24-
return url;
25-
} else {
26-
print('Unsupported file type: $extension');
27-
return '';
28-
}
20+
// if (mimeType != null) {
21+
// final blob = html.Blob([dataBytes], mimeType);
22+
// final url = html.Url.createObjectUrlFromBlob(blob);
23+
// html.window.open(url, '_blank');
24+
// return url;
25+
// } else {
26+
// print('Unsupported file type: $extension');
27+
// return '';
28+
// }
29+
return '';
2930
}
3031
}

flutter/digit-ui-components/digit_components/lib/utils/i18_key_constants.dart

+1
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ const common = Common();
33
class Common {
44
const Common();
55
String get camera => 'CAMERA';
6+
String get cameraUploaderText => 'CLICK_TO_ADD_PHOTO';
67
}
78

flutter/digit-ui-components/digit_components/lib/widgets/atoms/upload_image.dart

+8-3
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,18 @@ import 'package:camera/camera.dart';
88
import '../../utils/validators/file_validator.dart';
99
import '../../utils/validators/image_validator.dart';
1010
import '../helper_widget/button_list.dart';
11+
import '../localized.dart';
12+
import '../../utils/i18_key_constants.dart' as i18;
1113

12-
class ImageUploader extends StatefulWidget {
14+
class ImageUploader extends LocalizedStatefulWidget {
1315
final Function(List<File>) onImagesSelected;
1416
final bool allowMultiples;
1517
final String? errorMessage;
1618
final List<FileValidator>? validators;
1719

1820
const ImageUploader(
1921
{super.key,
22+
super.appLocalizations,
2023
required this.onImagesSelected,
2124
this.allowMultiples = false,
2225
this.errorMessage,
@@ -26,7 +29,7 @@ class ImageUploader extends StatefulWidget {
2629
_ImageUploaderState createState() => _ImageUploaderState();
2730
}
2831

29-
class _ImageUploaderState extends State<ImageUploader> {
32+
class _ImageUploaderState extends LocalizedState<ImageUploader> {
3033
late final List<File> _imageFiles = []; // List to hold multiple images
3134
late CameraController? _cameraController;
3235
late Future<void>? _initializeControllerFuture;
@@ -525,7 +528,9 @@ class _ImageUploaderState extends State<ImageUploader> {
525528
Icon(Icons.camera_enhance,
526529
size: spacer10,
527530
color: const DigitColors().light.primary1),
528-
Text('Click to add photo',
531+
Text(localizations.translate(
532+
const i18.Common().cameraUploaderText,
533+
),
529534
style: TextStyle(
530535
color: const DigitColors().light.primary1)),
531536
],

flutter/digit-ui-components/digit_components/lib/widgets/localized.dart

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'package:digit_ui_components/blocs/AppLocalization.dart';
22
import 'package:flutter/material.dart';
33

4+
45
abstract class LocalizedStatefulWidget extends StatefulWidget {
56
final ComponentLocalization? appLocalizations;
67

flutter/digit-ui-components/example/lib/main.dart

+23
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1+
import 'package:digit_ui_components/blocs/AppLocalization.dart';
2+
import 'package:digit_ui_components/blocs/component_localization_delegate.dart';
13
import 'package:digit_ui_components/digit_components.dart';
24
import 'package:digit_ui_components/utils/validators/validator.dart';
35
import 'package:digit_ui_components/widgets/atoms/digit_stepper.dart';
46
import 'package:digit_ui_components/widgets/atoms/dropdown_wrapper.dart';
57
import 'package:digit_ui_components/widgets/atoms/info_buttons.dart';
68
import 'package:digit_ui_components/widgets/atoms/input_wrapper.dart';
79
import 'package:digit_ui_components/widgets/atoms/timeline.dart';
10+
import 'package:digit_ui_components/widgets/atoms/upload_image.dart';
811
import 'package:digit_ui_components/widgets/atoms/upload_popUp.dart';
912
import 'package:digit_ui_components/widgets/molecules/digit_card.dart';
1013
import 'package:flutter/material.dart';
@@ -89,6 +92,8 @@ void main() {
8992
class MyApp extends StatelessWidget {
9093
const MyApp({super.key});
9194

95+
//Future<dynamic> localizedStrings;
96+
9297
/// This widget is the root of the application.
9398
@override
9499
Widget build(BuildContext context) {
@@ -99,10 +104,20 @@ class MyApp extends StatelessWidget {
99104
backgroundColor: DigitTheme.instance.colorScheme.secondary,
100105
)),
101106
home: const MyHomePage(title: 'Digit Components Page'),
107+
localizationsDelegates: [
108+
ComponentLocalization.getDelegate( getLocalizationString() , []),
109+
],
102110
);
103111
}
104112
}
105113

114+
//Function to read the localizations from ISAR,
115+
getLocalizationString() async {
116+
List<dynamic> localizationValues = [];
117+
118+
return localizationValues;
119+
}
120+
106121
class MyHomePage extends StatefulWidget {
107122
final String title;
108123

@@ -163,6 +178,14 @@ class MyHomePageState extends State<MyHomePage> {
163178
mainAxisSize: MainAxisSize.min,
164179
crossAxisAlignment: CrossAxisAlignment.start,
165180
children: [
181+
ImageUploader(
182+
onImagesSelected: (List<File> imageFile) {
183+
// Handle the selected image file here
184+
// print('Image selected: ${imageFile.path}');
185+
},
186+
allowMultiples: true,
187+
),
188+
SizedBox(height: 14,),
166189
InputField(
167190
type: InputType.text,
168191
label: "Text Field",

0 commit comments

Comments
 (0)