Loading...
 
Skip to main content

Unicode characters that make life of translators harder

Status
Open
Subject
Unicode characters that make life of translators harder
Version
18.x
Category
  • Usability
  • Easy for Newbie Dev
  • Less than 30-minutes fix
Feature
Admin Interface (UI)
Resolution status
New
Submitted by
hman
Lastmod by
hman
Rating
(0)
Description

It took me some time to find out why I could not translate a particular string in /lib/prefs/freetags.php, and this is it:

Copy to clipboard
'freetags_normalized_valid_chars' => [ 'name' => tra('Valid characters pattern'), 'description' => tra('Click on the links below to set or clear a pattern to limit characters accepted in tags. '), 'type' => 'text', 'size' => '30', 'hint' => 'Useful to eliminate characters such as “,” which users can enter by mistake instead of a space.', 'default' => '', ],


This looks decent, it also carries calls to the tra() subroutine. But I could not catch it with this entry in custom.php:

Copy to clipboard
"Useful to eliminate characters such as “,” which users can enter by mistake instead of a space." => "Nützlich, um Zeichen zu eliminieren wie Kommata, die Benutzer anstelle von Leeerzeichen eingeben können",


The string for pattern matching is exactly identical to it's declaration in the source code, but it was not caught. Until finally I pumped the string into GHex, to look at its real composition.

Copy to clipboard
echo -n "Useful to eliminate characters such as “,” which users can enter by mistake instead of a space." | od -A n -t x1 55 73 65 66 75 6c 20 74 6f 20 65 6c 69 6d 69 6e 61 74 65 20 63 68 61 72 61 63 74 65 72 73 20 73 75 63 68 20 61 73 20 e2 80 9c 2c e2 80 9d 20 77 68 69 63 68 20 75 73 65 72 73 20 63 61 6e 20 65 6e 74 65 72 20 62 79 20 6d 69 73 74 61 6b 65 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 73 70 61 63 65 2e


So what's looking decent are actually Unicode characters

Copy to clipboard
e2 80 9c 2c e2 80 9d


I have absolutely no idea how to escape that so PHP will find it in pattern matching... Devs, please do not use Unicode unless really really necessary...

Importance
3
Easy to solve?
10 easy
Priority
30
Demonstrate Bug on Tiki 19+
Demonstrate Bug (older Tiki versions)
Ticket ID
7452
Created
Friday 31 July, 2020 17:08:49 UTC
by hman
LastModif
Friday 31 July, 2020 17:08:49 UTC


Show PHP error messages