Create Project Via API shows files as Reference

Hi

I've recently upgraded to Trados 2024, and am running code that creates a new project from a Studio 2024 template, add files, and machine translates. All VS references are for Studio 2024 assemblies.

The template is setup exactly as you'd expect to do this. There is no memory selected, and the DeepL translation configuration is correct. The file types for the template have most entries in the list unticked, but XML2: MadCap Compliant is ticked.

The program steps are: 

  1. Create project
  2. AddFolderWithFiles (recursively)
  3. Save project
  4. Scan files
  5. Save project
  6. ConvertToTranslatableFormat (via RunAutomatiobTask)
  7. CopyToTargetLanguages (via RunAutomatiobTask)
  8. Save project
  9. Modify settings to applyAutomatedTranslation
  10. Save settings
  11. Save project
  12. PreTranslateFiles (via RunAutomatiobTask)
  13. Save project

It never seems to use the project template setting to recognise the .htm files are translatable.

If I create the project manually, with the same template, same source files, it performs the MT as expected.

There must be some sort of gotcha going on. Can anyone tell me where I'm going wrong?
Thanks

Mark

Parents
  • Hi  , can you share the code project (and possibly the project template) so that we can understand better what the problem might be.

    pls send to phartnett@rws.com 

    Don't send the zip in the e-mail, instead upload it to Dropbox, onedrive or other and share the download link with me via e-mail.  then I'll take a look and provide some feedback.

    Patrick Andrew Hartnett | Developer Experience | Team Lead | RWS Group

  • Hi  ,

    Thanks for reporting this and for the sample materials.

    We’ve identified the issue. It appears to be related to a dependency change in latest release of Studio 2024, which means your project needs a few additional binding redirects in the App.config file.

    I’ll update our public documentation in the next few days, but in the meantime, please try using the attached/full App.config as a reference:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
      </configSections>
      <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
      </startup>
    
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.Memory"
                                    publicKeyToken="cc7b13ffcd2ddd51"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.0.1.2"
                                   newVersion="4.0.1.2" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe"
                                    publicKeyToken="b03f5f7f11d50a3a"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535"
                                   newVersion="6.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.Extensions.Logging"
                                    publicKeyToken="adb9793829ddae60"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535"
                                   newVersion="8.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions"
                                    publicKeyToken="adb9793829ddae60"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535"
                                   newVersion="8.0.0.2" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.Extensions.Options"
                                    publicKeyToken="adb9793829ddae60"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535"
                                   newVersion="8.0.0.2" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Collections.Immutable"
                                    publicKeyToken="b03f5f7f11d50a3a"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535"
                                   newVersion="8.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Text.Encoding.CodePages"
                                    publicKeyToken="b03f5f7f11d50a3a"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535"
                                   newVersion="8.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Threading.Tasks.Extensions"
                                    publicKeyToken="cc7b13ffcd2ddd51"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.2.0.1"
                                   newVersion="4.2.0.1" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Text.Json"
                                    publicKeyToken="cc7b13ffcd2ddd51"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-8.0.0.6"
                                   newVersion="8.0.0.6" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces"
                                    publicKeyToken="cc7b13ffcd2ddd51"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-8.0.0.0"
                                   newVersion="8.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Diagnostics.DiagnosticSource"
                                    publicKeyToken="cc7b13ffcd2ddd51"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-8.0.0.1"
                                   newVersion="8.0.0.1" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions"
                                    publicKeyToken="adb9793829ddae60"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-8.0.0.2"
                                   newVersion="8.0.0.2" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.Extensions.DependencyInjection"
                                    publicKeyToken="adb9793829ddae60"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-8.0.0.0"
                                   newVersion="8.0.0.1" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    
      <log4net>
        <!-- Set levels to DEBUG for extended logging information -->
        <appender name="RollingFile" type="Sdl.Desktop.Logger.LocalUserAppDataFileAppender, Sdl.Desktop.Logger">
        </appender>
        <!-- output to debug string -->
        <appender name="OutputDebug" type="log4net.Appender.OutputDebugStringAppender">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        <root>
          <level value="INFO" />
          <appender-ref ref="RollingFile" />
          <appender-ref ref="OutputDebug" />
        </root>
        <logger name="Sdl.TranslationStudio">
          <level value="INFO" />
        </logger>
        <logger name="Sdl.Desktop">
          <level value="INFO" />
        </logger>
        <logger name="Sdl.ProjectApi">
          <level value="INFO" />
        </logger>
        <logger name="Licensing">
          <level value="INFO" />
        </logger>
        <!--<logger name="Sdl.MultiTerm">
          <level value="DEBUG"/>
        </logger>-->
      </log4net>
    </configuration>
    

    thx  for helping to pinpoint this.

    Please let me know whether this resolves the issue on your side.

    Patrick Andrew Hartnett | Developer Experience | Team Lead | RWS Group

