[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]