View Issue Details

IDProjectCategoryView StatusLast Update
0029662LazarusOtherpublic2016-02-22 14:13
ReporterwpAssigned ToMaxim Ganetsky 
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionProduct Build 
Target VersionFixed in Version1.8 
Summary0029662: [PATCH] New translations not available in "translation" example project
DescriptionSome new translations have been added to the languages folder of the translation demo project (in folder "example/translation" of the lazarus installation). This demo uses a combobox to select the language. The new translations, however, are not shown in this combobox because the available languages are hard-coded into the combobox items.

The attached patch extends the combobox items by the new languages.

Another issue is that the Russian currency symbol is not displayed in the second form of the demo. This is not solved by the patch provided.
TagsNo tags attached.
Fixed in Revision51654
LazTarget-
Widgetset
Attached Files
  • translation.patch (4,057 bytes)
    Index: examples/translation/localizedforms.lfm
    ===================================================================
    --- examples/translation/localizedforms.lfm	(revision 51640)
    +++ examples/translation/localizedforms.lfm	(working copy)
    @@ -4,5 +4,5 @@
       Top = 238
       Width = 320
       Caption = 'LocalizedForm'
    -  LCLVersion = '1.5'
    +  LCLVersion = '1.7'
     end
    Index: examples/translation/localizedforms.pas
    ===================================================================
    --- examples/translation/localizedforms.pas	(revision 51640)
    +++ examples/translation/localizedforms.pas	(working copy)
    @@ -126,6 +126,7 @@
        'fi'   : Result := $040B;    // Finnish
        'fr'   : Result := $040C;    // French
        'he'   : Result := $040D;    // Hebrew
    +   'hu'   : Result := $040E;    // Hungarian
        'it'   : Result := $0410;    // Italian
        'jp'   : Result := $0411;    // Japanese
        'pl'   : Result := $0415;    // Polish
    Index: examples/translation/main.lfm
    ===================================================================
    --- examples/translation/main.lfm	(revision 51640)
    +++ examples/translation/main.lfm	(working copy)
    @@ -9,9 +9,9 @@
       OnCreate = FormCreate
       object Label1: TLabel[0]
         Left = 14
    -    Height = 13
    +    Height = 15
         Top = 16
    -    Width = 76
    +    Width = 83
         Caption = 'Select language'
         FocusControl = CbLanguage
         ParentColor = False
    @@ -18,17 +18,19 @@
       end
       object CbLanguage: TComboBox[1]
         Left = 136
    -    Height = 21
    +    Height = 23
         Top = 13
         Width = 100
    -    ItemHeight = 13
    +    ItemHeight = 15
         Items.Strings = (
    -      'de - Deutsch'
    +      'de - deutsch'
           'en - English'
           'es - Español'
           'fr - Français'
           'he - Hebrew'
    -      'ru - Russian'
    +      'hu - magyar'
    +      'it - Italiano'
    +      'ru - русский'
         )
         OnChange = CbLanguageChange
         Style = csDropDownList
    @@ -57,7 +59,7 @@
         ChildSizing.ShrinkVertical = crsScaleChilds
         ChildSizing.Layout = cclLeftToRightThenTopToBottom
         ChildSizing.ControlsPerLine = 1
    -    ClientHeight = 79
    +    ClientHeight = 77
         ClientWidth = 214
         Items.Strings = (
           'beer'
    @@ -85,9 +87,9 @@
       end
       object LblCurrentSelection: TLabel[6]
         Left = 18
    -    Height = 13
    +    Height = 15
         Top = 154
    -    Width = 86
    +    Width = 95
         Caption = 'No drink selected.'
         ParentColor = False
       end
    Index: examples/translation/translation_demo.lpi
    ===================================================================
    --- examples/translation/translation_demo.lpi	(revision 51640)
    +++ examples/translation/translation_demo.lpi	(working copy)
    @@ -37,7 +37,7 @@
               </CodeGeneration>
               <Linking>
                 <Debugging>
    -              <StripSymbols Value="True"/>
    +              <GenerateDebugInfo Value="False"/>
                 </Debugging>
                 <LinkSmart Value="True"/>
                 <Options>
    @@ -81,6 +81,7 @@
             <ComponentName Value="LocalizedForm"/>
             <HasResources Value="True"/>
             <ResourceBaseClass Value="Form"/>
    +        <UnitName Value="LocalizedForms"/>
           </Unit2>
           <Unit3>
             <Filename Value="unit2.pas"/>
    @@ -88,6 +89,7 @@
             <ComponentName Value="Form2"/>
             <HasResources Value="True"/>
             <ResourceBaseClass Value="Form"/>
    +        <UnitName Value="Unit2"/>
           </Unit3>
           <Unit4>
             <Filename Value="stringsunit.pas"/>
    @@ -105,8 +107,20 @@
           <IncludeFiles Value="$(ProjOutDir)"/>
           <UnitOutputDirectory Value="units\$(TargetCPU)-$(TargetOS)"/>
         </SearchPaths>
    +    <Parsing>
    +      <SyntaxOptions>
    +        <IncludeAssertionCode Value="True"/>
    +      </SyntaxOptions>
    +    </Parsing>
         <CodeGeneration>
           <SmartLinkUnit Value="True"/>
    +      <Checks>
    +        <IOChecks Value="True"/>
    +        <RangeChecks Value="True"/>
    +        <OverflowChecks Value="True"/>
    +        <StackChecks Value="True"/>
    +      </Checks>
    +      <VerifyObjMethodCallValidity Value="True"/>
         </CodeGeneration>
         <Linking>
           <Options>
    
    translation.patch (4,057 bytes)
  • tr-form2.png (27,177 bytes)
    tr-form2.png (27,177 bytes)
  • Translation_demo_ru.png (22,336 bytes)
    Translation_demo_ru.png (22,336 bytes)

Activities

wp

2016-02-16 18:52

developer  

translation.patch (4,057 bytes)
Index: examples/translation/localizedforms.lfm
===================================================================
--- examples/translation/localizedforms.lfm	(revision 51640)
+++ examples/translation/localizedforms.lfm	(working copy)
@@ -4,5 +4,5 @@
   Top = 238
   Width = 320
   Caption = 'LocalizedForm'
-  LCLVersion = '1.5'
+  LCLVersion = '1.7'
 end
Index: examples/translation/localizedforms.pas
===================================================================
--- examples/translation/localizedforms.pas	(revision 51640)
+++ examples/translation/localizedforms.pas	(working copy)
@@ -126,6 +126,7 @@
    'fi'   : Result := $040B;    // Finnish
    'fr'   : Result := $040C;    // French
    'he'   : Result := $040D;    // Hebrew
+   'hu'   : Result := $040E;    // Hungarian
    'it'   : Result := $0410;    // Italian
    'jp'   : Result := $0411;    // Japanese
    'pl'   : Result := $0415;    // Polish
Index: examples/translation/main.lfm
===================================================================
--- examples/translation/main.lfm	(revision 51640)
+++ examples/translation/main.lfm	(working copy)
@@ -9,9 +9,9 @@
   OnCreate = FormCreate
   object Label1: TLabel[0]
     Left = 14
-    Height = 13
+    Height = 15
     Top = 16
-    Width = 76
+    Width = 83
     Caption = 'Select language'
     FocusControl = CbLanguage
     ParentColor = False
@@ -18,17 +18,19 @@
   end
   object CbLanguage: TComboBox[1]
     Left = 136
-    Height = 21
+    Height = 23
     Top = 13
     Width = 100
-    ItemHeight = 13
+    ItemHeight = 15
     Items.Strings = (
-      'de - Deutsch'
+      'de - deutsch'
       'en - English'
       'es - Español'
       'fr - Français'
       'he - Hebrew'
-      'ru - Russian'
+      'hu - magyar'
+      'it - Italiano'
+      'ru - русский'
     )
     OnChange = CbLanguageChange
     Style = csDropDownList
@@ -57,7 +59,7 @@
     ChildSizing.ShrinkVertical = crsScaleChilds
     ChildSizing.Layout = cclLeftToRightThenTopToBottom
     ChildSizing.ControlsPerLine = 1
-    ClientHeight = 79
+    ClientHeight = 77
     ClientWidth = 214
     Items.Strings = (
       'beer'
@@ -85,9 +87,9 @@
   end
   object LblCurrentSelection: TLabel[6]
     Left = 18
-    Height = 13
+    Height = 15
     Top = 154
-    Width = 86
+    Width = 95
     Caption = 'No drink selected.'
     ParentColor = False
   end
Index: examples/translation/translation_demo.lpi
===================================================================
--- examples/translation/translation_demo.lpi	(revision 51640)
+++ examples/translation/translation_demo.lpi	(working copy)
@@ -37,7 +37,7 @@
           </CodeGeneration>
           <Linking>
             <Debugging>
-              <StripSymbols Value="True"/>
+              <GenerateDebugInfo Value="False"/>
             </Debugging>
             <LinkSmart Value="True"/>
             <Options>
@@ -81,6 +81,7 @@
         <ComponentName Value="LocalizedForm"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
+        <UnitName Value="LocalizedForms"/>
       </Unit2>
       <Unit3>
         <Filename Value="unit2.pas"/>
@@ -88,6 +89,7 @@
         <ComponentName Value="Form2"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
+        <UnitName Value="Unit2"/>
       </Unit3>
       <Unit4>
         <Filename Value="stringsunit.pas"/>
@@ -105,8 +107,20 @@
       <IncludeFiles Value="$(ProjOutDir)"/>
       <UnitOutputDirectory Value="units\$(TargetCPU)-$(TargetOS)"/>
     </SearchPaths>
+    <Parsing>
+      <SyntaxOptions>
+        <IncludeAssertionCode Value="True"/>
+      </SyntaxOptions>
+    </Parsing>
     <CodeGeneration>
       <SmartLinkUnit Value="True"/>
+      <Checks>
+        <IOChecks Value="True"/>
+        <RangeChecks Value="True"/>
+        <OverflowChecks Value="True"/>
+        <StackChecks Value="True"/>
+      </Checks>
+      <VerifyObjMethodCallValidity Value="True"/>
     </CodeGeneration>
     <Linking>
       <Options>
translation.patch (4,057 bytes)

Maxim Ganetsky

2016-02-18 07:50

developer   ~0090105

Last edited: 2016-02-18 07:53

View 2 revisions

Applied, thanks.

Also merged to fixes.

Russian currency symbol (and all others) is displayed correctly for me in Windows 7. See attached screenshot.

Maxim Ganetsky

2016-02-18 07:52

developer  

tr-form2.png (27,177 bytes)
tr-form2.png (27,177 bytes)

wp

2016-02-21 17:17

developer   ~0090177

> Russian currency symbol (and all others) is displayed correctly for me in Windows 7. See attached screenshot.

But not on mine (Win 7, as well, but codepage 1252 (Germany)) - see screenshot.

wp

2016-02-21 17:18

developer  

Translation_demo_ru.png (22,336 bytes)
Translation_demo_ru.png (22,336 bytes)

Maxim Ganetsky

2016-02-22 14:04

developer   ~0090190

Last edited: 2016-02-22 14:04

View 2 revisions

I think this is Windows issue (it works on some systems and not others, probably locale or some update dependent) and is out of the scope of this example. Maybe we can circumvent this by some hack, but it is not worth all the hassle.

Issue History

Date Modified Username Field Change
2016-02-16 18:52 wp New Issue
2016-02-16 18:52 wp File Added: translation.patch
2016-02-16 18:52 wp Assigned To => Maxim Ganetsky
2016-02-16 18:52 wp Status new => assigned
2016-02-18 07:50 Maxim Ganetsky Fixed in Revision => 51654
2016-02-18 07:50 Maxim Ganetsky Note Added: 0090105
2016-02-18 07:50 Maxim Ganetsky Status assigned => resolved
2016-02-18 07:50 Maxim Ganetsky Fixed in Version => 1.8
2016-02-18 07:50 Maxim Ganetsky Resolution open => fixed
2016-02-18 07:52 Maxim Ganetsky File Added: tr-form2.png
2016-02-18 07:53 Maxim Ganetsky Note Edited: 0090105 View Revisions
2016-02-21 17:17 wp Note Added: 0090177
2016-02-21 17:18 wp File Added: Translation_demo_ru.png
2016-02-21 17:19 wp Status resolved => feedback
2016-02-22 14:04 Maxim Ganetsky Note Added: 0090190
2016-02-22 14:04 Maxim Ganetsky Status feedback => resolved
2016-02-22 14:04 Maxim Ganetsky Note Edited: 0090190 View Revisions
2016-02-22 14:13 wp Status resolved => closed