Git Product home page Git Product logo

arbify_flutter's Introduction

Arbify

PHP workflow

Arbify is currently abandoned. Features that are already present should work without a problem, but no further support or development will be made here, at least for some time. Feel free to fork it!

Screenshot

ARB files localization tool. Dedicated to Flutter and its intl package.

Installation

Firstly, copy the .env.example file to .env and fill it with the correct configuration for some of the services.

cp .env.example .env
nano .env # or vim or whatever you like :)

Commented lines are irrelevant, or you most probably shouldn't care about them. You may want to set MAIL_* variables to use a proper SMTP server. Arbify logs the emails instead of sending them by default.

Deploying

docker-compose build arbify
docker-compose up -d
docker-compose run --rm arbify docker/arbify/upgrade.sh

The build step and running the upgrade.sh script is required only after installing or updating the Arbify. You don't need to run it everytime.

After this you're ready to go to http://localhost:8000 and check out Arbify yourself!

The database is seeded with a pre-verified super administrator account admin with password password.

arbify_flutter's People

Contributors

albert221 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

arbify_flutter's Issues

Unsound null safety

It is required to add // @dart=2.9 on top of a translation file in order to make it work with null safety feature (Dart version >= 2.12) until those packages won't support null safety by default

Arbify parsing error

Hello! An exception was thrown, the cause of which is not yet known:

Output directory doesn't exist. Creating... done.
ru                  Downloading... done.
Generating l10n.dart file... done
Generating messages dart files... Error in parsing lib/l10n/l10n.dart, no messages extracted.
Unhandled exception:
Invalid argument(s): Parsing errors in lib/l10n/l10n.dart
#0      MessageExtraction._parseCompilationUnit (package:intl_translation/extract_messages.dart:117:7)
#1      MessageExtraction.parseContent (package:intl_translation/extract_messages.dart:102:14)
#2      MessageExtraction.parseFile (package:intl_translation/extract_messages.dart:87:12)
#3      IntlTranslation.generateFromArb.<anonymous closure> (package:arbify/src/generator/intl_translation.dart:58:44)
#4      MappedListIterable.elementAt (dart:_internal/iterable.dart:417:31)
#5      ListIterator.moveNext (dart:_internal/iterable.dart:343:26)
#6      IntlTranslation.generateFromArb (package:arbify/src/generator/intl_translation.dart:59:30)
#7      ArbifyCli._runIntlTranslationGenerateFromArb (package:arbify/src/arbify_cli.dart:286:23)
#8      ArbifyCli.runDownload (package:arbify/src/arbify_cli.dart:182:5)
<asynchronous suspension>
#9      ArbifyCli.run (package:arbify/src/arbify_cli.dart:57:13)
#10     main (file:///Volumes/Development/SDK/flutter/.pub-cache/hosted/pub.dartlang.org/arbify-0.0.11/bin/download.dart:4:21)
#11     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:299:32)
#12     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
pub finished with exit code 255

My JSON file schema is correct.

Error when there are no translation strings for the language

Reproduction steps:

  1. Create a project, add any language, do nothing else.
  2. Get localization via API flutter pub run arbify:download.
Output directory doesn't exist. Creating... done.
Unhandled exception:
type 'List<dynamic>' is not a subtype of type 'Map<String, dynamic>' in type cast
#0      ArbifyApi.fetchAvailableExports.<anonymous closure> (package:arbify/src/api/arbify_api.dart:27:29)
#1      _RootZone.runUnary (dart:async/zone.dart:1450:54)
#2      _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
#3      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
#4      Future._propagateToListeners (dart:async/future_impl.dart:725:32)
#5      Future._complete (dart:async/future_impl.dart:519:7)
#6      _SyncCompleter.complete (dart:async/future_impl.dart:55:12)
#7      Future.any.onValue (dart:async/future.dart:473:45)
#8      _RootZone.runUnary (dart:async/zone.dart:1450:54)
#9      _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
#10     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
#11     Future._propagateToListeners (dart:async/future_impl.dart:725:32)
#12     Future._completeWithValue (dart:async/future_impl.dart:529:5)
#13     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:40:15)
#14     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:311:13)
#15     DioMixin._dispatchRequest (package:dio/src/dio.dart)
<asynchronous suspension>
#16     DioMixin._request._interceptorWrapper.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:dio/src/dio.dart:849:37)
#17     DioMixin.checkIfNeedEnqueue (package:dio/src/dio.dart:1121:22)
#18     DioMixin._request._interceptorWrapper.<anonymous closure>.<anonymous closure> (package:dio/src/dio.dart:846:22)
#19     new Future.<anonymous closure> (dart:async/future.dart:175:37)
#20     Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:18:15)
#21     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:397:19)
#22     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:428:5)
#23     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
pub finished with exit code 255

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.