writeARB function

void writeARB(
  1. String filename,
  2. Translation data
)

Writes Translation to .arb files.

Implementation

void writeARB(String filename, Translation data) {
  for (int i = 0; i < data.languages.length; i++) {
    final String lang = data.languages[i];
    final File f = File('${withoutExtension(filename)}_$lang.arb');

    final StringBuffer buf = StringBuffer('{\n');
    for (int i = 0; i < data.items.length; i++) {
      final ARBItem item = data.items[i];
      final String? json = item.toJSON(lang, data.predefinedPlaceholderTable);
      if (json != null) {
        buf.write(json);
        if (i < data.items.length - 1) {
          buf.writeln(',');
        } else {
          buf.writeln();
        }
      }
    }
    buf.writeln('}');
    f.writeAsStringSync(buf.toString());
  }
}