Request for improvement - Translation

For complex topics that regular users would not be interested in. For power users and database administrators.
Post Reply
Mifa
Posts: 141
Joined: Wed Nov 21, 2007 6:52 pm
Location: Saint-Bruno, QC, Canada
Contact:

Request for improvement - Translation

Post by Mifa » Thu Aug 07, 2008 7:59 pm

I'm in the process of updating to 5.7 from 4.6. We are a French speaking practice, so I'm also updating the translation of OD's menus and forms. I love the translation utility but at the same time would like to see some improvements/corrections, here is a list of the most important ones IMHO:

1. Some of the translated terms/sentences start showing up in the 'English' column.

2. English terms get duplicated (in FormDisplayFieldEditWords for example, each entry is repeated 15 times! Hopefully, in this specific case, changing one of them changes the others as well) or repeated with slight changes (commas, wording); it seems that items get added to the table when the corresponding OD feature is modified but the obsolete ones are not removed)

2. Certain fields (most notably in the chart module, the tabs for treatment, missing teeth, etc. and their contents) cannot be translated

3. Column headers' translation should be moved to the 'Setup display field' window or something similar, so that they can be translated/hidden and column widths can be adjusted accordingly (I think I remember this the intention behind this window, I can't wait to see it completed!)

4. Some translation tables get duplicated (e.g. Enum PatientGender is identical to EnumPatientGender).

5. The number of translation tables is quite important now, so there is a lot of duplicate entries for common terms, would it be possible to have a 'Common' table for all of these generic terms and sentences (such as Provider, OK, Show, Edit, Patient, Recall, Appointment, Please select an item first, Please correct the errors first, etc.)

I'll be glad to supply our languageforeign table if this can help investigate these issues.

User avatar
jordansparks
Site Admin
Posts: 5739
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Request for improvement - Translation

Post by jordansparks » Thu Aug 07, 2008 8:56 pm

1. That doesn't sound right. Which ones? We might have to just slog through some specific examples.
2. Keep in mind that any/all rows can be safely deleted from the language table. If the program runs across them, it will add them back. So it won't be too hard to add a "delete" function to let you delete, in bulk, entries that look wrong. In fact, that's so easy, that I could probably add it in about 15 minutes. It would allow you to tidy things up a bit.
2.5. I will look into that specific example.
3. Yes, that's the plan. It's functional now in Chart and Patient Select. Works great.
4. We do have a common category where the OK and Cancel button translations are supposed to happen. We could use it more. I don't remember what it's called.

I've sort of been putting off improvements until there was demand for it. I realize this is a somewhat critical feature. I think the main thing that went wrong is when we moved some of the logic to the business layer. We left the translation function as a stub there. I can go back and get that working again.
Jordan Sparks, DMD
http://www.opendental.com

Mifa
Posts: 141
Joined: Wed Nov 21, 2007 6:52 pm
Location: Saint-Bruno, QC, Canada
Contact:

Re: Request for improvement - Translation

Post by Mifa » Thu Aug 07, 2008 11:35 pm

