question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Outstanding Crowdin Bugs

See original GitHub issue

This issue is to serve as the single source of all documented Crowdin bugs/issues deemed as beyond our control. Once we have finalized the documentation of the issues, we will reach out to Crowdin for their help.

Issue No. 1 (Custom QA Check Messages)

For some reason, sometimes randomly custom QA checks do not show up in the translator or proofreader view unless the user changes the translation and clicks Save. At other times, they show just fine. This is a major problem because we need to alert the proofreader if certain QA checks fail, so they can correct the issue before approving.

See the following file for an example where there should be 4 QA issues, but Crowdin only shows 3. The one not showing is a message generated by a custom QA check called Validate Inline Code Blocks. The message should be “The source has 1 inline code blocks and the translation has none.”

image

If I add some extra text to the translation and click Save, The pop up box correctly shows there are 4 QA issues. You can see it by skipping till you get to the last two messages (see below).

image

Another such example is the 2nd hint of this file which the source has the following,

Your solution should not use the `String.prototype.trim()` method.

no QA issues showing. However, if you modify the translation and click Save, you will see the correct custom QA check’s message “Inline code blocks should not be changed. You appear to have changed at least one code block.”

There are too many instances like this to document here in this issue.


Issue No. 2 (Back Tick Preceding Backslash Breaks Strings Incorrectly) - RESOLVED

See issue details In any view, when a backslash character precedes a single backtick, the backtick gets escaped. See below for an example of how it appears in the [Chinese translation view for a file](https://freecodecamp.crowdin.com/translate/051b1d249c86bbec02e433aeb266a8bc/25768/en-zhcn/70?filter=basic&value=18). The actual text uploaded is: ```md To specify where that repeat string will appear, you use a backslash (`\`) and then a number. This number starts at 1 and increases with each additional capture group you use. An example would be `\1` to match the first group. ``` ![image](https://user-images.githubusercontent.com/5313213/106176210-40f6df00-6154-11eb-8d7b-e2bc5ffd83aa.png)

To be able to get the backslash character to appear in a code block (that we hide), we have to change our source file to wrap <code> tags around two backslashes. The two backslashes must be added so that it properly renders on /learn. See below for how we had to rewrite the paragraph.

To specify where that repeat string will appear, you use a backslash (<code>\\</code>) and then a number. This number starts at 1 and increases with each additional capture group you use. An example would be `\1` to match the first group.

Issue No. 3 (Quadruple Back Ticks)

Crowdin does not correctly parse quadruple backtick sections like the one we have in several of our documentation files. See this file to see an example. Everything below the ## Challenge Template and above the following blockquote, should be in a pre/code block, but it is not. This prevents us from hiding the entire code block via script or manually as we want to do.

> [!NOTE]
>
> 1. In the above sections, examples of `lang` are:
>
>   - `html` - HTML/CSS
>   - `js` - JavaScript
>   - `jsx` - JSX

Issue No. 4 (> Displays as HTML Entity)

In the this file, Crowdin’s parser converts the > in the inline code block Model.findById() -> Person to an HTML entity &gt;. In the Curriculum project, we have a custom QA check that validates inline code blocks’ content are the same and causes it to falsely trigger. We have to change the backticks to <code></code> and then escape the > with a backslash to be able to hide the string and render properly on /learn still. We have over 300 such instance, so we would prefer not to bandaid each of these.

image


Issue No. 5 (Translator View Shifts Hidden Strings to Next Line)

The translator view shows hidden strings differently than admin/proofreader views In the normal translator’s view (not admin or proofreader views), we are seeing unexpected views of content strings after changing the isHidden property value of the string to true.

The text in the admin and proofreader views: image

The text in the translator view: image


Issue No. 6 (Segmentation or Importer Breaking Inline Code Blocks into Two Strings)

We are running into some issues with the segmentation rules configuration. See this list of strings that do not work as we expect. See below for what happens in the first string reference above:

Wrap the <code>u</code> tag only around the text <code>Ph.D. students</code>.

The default segmentation rules split this into two strings:

First string:Wrap the <code>u</code> tag only around the text <code>Ph.D.

Second string: students</code>.

This breaks our custom QA check and is also leading to issues when the translations are downloaded. We were able to configure a custom segmentation rule setting which resolved this issue on one file on our test project - https://freecodecamp.crowdin.com/translate/051b1d249c86bbec02e433aeb266a8bc/25954/en-esem/138?filter=advanced&value=12&translations=translated&sort_ascending=1 but when we applied the rule to the same file in our Curriculum project it did not resolve the issue. Furthermore, we created a copy of the file on our test project and applied the rule again, and it did not work: https://freecodecamp.crowdin.com/translate/051b1d249c86bbec02e433aeb266a8bc/26000/en-esem/138?filter=advanced&value=12&translations=translated&sort_ascending=1

We would like to know if there is a trick to prevent segmentation when the text content is within inline code tags? Additionally, is there a method for applying that rule across all files in a project?

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

2reactions
RandellDawsoncommented, Mar 9, 2021

@RafaelDavisH @miyaliu666 We have notified Crowdin about Issue No. 6 above. I went through entire curriculum and found all the strings containing inline code blocks that are breaking on Crowdin and added them to the this Gist for your reference. Just wanted you to be aware of the problem strings.

0reactions
comradekingucommented, Mar 5, 2021

Undoubtedly it helps their platform. I don’t think it serves your interest to volunteer your time with how it is their platform.

What it certainly doesn’t do is make for “a friendly community where you can learn to code for free” and it doesn’t “to help millions of busy adults transition into tech”. It helps transition control over technology away from said individuals, in a way that is unfriendly, unwieldy, and for the purposes of “for free”, requires projects to be strictly non-commercial.

https://crowdin.com/pricing#annual

If you’re building awesome non-profit projects that could use the power of Crowdin, we’re happy to help with this free option.

I don’t understand how that aligns with “Our community has already helped more than 10,000 people get their first developer job.” It amounts to contracting yourself to the ends of others, as a hobby.

Certainly if Crowdin licensed their product differently there would be some hope for it, but it still doesn’t allow seeing translations and secondary languages at the same time. How do you expect to get any sort of quality out of that?

I second the

There are too many instances like this to document here in this issue.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Developers - Outstanding Crowdin Bugs - - Bountysource
Outstanding Crowdin Bugs ... This issue is to serve as the single source of all documented Crowdin bugs/issues deemed as beyond our control....
Read more >
Crowdin Reviews 2022: Details, Pricing, & Features - G2
Crowdin is a cloud-based localization software for teams. Connect 400+ tools to translate your content. Create and manage all your multilingual content in ......
Read more >
2019 Buggy Award Winners | @Bugcrowd
The Top Program Awards are awarded to companies that are truly committed to both the Bugcrowd researcher community and to running an outstanding...
Read more >
The best AdGuard contributors of 2020
“Crowdin is one of the best localization platforms out there. ... And by the number of translated words/found bugs/filters contributed, ...
Read more >
Best Crowdin Alternatives & Competitors - SourceForge
Compare the best Crowdin alternatives in 2022. ... productivity for product, design and localization teams alike, helping avoid possible localization bugs.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found