Reply
  • Hi  ,

    Thanks for reporting this and for the sample materials.

    We’ve identified the issue. It appears to be related to a dependency change in latest release of Studio 2024, which means your project needs a few additional binding redirects in the App.config file.

    I’ll update our public documentation in the next few days, but in the meantime, please try using the attached/full App.config as a reference:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
      </configSections>
      <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
      </startup>
    
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.Memory"
                                    publicKeyToken="cc7b13ffcd2ddd51"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.0.1.2"
                                   newVersion="4.0.1.2" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe"
                                    publicKeyToken="b03f5f7f11d50a3a"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535"
                                   newVersion="6.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.Extensions.Logging"
                                    publicKeyToken="adb9793829ddae60"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535"
                                   newVersion="8.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions"
                                    publicKeyToken="adb9793829ddae60"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535"
                                   newVersion="8.0.0.2" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.Extensions.Options"
                                    publicKeyToken="adb9793829ddae60"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535"
                                   newVersion="8.0.0.2" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Collections.Immutable"
                                    publicKeyToken="b03f5f7f11d50a3a"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535"
                                   newVersion="8.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Text.Encoding.CodePages"
                                    publicKeyToken="b03f5f7f11d50a3a"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535"
                                   newVersion="8.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Threading.Tasks.Extensions"
                                    publicKeyToken="cc7b13ffcd2ddd51"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.2.0.1"
                                   newVersion="4.2.0.1" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Text.Json"
                                    publicKeyToken="cc7b13ffcd2ddd51"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-8.0.0.6"
                                   newVersion="8.0.0.6" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces"
                                    publicKeyToken="cc7b13ffcd2ddd51"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-8.0.0.0"
                                   newVersion="8.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Diagnostics.DiagnosticSource"
                                    publicKeyToken="cc7b13ffcd2ddd51"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-8.0.0.1"
                                   newVersion="8.0.0.1" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions"
                                    publicKeyToken="adb9793829ddae60"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-8.0.0.2"
                                   newVersion="8.0.0.2" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.Extensions.DependencyInjection"
                                    publicKeyToken="adb9793829ddae60"
                                    culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-8.0.0.0"
                                   newVersion="8.0.0.1" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    
      <log4net>
        <!-- Set levels to DEBUG for extended logging information -->
        <appender name="RollingFile" type="Sdl.Desktop.Logger.LocalUserAppDataFileAppender, Sdl.Desktop.Logger">
        </appender>
        <!-- output to debug string -->
        <appender name="OutputDebug" type="log4net.Appender.OutputDebugStringAppender">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        <root>
          <level value="INFO" />
          <appender-ref ref="RollingFile" />
          <appender-ref ref="OutputDebug" />
        </root>
        <logger name="Sdl.TranslationStudio">
          <level value="INFO" />
        </logger>
        <logger name="Sdl.Desktop">
          <level value="INFO" />
        </logger>
        <logger name="Sdl.ProjectApi">
          <level value="INFO" />
        </logger>
        <logger name="Licensing">
          <level value="INFO" />
        </logger>
        <!--<logger name="Sdl.MultiTerm">
          <level value="DEBUG"/>
        </logger>-->
      </log4net>
    </configuration>
    

    thx  for helping to pinpoint this.

    Please let me know whether this resolves the issue on your side.

    Patrick Andrew Hartnett | Developer Experience | Team Lead | RWS Group

Children
No Data