Here are some cases
- in ContrAccount, the FR-CA translation of items Label, Email, Merge, Show entire history, Fam Urgent Fin note (actually 2 entries in the English column for this one, that don't even correspond to the latest translation) ...
- in Form Aging, the long description's (This tool recalculates...) translation appears twice in the English column

The following are related to my (first) 2nd point and do not appear to be the same issue, but just in case:
- in ContrCalendar the "Today: DATE" line (there should be only 1) is repeated many times
- in FormAnestheticsMedsEdit (which did not exist in 4.6), each entry is repeated twice

I've checked the tables with Navicat: the languageForeign table is OK, but the language table is messed up and these FR-CA entries and English duplicates, so maybe these two problems are somehow related.

User avatar
jordansparks
Site Admin
Posts: 5739
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Request for improvement - Translation

Post by jordansparks » Fri Aug 08, 2008 9:51 am

1. Translated items showing up in the English column remains a mystery. None of the items you listed is even part of that page any longer. So it might be from an old bug.

But your main issue has been resolved. I added two delete buttons to the bottom of the translation page that should allow you to very quickly clear out the garbage. Then, I found the bug that was causing duplicate entries, so that should stop happening as well once you clear out the existing duplicates. I also changed a few usability issues that I ran into along the way. Changes made to version 5.8. The changes should be part of the next release to go out within a few days.
Jordan Sparks, DMD
http://www.opendental.com

Mifa
Posts: 141
Joined: Wed Nov 21, 2007 6:52 pm
Location: Saint-Bruno, QC, Canada
Contact:

Re: Request for improvement - Translation

Post by Mifa » Fri Aug 08, 2008 10:43 am

Thanks! I look forward to using this new feature (BTW, why 2 delete buttons? 1 per column?). Will the delete take care of the French entries in the Language table as well or will I have to edit the table with Navicat?

User avatar
jordansparks
Site Admin
Posts: 5739
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Request for improvement - Translation

Post by jordansparks » Fri Aug 08, 2008 2:17 pm

One delete button is for selected rows. But that one wasn't going fast enough. I kept having to highlight a bunch of rows, click delete, and then do it again. So I added a smarter delete button that deletes any rows that don't have translations attached yet. Much better. You'll see.
Jordan Sparks, DMD
http://www.opendental.com

vilmau
Posts: 7
Joined: Sun Feb 28, 2010 10:24 am

Re: Request for improvement - Translation

Post by vilmau » Sat Mar 20, 2010 8:14 am

What's new about this question?:
2. Certain fields (most notably in the chart module, the tabs for treatment, missing teeth, etc. and their contents) cannot be translated

I work with translation and also can not translate theese fields.

User avatar
jordansparks
Site Admin
Posts: 5739
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Request for improvement - Translation

Post by jordansparks » Sat Mar 20, 2010 7:59 pm

OK, just keep telling me which ones are missing. I'll go through all of the tabs right now.
Jordan Sparks, DMD
http://www.opendental.com

User avatar
jordansparks
Site Admin
Posts: 5739
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Request for improvement - Translation

Post by jordansparks » Sat Mar 20, 2010 9:32 pm

Added to 7.0.
Jordan Sparks, DMD
http://www.opendental.com

vilmau
Posts: 7
Joined: Sun Feb 28, 2010 10:24 am

Re: Request for improvement - Translation

Post by vilmau » Wed Mar 31, 2010 1:38 am

I noticed some more fields wich can not be translated.
Patients module
Table Names - Family Members, Recall, Patient Information
All Patient table fields
Account Module
All fields in table Patient Account
Fields: -InsEst, =Balance, PatEstBal, Unearned, InsRem
Tab names: Main, Show
Buttons in Show tab: Today, Last 45 Days, Last 90 Days, All Dates
Treatment Plan module
Table Names: Treatment Plans, Procedures
Fields: Fam Ded
Priority values: Next, Low, Recmend, Wait
Appointments module
Radio buttons under calendar: day, week
Tab Names: Waiting, Emp
Table Names in tabs: Waiting room, Employee Schedules
FormApptEdit field: Fee This Appt
FormApptEdit field 'Confirmed' values: Unconfirmed, Left Msg on Ans Mach, Appointment Confirmed, Left Msg w Fam Mem, Not Home, Disconnected Number, Line Busy, E-mailed.
FormCommItem, field Type values: ApptRelated, Insurance, Financial, Recall, Misc
Manage module
Table name: Employee, Message History
Buttons: Send Claims, Billing, Deposits, SupplyInventory, Tasks, Backup, Accountind
Messaging fields: Extras, Message (&Send), Include acknowledged, button Ack

User avatar
jordansparks
Site Admin
Posts: 5739
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Request for improvement - Translation

Post by jordansparks » Wed Mar 31, 2010 6:29 am

The patient table in the Family module is translated using the Display Fields feature. Same for Account module.
Some items are translated in the Def edit window. This includes TP priority values, appt edit confirm values, and FormCommItem field types.
I'll get started on the others.
Jordan Sparks, DMD
http://www.opendental.com

vilmau
Posts: 7
Joined: Sun Feb 28, 2010 10:24 am

Re: Request for improvement - Translation

Post by vilmau » Sat Jun 12, 2010 2:17 am

Hello, is there some news regarding translation?

User avatar
jordansparks
Site Admin
Posts: 5739
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Request for improvement - Translation

Post by jordansparks » Sun Jun 27, 2010 7:00 am

Family module
Table names all look translatable to me. Find them in ContrFamily.
Patient table is translated using the Display Fields.
Account Module
All fields in table Patient Account (already seems to be working)
Other items listed: Done
TP module
Table names already working
Fam Ded added
Priority values - user can edit from Defs.
Appt module
Radio buttons and tab names fixed
FormApptEdit
Fee This Appt added
Confirmed values - user can edit in Defs.
FormCommItem
user can edit in Defs
Manage module
Tablenames already available. See ContrStaff category.
Buttons already done.
Labels fixed.

All in version 7.2
Jordan Sparks, DMD
http://www.opendental.com

vilmau
Posts: 7
Joined: Sun Feb 28, 2010 10:24 am

Re: Request for improvement - Translation

Post by vilmau » Wed Jul 21, 2010 4:45 am

Theese items are still not translatable:
Family module
table names Family Members, Recall, Patient Information - I can not find them in ContrFamily.
TP module
Table names: Treatment Plans, Procedures, Pre Authorizations
Appt module
Table Names in tabs: Waiting room, Employee Schedules
Manage module
Table names: Employees, Message History

And some new:
Appt module
Button LabCases
Buttons under calendar: M,W
Account Module
Button Questionaire

User avatar
jordansparks
Site Admin
Posts: 5739
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Request for improvement - Translation

Post by jordansparks » Wed Jul 21, 2010 6:37 am

Table names and columns are not found under the name of the form. They are typically found under Table... For example, your first item is under TableFamily. I just added the missing buttons to the head.
Jordan Sparks, DMD
http://www.opendental.com

Tomas
Posts: 14
Joined: Wed Feb 05, 2014 4:00 am

Re: Request for improvement - Translation

Post by Tomas » Fri Jan 08, 2016 1:53 am

Dear Jordan,
I would like to ask you if you add the possibility of the translation. I need to translate name of the windows in the "Family Module". There are following windows: "Family Members", "Recall", "Patient Info". Is it possible to translate these name of windows (tables)? I can not find it (there is no TableFamily).

Thank you

Tomas
Tomas Krejci
MobiDent s.r.o.
Czech Republic

User avatar
jsalmon
Posts: 1551
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Request for improvement - Translation

Post by jsalmon » Fri Jan 08, 2016 9:38 am

Tomas wrote:...I need to translate name of the windows in the "Family Module".
To translate the module names themselves you need to go into the "FormOpenDental" translation entry. There you will see entries for these modules:
  • Appts
  • Family
  • Account
  • Treat' Plan
  • Images
  • Manage
Then for any specific windows that you want to translate you will look for the following pattern:
Edit Patient Information window will be - FormPatientEdit
Patient Select window will be - FormPatientSelect
etc.
etc.
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

Tomas
Posts: 14
Joined: Wed Feb 05, 2014 4:00 am

Re: Request for improvement - Translation

Post by Tomas » Tue Jan 12, 2016 2:11 am

Dear Jason,
thank you for quick response. I understand that I can find the translation. But I still can not find the name of the windows in the module Family (in the picture) Image. There is not name of the window in the translation table, everything others in the window is O.K. (see the picture) Image. Could you help me?
Tomas
Tomas Krejci
MobiDent s.r.o.
Czech Republic

User avatar
jsalmon
Posts: 1551
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Request for improvement - Translation

Post by jsalmon » Tue Jan 12, 2016 12:17 pm

Oh, the titles for the grids. I'll take a look into this cause the screenshots you shared would have been where I would have expected them to be.
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

User avatar
jsalmon
Posts: 1551
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Request for improvement - Translation

Post by jsalmon » Tue Jan 12, 2016 3:27 pm

The bug "Family Module Translations, the titles for the Family Members, Recall, Patient Information, Super Family, and Insurance Plan grids were not translatable" is fixed and will be released with v15.3.41 and v15.4.19.
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

User avatar
jsalmon
Posts: 1551
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Request for improvement - Translation

Post by jsalmon » Tue Jan 12, 2016 3:31 pm

Just a reminder, even though you probably already know this, you will have to restart Open Dental after adding your custom translations of the grid titles before they will take effect. This is unlike typical windows inside Open Dental because those grids are only translated once when the program first loads.
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

Tomas
Posts: 14
Joined: Wed Feb 05, 2014 4:00 am

Re: Request for improvement - Translation

Post by Tomas » Wed Jan 13, 2016 2:49 am

O.K. Thank you. I will wait.
Tomas Krejci
MobiDent s.r.o.
Czech Republic

Mifa
Posts: 141
Joined: Wed Nov 21, 2007 6:52 pm
Location: Saint-Bruno, QC, Canada
Contact:

Re: Request for improvement - Translation

Post by Mifa » Wed Jan 13, 2016 10:48 am

Jason, since you're at it :D :wink: ... Can you look into those one as well? Those preceded by an * are the most important for us

In the Chart module
* Right-click menu a progress note (Delete, Set Complete...)
* Drop-down menu items for Tooth Chart button (Save big, Save to images)
- Most grid tables titles (Patient Info, Procedures in Progress Notes, Planned Appointments, Chart Views)
- Procedure edit form Tab titles (Financial, Misc, Canada)

In the Family module
* Grid Tables Titles (Patient Information, Family Members, Recall, Insurance Plans)
* Language drop down menu in Patient Edit Window shows the right translation for none, then lists all available languages and "Declined to Specify" in English
* Button label Edit Postal in Patient Edit Window

In the Account module
- Treatment Plan grid table title
* Payment Plan window - the note that gets automatically added when a payment schedule is created (**** - Date of Agreement: **** Total Amount *** APR *** Total Cost of Loan ***), in this case we don't even want any automatic note at all

In the Treatment Plan module
* All grid Tables headers (Procedures, Treatment Plans, PreAuthorizations)

In the Staff module
- Batch Ins. button label
- Email Inbox button label
- Employee grid table header
- Message history grid table header
- Tasks grid table header
* Show Finished Tasks toggle and Start date label (that appears when the toggle is selected)

Thanks a lot!

User avatar
jsalmon
Posts: 1551
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Request for improvement - Translation

Post by jsalmon » Wed Jan 13, 2016 11:12 am

Absolutely! Thanks for pointing these things out and helping us make our software better.
We don't purposefully forget about translations :cry: it's just really hard when we're so focused on getting new features out that translations quickly become an afterthought.

While fixing the aforementioned issues I'm also trying to think of a witty way to make it so that our entire software auto translates (not leaving it up to us forgetful software engineers). Here's to hoping I can figure something out!
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

User avatar
jsalmon
Posts: 1551
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Request for improvement - Translation

Post by jsalmon » Wed Jan 13, 2016 2:36 pm

Phew, that took much longer than I anticipated but much good came from it. I changed so much code to get the sections you complained about to work that I will only be able to take it back to the beta (v15.4). I still need to carefully review it with a colleague before I commit it so I won't get around to it till tomorrow. However, I wanted to point out a few oddities about some of the items you mentioned:
* Language drop down menu in Patient Edit Window shows the right translation for none, then lists all available languages and "Declined to Specify" in English
This is going to be tricky to describe but long story short you are in charge of the translations of languages (in newer versions at least).
We had to make languages compatible with ISO639-2 format for our EHR certification. Therefore, we give a convenient list of supported languages (in English) for ease of use. These languages aren't actually stored in their plain text version but instead in the ISO639-2 format (e.g. eng = English). So it would be a feature request if you want us to do extra work to correctly translate the code into English, and then to show them up for you to translate within the Translation windows. OR you can remove all your current (incorrectly translated) languages and add them back manually (using the Custom text box / add button in lower left of the Language Definitions window) in their correctly translated forms (you'd have to do this anyway so why not). The downfall of removing the ISO639-2 format languages and then adding back custom languages is that any patients that have their language currently set will STAY the way they are. This is the hard part to describe... Each patient will always keep their current language (if you have set one) and it sticks EVEN IF IT'S NOT AN OPTION IN YOUR LIST. Some folks would say "yay my data can't be deleted", but I image you'll say "boo, it isn't automatically translated". Hence I mentioned the feature request first because that would automatically do it for you. Just thought you should know about this manual option. The nice part about it is that you can manually translate your languages now and have future patients be correct.
http://www.opendental.com/manual/languagedefs.html
* Payment Plan window - the note that gets automatically added when a payment schedule is created (**** - Date of Agreement: **** Total Amount *** APR *** Total Cost of Loan ***), in this case we don't even want any automatic note at all
I wrote the code to translate this note. I cannot remove the note all together (as a bug) because others may want / are using it. The removal of the automatic note will need to be a feature request.

