Skip to content

Commit 3feaec0

Browse files
author
Anton Savoskin
committed
fix(sync): use first locale in config as default locale
1 parent bb43429 commit 3feaec0

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

src/commands/sync.ts

+5-4
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,13 @@ export default class Extract extends Base {
6262
const {
6363
flags: { langs, provider, projectId, token, version, namespace },
6464
} = this.parse(Extract);
65+
const locales = langs.split(',');
66+
const defaultLocale = locales[0];
6567

6668
const getProvider = () => {
6769
const providers: { [key: string]: any } = {
68-
lokalise: () => new Lokalise(projectId, token),
69-
locize: () => new Locize(projectId, token, version, namespace),
70+
lokalise: () => new Lokalise(defaultLocale, projectId, token),
71+
locize: () => new Locize(defaultLocale, projectId, token, version, namespace),
7072
};
7173
return providers[provider]();
7274
};
@@ -77,7 +79,6 @@ export default class Extract extends Base {
7779
return;
7880
}
7981

80-
const locales = langs.split(',');
8182
locales.forEach(locale => {
8283
this.messages[locale] = {};
8384
});
@@ -92,7 +93,7 @@ export default class Extract extends Base {
9293
this.provider!.uploadMessages(newMessages.map(id => this.messages[locale][id]).filter(Boolean), locale),
9394
);
9495
} else {
95-
await this.provider.uploadMessages(newMessages.map(id => this.messages[locales[0]][id]), 'en');
96+
await this.provider.uploadMessages(newMessages.map(id => this.messages[locales[0]][id]), defaultLocale);
9697
}
9798
}
9899
}

src/providers/locize.ts

+6-5
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export class Locize implements Provider {
1111
locizeKeys: { [locale: string]: LocizeKeys } = {};
1212
newMessages: string[] = [];
1313
constructor(
14+
private defaultLocale?: string,
1415
private projectId?: string,
1516
private apiKey?: string,
1617
private version?: string,
@@ -37,7 +38,7 @@ export class Locize implements Provider {
3738
if (key) {
3839
return this.locizeKeys[locale][key];
3940
}
40-
if (locale === 'en') {
41+
if (locale === this.defaultLocale) {
4142
this.newMessages.push(id);
4243
}
4344
return '';
@@ -48,7 +49,7 @@ export class Locize implements Provider {
4849
const body = messages.reduce(
4950
(acc, { id, message, defaultMessage, description }) => {
5051
acc[id] = {
51-
value: locale === 'en' ? message || defaultMessage : message || '',
52+
value: locale === this.defaultLocale ? message || defaultMessage : message || '',
5253
context: { text: description || '' },
5354
};
5455
return acc;
@@ -59,9 +60,9 @@ export class Locize implements Provider {
5960
const response = await request<string>({
6061
headers,
6162
body,
62-
url: `${BASE_URL}/${locale === 'en' ? 'missing' : 'update'}/${this.projectId}/${this.version}/${locale}/${
63-
this.namespace
64-
}`,
63+
url: `${BASE_URL}/${locale === this.defaultLocale ? 'missing' : 'update'}/${this.projectId}/${
64+
this.version
65+
}/${locale}/${this.namespace}`,
6566
method: 'POST',
6667
});
6768
showInfo(`Response from locize: ${JSON.stringify(response, null, 2)}`);

src/providers/lokalise.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ type LocalizeResponse = {
5656
export class Lokalise implements Provider {
5757
lokaliseKeys: LokaliseKey[] = [];
5858
newMessages: string[] = [];
59-
constructor(private projectId?: string, private token?: string) {}
59+
constructor(private defaultLocale?: string, private projectId?: string, private token?: string) {}
6060

6161
async getKeys() {
6262
const headers = { 'x-api-token': this.token, 'content-type': 'application/json' };
@@ -79,7 +79,7 @@ export class Lokalise implements Provider {
7979
if (lokaliseString) {
8080
return lokaliseString.translation;
8181
}
82-
if (locale === 'en') {
82+
if (locale === this.defaultLocale) {
8383
this.newMessages.push(id);
8484
}
8585
return '';
@@ -92,7 +92,7 @@ export class Lokalise implements Provider {
9292
key_name: message.id,
9393
description: message ? message.description : '',
9494
platforms: ['ios', 'android', 'web', 'other'],
95-
translations: [{ language_iso: 'en', translation: message ? message.defaultMessage : '' }],
95+
translations: [{ language_iso: this.defaultLocale, translation: message ? message.defaultMessage : '' }],
9696
})),
9797
};
9898
try {

0 commit comments

Comments
 (0)