User Tools

Site Tools


Sidebar

Introduction

* Home

Documentation & help

LibreCAD Community

Help on DokuWiki

Temporary shorcuts

community:contribute

This is an old revision of the document!


This section is under work

How to contribute?

The basic nature of LibreCAD as an open source free software is to be open to improvement. The variety of contributor profiles makes LibreCAD richer so everybody is welcomed ! Beginners have a fresh look and may report issues that experienced users are used to and do not report.

Contributing includes various aspects and skills:

  • coding: fixings bugs, implement new features, extend current features, maintenance.
  • testing new features for bugs or improvements.
  • translating the user interface or the documentation from English to your language. (lien page translation).
  • documentation:
    • this DokuWiki : share useful information such as tutorials, FAQ, best practices.
  • support : answer to questions from users on LibreCAD forum.

As you can see, even beginners can contribute through feed-backs, testing or documentation. Contributing is also an opportunity to develop your skills.

The team set up tools (Github, forums, Wiki) and communication channels to ask for help and to coordinate. The most convenient channel to connect with contributors are the LibreCAD forum and Zulip chat.

Please see the following sections for coding, translating LibreCAD in your language and documentation.

Write code

LibreCAD code is hosted by Github. LibreCAD releases 2 and 3 are developped together.

Need for developers

LibreCAD is coded with:

  • C
  • Qt

Translating LibreCAD in your language

Context

English is used for developping LibreCAD code, for the GUI and for all the documentation. GUI translators ensure that the LibreCAD interface is available in other languages. GUI means all the menus, messages and commands visible to the user.

The list of languages available is given at LibreCAD Translation Server. Each language is supported at a different level : some part may not be translated yet due to the lack of translator or due to new feature implemented.

How to translate?

For translating the GUI, no programming skills are needed! First, you need to register to set up your account. Then, you can make translation proposals.

If you are a new translator

You need to set up your account:

  1. Create an account on LibreCAD forum. Check translation topic
  2. Go to the LibreCAD Translation Server and register a new Pootle account. Pootle is the application managing the translations.
  3. Go to the LibreCAD-translate Sub-Forum and post your request for permissions with your Pootle username and the language you want to work on.
  4. When the administrator sets the permissions for your Pootle account, you will get a reply in the forum and can then start using the Translation Server.

Pootle setup

For worldwide collaboration on translating LibreCAD GUI in many languages, a Web application for translation is necessary. LibreCAD uses Pootle for this job. The ts files are imported into Pootle database and during a synchronisation ts files are updated from the database.

After activating your account and login the first time, there is a link in the Quick Links section, where you can join the language you want to work on. You can find this later on the MyAccount page in the Settings tab.

To join a language select it in the Languages list. You also have to select the one and only project LibreCAD in the Projects list.

Then you will have the links to your language and LibreCAD project in your Dashboard. Keep the Alternative Source Languages list, as we only have English as source language.

Translating

Use the LibreCAD project link on your Dashboard. You will see the Overview tab with the two sub-projects plugins and ts. The plugins project keeps all the text from LibreCAD PlugIns and the ts project has all texts from the main application.

Until the translation is complete, you see links in the Overview Summary column with the number of words needing attention. Click on that link and you get directed to the first word or string that needs attention. Needing attention means, that there is no translation at all or there is a translation, but it is marked as fuzzy. After submitting or suggesting the translation you are directed to the next word needing attention.

Searching

If you found an issue in the application, you can search by entering the English source word or the translated word in the search box in the top right edge. Then your are directed to the first occurrence of the search term. If this is not the word you are searching for, click on the Next link below the translation editor, to find the next occurrence.

Suggestions

Translations may have one or multiple suggestions. These suggestions are made by members who are not allowed to submit translations or by unregistered users. To work on suggestions, change from Overview to Review tab. There you find View Suggestions for the sub-projects which will direct you to the first word with suggestions.

When you accept a suggestion, it is transferred to the editor and you can edit it or submit it unchanged. Delete other suggestions if present, before submitting, or you will be directed to this translation again later.

Fuzzy

If you are not sure about a translation, you can check the Fuzzy box on the right side of the editor. This stores the translation in the database, but it is not released to the application. Fuzzy translations are shown when using the Words need attention mode. When the translation is checked or edited, uncheck the Fuzzy box and submit it.

Submit

After editing a translation click the Submit button to save your changes. Be sure about the state of the Fuzzy check box : the translation will find its way to the application only when it is unchecked.

Synchronisation

Since the translation server is not GitHub, we have to sync both servers. From time to time, the Translation server pulls latest changes from GitHub to update the local Git repository. The changes from Pootle server are merged to the local Git repository. Then the local Git repository is pushed back to GitHub. So changes on the Translation server can only be found on GitHub after this sync process. Only the version on GitHub is recognized for deployment. If you have reached a milestone in your translation progress and wish to have a sync, please post your request in the LibreCAD-translate forum.

Standard dialogs

There are standard dialogs in LibreCAD, e.g. file open or save, which may be not translated in other languages. These dialogs use a translation dictionary file deployed with Qt, because the source for these dialogs is in the Qt source code files. LibreCAD deploys the Qt qm files, but LibreCAD supports much more languages than Qt. So if Qt does not support your language then these standard dialogs are not translated when LibreCAD is used with this language.

If there are any issues, feel free to post in the LibreCAD-translate Sub-Forum.

Contribute to the documentation

The documentation is very important to users. It helps to understand how LibreCAD interacts with the user and guide him with some good practices linked to LibreCAD.

The community needs two profiles to support this work:

  • editors
  • architects

Need for editors

Editors create user manuals, tutorials and Wiki pages. They also maintain the current information and check for grammar and spelling issues.

Since LibreCAD is used all over the world, the English documentation should be easily understood by people for which English is not their native language.

Need for architects

The architects focus on how the information is organized and presented. This is not only making the information more presentable and better organized, it is also encouraging further improvements and ensuring consistency of all the documents. If the Wiki is easy to understand then it is easier to contribute to it.

If you are a new editor/architect

Depending on which part of the document you want to contribute, you will need to create the following accounts:

  • LibreCAD forum: mandatory to interact with users and other editors/architects.
  • Zulip chat: recommended as information are shared and discussed. It also allows direct messages to someone or everyone to share issues, proposal and to coordinate.
  • Github: if you wish to contribute to user manual.
  • DokuWiki: if you wish to contribute to this Wiki, to tutorials, etc.
community/contribute.1558820728.txt.gz · Last modified: 2019/05/25 21:45 by fa201