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

Looking for language maintainers #3951

Closed
27 tasks
boelle opened this issue Jun 3, 2016 · 121 comments
Closed
27 tasks

Looking for language maintainers #3951

boelle opened this issue Jun 3, 2016 · 121 comments
Labels
T: Development Makefiles, PlatformIO, Python scripts, etc.

Comments

@boelle
Copy link
Contributor

boelle commented Jun 3, 2016

We need your help, Marlin has a lot of language packs and we need to create a language team that will be responsible for having the translations up to date. Please answer to this issue with the language you would like to maintain, but be aware we prefer native speakers. We would like to have at least three people per supported language.

When a developer adds a new English string, he should ping the language team by tagging @MarlinFirmware/language-team.

Language Last Update
language.h n/a
language_an.h 12 Dec
language_bg.h 2 Oct
language_ca.h 2 Oct
language_cn.h Apr 2015
language_cz.h 3 Dec
language_da.h 11 Oct
language_de.h 5 Dec
language_el.h 10 Jul
language_el-gr.h 10 Jul
language_en.h 20 Nov
language_es.h 14 Aug
language_eu.h Never
language_fi.h Feb 2015
language_fr.h 15 Oct
language_gl.h 5 Dec
language_hr.h 3 Dec
language_it.h 3 Dec
language_kana.h 24 Nov
language_kana_utf8.h 24 Nov
language_nl.h 6 Apr
language_pl.h 20 May
language_pt-br.h 7 Apr
language_pt-br_utf8.h 7 Apr
language_pt.h 13 May
language_pt_utf8.h 13 May
language_ru.h 17 Aug
language_tr.h 6 Dec
language_uk.h 29 Nov
language_test.h n/a
@jbrazio jbrazio added the T: Development Makefiles, PlatformIO, Python scripts, etc. label Jun 3, 2016
@boelle
Copy link
Contributor Author

boelle commented Jun 3, 2016

We made a new topic so that i can tick off when a language is done

PLEASE... keep on topic and dont start a book long debate. If needed create a new issue to keep this one short and clean

Want a language added?

check first here that its not allready there: https://github.com/MarlinFirmware/Marlin/tree/RCBugFix/Marlin

if its there and no one is assigned yet, let us know by telling here that you want to update it

if its not there tell us still and use https://github.com/MarlinFirmware/Marlin/blob/RCBugFix/Marlin/language_en.h as the base for your work. (of course upload to a new filename

@ghost
Copy link

ghost commented Jun 3, 2016

@boelle

can you do Japanese? and maybe Chinese ?

I can accomplish only Japanese.
About linguistic structure, Japanese and Chinese are different absolutely.
About letter(Kanji), those were analogous until about 70 years ago, but those are half different currently.

And, if I'll be integrated into language team, I can't perform intricate giving and taking, and I can't discussion in real-time like a chat.
Because my skill of English is exceedingly poor.
For example, I've spent over 50 minutes for writing this response that it has only 6 lines.

@tommil
Copy link
Contributor

tommil commented Jun 3, 2016

Yes I can do Finnish.

pe 3. kes 2016 14.45 Bo Herrmannsen [email protected] kirjoitti:

@tommil https://github.com/tommil can you do Finnish ?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#3951 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AAR89IgPXnT2z461BcB1f_m6OA4BbUlTks5qIBPfgaJpZM4ItbGk
.

@petrzjunior
Copy link
Contributor

petrzjunior commented Jun 3, 2016

@boelle

Czech language file is 21 days old but english is 16... are you sure that you have compared the 2 files close and got everything in there?

Damn, you're right, unspotted changes. First job for Czech section of lang-team. Ready ASAP 😄

@Roxy-3D
Copy link
Member

Roxy-3D commented Jun 3, 2016

And, if I'll be integrated into language team, I can't perform intricate giving and taking, and I can't discussion in real-time like a chat.
Because my skill of English is exceedingly poor.
For example, I've spent over 50 minutes for writing this response that it has only 6 lines.

Understood. But reading English text is not as difficult, right? Because we should be able to give you a good description of what is trying to be communicated, and under what circumstances it happens.

@ghost
Copy link

ghost commented Jun 4, 2016

reading English text is not as difficult, right?

I'm sorry. No, it isn't. And It all depends on circumstances.
About your message,

Understood.

I needed about 5 minutes for understanding that what does the word means in the message.

But reading English text is not as difficult, right?

I understand this part immediately.

Because we should be able to give you a good description of

I understand this part by a minute.

what is trying to be communicated,

I understand this part by over 2 hours.

and under what circumstances it happens.

I understand this part by about 15 minutes.

But when all parts of the sentence are combined to

