Closed meteos77 closed 5 months ago
Values are stored in your language in the database.
If the text is English in the database and you're in French, can't find the French value in the combination box because it's an English literal text.
So don't change from Chinese to French to English expecting the translation to be English when it's in Chinese in the database.
QComboBox::findText("OK") does not find anything if that pull-down doesn't contain "OK". BQ doesn't know OK is English.
Okay, I understand how it works. explanation: when I send you messages (in English), I put the interface back in English to get the right term and not the deepl translation, which can lead to errors.
QComboBox::findText(French("OK")) will not find anything if the pull-down contains "OK" in English.
I consider this a natural process and you can always inspect the database. The values have to go somewhere. If they're in English in the database, then someone has to have perfect translations in the software so that the English-database text is translated for your appearance. So, translation must be perfect. If they're stored in whatever form they are from the view to the database, they'll be discovered in that original form when they're read. If that original form doesn't exist, well, they cannot be discovered.
Google translate doesn't record your text in a database. It's live. BQ has to store text. What's the optimal form? English of course. But then if a translation is broken, you get questions like this. OK, so store them in native language. Then you get questions like this because someone in French wants now English while their database values are French.
What surprises me is that I remember translating the pop-up values from EN to FR in the .ts file, so there must be a match, otherwise the user could set his own value?
comboBox->addItem(tr("Available"));
comboBox->addItem(tr("Deleted"));
comboBox->addItem(tr("Expired"));
comboBox->addItem(tr("Lost"));
comboBox->addItem(tr("Not Available"));
comboBox->addItem(tr("Recalled"));
comboBox->addItem(biblioteq::s_unknown);
Those be the texts. If they be translated well, they be saved as the translations. When you pop out of French into English after, they appear in English while your values are French. BQ doesn't know French in the database. Doesn't have a I-saved-these-as-French and now I'm in English so best untranslate. I think you going bonkers and making me bonkers.
Don't go between languages while saving database values in one language and expecting it to be good in every other language. Text is text.
There is a grand translation warning that it be best you translate consistently. Perhaps I should make it louder but I don't want to and people should stick to their language if a datum is written. Untranslating is difficult.
TL;DR;
French("OK") in database. Now am English. Don't see "OK". Set "OK" and save. All good. Don't go French.
First of all: Thank you for taking the time to explain how BQ works. It's normal for me to ask questions. I use BiblioteQ, so I try to make SQL queries with the database fields in EN and my data in FR.
Very few data are in English in the database. Types are important. Can't be in French or in German. Could be but that would headache everyone and break things because bad translations. Most, say, 93% or 100% or maybe %97, are native to you. Few are not because they connect the streams of data so that BQ knows where she be. Guides, maps, meta, whatever. BQ is English first in her mind and speaks everything else when she interacts with you. Good.
I have the impression that the Book Copy Management Interface doesn't take into account the "status" between French and English.
If I set it to French (Rappelé) => when switching to English it becomes "UNKNOWN". If I set it to English (Recalled) => when switching to French it becomes "INCONNU(E)".
BQ restart between language changes
Can you please tell me if this is a problem with my way of doing things?