Other than those two things I was able to correct the program to allow translating everything else you mentioned in your previous posting. I'll post back here again once it has been committed.
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

Mifa
Posts: 141
Joined: Wed Nov 21, 2007 6:52 pm
Location: Saint-Bruno, QC, Canada
Contact:

Re: Request for improvement - Translation

Post by Mifa » Thu Jan 14, 2016 7:05 am

Wow, thanks a lot Jason! That was fast!

Regarding the language option, I understand. I've tried to add the "custom" languages and it works fine. I've seen what you mean about keeping their existing language. We will have to change them all manually (...) or I'll do an update to the language field in the patient table. Is there any other table I need to update?

User avatar
jsalmon
Posts: 1551
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Request for improvement - Translation

Post by jsalmon » Mon Jan 18, 2016 2:51 pm

The translations complained about above have been fixed and will be released with v15.4.21. I made some nice translation enhancements but was not able to fully automate the process for v16.1. Hopefully less and less "controls" get missed from here on out.
http://opendentalsoft.com:1942/ODBugTra ... sions.aspx
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

Mifa
Posts: 141
Joined: Wed Nov 21, 2007 6:52 pm
Location: Saint-Bruno, QC, Canada
Contact:

Re: Request for improvement - Translation

Post by Mifa » Wed Jan 20, 2016 12:45 am