Because we should be able to give you a good description of what is trying to be communicated, and under what circumstances it happens.

, I've no idea what does this combined parts would like to say.

As a result, I spent about 4 hours for trying to read your short message and writing this response, nevertheless I wasn't able to understand that what you'd like to tell me.
I'm very sorry.

@Roxy-3D
Copy link
Member

Roxy-3D commented Jun 4, 2016

@jbrazio
@esenapaj

OK!

We can be careful. We can keep ideas very small. That is not a problem!

Remember! The LCD Messages need to be short.

So we can communicate that way. We value your time!!!

@ghost
Copy link

ghost commented Jun 5, 2016

Thank you for all the kindness you've shown me.

@gege2b
Copy link
Contributor

gege2b commented Jun 5, 2016

Hi all, @boelle : OK for french translations

@jbrazio
Copy link
Contributor

jbrazio commented Jun 5, 2016

@gege2b you should receive an invitation shortly.

@jbrazio
Copy link
Contributor

jbrazio commented Jun 5, 2016

@esenapaj check your email. I have invited you to join the organization. You only need to translate Japanese.

@Roxy-3D
Copy link
Member

Roxy-3D commented Jun 5, 2016

@esenapaj We will make the English very simple.

@silvio-didonna
Copy link
Contributor

I can translate strings into Italian, if needed

@ghost
Copy link

ghost commented Jun 6, 2016

@jbrazio
I've joined.
I'm thankful for your explanation. And sorry.
I confirmed your mail 2 days ago, but I hesitated because I didn't rightly know that point.

@Roxy-3DPrintBoard
I'm thankful to you.
I also will endeavor.

@psavva
Copy link
Contributor

psavva commented Jun 12, 2016

Please add Greek, and I'll have it translated.

@thinkyhead
Copy link
Member

thinkyhead commented Jun 12, 2016

@psavva Would you do…

  • el — Greek, or
  • el-GR – Greek (Greece)

…or both…?

I've added #4024 based on my branch https://github.com/thinkyhead/Marlin/tree/rc_greek_language

@jbrazio
Copy link
Contributor

jbrazio commented Jun 13, 2016

@tnw513, @psavva I've invited you to the team.

@psavva
Copy link
Contributor

psavva commented Jun 13, 2016

Both el and el-GR will be identical.
I'll add both.

The language code 'el' ISO 639-1 is our base.
The region code 'GR' is Greece, which happens to be the only one.

Maybe Cyprus gets an official language code in the future 😃

@silvio-didonna
Copy link
Contributor

@jbrazio thank you

@Blue-Marlin
Copy link
Contributor

Blue-Marlin commented Jun 13, 2016

Do()n't you need a special font? Is there a character based display out there with a Greek font?

@robimarko
Copy link
Contributor

I will do Croatian.
Are croatian specific characters:"č, ć, dž, đ, š, ž, lj, nj. " supported?

@silvio-didonna
Copy link
Contributor

Italian is up-to-date #4029

@thinkyhead
Copy link
Member

croatian specific characters

@robimarko Only some of those characters are supported. You'll need to test with your own display.

@psavva
Copy link
Contributor

psavva commented Jul 3, 2016

Hi,

I need some help with the Mapper for the Greek Language.
Besides the actual translations, I also needed to include a font to print out UTF8...

So, I have the following problem.
Firstly, How do I debug my code?
How do I see program flow? How can I print debug messages, somewhere?

Now the problem.
I'm trying to display "ΑΒΓΔΕ" on the display, but instead it's printing "ώΑώΒώΓώΔώΕ"
I am getting the "0xce" character from my font.

This is my mapper function.

Any help on "how to"

#elif ENABLED(MAPPER_CECF)

  char charset_mapper(char c) {
    static uint8_t utf_hi_char; // UTF-8 high part
    static bool seen_ce = false;
    uint8_t d = c;
    if ( d >= 0x80 ) { // UTF-8 handling
      if ( (d >= 0xc0) && (!seen_ce) ) {
        utf_hi_char = d - 0xce;
        seen_ce = true;
        return 0;
      }
      else if (seen_ce) {
        d &= 0x3f;
        #ifndef MAPPER_ONE_TO_ONE
          HARDWARE_CHAR_OUT((char)pgm_read_byte_near(utf_recode + d + (utf_hi_char << 6) - 0x20));
        #else
          HARDWARE_CHAR_OUT((char)(0x80 + (utf_hi_char << 6) + d)) ;
        #endif
      }
      else {
        HARDWARE_CHAR_OUT('?');
      }
    }
    else {
      HARDWARE_CHAR_OUT((char) c );
    }
    seen_ce = false;
    return 1;
  }

@Blue-Marlin
Copy link
Contributor

