The coordination of the PLM translations is done on Discord: https://discord.gg/HTPpveu (channel #translation)

Language Translated Untranslated Untranslated words Checks Suggestions Comments
English This translation is used for source strings. This component is linked to the Programmer's Learning Machine/PLM engine repository. GPL-3.0 340
French This component is linked to the Programmer's Learning Machine/PLM engine repository. GPL-3.0 377
Italian This component is linked to the Programmer's Learning Machine/PLM engine repository. GPL-3.0 30% 1,165 29,059 141
Portuguese This component is linked to the Programmer's Learning Machine/PLM engine repository. GPL-3.0
Portuguese (Brazil) This component is linked to the Programmer's Learning Machine/PLM engine repository. GPL-3.0 97% 39 1,305 335
Swedish This component is linked to the Programmer's Learning Machine/PLM engine repository. GPL-3.0 0% 1,675 40,893
Ukrainian This component is linked to the Programmer's Learning Machine/PLM engine repository. GPL-3.0 4% 1,603 40,782
Please sign in to see the alerts.
Project website github.com/BuggleInc/PLM
Instructions for translators

The Programmer's Learning Machine is a free cross-platform programming exerciser. It lets you explore various concepts of programming through interactive challenges, that you can solve in either Java, Python or Scala.

The PLM is known to work on all major operating systems (Linux, Mac, Windows). Its interface and content is thoughtfully translated to English and French, and partially to Brazilian and Italian; we hope that other translations will be contributed in the future.

Over 200 challenges are provided so far, ranging from a complete programming introduction for real beginners to more advanced topics such as recursion or sorting algorithms and to programming brain teasers.

Translation and development is organized on Discord: https://discord.gg/HTPpveu

Translation process
  • Translations can be made directly.
  • Translation suggestions can be made.
  • Any authenticated user can contribute.
  • The translation uses bilingual files.
