The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 2,161 other followers

Archive for the ‘internatiolanization (i18n) and localization (l10)’ Category

Mapping US-English Keyboard keys to Turkish

Posted by jpluimers on 2020/01/27

I wrote about Delphi, IBX and the Turkish I problem about a year and a half ago. Back then, I could use a US-English system to reproduce the problem. This time, I had a problem on a Turkish system running an embedded version of Windows with hardly any UI tools available (especially no Windows Explorer).

Luckily, I had the command prompt, but it looked like this:

X:\>mode con codepage

Status for device CON:
----------------------
    Code page:      857

X:\>mode con codepage select 437
Invalid parameter - select

X:\>mode con codepage select=437
Invalid parameter - select

Status for device CON:
----------------------
    Lines:          300
    Columns:        120
    Keyboard rate:  31
    Keyboard delay: 1
    Code page:      437

X:\>

I tried the [WayBack] modecommand to change from [WayBack] code page 857(Turkish) to [WayBack] code page 437(IBM PC or OEM-US) which is the default on US-English systems, but that did not change the keyboard locale, not even for the command prompt.

Read the rest of this entry »

Posted in Development, internatiolanization (i18n) and localization (l10), Power User, Software Development | Leave a Comment »

Crowdsourcing App-Translation with in-app message – Christoph Wiesner – Medium

Posted by jpluimers on 2019/09/13

Interesting approach on how a free app got itself free translations: Case Study on engaging users to become app translators

Source: [WayBackCrowdsourcing App-Translation with in-app message – Christoph Wiesner – Medium

The app: Visual Timer – Countdown

Platforms used:

  • Firebase is Google’s mobile platform that helps you quickly develop high-quality apps and grow your business.Source: Firebase
  • POEditor is an online localization management tool, perfect for collaborative or crowdsourced translation projects. Translate websites, apps, games and more!Source: Software Localization Management Platform

Via:

–jeroen

 

Posted in Android Devices, Development, internatiolanization (i18n) and localization (l10), Power User, Software Development | Leave a Comment »

G+ thread: Do i need to create one TFormatSettings instance for every thread?

Posted by jpluimers on 2018/10/23

A very interesting thread at [WayBack] Do i need to create one TFormatSettings instance for each thread that needs it? If i want the same settings (for all threads), th… – Dany Marmur – Google+

It’s about:

Recommended reading!

It made me go back to these style guides (from oldest to newest):

And Stefan Glienke reminded me naming is always hard, so I found back these from a distant past:

Note most of the above Links point to (archives of) Delphi 2007 documentation as the behaviour is that old and that the below identifiers  were not mentioned in the thread.

The FormatSettings variable was introduced in Delphi XE but only documented in XE2 and up.

Until that, other global variables like the [WayBackSysUtils.DecimalSeparator Variable were used.

–jeroen

Read the rest of this entry »

Posted in Delphi, Development, internatiolanization (i18n) and localization (l10), Software Development | Leave a Comment »

A Programmer’s Introduction to Unicode – Nathan Reed’s coding blog

Posted by jpluimers on 2018/06/26

Must read if you do i18n or l10n: [WayBackA Programmer’s Introduction to Unicode – Nathan Reed’s coding blog

Via:

[WayBack] Even if you’ve been programming with Unicode for years, this well-written article is worth reading. – Kevin Powick – Google+

–jeroen

 

Posted in Development, internatiolanization (i18n) and localization (l10), Software Development | Leave a Comment »

Field “id” not found, the The Turkish-İ/I/i/ı and case conversion and case folding – Update on the dasBlog Turkish-I bug and a reminder to me on Globalization – Scott Hanselman

Posted by jpluimers on 2018/06/05

Reminder to self: in Turkey, they have more than just the lowercase i and uppercase I. In fact these are the i characters you can get:

Note there are more non-US latin characters in Turkey, see the links below for some lists.

The Turkish case conversion is inside the same group of dotted. The English case conversion is from dotted lowercase i to dotless uppercase I as shown in [WayBackInternationalizing Turkish: Dotted and Dotless Turkish Letter “I”:

English vs. Turkish Case Mappings
Language Letter Lowercase
Map
Uppercase
Map
English i i I
Turkish dotted i i İ
Turkish dotless ı ı I

In general, this problem is called [WayBack] Case Folding and many environments do not have good and ready to use solutions for this.

In my case, I was getting Field "id" not found messages for all tables that had an ID field. The reason was that somewhere in the path from my code to the database, either a comparison or case conversion wasn’t taking into account the above mappings.

Though the underlying database indicates I shouldn’t in [WayBackDo I have to use UPPERCASE identifiers?, it appears that something in the path from my code via IBX to the Firebird 2.5 database has issues on Turkish machines. The good thing: Database WorkBench 5.x doesn’t have that issue for a regular query.

Usually databases are only cases sensitive with quoted identifiers, but not all are: [WayBackLorenzo Alberton – Articles – Database identifiers, quoting and case sensitivity

Read the rest of this entry »

Posted in Development, internatiolanization (i18n) and localization (l10), Software Development | Leave a Comment »

 
%d bloggers like this: