Skip to content

Commit

Permalink
#1097 | Added a checkbox to download translations without locations
Browse files Browse the repository at this point in the history
  • Loading branch information
ombhardwajj committed Jan 30, 2025
1 parent 947915e commit 57002e4
Showing 1 changed file with 16 additions and 31 deletions.
47 changes: 16 additions & 31 deletions src/translations/Translations.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,12 @@ import Import from "./Import";
import { TranslationDashboard } from "./TranslationDashboard";
import Button from "@material-ui/core/Button";
import Box from "@material-ui/core/Box";
import Checkbox from "@material-ui/core/Checkbox";
import FormControlLabel from "@material-ui/core/FormControlLabel";
import { DocumentationContainer } from "../common/components/DocumentationContainer";

const EMPTY_TRANSLATION_KEY = "KEY_NOT_DEFINED";
export const Translations = ({
user,
organisationConfig,
getOrgConfig,
dashboardData,
getDashboardData,
history
}) => {
export const Translations = ({ user, organisationConfig, getOrgConfig, dashboardData, getDashboardData, history }) => {
useEffect(() => {
getOrgConfig();
getDashboardData("Android", EMPTY_TRANSLATION_KEY);
Expand All @@ -32,17 +27,16 @@ export const Translations = ({
const platforms = [{ id: "Android", name: "Android" }, { id: "Web", name: "Web" }];
const localeChoices = organisationConfig && getLocales(organisationConfig);
const [platform, setPlatform] = useState("");
const [excludeLocations, setExcludeLocations] = useState(false);

const onDownloadPressedHandler = () => {
const platformId = find(platforms, p => p.name === platform).id;
return http
.get(http.withParams("/translation", { platform: platformId }))
.get(http.withParams("/translation", { platform: platformId, includeLocations: !excludeLocations }))
.then(response => {
const zip = new JSZip();
const folder = zip.folder("locale");
response.data.forEach(data =>
folder.file(data.language + ".json", JSON.stringify(data.translationJson, undefined, 2))
);
response.data.forEach(data => folder.file(data.language + ".json", JSON.stringify(data.translationJson, undefined, 2)));
zip.generateAsync({ type: "blob" }).then(content => saveAs(content, "translations.zip"));
})
.catch(error => {
Expand All @@ -64,11 +58,7 @@ export const Translations = ({
</span>
);
return (
<ScreenWithAppBar
appbarTitle={`Translations`}
enableLeftMenuButton={true}
renderAllOptions={false}
>
<ScreenWithAppBar appbarTitle={`Translations`} enableLeftMenuButton={true} renderAllOptions={false}>
<Box>Language not set {link} to set.</Box>
</ScreenWithAppBar>
);
Expand All @@ -79,21 +69,15 @@ export const Translations = ({
<DocumentationContainer filename={"Translation.md"}>
<div id={"margin"}>
<Box border={1} borderColor={"#ddd"} p={2}>
<TranslationDashboard
data={dashboardData}
emptyTranslationKey={EMPTY_TRANSLATION_KEY}
/>
<TranslationDashboard data={dashboardData} emptyTranslationKey={EMPTY_TRANSLATION_KEY} />
</Box>
<p />
<Box border={1} borderColor={"#ddd"} p={2}>
<Grid>
<h5 id="title">Upload Translations</h5>
</Grid>
<Grid container direction="row" justify="flex-start" alignItems="center">
<Import
locales={localeChoices}
onSuccessfulImport={() => getDashboardData("Android", EMPTY_TRANSLATION_KEY)}
/>
<Import locales={localeChoices} onSuccessfulImport={() => getDashboardData("Android", EMPTY_TRANSLATION_KEY)} />
</Grid>
</Box>
<p />
Expand All @@ -102,12 +86,13 @@ export const Translations = ({
<h5 id="title">Download Translations</h5>
</Grid>
<Grid container direction="row" justify="flex-start" alignItems="center" m={3}>
<DropDown
name="Platform"
value={platform}
onChange={setPlatform}
options={platforms}
/>
<DropDown name="Platform" value={platform} onChange={setPlatform} style={{ width: 120 }} options={platforms} />
<Box pl={2}>
<FormControlLabel
control={<Checkbox checked={excludeLocations} onChange={() => setExcludeLocations(prev => !prev)} color="primary" />}
label="Exclude Locations"
/>
</Box>
<Box pl={2} pr={4}>
<Button
variant="contained"
Expand Down

0 comments on commit 57002e4

Please sign in to comment.