We use cookies, including third-party cookies from Google to serve personalized ads through AdSense, to operate this site and understand how it is used. By continuing to browse, you accept this use. See our Privacy Policy and Terms of Use for details, including how to opt out of personalized advertising.
Accept
SmartData CollectiveSmartData Collective
  • Analytics
    AnalyticsShow More
    chatgpt image jul 21, 2026, 04 34 30 pm
    4 Core Benefits of Predictive Maintenance after Vibration Analysis
    10 Min Read
    How Does Data Mining Boost Customer Satisfaction in Logistics? Harnessing Analytics for Results -- AI-generated illustration
    How Does Data Mining Boost Customer Satisfaction in Logistics? Harnessing Analytics for Results
    11 Min Read
    chatgpt image jul 13, 2026, 04 23 45 pm
    How Data Analytics Helps Companies Improve User Engagement
    19 Min Read
    chatgpt image jul 13, 2026, 03 59 46 pm
    How Data Analytics Improves Multi-Location Search Strategies
    10 Min Read
    cybersecurity efforts
    How Behavioral Analytics and AI Are Redefining Cybersecurity for Boca Raton Businesses
    14 Min Read
  • Big Data
  • BI
  • Exclusive
  • IT
  • Marketing
  • Software
Search
© 2008-25 SmartData Collective. All Rights Reserved.
Reading: The Output Translator
Share
Notification
Font ResizerAa
SmartData CollectiveSmartData Collective
Font ResizerAa
Search
  • About
  • Help
  • Privacy
Follow US
© 2008-23 SmartData Collective. All Rights Reserved.
SmartData Collective > Uncategorized > The Output Translator
Uncategorized

The Output Translator

Editor SDC
Editor SDC
6 Min Read
The Output Translator
Illustrative image generated with OpenAI gpt-image-1.
SHARE

Although SPSS translates the user interface and output to many languages, there is often a need for some output in other languages. The translator package provides tools for user-created translations.

This package, which can be downloaded from SPSS Developer Central, provides code that can read a set of translation definition files and replace text in pivot tables, headings, titles, and outline contents with the matching translation. Details of this process are explained in the documentation in the package.

What I want to write about here is the interesting situation of straddling extension commands and autoscripts that arises in this package.

More Read

A National Strategy for Trusted Identities in Cyberspace
A National Strategy for Trusted Identities in Cyberspace
Absolutely Fabulous Big Data Roles
Design For Interaction: My SIGMOD Slides
Doing Things Right and Doing the Right Things
The Data-Information Continuum

My first approach was based on autoscripts. Autoscripts are Python or Basic scripts that are triggered by events such as the creation of a pivot table. The Base autoscript, if there is one, is called for every event, and other autoscript files can be attached to particular table types (See Edit>Options>Scripts for details.) Python autoscripts, though, are called by using import rather than by invoking a specific function in the script file.

That’s fine, but this package also provides an extension command named SPSSINC TRANSLATE OUTPUT. The extension command provides syntax that lets the job stream translate selected output when the syntax is executed rather than when a table is created. This is much easier to install compared to type-specific autoscripts. It also has the advantage of less overhead in many cases. An autoscript has to be loaded afresh each time the triggering event occurs. That means reloading the translation dictionaries each time. (The package documentation discusses how to minimize this startup cost.) The syntax version, though, can translate the entire output or the selected types in one invocation. It only loads the translation dictionaries once per command, although it will load incremental dictionaries as required when table types are encountered.

So mostly the same code needs to work for both autoscripting and the extension command. Since the extension command passes control to Python by calling the Run method in the module while the autoscript executes by using import, making both work is a little tricky.

Importing in Python actually means executing the contents of the imported module. Code inside a function or class would get defined but not executed by import as def and class are executable statements that define their objects.  There is code needed for processing the parsed input for the extension command form, but we want to minimize the overhead of that when running as an autoscript.

The solution is simple. The file SPSSINC_TRANSLATE_OUTPUT.py has the Run method required for handling the parsed input and processes the syntax. It is not used when an autoscript is run. Run then calls code in translator.py, which is also the module used for autoscripting and has most of the code for this package.

When translator.py is imported, its last line,
dotrans(importing=True)

is executed, because it is outside any function definition. This starts the translation process.

When the extension command is run, it calls dotrans but does not set the value of the importing parameter. dotrans itself has a default value for this parameter of False. Combining this with the

SpssClient.GetScriptContext()

api allows dotrans to figure out what to do. When imported and it is an autoscript, it gets called and does the translation. When imported by the Run method in SPSSINC_TRANSLATE_OUTPUT.py, it is not executed until the Run method has set up the proper parameters and called dotrans.

There are other ways to solve this problem, but this solution shows some of the advantages of being able to use the same Python module both as an autoscript and as a collection of callable functions and classes.

TAGGED:spss
Share This Article
Facebook Pinterest LinkedIn
Share

Follow us on Facebook

Latest News

How Great Content Moves Through A Marketing Ecosystem -- AI-generated illustration
How Great Content Moves Through A Marketing Ecosystem
Exclusive Infographic Marketing
What Your Brand Misses That Data Reveals -- AI-generated illustration
What Your Brand Misses That Data Reveals
Big Data Exclusive Infographic
5 Common Mistakes Businesses Make During the Risk Assessment Process -- AI-generated illustration
5 Common Mistakes Businesses Make During the Risk Assessment Process
Business Intelligence Exclusive Risk Management
Protecting Brand Reputation During Digital Expansion -- AI-generated illustration
Protecting Brand Reputation During Digital Expansion
Business Rules Infographic

Stay Connected

1.2KFollowersLike
33.7KFollowersFollow
222FollowersPin

You Might also Like

PASW 13 :The preview
Data MiningPredictive Analytics

PASW 13 :The preview

3 Min Read
Monitoring your brand: Sentiment analysis
Business IntelligenceData Mining

Monitoring your brand: Sentiment analysis

7 Min Read
Modeling Visualization Macros
Data Mining

Modeling Visualization Macros

7 Min Read
Why This Snaky Python Language?
Business IntelligenceData MiningPredictive Analytics

Why This Snaky Python Language?

6 Min Read

SmartData Collective is one of the largest & trusted community covering technical content about Big Data, BI, Cloud, Analytics, Artificial Intelligence, IoT & more.

giveaway chatbots
How To Get An Award Winning Giveaway Bot
Big Data Chatbots Exclusive
ai chatbot
How AI Website Chatbots Improve Customer Support and Lead Generation
Chatbots Exclusive

Quick Link

  • About
  • Contact
  • Privacy
Follow US
© 2008-26 SmartData Collective. All Rights Reserved.
Welcome Back!

Sign in to your account

Username or Email Address
Password

Lost your password?