Skip to content
This repository has been archived by the owner on Jun 29, 2024. It is now read-only.

Commit

Permalink
Split "download translations" into own binary
Browse files Browse the repository at this point in the history
  • Loading branch information
bauerj committed Feb 26, 2022
1 parent 7d00cb6 commit b5f6dc0
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 22 deletions.
29 changes: 29 additions & 0 deletions bin/download_translations.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import 'dart:io';

import 'package:archive/archive.dart';
import 'package:archive/archive_io.dart';
import 'package:dio/dio.dart';

Future<void> translation() async {
var translation = await Dio()
.get("https://crowdin.com/backend/download/project/paperless-app.zip",
options: Options(
responseType: ResponseType.bytes,
));
final archive = ZipDecoder().decodeBytes(translation.data);
for (final file in archive) {
final filename = file.name.split("strings-").last;
if (file.isFile) {
final data = file.content as List<int>;
File('assets/locales/$filename')
..createSync(recursive: true)
..writeAsBytesSync(data);
}
}
print("Downloaded translations for ${archive.length / 2} languages");
}

void main(List<String> arguments) async {
print("▶ Updating translations...");
await translation();
}
24 changes: 2 additions & 22 deletions bin/release.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import 'dart:io';
import 'package:dio/dio.dart';

import 'package:yaml/yaml.dart';

import 'package:archive/archive.dart';
import 'package:archive/archive_io.dart';
import 'download_translations.dart';

var newVersion;

Expand Down Expand Up @@ -39,25 +38,6 @@ Future<void> version() async {
}
}

Future<void> translation() async {
var translation = await Dio()
.get("https://crowdin.com/backend/download/project/paperless-app.zip",
options: Options(
responseType: ResponseType.bytes,
));
final archive = ZipDecoder().decodeBytes(translation.data);
for (final file in archive) {
final filename = file.name.split("strings-").last;
if (file.isFile) {
final data = file.content as List<int>;
File('assets/locales/$filename')
..createSync(recursive: true)
..writeAsBytesSync(data);
}
}
print("Downloaded translations for ${archive.length / 2} languages");
}

Future<void> build() async {
var flutter = await Process.run(
"flutter", ["build", "apk", "--split-per-abi"],
Expand Down

0 comments on commit b5f6dc0

Please sign in to comment.