Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Complete Keyword Table (In English) #1

Open
madiedgar opened this issue May 13, 2019 · 15 comments · Fixed by #59
Open

Complete Keyword Table (In English) #1

madiedgar opened this issue May 13, 2019 · 15 comments · Fixed by #59

Comments

@madiedgar
Copy link
Member

madiedgar commented May 13, 2019

Hello 👋 Thank you so much for joining with us in this!

Issue #1: Complete Keyword Table (in English)

This is a very important document that will act as the backbone of the Legesher portfolio. Probably the best part is that no experience in code is necessary, for we will walk you through every step of the way!

The Guide

This keyword table guide is the main definition hub for translating the code for Legesher, and the main document you will be modifying in this issue. To begin, we need a very thorough Keyword Definition Table in English to best equip our multilingual creators to translate programming languages that were once only in English to be in their native language. SO AWESOME 😎

The Table

In the document described above, We need help in filling out the definitions and categories in where each of these keywords fall, so that for each new spoken language that is added (and programming language) the translations are 1:1.

  • Keyword: The current version of the Keyword Table pulls the unique keyword values from the language-template.yml file in the legesher-translations repo. Nothing needs to be changed in this column.

  • Definition: The basic definition of the specific keyword within the world of programming. Additional context can be added if the meaning of the word itself bridges the reason why programming languages selected the term to be used in such a way. This definition will give context to the translators on what word best fits the keyword within their own language to give the developers the best level of understanding.

  • Languages: List the programming languages which this keyword is utilized. The Keyword Table list is pulled from the language-template.yml file in the Legesher project, which denotes the full set of keywords for each individual programming language. This file can be helpful in determining what programming languages use the keyword. If you want to be fancy, writing a script to pull this information could be a fun activity.

  • Category: The main category that the keyword belongs to. If in another language the keyword is used in a different category, please note in the Notes section. Possible categories the keyword could fall into are as follows:

    • Truth Values
    • Logical Operators
    • Loops
    • User-Defined Structures
    • References
    • Exceptions
    • Module Abstractions
    • Variable Declarations
    • Function Properties
    • Debugging

A simple breakdown of the Python keywords, definitions, and categories can be found in the glossary

  • Notes: Any helpful information in describing / using this keyword.

An Example

Here's an example of what a keyword would look like in the table.

Keyword Definition Languages Category Notes
FALSE Boolean logic for what is considered false python, c++, c#, javascript, julia, ocaml, ruby, rust, scala, swift,typescript truth-values

This is what the code above looks like when you're editing it in Markdown (the .md file extension). It can be useful for this issue to install a "Markdown Preview" extension on your text editor to help with the formatting.

| Keyword        | Definition     | Languages      | Category       | Notes          |
| :------------- | :------------- | :------------- | :------------- | :------------- |
|  FALSE | Boolean logic for what is considered **false** | `python`, `c++`, `c#`, `javascript`, `julia`, `ocaml`, `ruby`, `rust`, `scala`, `swift`,`typescript` |  `truth-values`  | |

The Branch

For this issue, we will be making changes on the branch called glossary-table. When we have all reached a complete list with our collaboration, we'll then merge the glossary-table branch into the master legesher-docs branch to be used for the Legesher project.

This is a huge task, so the more, the merrier! PR's will be merged if at least 10 full entries are added to the table (you can always do more than 10 😄).

@charberg
Copy link
Contributor

Hey @madiedgar , the link to the keyword table guide seems to lead to a 404.

I have a couple of hours to kill, so I'll take a look and try to add a few things!

@madiedgar
Copy link
Member Author

madiedgar commented Oct 18, 2019

This would be an AMAZING issue to help out with @charberg! I updated the issue description with the correct link!

I know this issue has a lot of work, but would love to add any progress you make! 😄

@charberg
Copy link
Contributor

@madiedgar thoughts on where a word like 'char' or 'int' might fall? Unsure if it's a variable declaration, or if we want a 'data type' category perhaps?

@charberg
Copy link
Contributor

charberg commented Oct 18, 2019

Also I'll write a script to fill the languages column - Might be sometime next week though

@madiedgar
Copy link
Member Author

@charberg sounds like a great idea! I'll work on that and link the issue in here 👌

@charberg
Copy link
Contributor

@madiedgar See my PR at #46 - Can give a bit more of a write up/answer any questions in a bit.

@mehnazyunus
Copy link
Contributor

Hi @madiedgar, I've made a PR to add a description for some C++ keywords. Please let me know if I should go ahead in a similar format for other C++ keywords

@madiedgar
Copy link
Member Author

I'll check it out @mehnazyunus! Thank you so much for doing that 👍

@saurabh042
Copy link
Contributor

Hi @madiedgar , @charberg, @mehnazyunus , @ChristinaPfaff
Can I please contribute towards adding description for some of the keywords as a part of Hactoberfest 2021?

@madiedgar
Copy link
Member Author

Absolutely @saurabh042 - that would be very helpful. I'll assign you to the issue and let me know if you have any questions!

@saurabh042
Copy link
Contributor

Hi @madiedgar Could you please review the PR and let me know the changes (if any) I need to make.

@TomerPacific
Copy link

@madiedgar, would you like more assistance with this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment