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