Thanks Jason.

There is another thing you may want to look into. In the translation window, sometimes, a translation entry gets duplicated several times. Also some translated text gets listed in the English column as well. I've used the Delete Selected and Delete Unused buttons to get rid of these, but they reappear when OD is restarted. Here is an example for the ContrChart translation (https://www.flickr.com/photos/mgrfabre_ ... 4496246305).

While looking into this problem, I realized that all the text messages we send out are also being appended to the language window and are shown in the FormTextMsgEdit translation window. I'm using MsgBox.Show() to display each outgoing text message in order for our staff to approve (or not) these messages before they are sent. That's my mistake as the text is variable. What should I use instead?

User avatar
jsalmon
Posts: 1551
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Request for improvement - Translation

Post by jsalmon » Wed Jan 20, 2016 10:20 am

Mifa wrote:There is another thing you may want to look into. In the translation window, sometimes, a translation entry gets duplicated several times. Also some translated text gets listed in the English column as well. I've used the Delete Selected and Delete Unused buttons to get rid of these, but they reappear when OD is restarted. Here is an example for the ContrChart translation (https://www.flickr.com/photos/mgrfabre_ ... 4496246305).
Thanks for the screenshot, that helps me the most when looking into this kind of complaint!
Mifa wrote:While looking into this problem, I realized that all the text messages we send out are also being appended to the language window and are shown in the FormTextMsgEdit translation window. I'm using MsgBox.Show() to display each outgoing text message in order for our staff to approve (or not) these messages before they are sent. That's my mistake as the text is variable. What should I use instead?
If you are just showing the variable and no additional text you can use:

