mutter/tests/data/test-script.json
Emmanuele Bassi 7646404196 script: Support translatable strings for properties
ClutterScript should be able to automatically call gettext() and friends
on strings loaded from a UI definition, prior to passing the string to
the object it is constructing.

The basic implementation is trivial:

  - set a translation domain on the ClutterScript instance
  - mark the translatable strings inside the JSON data, like:

      "property" : {
        "translatable" : true,
        "string" : "a translatable string"
      }

The hard part is now getting the tools we use to extract the
translatable strings to understand the JSON format we use inside
ClutterScript.
2012-03-06 14:23:33 +00:00

79 lines
2.1 KiB
JSON

{
"My Scene" : {
"id" : "main-stage",
"type" : "ClutterStage",
"title" : { "translatable" : true, "string" : "ClutterScript test" },
"color" : "white",
"signals" : [
{ "name" : "key-press-event", "handler" : "clutter_main_quit" },
{ "name" : "destroy", "handler" : "clutter_main_quit" }
],
"children" : [
{
"id" : "red-button",
"type" : "ClutterRectangle",
"color" : "#ff0000ff",
"x" : 50, "y" : 50, "width" : 100, "height" : 100,
"reactive" : true,
"rotation" : [
{ "z-axis" : [ 45.0, [ 75, 75 ] ] }
],
"behaviours" : [ "fade-behaviour", "path-behaviour" ]
},
{
"id" : "green-button",
"type" : "ClutterRectangle",
"color" : "#00ff00ff",
"border-width" : 5,
"border-color" : "#00cc00ff",
"x" : 200,
"y" : 50,
"width" : 100,
"height" : 100,
"depth" : -200.0,
"reactive" : true,
"signals" : [
{ "name" : "button-press-event", "handler" : "clutter_main_quit" }
]
},
{
"id" : "red-hand",
"type" : "ClutterTexture",
"filename" : "redhand.png",
"x" : 100,
"y" : 100,
"width" : "20 mm",
"keep-aspect-ratio" : true,
"anchor-x" : "5 em",
"anchor-y" : "5 pt",
"opacity" : 100,
"behaviours" : [ "rotate-behaviour", "fade-behaviour" ]
},
{
"id" : "red-hand-clone",
"type" : "ClutterClone",
"source" : "red-hand",
"x" : 250,
"y" : 150,
"opacity" : 100
},
{
"id" : "label",
"type" : "ClutterText",
"x" : 50,
"y" : 200,
"text" : { "translatable" : true, "string" : "Clutter Script" },
"font-name" : "Sans 24px",
"color" : "black",
"line-alignment" : "center",
"line-wrap" : false,
"ellipsize" : "none",
"rotation" : [
{ "y-axis" : [ 60.0, [ 275, 100 ] ] },
{ "z-axis" : [ 45.0, [ 75, 75 ] ] }
]
}
]
}
}