From: Phil D. <ph...@lo...> - 2014-12-19 20:43:27
|
Hi Rafael, I see what you did to stockdescriptiontranslations - adding the new field for longdescription and a field for last update. I am not sure about having the main item description also in that table. There are a LOT of places where we refer to stockmaster.description and everywhere that would need to add another query to get the description or the script would fail. My idea with the stockdescriptiontranslations was to have the description presented to customers in their language. The business operates in only the one adopted language. The google translate API sounds good - but I wonder about the response if we try to use it to print a long invoice where the item descriptions are not translated? Better I think to populate the table appropriately using the google translate API so that the data is available when we need it. Maybe when we set up the item to start with the google traslate API gives a first stab at the translated description if you use a button or something like that would then avoid empty translations from the beginning. We use stockmaster.description and stockmaster.longdescription I think it best to keep the fields in descriptiontranslation table to match. Phil Phil Daintree Logic Works Ltd - +64 (0)275 567890 http://www.logicworks.co.nz On 19/12/14 07:08, Rafael Chacón wrote: > Hi, > > * I agree that removing fields is risky. That is why I recommended add > fields rather than change them. If we forget one, only one, instance > that can cause problems. I suggestion to leave them one generation as > backup ( (to be dropped in the version after the version with the change). > > * I think we can improve code speed and its readability merging ALL > item descriptions in ONE table, instead of penalizing everybody with > this code. I think this because: > + One place to store description improves code in: no recall to the > default-languge, one IF() less {the if() that is used to define which > table to select}. > + More simple code: only one query (instead of two): same query for > the default language, same query for no-default language. > > * When no description in selected language, I am adding the option of > to use the Google Translate API (by the way, nice job!). For manual > purposes: > + $text = text to trasnlate. > + $target = target language, ISO language code of the language to > which the text will be translated. > Is it correct? > > * Database changes: > + I leave descriptiontranslation.descriptiontranslation for > short_description translation (now is in use for this). Probably is > better to rename it to shortdescription for readability. (?) > + I added the field longdescription. I used NULL for "not available"; > reasons: saves space/transmission and use the IS NULL and IS NOT NULL > operators. > + I added a field for the version control of the record. > > Best regards, Rafael. > > 2014-12-18 2:26 GMT-06:00 Phil Daintree <ph...@lo... > <mailto:ph...@lo...>>: > > Looks like there is a bug there - I thought I was only creating a > record where there was a non-empty translation - I am committing > what I think will fix it now. > What a cool idea with google translate!! Great stuff :-) > > Phil > > Phil Daintree > Logic Works Ltd - +64 (0)275 567890 > http://www.logicworks.co.nz > > On 18/12/14 13:35, Pak Ricard wrote: >> Hi: >> >> I think we are OK with existing table and adding some fields will >> be OK, but there are some issues I would like to point out, >> >> Why, on items without traslation, do we keep a row in that table? >> Why do we have rows without any useful information? I think it >> makes SQL queries more complicated, and I can't see the advantage >> of this. Please check capture01 attached file from phpMyAdmin. >> For all items without translation, there's a row with stockid, >> and "Array" as language_id, and no descriptiontranslation. No >> clue why. Is it a bug or serves some needs I can't see? >> >> I agree with Phil that the long description addition should be a >> "copy - paste" of the short description one. At first glance >> should not be difficult. That's why I supposed it was already >> coded or not coded for some reason. >> >> I think we should add a field called revisionneeded set to TRUE >> when description or long description have been modified or FALSE >> otherwise. Then, some script to list the items needing revision >> of translation. Usually the person translating is not the same as >> the person in charge of maintaining the item info in original >> language. >> >> I am working with automatic translation API from Google >> https://console.developers.google.com. It's a Google paid >> service, and I think it's worth it (20 USD for 1.000.000 >> characters translated), as it does the rough job and humans only >> need to revise and correct here and there. >> >> First tests have been succesful, so once we have this table >> stockdescriptiontranslations up and running OK I will commit some >> scripts, mainly: >> script automatically translating the descriptions without >> translation or recently modified. >> script to show automatic translations needing human supervision >> (probably the same or a mod of the script mentioned in previous >> paragraph) >> >> Specially to Rafael: I add / modify fields quite often, and never >> had an issue, except when I shortened a text field :-( . Do a >> table backup just before start messing around, just in case. >> >> Hope it helps and we all find a clear way to move forward on this. >> >> >> Regards, >> Ricard >> >> 2014-12-18 6:47 GMT+08:00 Rafael Chacón >> <raf...@gm... >> <mailto:raf...@gm...>>: >> >> Hi, >> >> My arguments: >> >> * About tables: IMHO (but I am not a PHP programmer), >> >> CREATE TABLE IF NOT EXISTS `stockdescriptiontranslations` ( >> `stockid` varchar(20) NOT NULL DEFAULT '', >> `language_id` varchar(10) NOT NULL DEFAULT 'en_GB.utf8', >> `descriptiontranslation` varchar(50) NOT NULL, >> PRIMARY KEY (`stockid`,`language_id`) >> ) ENGINE=InnoDB DEFAULT CHARSET=utf8; >> >> and >> >> CREATE TABLE IF NOT EXISTS `stockdescription` ( >> `stockid` varchar(20) NOT NULL DEFAULT '' COMMENT 'Item code', >> `language` varchar(10) NOT NULL DEFAULT '' COMMENT 'Item >> language code', >> `short` varchar(50) DEFAULT NULL COMMENT 'Item short >> description', >> `long` text COMMENT 'Item long description', >> PRIMARY KEY (`stockid`,`language`) >> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Item descriptions'; >> >> look very similar. I suppose it will be easy to "update" the >> first table: add new fields, modify others (I have the code >> to create the second table, but not to update de first table). >> >> * About "hot plug-in": I am not sure if that is a common >> need, but I am worry that if we modify fields instead of >> adding fields --if there is any error or oversight-- we could >> affect the company operation. My suggestion is to add fields >> of the second table inside de first table (if use old table). >> >> * About compatibility with CARTwebERP: Months before Mo.Kelly >> dead, we were working on this. I do not know how widespread >> is this. I saw the code in Joomla! Extensions Directory >> (http://extensions.joomla.org). It has my translation to >> Spanish and to French, but I can not see anything related >> with additional tables. >> >> * About speed and readability of the code: I prefer the >> argument of someone who knows better this topic. >> >> Best regards, Rafael. >> >> >> 2014-12-17 15:39 GMT-06:00 <ph...@lo... >> <mailto:ph...@lo...>>: >> >> I wasn't thinking it would be that difficult... we don't >> need a new >> table do we? >> Why can't we use the existing table and just add a field >> for the >> translated long description ... applying similar logic >> for the >> translation was we do for the short description? >> >> Phil >> >> On 2014-12-17 13:58, Rafael Chacón wrote: >> > Hi Ricard, >> > >> > I will be glad to commit changes for short and long >> description >> > translation. but I need help from PHP programmers. I >> explain myself: >> > >> > * We use a new table (not an exist table): >> > CREATE TABLE IF NOT EXISTS `stockdescription` ( >> > `stockid` varchar(20) NOT NULL DEFAULT '' COMMENT >> 'Item code', >> > `language` varchar(10) NOT NULL DEFAULT '' COMMENT >> 'Item language >> > code', >> > `short` varchar(50) DEFAULT NULL COMMENT 'Item short >> description', >> > `long` text COMMENT 'Item long description', >> > PRIMARY KEY (`stockid`,`language`) >> > ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Item >> descriptions'; >> > >> > This is for: (1) "Hot add" to a working copy of webERP >> and "secure >> > backup" of old operation; (2) compatibility with a >> Joomla extension >> > e-Cart;"Minor" speed and readability (?). >> > >> > --> To commit changes, Do we use a new table or modify >> an existing >> > one? >> > >> > * We have to modify several scripts (e.g. Stocks.php, >> > PrintCustTrans.php, PrintCustTransportrait.php, etc.). >> When there is >> > no description in the selected language, he have two >> code branches: >> > >> > (1) "Fall back" to system language (defined in >> ~/config.php, >> > $DefaultLanguage = 'xx_XX.utf8';). If is null or empty, >> _('Not >> > available'). Useful when we forgot to setup a >> translation; but >> > customer sees a description in other language. >> > >> > (2) Directly sets to _('Not available'). A little bit >> faster, but no >> > information is shown to the customer (only "not >> available"). >> > >> > --> To commit changes, Do we use code with or without >> the "fall back" >> > to system language? >> > >> > * Input window for long description translation. >> > It is recommended to have "side-by-side" long description >> > translations, but in this case it is a big and >> uncomfortable window. >> > >> > --> Ideas? Suggestions? >> > >> > Best regards, Rafael. >> > >> > Hi Rafael: >> > >> > i'm also needing the short and long description to use >> on the shop >> > online. It would be great if you could commit (or send >> via email) the >> > work done to maintain the translations of long >> descriptions in webERP. >> > I could help finish it :-) >> > >> > Regards, >> > Ricard >> > >> > 2014-12-17 14:00 GMT+08:00 Rafael Chacón >> > <raf...@gm... >> <mailto:raf...@gm...>>: >> > >> >> Hi, >> >> >> >> I am working with stockdescription table for >> translation of short >> >> and long description to use in a e-cart. It is not >> fully tested and >> >> the main problem is the usability (easy to maintain the >> >> translations). >> >> Also, the field unit of mesure needs translation, >> except for unit >> >> of mesure symbols (m, m2, L, kg, ...). >> >> >> >> Best regards, Rafael. >> >> El 16/12/2014 23:02, "Phil Daintree" >> <ph...@lo... <mailto:ph...@lo...>> >> >> escribió: >> >> >> >> I have not coded that, but no reason why we couldn't >> add a text >> >> field to stockdescriptiontranslations for >> longdescriptiontranslation >> >> and add in a field to the stock form to allow the >> field to be >> >> translated to the maintained language(s) >> >> >> >> >> ------------------------------------------------------------------------------ >> Download BIRT iHub F-Type - The Free Enterprise-Grade >> BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports >> and Dashboards >> with Interactivity, Sharing, Native Excel Exports, App >> Integration & more >> Get technology previously reserved for billion-dollar >> corporations, FREE >> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk >> _______________________________________________ >> Web-erp-developers mailing list >> Web...@li... >> <mailto:Web...@li...> >> https://lists.sourceforge.net/lists/listinfo/web-erp-developers >> >> >> ------------------------------------------------------------------------------ >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports and >> Dashboards >> with Interactivity, Sharing, Native Excel Exports, App >> Integration & more >> Get technology previously reserved for billion-dollar >> corporations, FREE >> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk >> _______________________________________________ >> Web-erp-developers mailing list >> Web...@li... >> <mailto:Web...@li...> >> https://lists.sourceforge.net/lists/listinfo/web-erp-developers >> >> >> >> ------------------------------------------------------------------------------ >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >> with Interactivity, Sharing, Native Excel Exports, App Integration & more >> Get technology previously reserved for billion-dollar corporations, FREE >> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk >> >> >> _______________________________________________ >> Web-erp-developers mailing list >> Web...@li... <mailto:Web...@li...> >> https://lists.sourceforge.net/lists/listinfo/web-erp-developers > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and > Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration > & more > Get technology previously reserved for billion-dollar > corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk > _______________________________________________ > Web-erp-developers mailing list > Web...@li... > <mailto:Web...@li...> > https://lists.sourceforge.net/lists/listinfo/web-erp-developers > > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk > > > _______________________________________________ > Web-erp-developers mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/web-erp-developers |