jiangtian616 / JHenTai

A cross-platform manga app made for e-hentai & exhentai by Flutter
Apache License 2.0
3.08k stars 77 forks source link
e-hentai ehentai ehtagtranslation ehviewer exhentai flutter hentai manga

platform last-commit downloads downloads star issue telegram

JHenTai

English | 简体中文 | 한국어

Q&A

Description

A manga app for E-Hentai, supporting Android & iOS & Windows & MacOS & Linux.

Still in development stage, welcome to submit issues or feature requests.

Download & Install

Download

Install for Android: download .apk according to your device architecture and install.

Install for iOS: download .ipa, then use AltStore or SideLoadly to sign.

Install for Windows: download Windows_xxx.zip, then unpack it.

Install for MacOS(No maintenance): download .dmg.

Install for Linux(No maintenance): download Linux-amd64.deb or Linux-x86_64.AppImage due to your platform, then install or execute it (You may need to install webkit2gtk-4.1).

Update

Update for Android: download .apk according to your device architecture and install.

Update for iOS: download .ipa, then use AltStore or SideLoadly to sign.

Update for Windows: Delete old unpacked directory directly, then download latest Windows_xxx.zip, unpack it.

Update for MacOS(No maintenance): download .dmg.

Update for Linux(No maintenance): Delete old and download the latest product.

Help With Translation

Please submit a PR if you want to help with translation.

steps

Develop Motivation

My first project With Flutter. I aim at getting familiar with Flutter during development. Devices I use include Android phone, Ipad and Windows computer. E-hentai apps I used before have several bugs, and I don't understand source code because I have no development experience with Android or ios, so I choose JHenTai to become my first Flutter Project.

2022.08.20 After five months of development, JHenTai has gradually become more and more strong, and I have completely refactored some codes for gallery page, reading page, download, etc. which are written at the beginning stage. I tried my best to extract the commonality between different page and style to reduce coupling, in order to benefit the development of new features. I would be very grateful if any kind of you could give me some advice on coding style, design patterns and anything related to Flutter development or participate in the development of JHenTai.

2022.10.29 I have been more familiar with basic Flutter development, and I'll focus on another area from now on. So updates for JHenTai will be less than previous, but I'll still handle bugs or issues in time。

References & Thanks

Layout and style references:

Tag translation:

Tag order optimization:

App translation:

mush thanks to these projects and people🙇‍

Screenshots

Mobile Layout

Tablet Layout

Desktop Layout

Gallery & Search

Gallery Detail

Setting & Download

Read

Main Features

Translation

languageCode

countryCode

  1. Copy /lib/src/l18n/en_US.dart and rename to {your_languageCode}_{your_countryCode}.dart
  2. Rename classname in new file(optional)
  3. Modify k-v pairs in method keys ,translate values to your language

Now you can submit your PR, I'll do the remaining things. Or you can go on with:

  1. Enter /lib/src/l18n/locale_text.dart , add a new k-v pair in method keys => {your_languageCode}_{your_countryCode} : {your_className}.keys()
  2. Enter /lib/src/consts/locale_consts.dart, add a new k-v pair in property localeCode2Description: {your_languageCode}_{your_countryCode} : {languageDescription} to describe your language.

About compiling

  1. You need to manage your Android signing by yourself, check https://docs.flutter.dev/deployment/android#signing-the-app
  2. Just run this project via IDEA or VSCode simply.

Main Dart Dependencies