Git Product home page Git Product logo

boorusphere's Introduction

boorusphere icon

Boorusphere

Simple, content-focused booru viewer for Android


Features

  • Simple and intuitive UI
  • Support various booru-based imageboards
  • Support playing videos and animated images (GIF, WEBM)
  • Save favorites content
  • Search with tag suggestion
  • Download images and videos
  • Block tags from search result
  • Backup and restore data
  • and many more ...

Preview

Building from Source

  • Install Flutter SDK, visit flutter.dev for more information.

  • Fetch latest source code

git clone https://github.com/nullxception/boorusphere.git
cd boorusphere
  • Sync dependencies
flutter pub get
  • Run code generator
dart run build_runner build --delete-conflicting-outputs
  • Generate translation
dart run slang
  • Run the app with your favorite IDE/PDE. or from shell:
flutter run

Protip:

  • Run build_runner after editing some areas that needs a code generator such as entities and routing.
  • Run slang after editing translation files (*.i18n.json).
  • build_runner and slang has some features that will be helpful during development such as auto-rebuild and translation analysis, so it's highly recommended to check the documentations and familiarize yourself with it.

Translation

Translating untranslated strings

  • Run slang analyzer to check for missing translations
dart run slang analyze --outdir=i18n
  • Open i18n/_missing_translations.json and then translate your language of choice.

  • After editing the file, you can apply it to the actual json translation file by running:

dart run slang apply --outdir=i18n

dart run slang analyze --outdir=i18n # update analyzation result files

Note

You can leave untranslated strings on i18n/_missing_translations.json.
It's perfectly fine and recommended to leave it unchanged rather than adding it on the actual translation json but leaving it untranslated.

Adding a new language

You can copy i18n/strings_en.i18n.json to i18n/strings_<language-code>.i18n.json.
At this point, feel free to pull request your new language here and we'll take care of adapting to the app code.

Or if you want to build and test yourself, then:

  • Run slang to generate the strings.g.dart
dart run slang
  • Run slang analyzer to check for missing translations
dart run slang analyze --outdir=i18n
  • Build and run the app as usual

boorusphere's People

Contributors

nullxception avatar rinme avatar cakestwix avatar kyoyacchi avatar tienisto avatar maisans-maid avatar wheremyfiji avatar history-exe avatar altqx avatar xperiazu21 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.