Split categories into separate files; translate

This commit is contained in:
John Firebaugh
2013-04-15 15:39:43 -07:00
parent 1e8805782f
commit 19bcd711ec
12 changed files with 180 additions and 64 deletions
+15
View File
@@ -43,10 +43,24 @@ function validate(file, instance, schema) {
}
var translations = {
categories: {},
fields: {},
presets: {}
};
function generateCategories() {
var categories = {};
glob.sync(__dirname + '/data/presets/categories/*.json').forEach(function(file) {
var field = read(file),
id = 'category-' + path.basename(file, '.json');
translations.categories[id] = {name: field.name};
categories[id] = field;
});
fs.writeFileSync('data/presets/categories.json', stringify(categories));
}
function generateFields() {
var fields = {};
glob.sync(__dirname + '/data/presets/fields/*.json').forEach(function(file) {
@@ -86,6 +100,7 @@ function generatePresets() {
fs.writeFileSync('data/presets.yaml', YAML.dump({en: {presets: translations}}));
}
generateCategories();
generateFields();
generatePresets();
+14
View File
@@ -4384,6 +4384,20 @@ locale.en = {
}
},
"presets": {
"categories": {
"category-path": {
"name": "Path"
},
"category-rail": {
"name": "Rail"
},
"category-road": {
"name": "Road"
},
"category-water": {
"name": "Water"
}
},
"fields": {
"access": {
"label": "Access",
+14
View File
@@ -309,6 +309,20 @@ locale.en = {
}
},
"presets": {
"categories": {
"category-path": {
"name": "Path"
},
"category-rail": {
"name": "Rail"
},
"category-road": {
"name": "Road"
},
"category-water": {
"name": "Water"
}
},
"fields": {
"access": {
"label": "Access",
+9
View File
@@ -1,5 +1,14 @@
en:
presets:
categories:
"category-path":
name: Path
"category-rail":
name: Rail
"category-road":
name: Road
"category-water":
name: Water
fields:
access:
label: Access
+60 -55
View File
@@ -1,55 +1,60 @@
[{
"geometry": "line",
"id": "Road",
"icon": "category-roads",
"members": [
"highway/residential",
"highway/motorway",
"highway/trunk",
"highway/primary",
"highway/secondary",
"highway/tertiary",
"highway/service",
"highway/motorway_link",
"highway/trunk_link",
"highway/primary_link",
"highway/secondary_link",
"highway/tertiary_link",
"highway/unclassified",
"highway/track",
"highway/road"
]
}, {
"geometry": "line",
"id": "Rail",
"icon": "category-rail",
"members": [
"railway/rail",
"railway/subway",
"railway/tram",
"railway/monorail",
"railway/disused",
"railway/abandoned"
]
}, {
"geometry": "line",
"id": "Path",
"icon": "category-path",
"members": [
"highway/footway",
"highway/cycleway",
"highway/bridleway",
"highway/path",
"highway/steps"
]
}, {
"geometry": "line",
"id": "Water",
"icon": "category-water",
"members": [
"waterway/river",
"waterway/stream",
"waterway/canal",
"waterway/ditch"
]
}]
{
"category-path": {
"geometry": "line",
"name": "Path",
"icon": "category-path",
"members": [
"highway/footway",
"highway/cycleway",
"highway/bridleway",
"highway/path",
"highway/steps"
]
},
"category-rail": {
"geometry": "line",
"name": "Rail",
"icon": "category-rail",
"members": [
"railway/rail",
"railway/subway",
"railway/tram",
"railway/monorail",
"railway/disused",
"railway/abandoned"
]
},
"category-road": {
"geometry": "line",
"name": "Road",
"icon": "category-roads",
"members": [
"highway/residential",
"highway/motorway",
"highway/trunk",
"highway/primary",
"highway/secondary",
"highway/tertiary",
"highway/service",
"highway/motorway_link",
"highway/trunk_link",
"highway/primary_link",
"highway/secondary_link",
"highway/tertiary_link",
"highway/unclassified",
"highway/track",
"highway/road"
]
},
"category-water": {
"geometry": "line",
"name": "Water",
"icon": "category-water",
"members": [
"waterway/river",
"waterway/stream",
"waterway/canal",
"waterway/ditch"
]
}
}
+12
View File
@@ -0,0 +1,12 @@
{
"geometry": "line",
"name": "Path",
"icon": "category-path",
"members": [
"highway/footway",
"highway/cycleway",
"highway/bridleway",
"highway/path",
"highway/steps"
]
}
+13
View File
@@ -0,0 +1,13 @@
{
"geometry": "line",
"name": "Rail",
"icon": "category-rail",
"members": [
"railway/rail",
"railway/subway",
"railway/tram",
"railway/monorail",
"railway/disused",
"railway/abandoned"
]
}
+22
View File
@@ -0,0 +1,22 @@
{
"geometry": "line",
"name": "Road",
"icon": "category-roads",
"members": [
"highway/residential",
"highway/motorway",
"highway/trunk",
"highway/primary",
"highway/secondary",
"highway/tertiary",
"highway/service",
"highway/motorway_link",
"highway/trunk_link",
"highway/primary_link",
"highway/secondary_link",
"highway/tertiary_link",
"highway/unclassified",
"highway/track",
"highway/road"
]
}
+11
View File
@@ -0,0 +1,11 @@
{
"geometry": "line",
"name": "Water",
"icon": "category-water",
"members": [
"waterway/river",
"waterway/stream",
"waterway/canal",
"waterway/ditch"
]
}
+4 -4
View File
@@ -11,10 +11,10 @@
"other_area"
],
"line": [
"Road",
"Rail",
"Path",
"Water",
"category-road",
"category-rail",
"category-path",
"category-water",
"power/line",
"other"
],
+2 -3
View File
@@ -26,10 +26,9 @@ iD.presets = function(context) {
});
}
if (d.categories) {
d.categories.forEach(function(d) {
all.collection.push(iD.presets.Category(d, all));
_.forEach(d.categories, function(d, id) {
all.collection.push(iD.presets.Category(id, d, all));
});
}
+4 -2
View File
@@ -1,6 +1,8 @@
iD.presets.Category = function(category, all) {
iD.presets.Category = function(id, category, all) {
category = _.clone(category);
category.id = id;
category.members = iD.presets.Collection(category.members.map(function(id) {
return all.item(id);
}));
@@ -12,7 +14,7 @@ iD.presets.Category = function(category, all) {
category.matchTags = function() { return false; };
category.name = function() {
return category.id;
return t('presets.categories.' + id + '.name', {'default': id});
};
category.terms = function() {