Code: Select all

MessageBox.Show(variable);
If you have some text that you to translate between English and French:

Code: Select all

MessageBox.Show(Lan.g(this,"Translation text goes here! This variable will not translate:")+variable);
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

User avatar
jsalmon
Posts: 1551
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Request for improvement - Translation

Post by jsalmon » Wed Jan 20, 2016 2:03 pm

Mifa wrote:There is another thing you may want to look into. In the translation window, sometimes, a translation entry gets duplicated several times.
I'm unable to duplicate your screenshot and looking at the code for the "All Dates" translation I don't see how it is possible to even get duplicated once. The most common way would be the following example:
Lan.g(this,"All Dates")...
Lan.g(this,"All Dates ")... <-- contains white space at the end of the translation.

However, I only see one place where the phrase All Dates is even translated in the ContrChart (should be in two places which I fixed in v15.4.22) and it does it correctly. What version of Open Dental are you using because it might just be an old bug that isn't showing its face to me. Maybe another example would be helpful as well.
Mifa wrote:Also some translated text gets listed in the English column as well.
This is most likely from your plugins. Any time you have a control on a new form that you show (e.g. a button) it will send whatever default text you have on it into the English column of the translations table.
So the fact that there is...

Code: Select all

English  | French (Canada)      | Other French...
---------------------------------------------------------
Add      | Ajouter              |
Ajouter  |                      |
in your screenshot which leads me to believe that you have a control (or are showing a message or something) with the default text set to Ajouter (something Open Dental developers would never do). We always assume that default text for controls will be English simply because that is the only language that our developers speak. My only suggestion to not have your controls show up in the translation window is to never use our Lan or Lans class in any code that you write. This means you have to be careful when using our helpful methods like MsgBox.Show (which utilizes our translation methods automatically).
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

Mifa
Posts: 141
Joined: Wed Nov 21, 2007 6:52 pm
Location: Saint-Bruno, QC, Canada
Contact:

