Welcome, Guest
Username: Password: Remember me

TOPIC: Arabic translation not connected correctly

Arabic translation not connected correctly 3 months 2 weeks ago #2991

  • elusiven
  • elusiven's Avatar
  • Offline
  • New Member
  • Posts: 9
  • Karma: 0
Hi

I'm using dynamic translation and some static translation, with use of Localize component and without, in all cases though the Arabic symbols don't connect properly. I have created an Urdu language, and I'm using google spreadsheet.

I attached a photo of the problem.

It should say: چیک کریں
Attachments:
Last Edit: 3 months 2 weeks ago by elusiven.
The administrator has disabled public write access.

Arabic translation not connected correctly 3 months 1 week ago #3005

  • studenman
  • studenman's Avatar
  • Offline
  • Senior Member
  • Posts: 61
  • Thank you received: 1
  • Karma: 1
Isn't that a kerning problem? This wouldn't be related to I2L, but to your text component. If you're using TextMeshPro, make sure you import the kerning pairs when you create the Font Asset.
Follow Tiny Bubbles Development:
Twitter | Facebook | Web
The administrator has disabled public write access.

Arabic translation not connected correctly 3 months 1 week ago #3016

  • elusiven
  • elusiven's Avatar
  • Offline
  • New Member
  • Posts: 9
  • Karma: 0
Hi,

I don't use TextMeshPro, I have a lot of labels and it will take me a long time to change them all to text mesh pro now.

Also I tried using specific Arabic font with TextMesh pro and applied kerning pairs, and kerning enabled on the component and it shows empty rectangles despite that it arabic characters.

Is there a working arabic example somewhere that I can download?
Last Edit: 3 months 1 week ago by elusiven.
The administrator has disabled public write access.

Arabic translation not connected correctly 3 months 1 week ago #3023

  • studenman
  • studenman's Avatar
  • Offline
  • Senior Member
  • Posts: 61
  • Thank you received: 1
  • Karma: 1
TextMeshPro is free and I believe they have a tool now that will migrate old Text components to TextMeshPro. Highly recommend it, even if you have to hand-convert all the text fields. It's better in the long term to have a proper text rendering system.
Follow Tiny Bubbles Development:
Twitter | Facebook | Web
The administrator has disabled public write access.

Arabic translation not connected correctly 3 months 1 week ago #3024

  • elusiven
  • elusiven's Avatar
  • Offline
  • New Member
  • Posts: 9
  • Karma: 0
I tried TextMeshPro but I don't get all the characters in the font. The text partly displays as rectangles. The font is arabic, so it has all the characters needed. added kerning pairs, and all the character ranges but it does not work properly.
The administrator has disabled public write access.

Arabic translation not connected correctly 3 months 1 week ago #3025

  • Frank
  • Frank's Avatar
  • Offline
  • Administrator
  • Posts: 1112
  • Thank you received: 234
  • Karma: 68
Hi,
When TextMeshPro shows characters as squares it means that the characters are missing, and this can be because of one of two things:

1- The font used to generate the TextMeshPro font asset didn't have the missing chars.
Not all fonts have the complete Unicode charset, some have only Latin characters, other add some complementary sets. If the font you are using doesn't have those characters, TextMeshPro will not generate them (or will generate them as squares).

This can easily be identified by opening the TextMeshPro font texture and seeing if there are any squares, if there are, then you need to use another font or a fallback.
If that's your case, my advice is to rebuild the font asset, use your dynamic font, but add ARIAL_UNICODE as the fallback.
ARIAL_UNICODE is a version of the Arial font that has the entire Unicode charset, so any character missing from your original font, will be found in this fallback one.

Once you generate the font asset again, there should be no square chars in your texture.


2- You are not baking all the needed characters into TextMeshPro font.
Arabic and other similar languages, are written using some characters from the Arabic Charset block, however, when they are rendered, there are language rules that require some of those characters to be combined together or separated into others.
See here some examples of this: w3c.github.io/alreq/#h_ligatures

Most of those unions, are set in Unicode with a different character in the complement/extended blocks.
That's why the characters you see in the TextField are not necessarily what Unity should render/use.

To account for this, I2 Localization, goes to all your texts, parses them and converts them into the final characters that are really used for rendering, and those are the one that are reported to you. Those are the one you need in your atlases.
To find them, just use this Charset tool:
inter-illusion.com/assets/I2Localization...usedinLanguages.html

Paste those characters into TextMeshPro Font builder tool when generating the font asset. That will make sure that you have all the needed characters.

Hope that helps,
Frank
Are you :-) Give I2L 5 stars!
Are you :-( Please lets us know how to improve it!
To get the betas as soon as they are ready, check this out
The administrator has disabled public write access.
Time to create page: 0.243 seconds
Colors