-
Notifications
You must be signed in to change notification settings - Fork 247
Translating Icestudio
Icestudio is available in different languages. Please, help us with the translations. Contributions are very welcome! 😀️
The base language is English. The translations from English to other languages are located in this folder:
If you want to translate into your mother tongue (or update the current translation), follow these steps:
The first step is to extract the latest English text to be translated. It is done by executing the following command:
npm run preptext
It will update the template file: app/resources/locale/template.pot
. It contains all the English texts ready for being imported into the poedit and translated into your language. it also runs scripts/update_translations.sh
, to update the existing *.po
language files so they are synched to the template
Note
for Windows, use npm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe"
or equivalent so the postinstall
script can run during npm install
Note
for Windows, if commands msgmerge
, msgfmt
are not found while executing update_translations.sh
, then they weren't installed with MSYS2/Git Bash; a Windows binary installer for GNU gettext utils
will take care of this: https://mlocati.github.io/articles/gettext-iconv-windows.html; download the "static" flavor for 64bit Windows; include it in PATH (done in an install step)
The .po files contains the translations to the different languages. They are located under the corresponding locale folder: app/resources/locale
. There is one folder per locale. For example, for the spanish language (from spain) the .po file is located in the folder: app/resources/locale/es_ES
Use the POEDIT to open the .po file
From the POEDIT, use the menu option Translation/Update from POT file...
for merging the updated .pot file into your translations
Using the POEDIT you can easily translate the English texts into your language. Once you are ready save the .po file. You can now emit a pull request with your translation
What happens with the .po files with the translations? Icestudio does not read the .po files directly. When the Icestudio executable file is created, the .po files are compiled into .json files (For example, the es_ES.po files is converted into es_ES.json files). These .json files are read by Icestudio during the start up (only the file corresponding to the current selected language)
The compilation from .po to .json can be done by the developers using the command:
npm run compiletext
- Default: Icestudio Default Collection
- IceK: Constants
- IceWires: Wires and Buses
- IceIO: FPGA IO-pins
- IceGates: Logic gates
- IceMux: Muxes and demuxes
- IceCoders: Binary Encoders and Decoders
- IceFF: Flip-Flops
- IceRegs: Registers
- IceSRegs: Shift Registers
- IceBoards: blocks and examples for the diferent FPGA boards
- IceComp: Comparators
- IceArith: Integer arithmetics
- IceCounter: Counters
- IceSignals: 1-bit signal managment
- IcePLL: PLLs
- IceLEDOscope: Measuring signals
- IceLEDs: Displaying on LEDs
- IceHearts: Timming signal generation
- IceInputs: 1-bit inputs
- IceRok: Block probes for Icestudio => Sigrok integration (with Pulseview GUI)
- IceMachines: Working with Machines (simple state machines with a standar interface)
- IceSerial: Serial Asynchronous communications
- IceMem: Working with Memories
- IceMeasure: Measuring cycles and time in your circuits, very easily
- IceStack: Working with stacks
- IceFlash: Read from spi serial flash memories
- IceBus: Accesing and sharing simple buses
- IceLCD: Components and controllers for LCDs
- IceUnary: Working with unary numbers
- IceCrystal: Drive displays from Open Source FPGAs
- ice-chips-verilog: IceChips is a library of all common discrete logic devices in Verilog
- ArithmeticBlocks: FPGA signed and unsigned integer operations, 16, 24 and 32 bits, + - * / sqrt min max compare etc.
- iceSynth: Audio synthesis
- icebreaker: Blocks and examples for the icebreaker OpenFPGA board
- Jedi: blocks of the FPGA Jedi hardware Academy
- LOVE-FPGA: Hardware elements and examples for the LOVE-FPGA project (Linking Of Virtual Electronics to FPGAs)
- Stdio: Standard Input-Output in different devices
- CT11: Ejemplos del cuaderno ténico 11: Señales del sistema y Medición con el LEDOscopio
- Generic: Icestudio Generic Collection
- Logic: Icestudio Logic Collection
- IceInterface: Serial, SPI, I2C... (TODO)
- IceK-TB: Tests for iceK
- IceWires-TB: Test for icewires
- IceIO-TB: Tests for iceIO
- iceGates-TB: Tests for gates
- iceCoders-TB: Tests for iceCoders
- IceFF-TB: Tests for iceFF
- IceRegs-TB: Tests for registers
- IceSregs-TB: Tests for shift registers
- Jedi-Test: Tests for the blocks on the Jedi Collection