[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [cti] RE: i18n (RE: MVP Discussion)
Hi, John-Mark The reason why I suggested "always text_id for text field" is that object reference can break if the object is updated and that time-consuming quality translation gets lost even if the test field stays the same. I know there is a trade-off. For example, 16-byte MD5 hash value of the UTF-8 text would be (I do not think that we need to standardize the way how people give the text_id): " 41cb32a0d74d5d07f5362b3e66f245c9" (Hexadecimal - 32 bytes ) "QcsyoNdNXQf1Nis+ZvJFyQ==" (Base64 Encoding - 24 bytes) for "Dridex Campaign - Botnet 121" (28 bytes) It doubles the bytes needed for the title. (By the way, Japanese titles tend to get longer "Dridex キャンペーン - ボットネット 121" (38 bytes) If I spell out "Dridex", it would be "ドライデックス キャンペーン- ボットネット 121" (45 bytes) Another way is for the CTI creator give a sequential number for the text they produce. Example: "XYZ-Text-JP-987654" (18 bytes) However, you do not have to change the code according to whether it is a title or description. Single code for every text. Simple. Regards, Ryu -----Original Message----- From: cti@lists.oasis-open.org [mailto:cti@lists.oasis-open.org] On Behalf Of John-Mark Gurney Sent: Saturday, April 16, 2016 7:31 AM To: Masuoka, Ryusuke/益岡 竜介 Cc: Jordan, Bret; Jason Keirstead; cti@lists.oasis-open.org Subject: Re: [cti] RE: i18n (RE: MVP Discussion) Masuoka, Ryusuke wrote this message on Fri, Apr 15, 2016 at 02:20 +0000: > - Always give "text_id" and "lang" for every text field > (So that anyone can give translations to the field later, knowing > which language it is in.) > > - Always give "text_ref", "text_id" and "lang" for every translation > ("text_id" is for someone to provide translations to other than one in the original language. > Example: A CTI text field created in Japanese, then it is given an English translation. > Then German and French translations are produced based on the > English translation.) A big issue with this is that now EVERY text field (that is translatable) will now have a UUID. For descriptions, this isn't a big issue, but when we are talking about titles and the like, it's possible that the UUID will be longer than the translation itself.. I much prefer to handle translations by pointing to the object id, and then the fields that you want to translate.. This is what I'm talking about: { "type": "package", ... "campaigns": [ { "type": "campaign", "id": "campaign--a1201df6-c352-4a81-9c7c-5a6f896a4e31", "lang": "en", "revision": 1, "spec_version": "stix-2.0", "created_at": "2015-12-03T13:13Z", "created_by_ref": "identity--69a17e1b-bb45-4657-9a9d-96db3faccdde", "title": "Dridex Campaign - Botnet 121", "descriptions": "Dridex-based campaign leveraging Botnet 121", "intended_effects": [ {"value": "theft-identity-theft"} ], "status": "Ongoing" } ], "translations": [ { "obj_ref": "campaign--a1201df6-c352-4a81-9c7c-5a6f896a4e31", "type": "translation" "lang": "ja", "text_id: "text-a1b2c3-ja-1", "title": "Dridex キャンペーン - ボットネット 121" "descriptions": "ボットネット 121 を活用する Dridex を元にしたキャンペーン" }, { "obj_ref": "campaign--a1201df6-c352-4a81-9c7c-5a6f896a4e31", "type": "translation" "lang": "de", "title": "Some German Title” "description": "Some German Description" } ] ... } This is much more simple, It can be more simply handled in code by overlaying objects by language preferences, etc... As Bret pointed out, this does mean you can't have a base object w/ mixed languages, but I don't see a strong value in that, as those other languages can be provided via translations... -- John-Mark --------------------------------------------------------------------- To unsubscribe from this mail list, you must leave the OASIS TC that generates this mail. Follow this link to all your TCs in OASIS at: https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]