Blue-Marlin commented Jul 3, 2016

You could try to define the hex constants as uint (0x80 -> 0x80u)

#elif ENABLED(MAPPER_CECF)
 char charset_mapper(char c) {
  static uint8_t utf_hi_char; // UTF-8 high part
  static bool seen_ce = false;
  uint8_t d = c;
  if ( d >= 0x80u ) { // UTF-8 handling
    if ( (d >= 0xc0u) && (!seen_ce) ) { //Did we see a font family but are not already in
      utf_hi_char = d - 0xceu; // utf_hi_char should be 0 or 1 now
      seen_ce = true; // last char seen was in the area we have a mapper for.
      return 0; // no chars printed
    }
    else if (seen_ce) { // did we see the family before
      d &= 0x3fu; // CE and CF map to a 0x3f big block
      #ifndef MAPPER_ONE_TO_ONE
        HARDWARE_CHAR_OUT((char)pgm_read_byte_near(utf_recode + d + (utf_hi_char << 6) - 0x20u));
      #else
        HARDWARE_CHAR_OUT((char)(0x80u + (utf_hi_char << 6) + d)); // set bit 8 to 1
                                                                   // utf_hi_char is bit 7
                                                                   // d the pointer into the block
      #endif
    }
    else {
      HARDWARE_CHAR_OUT('?'); // not a family we have a mapper for
    }
  }
  else {
    HARDWARE_CHAR_OUT((char) c ); // directly print a char < 0x80
  }
  seen_ce = false; // is printed - reset.
  return 1; // one char printed
}

How do your string defines look like?
It should simply look like

#define MSG_TEST "ΑΒΓΔΕ"

The text editor should do all the work to add the 0xCE/0xCF himself.

ΑΒΓΔΕ
CE91 CE92 CE93 CE94 CE95

ώΑώΒώΓώΔώΕ
CF8E CE91 CF8E CE92 CF8E CE93 CF8E CE94 CF8E CE95

@psavva
Copy link
Contributor

psavva commented Jul 4, 2016

Thank you for your advice @Blue-Marlin

I have however found a different bug.

The way I figured is that my mapper simply was not getting executed.
My assumption was right.

I have moved MAPPER_NONE below my mapper, and voila, Greek is now displaying as expected!

There is somewhere in the code which is Enabling MAPPER_NON, even though it's not defined in my language files.

This is the change I did
utf_mapper.h

#if ENABLED(MAPPER_CECF)

  char charset_mapper(char c) {
    static uint8_t utf_hi_char; // UTF-8 high part
    static bool seen_ce = false;
    uint8_t d = c;
    if ( d >= 0x80u ) { // UTF-8 handling
      if ( (d >= 0xc0u) && (!seen_ce) ) {
        utf_hi_char = d - 0xceu;
        seen_ce = true;
        return 0;
      }
      else if (seen_ce) {
        d &= 0x3fu;
        #ifndef MAPPER_ONE_TO_ONE
          HARDWARE_CHAR_OUT((char)pgm_read_byte_near(utf_recode + d + (utf_hi_char << 6) - 0x20));
        #else
          HARDWARE_CHAR_OUT((char)(0x80u + (utf_hi_char << 6) + d)) ;
        #endif
      }
      else {
        HARDWARE_CHAR_OUT('?');
      }
    }
    else {
      HARDWARE_CHAR_OUT((char) c );
    }
    seen_ce = false;
    return 1;
  }

#elif ENABLED(MAPPER_NON)

  char charset_mapper(char c) {
    HARDWARE_CHAR_OUT( c );
    return 1;
  }

We we just need to understand why and where it's been defined?
perhaps an issue with if ENABLED()
???

@AnHardt
Copy link
Contributor

AnHardt commented Jul 4, 2016

Sorry.

https://github.com/MarlinFirmware/Marlin/blob/RCBugFix/Marlin/language_en.h#L33_L35

-#if DISABLED(MAPPER_NON) && DISABLED(MAPPER_C2C3) && DISABLED(MAPPER_D0D1) && DISABLED(MAPPER_D0D1_MOD) && DISABLED(MAPPER_E382E383)
+#if DISABLED(MAPPER_NON) && DISABLED(MAPPER_C2C3) && DISABLED(MAPPER_D0D1) && DISABLED(MAPPER_D0D1_MOD) && DISABLED(MAPPER_E382E383)&&DISABLED(MAPPER_CECF)
  #define MAPPER_NON         // For direct ascii codes
#endif

@psavva
Copy link
Contributor

psavva commented Jul 5, 2016

@AnHardt, awesome.

Thank you :)

@fsadak
Copy link

fsadak commented Dec 29, 2016