Translation license GNU General Public License v3.0 or later
Source code repository git@github.com:BuggleInc/PLM.git
Repository branch javaUI
Last remote commit Add a CONTRIBUTING file, documenting how to translate PLM, how to add an exo, and how to release PLM cdfa1d0
User avatar mquinson authored 2 weeks ago
Weblate repository https://hosted.weblate.org/git/programmers-learning-machine/binary/
Filemask l10n/missions/*.po
Languages 7
Source strings 1,686
Source words 40,915
Source characters 257,948
Hosted strings 11,802
Hosted words 286,405
Hosted characters 1,805,636
In contrary to the exercises we saw so far, we won't use the <code>forward()</code>, <code>backward()</code> and similar methods. Instead, we will compute the coordinate of the next buggle position and use the <code>setPos(x, y)</code> method to <i>teleport</i> the buggle directly to this position. For example, <code>setPos(3, 5)</code> teleports the buggle to the cell where x=3 and y=5.
Ao contrário dos exercícios que vimos até agora, não vamos usar os métodos <code>forward()</code>, <code>recubackward()</code> e similares. Ao invés disto, vamos calcular as coordenadas da próxima posição de buggle e usar o método <code>setPos(x, y)</code> para <i>teletransportar</i> o buggle diretamente para esta posição. Por exemplo, <code>setPos(3, 5)</code> teletransporta o buggle à célula onde x=3 e y=5.
2 weeks ago
My <i>buggle</i>? What is this??
O que é o meu <i>buggle</i>? O que é?
2 weeks ago
The <b>Backward</b> button let it do one step backward.
O botão <b>Recuar</b> faz eleá-lo dar um passo para trás.
2 weeks ago
The <b>Start</b> button, which begins the compilation and execution of the code you may have typed in the editor. At the end of the execution, it verifies whether you reach the situation constituting the objective of the exercise or not. If yes, you gain access to the next exercise using the <b>Exercise</b> menu. If not, you need to rework your code.
O botão <b>início</b>, que começa a compilação e a execução do código que digitou no editor. No final da execução, ele verifica se alcançou uma situação que constitui o objetivo do exercício ou não. Se sim, ganha acesso ao próximo exercício a usar o menu <b>Exercício</b>. Se não, vai precisar refazer o seu código.
2 weeks ago
<b>The menu:</b> Placed on top of the window, it gives you access to some advanced commands such as exiting the program, and some other that we will detail later.
<b>O menu:</b> posto na parte de cima da janela, dá-lhe acesso a alguns comandos avançados, como sair do programa e alguns outros que falaremos mais tarde.
2 weeks ago
<b>The menu:</b> Placed on top of the window, it gives you access to some advanced commands such as exiting the program, and some other that we will detail later.
<b>O menu:</b> P posto na parte de cima da janela, ele dá-lhe acesso a alguns comandos avançados, como sair do programa e alguns outros que falaremos mais tarde.
2 weeks ago
The [!python]<code>step()</code> function[/!][!scala|java|c]code[/!] that you should write now will be called every 0.1 second during the simulation. Make sure that your code does not last too long, with no while loop! It should only set the desired thrust of the next simulation step, by calling <code>[!java]void [/!]setDesiredThrust([!java]int [/!]desiredThrust[!scala]:Integer[/!])</code> where <code>desiredThrust</code> is some integer between 0 and 4 (that is, a thrust between 0 m/s² and 4 m/s²). You can only increment or decrement the thrust by 1 between two simulation steps, so if the current thrust is 2 and you ask for 4, you'll only get 3 in the next step. If you ask for less than 0 (resp. more than 4), everything will be as if you had asked for 0 (resp. 4).
[!scala|java|c]O código[/!] [!python] da função <code>step()</code> [/!], que vai escrever, agora vai ser chamada a cada 0,1 segundos durante a simulação. Certifique-se que o seu código não demora muito para executar, sem usar o loop while! Ele aApenas deve ajustar a potência desejada para o próximo passo da simulação, a chamar <code>[!java]void [/!]setDesiredThrust([!java]int [/!]desiredThrust[!scala]:Integer[/!])</code> onde <code>desiredThrust</code> é algum inteiro entre 0 e 4 (ou seja, uma potência entre 0 m/s² e 4 m/s²). Só pode aumentar ou diminuir a potência por 1 entre dois passos da simulação. Portanto, se a potência atual é 2 e pede 4, vai conseguir apenas 3 no próximo passo. Se pede por menos que 0 (ou, respetivamente, mais que 4), vai ser como se tivesse pedido 0 (ou, respetivamente, 4).
2 weeks ago
Given an int n, return true if it is within 10 of 100 or 200. [!java|scala]Note that Math.abs(n) returns the absolute value of a number.[/!] [!python]Note that math.fabs(n) returns the absolute value of a number. This function can only be used if you imported the math module.[/!]
Dado um int n, retorna true se ele estiver entre 10 a 100 ou 200. [!java|scala]Note que Math.abs(n) retorna o valor absoluto de um número.[/!] [!python]Note que math.fabs(n) retorna o valor absoluto de um número. Esta função só pode ser usada se importar o módulo math.[/!]
2 weeks ago
To conclude with this introductory lesson to maze solving algorithms, we will investigate another way to find the exit. The buggle in this lesson is a special buggle: he is a jedi. He can feel the Force. This means he is able to feel his environment.
Para concluir com esta lição introdutória em algoritmos de resolução de labirintos, vamos investigar outra forma de encontrar a saída. O buggle nesta lição é um buggle especial: ele é um jedi. Ele pPode sentir a Força. Isto significa que ele pode sentir o ambiente.
2 weeks ago
The Pledge's algorithm does not leave the rightmost wall due to the total turning not being zero at that point. It follows the wall all the way around, finally leaving it heading left on the bottom outside
O algoritmo de Pledge não deixa a parede mais à direita devido ao total de curvas não ser zero neste ponto. Ele sSegue a parede na volta toda, a deixa-o finalmente a apontar para a esquerda no "fundo exterior"
2 weeks ago
Browse all component changes

Daily activity

Daily activity

Weekly activity

Weekly activity