Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
edX i18n Tools |build-status| |coverage-status| ###############################################
EdX i18n tools are a set of commands useful for developers and translators to extract, compile and validate translations. The edX i18n tools can be installed running the following command inside the extracted directory.
python setup.py install
For Django projects, commands should be run from the root directory, and
the default configuration will be found at ./conf/locale/config.yaml
.
For Django apps, commands should be run from the app's directory, and
the default configuration will be found at ./locale/config.yaml
.
You can specify a different configuration file with the --config
argument.
To extract source strings and populate .po
translation files with them
i18n_tool extract
To generate test language(eo) translation files from source .po
files
i18n_tool dummy
To compile .po
translation files into .mo
message files
i18n_tool generate
To find translation errors in .po
files
i18n_tool validate
To determine if the source translation files(.po
) are up-to-date
i18n_tool changed
To segment a .po
file into smaller files based on the locations of the messages
i18n_tool segment
Developers or translators can use commands provided by edX i18n tools to upload
translations to Transifex or download them. Before using these commands one
should have an account on transifex.com <https://www.transifex.com/>
_ to
create a ~/.transifexrc
file. Once the Transifex account has been set up,
create a ~/.transifexrc
file having these contents::
[https://www.transifex.com] hostname = https://www.transifex.com password = YOURPASSWORD token = username = YOURUSERNAME(EMAIL)
Also make sure you have a Transifex configuration file .tx/config
present
under the project directory.
To upload translations to Transifex
i18n_tool transifex push
To download translations from Transifex
i18n_tool transifex pull
Details of the config.yaml file are in edx-platform/conf/locale/config.yaml <https://github.com/openedx/edx-platform/blob/master/conf/locale/config.yaml>
_
Test that tag validation catches HTML added to translations.
When tag validation finds differences, output should be deterministic.
Ensure that we only pull files from Transifex that are 10% done. Avoids a problem with our validation code choking on empty po files and avoids translations that are just getting started.
Don't complain about obviously missing files when cleaning the headers of just-pulled files, and make sure that we do notice the files we did actually pull.
Ensure that Plural-Forms has a valid value when extracting. python-gettext will choke otherwise.
When creating a dummy po file, don't garble source strings in a way that relies on the Python dictionary order. This way the result will always be the same no matter the machine.
i18n_tool changed
command added. This command determines if the source
translation files are up-to-date. If they are not it returns a non-zero exit
code.i18n_tool validate
no longer complains about problems in both the
component .po files and the combined .po files.i18n_tool extract
will preserve existing django.po and djangojs.po files
in the source directory.i18n_tool transifex push
and i18n_tool transifex pull
now can take
optional resource names on the command line. If not provided, all resources
are pushed/pulled.i18n_tool validate
no longer leaves an unneeded messages.mo file behind.To work on this code:
#. Install Tox::
$ pip install tox
#. Run tests::
$ tox
If you have failures because msgcat
failed, you may need to install it,
and adjust your PATH to include it. On a Mac, for example::
$ brew install gettext $ PATH=/usr/local/Cellar/gettext/0.19.3/bin/:$PATH tox
.. |build-status| image:: https://travis-ci.com/edx/i18n-tools.svg?branch=master :target: https://travis-ci.com/edx/i18n-tools .. |coverage-status| image:: https://coveralls.io/repos/edx/i18n-tools/badge.png :target: https://coveralls.io/r/edx/i18n-tools
FAQs
edX Internationalization Tools
We found that edx-i18n-tools demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.