Re: Request for improvement - Translation

Post by Mifa » Wed Jan 20, 2016 9:27 pm

Thanks Jason for your replies.

I will follow your guidelines for the message box. We are on version 14.3, sorry I forgot to mention that and I do not have any customization that affects labels or create buttons. If you send me a PM, I will forward you my change log as well as our language and languageforeign tables.

I'm giving you below some more instances of duplicated text and "translation crossing language boundaries". As I don't see all these duplicates in the language table (some do appear multiple times though), might it be that some portions of code are being executed several times when the table is displayed?

For duplicated text, in addition to ContrChart (I went down the list in the translation table and did not check past FormImport) :
FormBackup - Backup, Browse, Restore, Restore A-Z...
FormChooseDatabase - Connect to Middle Tier instead, Connect to Middle Tier - Only..., Read the manual to learn...,
FormClaimCanadian - No, Not a lower bridge..., Prosthesis Material, Yes, Initial Date
FormDocInfo - OpenFolder (I did not even translate this one, it is listed 3 times)
FormEasy - Hide Hospital Features
FormEmailSetup - smtp.comcast.net..., There is no way...
FormImagingSetup - 0-100. 100=No compression..., > 50 Typical setting..., Default pixel windowing..., Documents - ..., Exposure..., Imaging Quality, JPEG Compression quality After Scannning, Sensor Port...,Sensor type...
FormImport - Capitalize, Clear, Column, Destination Col, Destination Column, Fill, Guarantor, Import, Source Column,

Regarding the cross-boundaries translation, in addition to ContrChart:
FormAging - the translation for "If you use monthly billing instead of daily..."
FormAnestheticRecord - I show "Annuler" then "Supprimer" but none are actual translation for anything in this form.
FormEmailSetup - smtp.comcast.net... (also duplicated 5 times)

Mifa
Posts: 141
Joined: Wed Nov 21, 2007 6:52 pm
Location: Saint-Bruno, QC, Canada
Contact:

Re: Request for improvement - Translation

Post by Mifa » Wed Jan 20, 2016 10:27 pm

Another instance of text not being translated (at least until 14.3). In ContrAccount, all the menu items in the context menu statement: Walkout, Email, Receipt, More Options. These menu items get all created using code like this.menuItemStatement***.Text = "***"; lan.g is not used

User avatar
jsalmon
Posts: 1551
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Request for improvement - Translation

Post by jsalmon » Thu Jan 21, 2016 12:29 pm

Mifa wrote:I'm giving you below some more instances of duplicated text and "translation crossing language boundaries". As I don't see all these duplicates in the language table (some do appear multiple times though), might it be that some portions of code are being executed several times when the table is displayed?
No, we purposefully designed the translations to get hit A LOT for the same translation text. E.g. the Waiting Room grid in the Appts module gets translated once every second! If there was a bug with repetition then TableApptWaiting would be overflowing with duplicate entries.
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

User avatar
jsalmon
Posts: 1551
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Request for improvement - Translation

Post by jsalmon » Thu Jan 21, 2016 3:12 pm

Mifa wrote:Another instance of text not being translated (at least until 14.3). In ContrAccount, all the menu items in the context menu statement: Walkout, Email, Receipt, More Options. These menu items get all created using code like this.menuItemStatement***.Text = "***"; lan.g is not used
Bug "Translations, the New Claim and Statement context menu items in the Account module were not getting translated" is fixed and will be released with v15.4.22
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

User avatar
jsalmon
Posts: 1551
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Request for improvement - Translation

Post by jsalmon » Thu Jan 21, 2016 3:29 pm

Mifa wrote:For duplicated text, in addition to ContrChart (I went down the list in the translation table and did not check past FormImport) :
FormBackup - Backup, Browse, Restore, Restore A-Z...
I couldn't get any of these to duplicate in the newer version of Open Dental. I think I'll wait till you update > remove all instances of FormBackup - Backup > Open FormBackup > Go back to Translations and see if there is only one entry this time. If you get the duplicates back at that point then I'll PM you for a copy of your entire database cause it might be some sort of set up that I have differently or maybe the CHARSET you have on your tables or something else not Open Dental related that I just don't have in my environment.
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

Mifa
Posts: 141
Joined: Wed Nov 21, 2007 6:52 pm
Location: Saint-Bruno, QC, Canada
Contact:

Re: Request for improvement - Translation

Post by Mifa » Fri Jan 22, 2016 10:07 am

