Get OST_Category from different language | Are multilanguage Parameternames stored somewhere?

Hi :slight_smile:
I wish to get the corresponding “OST_Category” by Categoryname, but from a different language than the current program language. Is this value stored anywhere?

For example, I started Revit in English, but I still want to find the corresponding category “OST_Walls” with the term “Wände”, which stands for “Walls” in English.

This way my colleagues (using English and German version of Revit) could use the same files / tables without looking up the OST_Categories or BuiltInParameter-Names.

I´ve got the same Problem with BuildIn-Parameters. Is there a way to see the parameter definitions of different languages?

Thanks and kind regards :slight_smile:

I don’t think it does - the enums you mentioned are declared in English and used for all language versions. I could be wrong as I’ve never tested outside of an English version of Revit but if I recall correctly Jeremy Tammick said to use built-in params for multi-lingual apps to avoid relying on strings for say, LookupParameter() as the string will be in English whereas the name of the parameter will be different.

3 Likes

Hey Thomas,

I think this might be the topic you are referring to…

2 Likes

Haha, bingo.

1 Like

Refactoring for this is a perpetual process for me because it’s never as easy as it sounds to get the BIP to work. In many cases you have to cast it and/or convert it, but I can attest that it’s the only way to go if you expect anyone else except English users to use it. Evening you DON’T expect that I’d strongly recommend it JUST in case Autodesk decides to change naming or some weird thing like that :rofl:

Thanks for your answers, even though this was not the answer I was hoping for :slight_smile:

I know, that using BuiltIn-Parameters makes way more sense and I use it all the time, when “hardcoding” something, but if I want a flexible system (like an excel-file) for some user input I need to find a way to get it working with multilanguage. The normal user does not want to Lookup Built-in-Parameter-Names and I think it will be extremly confusing for most people.

Currently I am thinking about creating a table with “BuiltIn-ParameterName / German / English” version of name. When I load this into a project I can find the BuiltInParameter no matter what, but it´s still no clean way… It´s a pity, that the language based parameterdescriptions are not saved anywhere in the parameterobject :frowning:

Is this the way to go, or does anyone have a better idea?

if you like to create an dictionary excel file, you can use this google spreadsheet as starting point. Please reach out to @Luke_Johnson for edits rights to extend the list with the missing german translation terms.

You could take a look here and see if you gain insight as well.

Hi,
in Revit API 2020 there is a new method to get the user-visible name for a BuiltInParameter in a specific LanguageType (only for BuiltInParameter), so we can iterate over that enum and compare the result of GetLabelFor () with a string

https://www.revitapidocs.com/2020/c38e7823-31b3-9bcd-5ab0-d353e0d39fa8.htm

4 Likes

That’s a great method to know about! Thanks for sharing @c.poupin!

When in doubt: ask for a user input.

Are you using ‘Rating’, ‘Fire Rating’, ‘Assembly Rating’, ‘Fire Resistance’ or ‘Design Rating’ for the required… well item that translates to the many listings shown above for all doors on every project for all eternity? Remember that as we transition to owner defined BXP as the standard what you say for all your current projects may not hold true… as such the ask for user input may be the best solution. Doubly so if you only ask when your standard isn’t available.

That ‘run?’ input on the data shapes value can save you ages if questions… :wink:

Thanks :slight_smile: I will create a table with this Information, so I can use it in 2019 as well :slight_smile: