Hello,
I have a problem to translate the resources of my Forms which are set to Localizable to true.
I have noticed that the ultraTabPageControl has not any Text property.
Into the resrouces file I can see items for TabPageControl objects, but their IDS came from the objects' name automatically generated from design.
So, the problem is, if we remove a tabPage and create a new one, the tabPage name does not re-use the last free tabnumber; I mean the name is always incrementing, even if one tabPage has been deleted.
Because of that, that piece of code added to bypass the fact the the TabPageControl has no Text property can not fully solve the problem:
control.Text = (string)GetSafeValue(resources, control.Name + ".Text", control.Text);if (control is Infragistics.Win.UltraWinTabControl.UltraTabPageControl){ Infragistics.Win.UltraWinTabControl.UltraTabPageControl tabPageControl = (Infragistics.Win.UltraWinTabControl.UltraTabPageControl) control; if (tabPageControl.Tab != null) { control.Text = (String) GetSafeValue(resources, tabPageControl.Tab.Key + ".Text", tabPageControl.Tab.Text); }}
I think also that the reason of the problem is because the tabPageControl has no "Name" property, like it is for standrad windows TabPage control.
We are experiencing same problem with statusbar control, and ultraTree.
To let you understand my problem more easily, here are a sample project.
Please run project "TestSDIApp" to test.
Under folder "FormLanguangeML" you can find a file "FormLanguangeML.loc" which is a file created by Lingobit application (availabe in demo version), used to manage resources for different languages.
Into "\Sample\TestSDIApp\FormMain.resx" you can see that the Infragistics tab controls are detected into resources as "ultraTab1.Text" and "ultraTab2.Text".
Into "\Sample\FormLanguageSwitch\FormLanguageSwitch.cs" you see the method:
protected virtual void ReloadTextForSelectedControls(System.Windows.Forms.Control control, System.Resources.ResourceManager resources)
which i had to modify to force the applying of resources for Infragistics tab controls.
After that, you can remove one infragistics tab page, recreate a new tab page, and notice that the new tab page is "ultraTab3" and because tab page object has not "Name" property and also because the "Accessibility" property doesn't allow to retrieve the object name value, i must add manually a "key" value the to tab page control.
--> this way of work is not good neither safe into a big project (when some developers are working on it).
I understand your problem. We had the same issue with Appearance objects, tool objects in the UltraToolbarsManager, and groups in the UltraExplorerBar. This seems to be an issue with the way VS localizes resources and creates local variable names. We have worked around it for the classes I mentioned and can also work around it for the other classes as well, but we are only fixing the issue on each object it is reported on as it is potentially destabilizing and we don't want to introduce too many destabilizing changes at once. I have forwarded this post to the Developer Support Manager and a DS engineer will be contacting you about this issue.
Hello Jane,
Please take a look on the answers of your questions:
Jane Chen said:Since you mentioned that infragistics makes other controls by work around, is there a chance that Infragistics makes work around for UltraTabPageControl and UltraTab?
There are many benefits to submitting an product idea:
- Direct communication with our product management team regarding your product idea.
- Notifications whenever new information regarding your idea becomes available.
- Ability to vote on your favorite product ideas to let us know which ones are the most important to you. You will have ten votes for this and can change which ideas you are voting for at any time.
- Allow you to shape the future of our products by requesting new controls and products altogether.
- You and other developers can discuss existing product ideas with members of our Product Management team.
Steps to create your idea:
1. Log into the Infragistics Product Idea site at http://ideas.infragistics.com (creating a new login if needed).
2. Navigate to the product / platform channel of your choice (e.g. WPF, Windows Forms, ASP.NET, HTML5 / Ignite UI, iOS / NucliOS, etc.)
3. Add your product idea and be sure to be specific and provide as much detail as possible. Explain the context in which a feature would be used, why it is needed, why it can’t be accomplished today, and who would benefit from it. You can even add screenshots to build a stronger case. Remember that for your suggestion to be successful, you need other members of the community to vote for it. Be convincing!
The Product Idea site puts you in the driver’s seat and allows you to track the progress of your ideas at any time, see how many votes it got, read comments from other developers in the community, and see if someone from the product team has additional questions for you.
As current version 11.2 we use, is there a way that we can find out the UltraTab variable names through UltraTabControl or through UltraTabPageControl?
Let me know if you have any further questions.
Hi Jan,
Sadly it's not a surprise for me that this big problem is still there in version 11.2!
If you search all the post/thread i've done here, you can see that phenomenon is common to several Infragistics controls!
UltraTabPageControl, UltraTab, UltraTooltip, and others...
That problem is a MAJOR problem, it disallow developers to work how they should for a professional development:
- dynamic creation
- translation in multi-language based on controls name!!
That's why I didn't continue to upgrade our Infragistics license.
Hi Mike,
Our application needs to make UltraTab text dynamically in the code and save the changed text value back to form resource file for different languages.
Since the resource file stores UltraTab variable name as resource keys, we need to find UltraTab variable names such as "UltraTab1", "UltraTab2" in order to search it in the form resource file (Form1.resx).
In VS design mode, when adding a new tab, the UltraTab name automatically created by incrementing and there is no way for users to change UltraTab name.
In the code, we can easy find out the SelectedTab. However, though code, we cannot find out what is Ultratab variable name.
So far we only can do is to add UltraTab.key to match with the UltraTab variable names just like this post thread user “sdtint” mentioned.
However, for large application which has use a lot of UltraTabControl, this is not sound solution.
Since you mentioned that infragistics makes other controls by work around, is there a chance that Infragistics makes work around for UltraTabPageControl and UltraTab?
Thx!
-Jane
I think i have similiar problem.
I have a UltraGrid binded to a DataSet, i have editaed header on each ultraGridColumn in default language (.resx) and spanish (.es.resx).
When I add a column to the DataSet, the columns are renamed in designer.cs and .resx, but not in .es.resx so i have to translate again in Spanish.
How can i fix it?
I have forwarded this additional information to the DS Manager and someone should be contacting you shortly. As far as getting the fix by the end of the month, I believe the next Service Release is planned for early February. However, we are already passed the stage where new fixes can be included in that SR. So if you need this by the end of this month, you will need to request an untested SR from DS.