diff --git a/README.md b/README.md index 3aa3b13..c7d9763 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,9 @@ Support languages * ![English] * ![Chinese Simplified] -* ![Franch] +* ![Franch] + + Translator: ppp Please [Email](mailto:) me you'd like to contribute to support more languages! @@ -97,7 +99,7 @@ src ├──settings ├──setting.dart [Setting Page] -STATES +STATE src ├──state ├──audio_state.dart [Audio State] diff --git a/assets/mx.png b/assets/mx.png new file mode 100644 index 0000000..fa12e37 Binary files /dev/null and b/assets/mx.png differ diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index fa1501b..845826e 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -278,6 +278,12 @@ "@play": {}, "playback": "Playback control", "@playback": {}, + "playerHeightMed": "Medium", + "@playerHeightMed": {}, + "playerHeightShort": "Short", + "@playerHeightShort": {}, + "playerHeightTall": "Tall", + "@playerHeightTall": {}, "playing": "Playing", "@playing": {}, "plugins": "Plugins", @@ -443,11 +449,15 @@ "@settingsNetworkCellularDes": {}, "settingsPlayDes": "Playlist and player", "@settingsPlayDes": {}, + "settingsPlayerHeight": "Player height", + "@settingsPlayerHeight": {}, + "settingsPlayerHeightDes": "Change player widget height as you like", + "@settingsPlayerHeightDes": {}, "settingsPopupMenu": "Episodes popup menu", "@settingsPopupMenu": {}, "settingsPopupMenuDes": "Change the popup menu of episode", "@settingsPopupMenuDes": {}, - "settingsPrefrence": "Prefrence", + "settingsPrefrence": "Preference", "@settingsPrefrence": {}, "settingsRealDark": "Real dark", "@settingsRealDark": {}, diff --git a/lib/l10n/intl_fr.arb b/lib/l10n/intl_fr.arb index 539c2bc..f1f3b92 100644 --- a/lib/l10n/intl_fr.arb +++ b/lib/l10n/intl_fr.arb @@ -278,6 +278,12 @@ "@play": {}, "playback": "Commandes du lecteur", "@playback": {}, + "playerHeightMed": "Medium", + "@playerHeightMed": {}, + "playerHeightShort": "Short", + "@playerHeightShort": {}, + "playerHeightTall": "Tall", + "@playerHeightTall": {}, "playing": "En cours", "@playing": {}, "plugins": "Plugins", @@ -443,6 +449,10 @@ "@settingsNetworkCellularDes": {}, "settingsPlayDes": "Playlist et lecteur", "@settingsPlayDes": {}, + "settingsPlayerHeight": "Player height", + "@settingsPlayerHeight": {}, + "settingsPlayerHeightDes": "Change player widget height as you like", + "@settingsPlayerHeightDes": {}, "settingsPopupMenu": "Menu popup des épisodes", "@settingsPopupMenu": {}, "settingsPopupMenuDes": "Configuration du menu popup", diff --git a/lib/l10n/intl_zh_Hans.arb b/lib/l10n/intl_zh_Hans.arb index 7b362aa..0725b2b 100644 --- a/lib/l10n/intl_zh_Hans.arb +++ b/lib/l10n/intl_zh_Hans.arb @@ -278,6 +278,12 @@ "@play": {}, "playback": "播放控制", "@playback": {}, + "playerHeightMed": "中", + "@playerHeightMed": {}, + "playerHeightShort": "低", + "@playerHeightShort": {}, + "playerHeightTall": "高", + "@playerHeightTall": {}, "playing": "正在播放", "@playing": {}, "plugins": "插件", @@ -443,6 +449,10 @@ "@settingsNetworkCellularDes": {}, "settingsPlayDes": "播放列表和播放器", "@settingsPlayDes": {}, + "settingsPlayerHeight": "播放器高度", + "@settingsPlayerHeight": {}, + "settingsPlayerHeightDes": "您可以修改播放器高度", + "@settingsPlayerHeightDes": {}, "settingsPopupMenu": "节目弹出菜单", "@settingsPopupMenu": {}, "settingsPopupMenuDes": "修改节目弹出菜单", diff --git a/lib/settings/languages.dart b/lib/settings/languages.dart index f3caae7..cba1129 100644 --- a/lib/settings/languages.dart +++ b/lib/settings/languages.dart @@ -33,97 +33,114 @@ class _LanguagesSettingState extends State { Theme.of(context).accentColorBrightness, ), child: Scaffold( - appBar: AppBar( - title: Text(s.settingsLanguages), - elevation: 0, - backgroundColor: Theme.of(context).primaryColor, + appBar: AppBar( + title: Text(s.settingsLanguages), + elevation: 0, + backgroundColor: Theme.of(context).primaryColor, + ), + body: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + ListTile( + title: Text(s.systemDefault), + onTap: () async { + await S.load(Locale(Intl.systemLocale)); + setState(() {}); + }, + contentPadding: const EdgeInsets.only(left: 75, right: 20), + trailing: Radio( + value: Locale(Intl.systemLocale), + groupValue: Locale(Intl.getCurrentLocale()), + onChanged: (locale) async { + await S.load(locale); + setState(() {}); + }), + ), + Divider(height: 2), + ListTile( + title: Text('English'), + onTap: () async { + await S.load(Locale('en')); + setState(() {}); + }, + contentPadding: const EdgeInsets.only(left: 75, right: 20), + trailing: Radio( + value: Locale('en'), + groupValue: Locale(Intl.getCurrentLocale()), + onChanged: (locale) async { + await S.load(locale); + setState(() {}); + }), + ), + Divider(height: 2), + ListTile( + title: Text('简体中文'), + onTap: () async { + await S.load(Locale('zh_Hans')); + setState(() {}); + }, + contentPadding: const EdgeInsets.only(left: 75, right: 20), + trailing: Radio( + value: Locale('zh_Hans'), + groupValue: Locale(Intl.getCurrentLocale()), + onChanged: (locale) async { + await S.load(locale); + setState(() {}); + }), + ), + Divider(height: 2), + ListTile( + title: Text('LE françAIS'), + onTap: () async { + await S.load(Locale('fr')); + setState(() {}); + }, + contentPadding: const EdgeInsets.only(left: 75, right: 20), + trailing: Radio( + value: Locale('fr'), + groupValue: Locale(Intl.getCurrentLocale()), + onChanged: (locale) async { + await S.load(locale); + setState(() {}); + }), + ), + Divider(height: 2), + //ListTile( + // title: Text('Español'), + // onTap: () async { + // await S.load(Locale('es')); + // setState(() {}); + // }, + // contentPadding: const EdgeInsets.only(left: 75, right: 20), + // trailing: Radio( + // value: Locale('es'), + // groupValue: Locale(Intl.getCurrentLocale()), + // onChanged: (locale) async { + // await S.load(locale); + // setState(() {}); + // }), + //), + //Divider(height: 2), + ListTile( + onTap: () => _launchUrl( + 'mailto:?subject=Tsacdop localization project'), + contentPadding: const EdgeInsets.only(left: 75, right: 20), + title: Align( + alignment: Alignment.centerLeft, + child: Image( + image: Theme.of(context).brightness == Brightness.light + ? AssetImage('assets/localizely_logo.png') + : AssetImage('assets/localizely_logo_light.png'), + height: 20), + ), + subtitle: Text( + "If you'd like to contribute to localization project, please contact me."), + ), + ], ), - body: SingleChildScrollView( - scrollDirection: Axis.vertical, - child: Column( - children: [ - ListTile( - title: Text(s.systemDefault), - onTap: () async { - await S.load(Locale(Intl.systemLocale)); - setState(() {}); - }, - contentPadding: const EdgeInsets.only(left: 75, right: 20), - trailing: Radio( - value: Locale(Intl.systemLocale), - groupValue: Locale(Intl.getCurrentLocale()), - onChanged: (locale) async { - await S.load(locale); - setState(() {}); - }), - ), - Divider(height: 2), - ListTile( - title: Text('English'), - onTap: () async { - await S.load(Locale('en')); - setState(() {}); - }, - contentPadding: const EdgeInsets.only(left: 75, right: 20), - trailing: Radio( - value: Locale('en'), - groupValue: Locale(Intl.getCurrentLocale()), - onChanged: (locale) async { - await S.load(locale); - setState(() {}); - }), - ), - Divider(height: 2), - ListTile( - title: Text('简体中文'), - onTap: () async { - await S.load(Locale('zh_Hans')); - setState(() {}); - }, - contentPadding: const EdgeInsets.only(left: 75, right: 20), - trailing: Radio( - value: Locale('zh_Hans'), - groupValue: Locale(Intl.getCurrentLocale()), - onChanged: (locale) async { - await S.load(locale); - setState(() {}); - }), - ), - Divider(height: 2), - ListTile( - title: Text('LE françAIS'), - onTap: () async { - await S.load(Locale('fr')); - setState(() {}); - }, - contentPadding: const EdgeInsets.only(left: 75, right: 20), - trailing: Radio( - value: Locale('fr'), - groupValue: Locale(Intl.getCurrentLocale()), - onChanged: (locale) async { - await S.load(locale); - setState(() {}); - }), - ), - Divider(height: 2), - ListTile( - onTap: () => _launchUrl( - 'mailto:?subject=Tsacdop localization project'), - contentPadding: const EdgeInsets.only(left: 75, right: 20), - title: Align( - alignment: Alignment.centerLeft, - child: Image( - image: Theme.of(context).brightness == - Brightness.light - ? AssetImage('assets/localizely_logo.png') - : AssetImage('assets/localizely_logo_light.png'), - height: 20), - ), - subtitle: Text( - "If you'd like to contribute to localization project, please contact me."), - ), - ], - ))), + ), + ), ); } }