1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- import 'dart:convert';
- import 'dart:ui';
- import 'package:fis_common/index.dart';
- import 'package:fis_common/logger/logger.dart';
- import 'package:fis_jsonrpc/rpc.dart';
- import 'package:fis_ui/index.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter/services.dart';
- import 'package:get/get.dart';
- import 'interfaces/base_manager.dart';
- import 'interfaces/language.dart';
- class LanguageConfigManager extends BaseManager
- implements ILanguageConfigManager {
- /// 中文
- static const Locale CHINESE_LOCALE = const Locale("zh", "CN");
- /// 英文
- static const Locale ENGLISH_LOCALE = const Locale("en", "US");
- List<dynamic> _cache = [];
- /// 检查翻译
- /// [code] 翻译key
- @override
- String getExamLanguageValue(String code) {
- try {
- // var value = languageService.findLanguageValueByCode('exam', code);
- // return value;
- } catch (e) {
- print(e);
- }
- return code;
- }
- /// 诊断相关翻译
- /// [code] 翻译key
- @override
- String getConsultationLanguageValue(String code) {
- try {
- // var value = languageService.findLanguageValueByCode('consultation', code);
- // return value;
- } catch (e) {
- print(e);
- }
- return code;
- }
- /// 器官部位相关翻译
- /// [code] 翻译key
- @override
- String getApplicationLanguageValue(String code) {
- try {
- // var value = languageService.findLanguageValueByCode('application', code);
- // return value;
- } catch (e) {
- print(e);
- }
- return code;
- }
- @override
- Future<bool> swithLanguageByCode(String languageCode) async {
- Locale locale;
- bool result = false;
- return result;
- }
- Future<void> initCache() async {
- if (_cache.isNotEmpty) {
- return;
- }
- final json =
- await rootBundle.loadString("assets/data/measure_language.json");
- _cache = jsonDecode(json);
- }
- /// 检查根据不同语言模块的父级Code获取集合
- ///
- /// [module] 当前模块
- /// [module] 翻译Code
- String findLanguageValueByCode(String module, String code) {
- try {
- String? examLanguage = _cache.firstWhere(
- (element) => element['LangugeModule'] == module)['Content'];
- if (examLanguage != null) {
- final String? children = jsonDecode(examLanguage)["Language"][code];
- return children ?? code;
- }
- return code;
- } catch (e) {
- return code;
- }
- }
- }
|