hi Jason,
I have downloaded and compiled 15.4.22. I've copied the required dll's (hunspell) to the release and debug directory and run the program. It failed during database conversion: "You have an error in your SQL Syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1. Conversion unsuccessful. Your database is not corrupted and you cannot use it. Please contact us."

We have MySQL server 5.5. I don't know if it helps, but I've checked the MySQL server variables with Navicat, and all character_sets are UTF-8, except character_set_filesystem (binary) and character_set_server (latin1).

The conversion process was about 1/3 done and the last table converted seems to have been task.

The exception Ive received from OD goes as follows:

Code: Select all

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Exception: TempFolderDateFirstCleaned is an invalid pref name.
   at OpenDentBusiness.PrefC.GetDate(PrefName prefName) in c:\Users\Michel\Desktop\opendental15.4\OpenDentBusiness\Cache\PrefC.cs:line 160
   at OpenDental.PrefL.GetTempFolderPath() in c:\Users\Michel\Desktop\opendental15.4\OpenDental\Data Interface\PrefL.cs:line 617
   at OpenDental.FormOpenDental.FormOpenDental_FormClosing(Object sender, FormClosingEventArgs e) in c:\Users\Michel\Desktop\opendental15.4\OpenDental\Main Modules\FormOpenDental.cs:line 7545
   at System.Windows.Forms.Form.OnFormClosing(FormClosingEventArgs e)
   at System.Windows.Forms.Form.RaiseFormClosingOnAppExit()
   at System.Windows.Forms.Application.ExitInternal()
   at System.Windows.Forms.Application.Exit(CancelEventArgs e)
   at OpenDental.PrefL.ConvertDB(Boolean silent, String toVersion) in c:\Users\Michel\Desktop\opendental15.4\OpenDental\Data Interface\PrefL.cs:line 30
   at OpenDental.FormOpenDental.PrefsStartup(Boolean isSilentUpdate) in c:\Users\Michel\Desktop\opendental15.4\OpenDental\Main Modules\FormOpenDental.cs:line 2679
   at OpenDental.FormOpenDental.FormOpenDental_Load(Object sender, EventArgs e) in c:\Users\Michel\Desktop\opendental15.4\OpenDental\Main Modules\FormOpenDental.cs:line 2246
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
OpenDental
    Assembly Version: 15.4.22.0
    Win32 Version: 15.4.22.0
    CodeBase: file:///C:/Users/Michel/Desktop/opendental15.4/OpenDental/bin/Release/OpenDental.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34251 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34270 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34238 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
CodeBase
    Assembly Version: 15.4.1.0
    Win32 Version: 15.4.1.0
    CodeBase: file:///C:/Users/Michel/Desktop/opendental15.4/OpenDental/bin/Release/CodeBase.DLL
----------------------------------------
OpenDentBusiness
    Assembly Version: 15.4.22.0
    Win32 Version: 15.4.22.0
    CodeBase: file:///C:/Users/Michel/Desktop/opendental15.4/OpenDental/bin/Release/OpenDentBusiness.DLL
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34234 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
NHunspell
    Assembly Version: 0.9.6.0
    Win32 Version: 0.9.6.0
    CodeBase: file:///C:/Users/Michel/Desktop/opendental15.4/OpenDental/bin/Release/NHunspell.DLL
----------------------------------------
SparksToothChart
    Assembly Version: 4.7.1.0
    Win32 Version: 4.7.1.0
    CodeBase: file:///C:/Users/Michel/Desktop/opendental15.4/OpenDental/bin/Release/SparksToothChart.DLL
----------------------------------------
Microsoft.DirectX.Direct3D
    Assembly Version: 1.0.2902.0
    Win32 Version: 9.05.132.0000
    CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.DirectX.Direct3D/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.Direct3D.dll
----------------------------------------
xImageDeviceManager
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/Michel/Desktop/opendental15.4/OpenDental/bin/Release/xImageDeviceManager.DLL
----------------------------------------
SigPlusNET
    Assembly Version: 1.1.4050.24928
    Win32 Version: 
    CodeBase: file:///C:/Users/Michel/Desktop/opendental15.4/OpenDental/bin/Release/SigPlusNET.DLL
----------------------------------------
msvcm90
    Assembly Version: 9.0.30729.6161
    Win32 Version: 9.00.30729.6161
    CodeBase: file:///C:/Windows/WinSxS/x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57/msvcm90.dll
