i18n debug — nested arrays
Probes homepage.combination.steps and nested blocks via tm / t / ta / to / tao.
Locale
locale = en
tm("homepage.combination.steps")
{
"label": "tm(steps)",
"typeof": "object",
"isArray": false,
"isNull": false,
"constructor": "Object",
"keys": [],
"json": "{}"
}tm("homepage.combination.steps.0.blocks")
{
"label": "tm(steps.0.blocks)",
"typeof": "object",
"isArray": false,
"isNull": false,
"constructor": "Object",
"keys": [],
"json": "{}"
}t("homepage.combination.steps") / t("homepage.combination.steps.0.blocks")
{
"tSteps": {
"label": "t(steps)",
"typeof": "string",
"isArray": false,
"isNull": false,
"constructor": "String",
"json": "\"homepage.combination.steps\""
},
"tBlocksParent": {
"label": "t(steps.0.blocks)",
"typeof": "string",
"isArray": false,
"isNull": false,
"constructor": "String",
"json": "\"homepage.combination.steps.0.blocks\""
},
"tBlock0": {
"label": "t(steps.0.blocks.0)",
"typeof": "string",
"isArray": false,
"isNull": false,
"constructor": "String",
"json": "\"homepage.combination.steps.0.blocks.0\""
}
}ta("homepage.combination.steps.0.blocks")
{
"label": "ta(steps.0.blocks)",
"typeof": "object",
"isArray": true,
"isNull": false,
"constructor": "Array",
"length": 0,
"json": "[]"
}tao("homepage.combination.steps")
{
"label": "tao(steps)",
"typeof": "object",
"isArray": true,
"isNull": false,
"constructor": "Array",
"length": 0,
"json": "[]"
}to("homepage.combination")
{
"label": "to(combination)",
"typeof": "object",
"isArray": false,
"isNull": false,
"constructor": "Object",
"keys": [
"title",
"intro",
"visual_label",
"scenarios_heading",
"scenarios_hint",
"slide_label",
"sankey",
"scenarios"
],
"json": "{\n \"title\": \"A solution doesn’t have to do everything.\",\n \"intro\": \"Maybe you only need one small tool. Then use only that. Another task comes later? Then another application joins. No full replacement. No all-or-nothing.\",\n \"visual_label\": \"Animated diagram: individual applications merge into one solution over time\",\n \"scenarios_heading\": \"For example\",\n \"scenarios_hint\": \"Three ways to get started.\",\n \"slide_label\": \"Example of \",\n \"sankey\": {\n \"application\": \"Your Standardordner2030\",\n \"play\": \"Play animation\",\n \"pause\": \"Pause animation\",\n \"steps_label\": \"Diagram steps\",\n \"frame_summary\": \". Active building blocks: . Target: .\",\n \"step_of\": \"Step of : \",\n \"axis_titles\": [\n \"Applications\",\n \"Together\"\n ],\n \"modules\": [\n {\n \"id\": \"crm\",\n \"title\": \"CRM\"\n },\n {\n \"id\": \"projects\",\n \"title\": \"Project management\"\n },\n {\n \"id\": \"time\",\n \"title\": \"Time tracking\"\n },\n {\n \"id\": \"specialist\",\n \"title\": \"Specialist app\"\n },\n {\n \"id\": \"mind\",\n \"title\": \"Mind management\"\n }\n ],\n \"frames\": [\n {\n \"key\": \"today\",\n \"label\": \"Today\",\n \"moduleIds\": [\n \"crm\"\n ]\n },\n {\n \"key\": \"later\",\n \"label\": \"Later\",\n \"moduleIds\": [\n \"crm\",\n \"projects\",\n \"time\"\n ]\n },\n {\n \"key\": \"growing\",\n \"label\": \"As needed\",\n \"moduleIds\": [\n \"crm\",\n \"projects\",\n \"time\",\n \"specialist\",\n \"mind\"\n ]\n }\n ]\n },\n \"scenarios\": [\n {\n \"key\": \"a\",\n \"title\": \"CRM only\",\n \"body\": \"Contact management — and nothing else. One building block is enough.\"\n },\n {\n \"key\": \"b\",\n \"title\": \"CRM + projects\",\n \"body\": \"Two applications together for shared workflows.\"\n },\n {\n \"key\": \"c\",\n \"title\": \"Several building blocks\",\n \"body\": \"CRM, time, projects, and a custom specialist app — as much as you need.\"\n }\n ]\n}"
}