I would like to help for Turkish. Please add me.

Best regards.

@tommil
Copy link
Contributor

tommil commented Dec 30, 2016 via email

@gege2b
Copy link
Contributor

gege2b commented Jan 17, 2017

hi @thinkyhead
just did a PR with the latest french translation and missing accents
as mentionned in the PR, accents was already pushed on RC by someone else, but without the latest strings or the new macro

@boelle
Copy link
Contributor Author

boelle commented Apr 26, 2017

@danielmartinez
@yhfudev, @liangruiben
@robimarko
@clexpert, @petrzjunior
@paulusjacobus
@tommil
@gege2b, @clefranc
@rafacouto
@CONSULitAS, @blubbfish @FHeilmann
@psavva
@barus93, @tnw513
@esenapaj
@esenapaj
@MatixYo
@jbrazio
@jbrazio
@hydrocat
@hydrocat
@zenmetsu @mkile @alexxy
@emartinez167, @RicardoGA, @fbarcenas
@Rigid3D @Eldarin @fsadak
@akaJes

since there is a new version coming up soon it might be a good time to make sure languages are up to date

those that have gone dead should be removed? @thinkyhead

@silvio-didonna
Copy link
Contributor

silvio-didonna commented Apr 26, 2017

@boelle Italian is up-to-date: #6458

@emartinez167
Copy link
Contributor

emartinez167 commented Apr 26, 2017 via email

@clexpert
Copy link
Contributor

Done for Czech language: #6465

@paulusjacobus
Copy link
Contributor

paulusjacobus commented Apr 26, 2017 via email

@Roxy-3D
Copy link
Member

Roxy-3D commented Apr 27, 2017

Which release should i take?

Please grab the current RCBugFix. That is the one that is going to get promoted to "Golden Master" on Sunday.

@ghost
Copy link

ghost commented Apr 27, 2017

Pull request #6463 is ready for Turkish translation

@paulusjacobus
Copy link
Contributor

paulusjacobus commented Apr 27, 2017 via email

@Roxy-3D
Copy link
Member

Roxy-3D commented Apr 27, 2017

Is there an easy way to delete that repo and replace that with the latest RCbugfix one?

What I do is go to my profile on GitHub and go into the repository. Then you can do a 'Settings' and 'Delete Repository'. Once it is gone... You can go to MarlinFirmware/Marlin and fork the current stuff to your account. That is the easiest way to start with the current code. But it assumes you don't have stuff you care about in your repository.

@paulusjacobus
Copy link
Contributor

paulusjacobus commented Apr 29, 2017 via email

@thinkyhead
Copy link
Member

We'll have to find a better way to get languages updated. But this is a good reference for who to call upon for updates. At the moment all languages need a refresh!

@paulusjacobus
Copy link
Contributor

paulusjacobus commented Feb 6, 2018 via email

@silvio-didonna
Copy link
Contributor

silvio-didonna commented Feb 6, 2018

@thinkyhead seems like findMissingTranslations.sh is no longer working. I've just written one in Python. if necessary I will modify it to support all languages.
I'll make a pull request as soon as possible for the Italian translation.

EDIT: done #9508

@hydrocat
Copy link
Contributor

I'm translating the pt-br language and I wonder what "Preheat PLA End" is supposed to mean. Btw, is there a better place to ask this ? (a new issue ?)

@ghost
Copy link

ghost commented Feb 14, 2018 via email

@hydrocat
Copy link
Contributor

This is getting too frequent '-'
Is host, the computer connected to the printer ?

#define MSG_UBL_OUTPUT_MAP_HOST _UxGT("Output for Host")

@silvio-didonna
Copy link
Contributor

silvio-didonna commented Feb 15, 2018

@hydrocat you can edit previous messages if needed

@Roxy-3D
Copy link
Member

Roxy-3D commented Feb 15, 2018

And what it means to "Build Cold Mesh" ? (build from the start or something actually cold ?)

I haven't looked at this closely. But there is an option to build a PLA Mesh and an ABS Mesh. I presume that means build a mesh at 205 C. and at 230 C. If that is true... My guess is a Cold Mesh is one built at room temperature.

@hydrocat
Copy link
Contributor

Thank you @Roxy-3D and @Rigid3D. A pull request is on the way.

@thinkyhead
Copy link
Member

@tnw513 — Thanks for the heads-up. findMissingTranslations.sh is now patched for 2.0.x compatibility. No patch needed for 1.1.x. In both cases, they must be run from the root folder of your working copy.

@boelle boelle closed this as completed May 11, 2018
@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

3 similar comments
@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Mar 19, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
T: Development Makefiles, PlatformIO, Python scripts, etc.
Projects
None yet
Development

No branches or pull requests