----------------------------------------
System.Web.Services
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Web.Services/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.Services.dll
----------------------------------------
OpenDental.XmlSerializers
    Assembly Version: 15.4.22.0
    Win32 Version: 15.4.22.0
    CodeBase: file:///C:/Users/Michel/Desktop/opendental15.4/OpenDental/bin/Release/OpenDental.XmlSerializers.DLL
----------------------------------------
AxInterop.AcroPDFLib
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/Michel/Desktop/opendental15.4/OpenDental/bin/Release/AxInterop.AcroPDFLib.DLL
----------------------------------------
System.Data
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
CDT
    Assembly Version: 12.3.20.0
    Win32 Version: 12.3.20.0
    CodeBase: file:///C:/Users/Michel/Desktop/opendental15.4/OpenDental/bin/Release/CDT.DLL
----------------------------------------
MySql.Data
    Assembly Version: 6.2.4.0
    Win32 Version: 6.2.4.0
    CodeBase: file:///C:/Users/Michel/Desktop/opendental15.4/OpenDental/bin/Release/MySql.Data.DLL
----------------------------------------
System.Transactions
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
Oracle.DataAccess
    Assembly Version: 2.112.3.0
    Win32 Version: 2.112.3.0
    CodeBase: file:///C:/Users/Michel/Desktop/opendental15.4/OpenDental/bin/Release/Oracle.DataAccess.DLL
----------------------------------------
System.EnterpriseServices
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
System.Numerics
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
System.Web
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34280 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Web/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

User avatar
jsalmon
Posts: 1551
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Request for improvement - Translation

Post by jsalmon » Fri Jan 22, 2016 10:20 am

Oh no, the first error during the conversion (syntax error) is the core of the problem. I need a copy of your database so that I can fix our convert script (very scary). Due to that error your upgrade didn't finish thus you didn't have something (a preference in this case) that the code was expecting thus the closing event of Open Dental was trying to utilize a new feature that we added and it assumed you had it present hence you got the second error. Once we fix the first error, the second will never happen. I'll send you a PM to get a copy of the automatic backup that Open Dental created just before it tried to upgrade your db.
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

User avatar
jsalmon
Posts: 1551
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Request for improvement - Translation

Post by jsalmon » Mon Jan 25, 2016 10:16 am

It looks like you manually translated some of your definitions within the database. I'm not sure how to approach this yet and need to think it through but long story short we make some assumptions about the database and need the ability to select very specific definitions but your database will not return any definition because the def name doesn't match (e.g. we look for "Default" which is an item name that users cannot edit from within Open Dental but your db has "Défaut"). Since we assume this is impossible, we allow the program to crash and flag the database as corrupt because in our eyes it is "corrupt".
I can see why you did this though because we do not currently give you a way to translate these definition item names (what I'm considering a bug). The hard part in all of this is that SOME definitions ARE user defined (thus you have already translated them) so I can't just slap on our typical translation pattern because then already translated words would start showing up in the English column of the Translations window. I'll try and come up with a course of action to take. My guess as of right now is that I'm going to provide you with a query to run so that your database gets put back to the way we are expecting it to be and then I'll make a bug fix in v15.4 that will allow you to translate these specific definitions via the Translations window instead of via manual manipulation.
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

User avatar
jsalmon
Posts: 1551
Joined: Tue Nov 30, 2010 12:33 pm
Contact:

Re: Request for improvement - Translation

Post by jsalmon » Wed Jan 27, 2016 3:28 pm

Finally finished making the script and making it so that you can translate definitions that are not supposed to be user editable. I'll be sending you a PM with instructions instead of on this public thread because the script will be specific to your database and would be detrimental for other databases if run on them. I need to get everything second-checked by another engineer first so it might be a day or two.
The best thing about a boolean is even if you are wrong, you are only off by a bit.

Jason Salmon
Open Dental Software
http://www.opendental.com

Mifa
Posts: 141
Joined: Wed Nov 21, 2007 6:52 pm
Location: Saint-Bruno, QC, Canada
Contact:

Re: Request for improvement - Translation

Post by Mifa » Wed Jan 27, 2016 3:43 pm

Thanks a lot Jason. On my side, I've been trying to update from 14.4 one version at a time. I've been able to (successfully?) convert our test DB up to 15.3.36. However, when I use OD, the account module, starting with 15.2.29 is crashing (I've sent you a PM with the exception notes). It may be related to this same data problem... or not.

Post Reply