[PATCH 1/2] Support translating UTF8 strings

Maximilian Güntner maximilian.guentner at gmail.com
Thu Nov 14 18:18:25 UTC 2013


There are no offending strings in the application itself. The problem
only occurs
when we try to translate custom tags (supplied by the user) that contain UTF-8
characters or when we try to translate the translation of a tag (which
contains UTF-8 characters).
Implementation: struct divetag *taglist_add_tag(struct tag_entry
*tag_list, const char *tag) in dive.c

I hope that helps,

Maximilian

2013/11/14 Dirk Hohndel <dirk at hohndel.org>:
> On Thu, 2013-11-14 at 19:47 +0100, Maximilian Güntner wrote:
>> Interpreting UTF8 encoded strings using tr() instead of trUtf8()
>> and encoding the string back to utf8 again leads to serious encoding
>> errors.
>
> I didn't realize we had utf8 encoded strings in our sources...
> Since some compilers frown upon that we used to always try and avoid
> that. Can you point me to the offending strings?
>
> /D
>
>> Signed-off-by: Maximilian Güntner <maximilian.guentner at gmail.com>
>> ---
>>  gettextfromc.cpp | 2 +-
>>  gettextfromc.h   | 2 +-
>>  2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/gettextfromc.cpp b/gettextfromc.cpp
>> index c3b822f..fc11847 100644
>> --- a/gettextfromc.cpp
>> +++ b/gettextfromc.cpp
>> @@ -6,7 +6,7 @@ const char *gettextFromC::trGettext(const char *text)
>>  {
>>       QByteArray &result = translationCache[QByteArray(text)];
>>       if (result.isEmpty())
>> -             result = tr(text).toUtf8();
>> +             result = trUtf8(text).toUtf8();
>>       return result.constData();
>>  }
>>
>> diff --git a/gettextfromc.h b/gettextfromc.h
>> index 6b5f7b1..c84d65f 100644
>> --- a/gettextfromc.h
>> +++ b/gettextfromc.h
>> @@ -12,7 +12,7 @@ public:
>>       static gettextFromC *instance();
>>       const char *trGettext(const char *text);
>>       void reset(void);
>> -     QHash <QByteArray , QByteArray> translationCache;
>> +     QHash <QByteArray, QByteArray> translationCache;
>>  };
>>
>>  #endif // GETTEXTFROMC_H
>
>


More information about the subsurface mailing list