1- import po2i18next from 'gettext-converter/po2i18next '
1+ import gettextConv from 'gettext-converter'
22import csv from 'fast-csv'
33import xlsx from 'xlsx'
44import yaml from 'yaml'
5- import asr2js from 'android-string-resource/asr2js '
5+ import asr from 'android-string-resource'
66import stringsFile from 'strings-file'
7- import xliff2js from 'xliff/xliff2js'
8- import xliff12ToJs from 'xliff/xliff12ToJs'
9- import targetOfjs from 'xliff/targetOfjs'
10- import sourceOfjs from 'xliff/sourceOfjs'
11- import resx2js from 'resx/resx2js'
12- import ftl2js from 'fluent_conv/ftl2js'
13- import tmx2js from 'tmexchange/tmx2js'
14- import laravel2js from 'laravelphp/laravel2js'
7+ import xliff from 'xliff'
8+ import resx from 'resx'
9+ import fluentConv from 'fluent_conv'
10+ import tmexchange from 'tmexchange'
11+ import laravelphp from 'laravelphp'
1512import javaProperties from '@js.properties/properties'
16- import xcstrings2locize from 'locize-xcstrings/xcstrings2locize '
13+ import xcstrings from 'locize-xcstrings'
1714import flatten from 'flat'
1815import { prepareImport as prepareCombinedImport } from './combineSubkeyPreprocessor.js'
1916
@@ -28,7 +25,7 @@ const convertToFlatFormat = async (opt, data, lng) => {
2825 return flatten ( jsonParsed )
2926 }
3027 if ( opt . format === 'po' || opt . format === 'gettext' ) {
31- const ret = po2i18next ( data . toString ( ) , {
28+ const ret = gettextConv . po2i18next ( data . toString ( ) , {
3229 persistMsgIdPlural : true ,
3330 ignoreCtx : true
3431 } )
@@ -37,7 +34,7 @@ const convertToFlatFormat = async (opt, data, lng) => {
3734 if ( opt . format === 'po_i18next' || opt . format === 'gettext_i18next' ) {
3835 const potxt = data . toString ( )
3936 const compatibilityJSON = / m s g c t x t " ( z e r o | o n e | t w o | f e w | m a n y | o t h e r ) " / . test ( potxt ) && 'v4'
40- const ret = po2i18next ( potxt , { compatibilityJSON } )
37+ const ret = gettextConv . po2i18next ( potxt , { compatibilityJSON } )
4138 return flatten ( ret )
4239 }
4340 if ( opt . format === 'csv' ) {
@@ -98,7 +95,7 @@ const convertToFlatFormat = async (opt, data, lng) => {
9895 return flatten ( jsObjn [ Object . keys ( jsObjn ) [ 0 ] ] [ Object . keys ( jsObjn [ Object . keys ( jsObjn ) [ 0 ] ] ) [ 0 ] ] )
9996 }
10097 if ( opt . format === 'android' ) {
101- const res = await asr2js ( data . toString ( ) , { comment : 'right' } )
98+ const res = await asr . asr2js ( data . toString ( ) , { comment : 'right' } )
10299 Object . keys ( res ) . forEach ( ( k ) => {
103100 if ( res [ k ] !== 'string' && typeof res [ k ] . comment === 'string' ) {
104101 res [ k ] = {
@@ -125,8 +122,8 @@ const convertToFlatFormat = async (opt, data, lng) => {
125122 ) {
126123 const fn =
127124 opt . format === 'xliff12' || opt . format === 'xlf12'
128- ? xliff12ToJs
129- : xliff2js
125+ ? xliff . xliff12ToJs
126+ : xliff . xliff2js
130127 const res = await fn ( data . toString ( ) )
131128 res . resources = res . resources || { }
132129 const ns = Object . keys ( res . resources ) [ 0 ]
@@ -145,22 +142,22 @@ const convertToFlatFormat = async (opt, data, lng) => {
145142 return prepareCombinedImport ( nsRes )
146143 }
147144 if ( ! res . targetLanguage ) {
148- const ret = await sourceOfjs ( res )
145+ const ret = await xliff . sourceOfjs ( res )
149146 return checkForPostProcessing ( ret )
150147 } else {
151- let ret = targetOfjs ( res )
148+ let ret = xliff . targetOfjs ( res )
152149 if ( lng !== opt . referenceLanguage ) return checkForPostProcessing ( ret )
153150 ret = ret || { }
154151 const keys = Object . keys ( ret )
155152 if ( keys . length === 0 ) return checkForPostProcessing ( ret )
156153 const allEmpty = keys . filter ( ( k ) => ret [ k ] !== '' ) . length === 0
157154 if ( ! allEmpty ) return checkForPostProcessing ( ret )
158- ret = await sourceOfjs ( res )
155+ ret = await xliff . sourceOfjs ( res )
159156 return checkForPostProcessing ( ret )
160157 }
161158 }
162159 if ( opt . format === 'resx' ) {
163- let res = await resx2js ( data . toString ( ) )
160+ let res = await resx . resx2js ( data . toString ( ) )
164161 res = Object . keys ( res ) . reduce ( ( mem , k ) => {
165162 const value = res [ k ]
166163 if ( typeof value === 'string' ) {
@@ -176,7 +173,7 @@ const convertToFlatFormat = async (opt, data, lng) => {
176173 return res
177174 }
178175 if ( opt . format === 'fluent' ) {
179- const fluentJS = ftl2js (
176+ const fluentJS = fluentConv . ftl2js (
180177 data
181178 . toString ( )
182179 . replace (
@@ -203,7 +200,7 @@ const convertToFlatFormat = async (opt, data, lng) => {
203200 return res
204201 }
205202 if ( opt . format === 'tmx' ) {
206- const jsonData = await tmx2js ( data . toString ( ) )
203+ const jsonData = await tmexchange . tmx2js ( data . toString ( ) )
207204 const tmxJsRes = jsonData . resources [ Object . keys ( jsonData . resources ) [ 0 ] ]
208205 const res = { }
209206 if ( tmxJsRes ) {
@@ -214,14 +211,14 @@ const convertToFlatFormat = async (opt, data, lng) => {
214211 return res
215212 }
216213 if ( opt . format === 'laravel' ) {
217- const res = await laravel2js ( data . toString ( ) )
214+ const res = await laravelphp . laravel2js ( data . toString ( ) )
218215 return flatten ( res )
219216 }
220217 if ( opt . format === 'properties' ) {
221218 return javaProperties . parseToProperties ( data . toString ( ) )
222219 }
223220 if ( opt . format === 'xcstrings' ) {
224- return xcstrings2locize ( data . toString ( ) )
221+ return xcstrings . xcstrings2locize ( data . toString ( ) )
225222 }
226223 throw new Error ( `${ opt . format } is not a valid format!` )
227224}
0 commit comments