Coder Social home page Coder Social logo

electron-packager-languages's Introduction

Electron Packager Plugin: Languages

GitHub license Travis CI NPM Download Count Known Vulnerabilities

Reason

After packaging a MacOS application, it contains all possible languages whether it supports or not. Then all those languages are listed at the App Store. The folders of unsupported languages should be removed in order to hide those languages at the detail page of the product.

Usage

Use the afterCopy hook in Electron Packager to run this plugin.

const setLanguages = require('electron-packager-languages');

electronPackager({
  ...
  afterCopy: [setLanguages(['en', 'en_GB'])]
})

electron-packager-languages's People

Contributors

barinali avatar dependabot[bot] avatar fcastilloec avatar malept avatar snyk-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

malept

electron-packager-languages's Issues

Can language strings be normalized across platforms?

I am using this package to reduce code bloat in my app which is being packaged for Linux targets (from a Linux dev machine).

The README shows sample code with: afterCopy: [setLanguages(['en', 'en_GB'])]
This is apparently the correct way to specify languages on Mac, but it fails on Linux, because the filenames use a hyphen instead of underscore.

I was attempting to only include US english. So I had afterCopy: [setLanguages(['en_US'])]
This results in a confusing error where attempting to open DevTools fails with an error on the console:

[333085:0522/153303.240453:ERROR:CONSOLE(1)] "Uncaught RangeError: Incorrect locale information provided", source: devtools://devtools/bundled/models/trace/helpers/helpers.js (1)

Changing to afterCopy: [setLanguages(['en-US'])] fixed it for me.

For reference, here is the full listing of ./out/APPNAME-linux-x64/locales/ on my Linux Mint 21.1 (when I omit the afterCopy: command)

af.pak
am.pak
ar.pak
bg.pak
bn.pak
ca.pak
cs.pak
da.pak
de.pak
el.pak
en-GB.pak
en-US.pak
es-419.pak
es.pak
et.pak
fa.pak
fil.pak
fi.pak
fr.pak
gu.pak
he.pak
hi.pak
hr.pak
hu.pak
id.pak
it.pak
ja.pak
kn.pak
ko.pak
lt.pak
lv.pak
ml.pak
mr.pak
ms.pak
nb.pak
nl.pak
pl.pak
pt-BR.pak
pt-PT.pak
ro.pak
ru.pak
sk.pak
sl.pak
sr.pak
sv.pak
sw.pak
ta.pak
te.pak
th.pak
tr.pak
uk.pak
ur.pak
vi.pak
zh-CN.pak
zh-TW.pak

It would be nice if there were a common way to specify languages that worked across platforms.

Critical error in a packaged Windows exe

Well, I spent almost a week trying to find the root cause of this symptom, but it was the 0.3.0 of this module.

If your app has either
<input type="file" />
or Google login popup screen,
then your app silently crashes with the devtool disconnected.

We had to rollback to 0.1.0, which doesn't seem to touch Windows part.

How to setLanguages from cli/package.json step?

Our build pipeline has "package" npm step that roughly looks like:

"package": "node_modules\.bin\electron-packager.cmd . "MYAPP" --platform [...]"

Which we invoke as npm run package .

What is the syntax to invoke this plugin in this case? I have added it as a dev_dep but can't figure out how to use it as a npm step. Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.