林炳权 6 سال پیش
والد
کامیت
885c3f72ca

+ 4 - 2
editor/js/Sidebar.Geometry.Geometry.js

@@ -4,6 +4,8 @@
 
 Sidebar.Geometry.Geometry = function ( editor ) {
 
+	var strings = editor.strings;
+
 	var signals = editor.signals;
 
 	var container = new UI.Row();
@@ -13,7 +15,7 @@ Sidebar.Geometry.Geometry = function ( editor ) {
 	var verticesRow = new UI.Row();
 	var vertices = new UI.Text();
 
-	verticesRow.add( new UI.Text( 'Vertices' ).setWidth( '90px' ) );
+	verticesRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/geometry/vertices' ) ).setWidth( '90px' ) );
 	verticesRow.add( vertices );
 
 	container.add( verticesRow );
@@ -23,7 +25,7 @@ Sidebar.Geometry.Geometry = function ( editor ) {
 	var facesRow = new UI.Row();
 	var faces = new UI.Text();
 
-	facesRow.add( new UI.Text( 'Faces' ).setWidth( '90px' ) );
+	facesRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/geometry/faces' ) ).setWidth( '90px' ) );
 	facesRow.add( faces );
 
 	container.add( facesRow );

+ 4 - 2
editor/js/Sidebar.Geometry.IcosahedronGeometry.js

@@ -4,6 +4,8 @@
 
 Sidebar.Geometry.IcosahedronGeometry = function ( editor, object ) {
 
+	var strings = editor.strings;
+
 	var signals = editor.signals;
 
 	var container = new UI.Row();
@@ -16,7 +18,7 @@ Sidebar.Geometry.IcosahedronGeometry = function ( editor, object ) {
 	var radiusRow = new UI.Row();
 	var radius = new UI.Number( parameters.radius ).onChange( update );
 
-	radiusRow.add( new UI.Text( 'Radius' ).setWidth( '90px' ) );
+	radiusRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/icosahedron_geometry/radius' ) ).setWidth( '90px' ) );
 	radiusRow.add( radius );
 
 	container.add( radiusRow );
@@ -26,7 +28,7 @@ Sidebar.Geometry.IcosahedronGeometry = function ( editor, object ) {
 	var detailRow = new UI.Row();
 	var detail = new UI.Integer( parameters.detail ).setRange( 0, Infinity ).onChange( update );
 
-	detailRow.add( new UI.Text( 'Detail' ).setWidth( '90px' ) );
+	detailRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/icosahedron_geometry/detail' ) ).setWidth( '90px' ) );
 	detailRow.add( detail );
 
 	container.add( detailRow );

+ 6 - 4
editor/js/Sidebar.Geometry.LatheGeometry.js

@@ -4,6 +4,8 @@
 
 Sidebar.Geometry.LatheGeometry = function( editor, object ) {
 
+	var strings = editor.strings;
+
 	var signals = editor.signals;
 
 	var container = new UI.Row();
@@ -16,7 +18,7 @@ Sidebar.Geometry.LatheGeometry = function( editor, object ) {
 	var segmentsRow = new UI.Row();
 	var segments = new UI.Integer( parameters.segments ).onChange( update );
 
-	segmentsRow.add( new UI.Text( 'Segments' ).setWidth( '90px' ) );
+	segmentsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/lathe_geometry/segments' ) ).setWidth( '90px' ) );
 	segmentsRow.add( segments );
 
 	container.add( segmentsRow );
@@ -26,7 +28,7 @@ Sidebar.Geometry.LatheGeometry = function( editor, object ) {
 	var phiStartRow = new UI.Row();
 	var phiStart = new UI.Number( parameters.phiStart * 180 / Math.PI ).onChange( update );
 
-	phiStartRow.add( new UI.Text( 'Phi start (°)' ).setWidth( '90px' ) );
+	phiStartRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/lathe_geometry/phistart' ) ).setWidth( '90px' ) );
 	phiStartRow.add( phiStart );
 
 	container.add( phiStartRow );
@@ -36,7 +38,7 @@ Sidebar.Geometry.LatheGeometry = function( editor, object ) {
 	var phiLengthRow = new UI.Row();
 	var phiLength = new UI.Number( parameters.phiLength * 180 / Math.PI ).onChange( update );
 
-	phiLengthRow.add( new UI.Text( 'Phi length (°)' ).setWidth( '90px' ) );
+	phiLengthRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/lathe_geometry/philength' ) ).setWidth( '90px' ) );
 	phiLengthRow.add( phiLength );
 
 	container.add( phiLengthRow );
@@ -47,7 +49,7 @@ Sidebar.Geometry.LatheGeometry = function( editor, object ) {
 	var pointsUI = [];
 
 	var pointsRow = new UI.Row();
-	pointsRow.add( new UI.Text( 'Points' ).setWidth( '90px' ) );
+	pointsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/lathe_geometry/points' ) ).setWidth( '90px' ) );
 
 	var points = new UI.Span().setDisplay( 'inline-block' );
 	pointsRow.add( points );

+ 6 - 4
editor/js/Sidebar.Geometry.PlaneGeometry.js

@@ -4,6 +4,8 @@
 
 Sidebar.Geometry.PlaneGeometry = function ( editor, object ) {
 
+	var strings = editor.strings;
+
 	var signals = editor.signals;
 
 	var container = new UI.Row();
@@ -16,7 +18,7 @@ Sidebar.Geometry.PlaneGeometry = function ( editor, object ) {
 	var widthRow = new UI.Row();
 	var width = new UI.Number( parameters.width ).onChange( update );
 
-	widthRow.add( new UI.Text( 'Width' ).setWidth( '90px' ) );
+	widthRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/plane_geometry/width' ) ).setWidth( '90px' ) );
 	widthRow.add( width );
 
 	container.add( widthRow );
@@ -26,7 +28,7 @@ Sidebar.Geometry.PlaneGeometry = function ( editor, object ) {
 	var heightRow = new UI.Row();
 	var height = new UI.Number( parameters.height ).onChange( update );
 
-	heightRow.add( new UI.Text( 'Height' ).setWidth( '90px' ) );
+	heightRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/plane_geometry/height' ) ).setWidth( '90px' ) );
 	heightRow.add( height );
 
 	container.add( heightRow );
@@ -36,7 +38,7 @@ Sidebar.Geometry.PlaneGeometry = function ( editor, object ) {
 	var widthSegmentsRow = new UI.Row();
 	var widthSegments = new UI.Integer( parameters.widthSegments ).setRange( 1, Infinity ).onChange( update );
 
-	widthSegmentsRow.add( new UI.Text( 'Width segments' ).setWidth( '90px' ) );
+	widthSegmentsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/plane_geometry/widthsegments' ) ).setWidth( '90px' ) );
 	widthSegmentsRow.add( widthSegments );
 
 	container.add( widthSegmentsRow );
@@ -46,7 +48,7 @@ Sidebar.Geometry.PlaneGeometry = function ( editor, object ) {
 	var heightSegmentsRow = new UI.Row();
 	var heightSegments = new UI.Integer( parameters.heightSegments ).setRange( 1, Infinity ).onChange( update );
 
-	heightSegmentsRow.add( new UI.Text( 'Height segments' ).setWidth( '90px' ) );
+	heightSegmentsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/plane_geometry/heightsegments' ) ).setWidth( '90px' ) );
 	heightSegmentsRow.add( heightSegments );
 
 	container.add( heightSegmentsRow );

+ 9 - 7
editor/js/Sidebar.Geometry.SphereGeometry.js

@@ -4,6 +4,8 @@
 
 Sidebar.Geometry.SphereGeometry = function ( editor, object ) {
 
+	var strings = editor.strings;
+
 	var signals = editor.signals;
 
 	var container = new UI.Row();
@@ -16,7 +18,7 @@ Sidebar.Geometry.SphereGeometry = function ( editor, object ) {
 	var radiusRow = new UI.Row();
 	var radius = new UI.Number( parameters.radius ).onChange( update );
 
-	radiusRow.add( new UI.Text( 'Radius' ).setWidth( '90px' ) );
+	radiusRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/sphere_geometry/radius' ) ).setWidth( '90px' ) );
 	radiusRow.add( radius );
 
 	container.add( radiusRow );
@@ -26,7 +28,7 @@ Sidebar.Geometry.SphereGeometry = function ( editor, object ) {
 	var widthSegmentsRow = new UI.Row();
 	var widthSegments = new UI.Integer( parameters.widthSegments ).setRange( 1, Infinity ).onChange( update );
 
-	widthSegmentsRow.add( new UI.Text( 'Width segments' ).setWidth( '90px' ) );
+	widthSegmentsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/sphere_geometry/widthsegments' ) ).setWidth( '90px' ) );
 	widthSegmentsRow.add( widthSegments );
 
 	container.add( widthSegmentsRow );
@@ -36,7 +38,7 @@ Sidebar.Geometry.SphereGeometry = function ( editor, object ) {
 	var heightSegmentsRow = new UI.Row();
 	var heightSegments = new UI.Integer( parameters.heightSegments ).setRange( 1, Infinity ).onChange( update );
 
-	heightSegmentsRow.add( new UI.Text( 'Height segments' ).setWidth( '90px' ) );
+	heightSegmentsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/sphere_geometry/heightsegments' ) ).setWidth( '90px' ) );
 	heightSegmentsRow.add( heightSegments );
 
 	container.add( heightSegmentsRow );
@@ -46,7 +48,7 @@ Sidebar.Geometry.SphereGeometry = function ( editor, object ) {
 	var phiStartRow = new UI.Row();
 	var phiStart = new UI.Number( parameters.phiStart * THREE.Math.RAD2DEG ).setStep( 10 ).onChange( update );
 
-	phiStartRow.add( new UI.Text( 'Phi start' ).setWidth( '90px' ) );
+	phiStartRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/sphere_geometry/phistart' ) ).setWidth( '90px' ) );
 	phiStartRow.add( phiStart );
 
 	container.add( phiStartRow );
@@ -56,7 +58,7 @@ Sidebar.Geometry.SphereGeometry = function ( editor, object ) {
 	var phiLengthRow = new UI.Row();
 	var phiLength = new UI.Number( parameters.phiLength * THREE.Math.RAD2DEG ).setStep( 10 ).onChange( update );
 
-	phiLengthRow.add( new UI.Text( 'Phi length' ).setWidth( '90px' ) );
+	phiLengthRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/sphere_geometry/philength' ) ).setWidth( '90px' ) );
 	phiLengthRow.add( phiLength );
 
 	container.add( phiLengthRow );
@@ -66,7 +68,7 @@ Sidebar.Geometry.SphereGeometry = function ( editor, object ) {
 	var thetaStartRow = new UI.Row();
 	var thetaStart = new UI.Number( parameters.thetaStart * THREE.Math.RAD2DEG ).setStep( 10 ).onChange( update );
 
-	thetaStartRow.add( new UI.Text( 'Theta start' ).setWidth( '90px' ) );
+	thetaStartRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/sphere_geometry/thetastart' ) ).setWidth( '90px' ) );
 	thetaStartRow.add( thetaStart );
 
 	container.add( thetaStartRow );
@@ -76,7 +78,7 @@ Sidebar.Geometry.SphereGeometry = function ( editor, object ) {
 	var thetaLengthRow = new UI.Row();
 	var thetaLength = new UI.Number( parameters.thetaLength * THREE.Math.RAD2DEG ).setStep( 10 ).onChange( update );
 
-	thetaLengthRow.add( new UI.Text( 'Theta length' ).setWidth( '90px' ) );
+	thetaLengthRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/sphere_geometry/thetalength' ) ).setWidth( '90px' ) );
 	thetaLengthRow.add( thetaLength );
 
 	container.add( thetaLengthRow );

+ 7 - 5
editor/js/Sidebar.Geometry.TorusGeometry.js

@@ -4,6 +4,8 @@
 
 Sidebar.Geometry.TorusGeometry = function ( editor, object ) {
 
+	var strings = editor.strings;
+
 	var signals = editor.signals;
 
 	var container = new UI.Row();
@@ -16,7 +18,7 @@ Sidebar.Geometry.TorusGeometry = function ( editor, object ) {
 	var radiusRow = new UI.Row();
 	var radius = new UI.Number( parameters.radius ).onChange( update );
 
-	radiusRow.add( new UI.Text( 'Radius' ).setWidth( '90px' ) );
+	radiusRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torus_geometry/radius' ) ).setWidth( '90px' ) );
 	radiusRow.add( radius );
 
 	container.add( radiusRow );
@@ -26,7 +28,7 @@ Sidebar.Geometry.TorusGeometry = function ( editor, object ) {
 	var tubeRow = new UI.Row();
 	var tube = new UI.Number( parameters.tube ).onChange( update );
 
-	tubeRow.add( new UI.Text( 'Tube' ).setWidth( '90px' ) );
+	tubeRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torus_geometry/tube' ) ).setWidth( '90px' ) );
 	tubeRow.add( tube );
 
 	container.add( tubeRow );
@@ -36,7 +38,7 @@ Sidebar.Geometry.TorusGeometry = function ( editor, object ) {
 	var radialSegmentsRow = new UI.Row();
 	var radialSegments = new UI.Integer( parameters.radialSegments ).setRange( 1, Infinity ).onChange( update );
 
-	radialSegmentsRow.add( new UI.Text( 'Radial segments' ).setWidth( '90px' ) );
+	radialSegmentsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torus_geometry/radialsegments' ) ).setWidth( '90px' ) );
 	radialSegmentsRow.add( radialSegments );
 
 	container.add( radialSegmentsRow );
@@ -46,7 +48,7 @@ Sidebar.Geometry.TorusGeometry = function ( editor, object ) {
 	var tubularSegmentsRow = new UI.Row();
 	var tubularSegments = new UI.Integer( parameters.tubularSegments ).setRange( 1, Infinity ).onChange( update );
 
-	tubularSegmentsRow.add( new UI.Text( 'Tubular segments' ).setWidth( '90px' ) );
+	tubularSegmentsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torus_geometry/tubularsegments' ) ).setWidth( '90px' ) );
 	tubularSegmentsRow.add( tubularSegments );
 
 	container.add( tubularSegmentsRow );
@@ -56,7 +58,7 @@ Sidebar.Geometry.TorusGeometry = function ( editor, object ) {
 	var arcRow = new UI.Row();
 	var arc = new UI.Number( parameters.arc * THREE.Math.RAD2DEG ).setStep( 10 ).onChange( update );
 
-	arcRow.add( new UI.Text( 'Arc' ).setWidth( '90px' ) );
+	arcRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torus_geometry/arc' ) ).setWidth( '90px' ) );
 	arcRow.add( arc );
 
 	container.add( arcRow );

+ 8 - 6
editor/js/Sidebar.Geometry.TorusKnotGeometry.js

@@ -4,6 +4,8 @@
 
 Sidebar.Geometry.TorusKnotGeometry = function ( editor, object ) {
 
+	var strings = editor.strings;
+
 	var signals = editor.signals;
 
 	var container = new UI.Row();
@@ -16,7 +18,7 @@ Sidebar.Geometry.TorusKnotGeometry = function ( editor, object ) {
 	var radiusRow = new UI.Row();
 	var radius = new UI.Number( parameters.radius ).onChange( update );
 
-	radiusRow.add( new UI.Text( 'Radius' ).setWidth( '90px' ) );
+	radiusRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torusKnot_geometry/radius' ) ).setWidth( '90px' ) );
 	radiusRow.add( radius );
 
 	container.add( radiusRow );
@@ -26,7 +28,7 @@ Sidebar.Geometry.TorusKnotGeometry = function ( editor, object ) {
 	var tubeRow = new UI.Row();
 	var tube = new UI.Number( parameters.tube ).onChange( update );
 
-	tubeRow.add( new UI.Text( 'Tube' ).setWidth( '90px' ) );
+	tubeRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torusKnot_geometry/tube' ) ).setWidth( '90px' ) );
 	tubeRow.add( tube );
 
 	container.add( tubeRow );
@@ -36,7 +38,7 @@ Sidebar.Geometry.TorusKnotGeometry = function ( editor, object ) {
 	var tubularSegmentsRow = new UI.Row();
 	var tubularSegments = new UI.Integer( parameters.tubularSegments ).setRange( 1, Infinity ).onChange( update );
 
-	tubularSegmentsRow.add( new UI.Text( 'Tubular segments' ).setWidth( '90px' ) );
+	tubularSegmentsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torusKnot_geometry/tubularsegments' ) ).setWidth( '90px' ) );
 	tubularSegmentsRow.add( tubularSegments );
 
 	container.add( tubularSegmentsRow );
@@ -46,7 +48,7 @@ Sidebar.Geometry.TorusKnotGeometry = function ( editor, object ) {
 	var radialSegmentsRow = new UI.Row();
 	var radialSegments = new UI.Integer( parameters.radialSegments ).setRange( 1, Infinity ).onChange( update );
 
-	radialSegmentsRow.add( new UI.Text( 'Radial segments' ).setWidth( '90px' ) );
+	radialSegmentsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torusKnot_geometry/radialsegments' ) ).setWidth( '90px' ) );
 	radialSegmentsRow.add( radialSegments );
 
 	container.add( radialSegmentsRow );
@@ -56,7 +58,7 @@ Sidebar.Geometry.TorusKnotGeometry = function ( editor, object ) {
 	var pRow = new UI.Row();
 	var p = new UI.Number( parameters.p ).onChange( update );
 
-	pRow.add( new UI.Text( 'P' ).setWidth( '90px' ) );
+	pRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torusKnot_geometry/p' ) ).setWidth( '90px' ) );
 	pRow.add( p );
 
 	container.add( pRow );
@@ -66,7 +68,7 @@ Sidebar.Geometry.TorusKnotGeometry = function ( editor, object ) {
 	var qRow = new UI.Row();
 	var q = new UI.Number( parameters.q ).onChange( update );
 
-	qRow.add( new UI.Text( 'Q' ).setWidth( '90px' ) );
+	qRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torusKnot_geometry/q' ) ).setWidth( '90px' ) );
 	qRow.add( q );
 
 	container.add( qRow );

+ 53 - 51
editor/js/Sidebar.Material.js

@@ -4,6 +4,8 @@
 
 Sidebar.Material = function ( editor ) {
 
+	var strings = editor.strings;
+
 	var signals = editor.signals;
 
 	var currentObject;
@@ -34,7 +36,7 @@ Sidebar.Material = function ( editor ) {
 
 	managerRow.add( new UI.Text( '' ).setWidth( '90px' ) );
 
-	managerRow.add( new UI.Button( 'New' ).onClick( function () {
+	managerRow.add( new UI.Button( strings.getKey( 'sidebar/material/new' ) ).onClick( function () {
 
 		var material = new THREE[ materialClass.getValue() ]();
 		editor.execute( new SetMaterialCommand( currentObject, material, currentMaterialSlot ), 'New Material: ' + materialClass.getValue() );
@@ -42,7 +44,7 @@ Sidebar.Material = function ( editor ) {
 
 	} ) );
 
-	managerRow.add( new UI.Button( 'Copy' ).setMarginLeft( '4px' ).onClick( function () {
+	managerRow.add( new UI.Button( strings.getKey( 'sidebar/material/copy' ) ).setMarginLeft( '4px' ).onClick( function () {
 
 		copiedMaterial = currentObject.material;
 
@@ -56,7 +58,7 @@ Sidebar.Material = function ( editor ) {
 
 	} ) );
 
-	managerRow.add( new UI.Button( 'Paste' ).setMarginLeft( '4px' ).onClick( function () {
+	managerRow.add( new UI.Button( strings.getKey( 'sidebar/material/paste' ) ).setMarginLeft( '4px' ).onClick( function () {
 
 		if ( copiedMaterial === undefined ) return;
 
@@ -88,7 +90,7 @@ Sidebar.Material = function ( editor ) {
 
 	} ).setWidth( '150px' ).setFontSize( '12px' ).onChange( update );
 
-	materialClassRow.add( new UI.Text( 'Type' ).setWidth( '90px' ) );
+	materialClassRow.add( new UI.Text( strings.getKey( 'sidebar/material/type' ) ).setWidth( '90px' ) );
 	materialClassRow.add( materialClass );
 
 	container.add( materialClassRow );
@@ -97,14 +99,14 @@ Sidebar.Material = function ( editor ) {
 
 	var materialUUIDRow = new UI.Row();
 	var materialUUID = new UI.Input().setWidth( '102px' ).setFontSize( '12px' ).setDisabled( true );
-	var materialUUIDRenew = new UI.Button( 'New' ).setMarginLeft( '7px' ).onClick( function () {
+	var materialUUIDRenew = new UI.Button( strings.getKey( 'sidebar/material/new' ) ).setMarginLeft( '7px' ).onClick( function () {
 
 		materialUUID.setValue( THREE.Math.generateUUID() );
 		update();
 
 	} );
 
-	materialUUIDRow.add( new UI.Text( 'UUID' ).setWidth( '90px' ) );
+	materialUUIDRow.add( new UI.Text( strings.getKey( 'sidebar/material/uuid' ) ).setWidth( '90px' ) );
 	materialUUIDRow.add( materialUUID );
 	materialUUIDRow.add( materialUUIDRenew );
 
@@ -119,7 +121,7 @@ Sidebar.Material = function ( editor ) {
 
 	} );
 
-	materialNameRow.add( new UI.Text( 'Name' ).setWidth( '90px' ) );
+	materialNameRow.add( new UI.Text( strings.getKey( 'sidebar/material/name' ) ).setWidth( '90px' ) );
 	materialNameRow.add( materialName );
 
 	container.add( materialNameRow );
@@ -127,7 +129,7 @@ Sidebar.Material = function ( editor ) {
 	// program
 
 	var materialProgramRow = new UI.Row();
-	materialProgramRow.add( new UI.Text( 'Program' ).setWidth( '90px' ) );
+	materialProgramRow.add( new UI.Text( strings.getKey( 'sidebar/material/program' ) ).setWidth( '90px' ) );
 
 	var materialProgramInfo = new UI.Button( 'Info' );
 	materialProgramInfo.setMarginLeft( '4px' );
@@ -138,7 +140,7 @@ Sidebar.Material = function ( editor ) {
 	} );
 	materialProgramRow.add( materialProgramInfo );
 
-	var materialProgramVertex = new UI.Button( 'Vertex' );
+	var materialProgramVertex = new UI.Button( strings.getKey( 'sidebar/material/vertex' ) );
 	materialProgramVertex.setMarginLeft( '4px' );
 	materialProgramVertex.onClick( function () {
 
@@ -147,7 +149,7 @@ Sidebar.Material = function ( editor ) {
 	} );
 	materialProgramRow.add( materialProgramVertex );
 
-	var materialProgramFragment = new UI.Button( 'Fragment' );
+	var materialProgramFragment = new UI.Button( strings.getKey( 'sidebar/material/fragment' ) );
 	materialProgramFragment.setMarginLeft( '4px' );
 	materialProgramFragment.onClick( function () {
 
@@ -163,7 +165,7 @@ Sidebar.Material = function ( editor ) {
 	var materialColorRow = new UI.Row();
 	var materialColor = new UI.Color().onChange( update );
 
-	materialColorRow.add( new UI.Text( 'Color' ).setWidth( '90px' ) );
+	materialColorRow.add( new UI.Text( strings.getKey( 'sidebar/material/color' ) ).setWidth( '90px' ) );
 	materialColorRow.add( materialColor );
 
 	container.add( materialColorRow );
@@ -173,7 +175,7 @@ Sidebar.Material = function ( editor ) {
 	var materialRoughnessRow = new UI.Row();
 	var materialRoughness = new UI.Number( 0.5 ).setWidth( '60px' ).setRange( 0, 1 ).onChange( update );
 
-	materialRoughnessRow.add( new UI.Text( 'Roughness' ).setWidth( '90px' ) );
+	materialRoughnessRow.add( new UI.Text( strings.getKey( 'sidebar/material/roughness' ) ).setWidth( '90px' ) );
 	materialRoughnessRow.add( materialRoughness );
 
 	container.add( materialRoughnessRow );
@@ -183,7 +185,7 @@ Sidebar.Material = function ( editor ) {
 	var materialMetalnessRow = new UI.Row();
 	var materialMetalness = new UI.Number( 0.5 ).setWidth( '60px' ).setRange( 0, 1 ).onChange( update );
 
-	materialMetalnessRow.add( new UI.Text( 'Metalness' ).setWidth( '90px' ) );
+	materialMetalnessRow.add( new UI.Text( strings.getKey( 'sidebar/material/metalness' ) ).setWidth( '90px' ) );
 	materialMetalnessRow.add( materialMetalness );
 
 	container.add( materialMetalnessRow );
@@ -193,7 +195,7 @@ Sidebar.Material = function ( editor ) {
 	var materialEmissiveRow = new UI.Row();
 	var materialEmissive = new UI.Color().setHexValue( 0x000000 ).onChange( update );
 
-	materialEmissiveRow.add( new UI.Text( 'Emissive' ).setWidth( '90px' ) );
+	materialEmissiveRow.add( new UI.Text( strings.getKey( 'sidebar/material/emissive' ) ).setWidth( '90px' ) );
 	materialEmissiveRow.add( materialEmissive );
 
 	container.add( materialEmissiveRow );
@@ -203,7 +205,7 @@ Sidebar.Material = function ( editor ) {
 	var materialSpecularRow = new UI.Row();
 	var materialSpecular = new UI.Color().setHexValue( 0x111111 ).onChange( update );
 
-	materialSpecularRow.add( new UI.Text( 'Specular' ).setWidth( '90px' ) );
+	materialSpecularRow.add( new UI.Text( strings.getKey( 'sidebar/material/specular' ) ).setWidth( '90px' ) );
 	materialSpecularRow.add( materialSpecular );
 
 	container.add( materialSpecularRow );
@@ -213,7 +215,7 @@ Sidebar.Material = function ( editor ) {
 	var materialShininessRow = new UI.Row();
 	var materialShininess = new UI.Number( 30 ).onChange( update );
 
-	materialShininessRow.add( new UI.Text( 'Shininess' ).setWidth( '90px' ) );
+	materialShininessRow.add( new UI.Text( strings.getKey( 'sidebar/material/shininess' ) ).setWidth( '90px' ) );
 	materialShininessRow.add( materialShininess );
 
 	container.add( materialShininessRow );
@@ -223,7 +225,7 @@ Sidebar.Material = function ( editor ) {
 	var materialClearCoatRow = new UI.Row();
 	var materialClearCoat = new UI.Number( 1 ).setWidth( '60px' ).setRange( 0, 1 ).onChange( update );
 
-	materialClearCoatRow.add( new UI.Text( 'ClearCoat' ).setWidth( '90px' ) );
+	materialClearCoatRow.add( new UI.Text( strings.getKey( 'sidebar/material/clearcoat' ) ).setWidth( '90px' ) );
 	materialClearCoatRow.add( materialClearCoat );
 
 	container.add( materialClearCoatRow );
@@ -233,7 +235,7 @@ Sidebar.Material = function ( editor ) {
 	var materialClearCoatRoughnessRow = new UI.Row();
 	var materialClearCoatRoughness = new UI.Number( 1 ).setWidth( '60px' ).setRange( 0, 1 ).onChange( update );
 
-	materialClearCoatRoughnessRow.add( new UI.Text( 'ClearCoat Roughness' ).setWidth( '90px' ) );
+	materialClearCoatRoughnessRow.add( new UI.Text( strings.getKey( 'sidebar/material/clearcoatroughness') ).setWidth( '90px' ) );
 	materialClearCoatRoughnessRow.add( materialClearCoatRoughness );
 
 	container.add( materialClearCoatRoughnessRow );
@@ -243,13 +245,13 @@ Sidebar.Material = function ( editor ) {
 	var materialVertexColorsRow = new UI.Row();
 	var materialVertexColors = new UI.Select().setOptions( {
 
-		0: 'No',
-		1: 'Face',
-		2: 'Vertex'
+		0: strings.getKey( 'sidebar/material/vertexcolors/no'),
+		1: strings.getKey( 'sidebar/material/vertexcolors/face'),
+		2: strings.getKey( 'sidebar/material/vertexcolors/vertex')
 
 	} ).onChange( update );
 
-	materialVertexColorsRow.add( new UI.Text( 'Vertex Colors' ).setWidth( '90px' ) );
+	materialVertexColorsRow.add( new UI.Text( strings.getKey( 'sidebar/material/vertexcolors') ).setWidth( '90px' ) );
 	materialVertexColorsRow.add( materialVertexColors );
 
 	container.add( materialVertexColorsRow );
@@ -259,7 +261,7 @@ Sidebar.Material = function ( editor ) {
 	var materialSkinningRow = new UI.Row();
 	var materialSkinning = new UI.Checkbox( false ).onChange( update );
 
-	materialSkinningRow.add( new UI.Text( 'Skinning' ).setWidth( '90px' ) );
+	materialSkinningRow.add( new UI.Text( strings.getKey( 'sidebar/material/skinning') ).setWidth( '90px' ) );
 	materialSkinningRow.add( materialSkinning );
 
 	container.add( materialSkinningRow );
@@ -270,7 +272,7 @@ Sidebar.Material = function ( editor ) {
 	var materialMapEnabled = new UI.Checkbox( false ).onChange( update );
 	var materialMap = new UI.Texture().onChange( update );
 
-	materialMapRow.add( new UI.Text( 'Map' ).setWidth( '90px' ) );
+	materialMapRow.add( new UI.Text( strings.getKey( 'sidebar/material/map') ).setWidth( '90px' ) );
 	materialMapRow.add( materialMapEnabled );
 	materialMapRow.add( materialMap );
 
@@ -282,7 +284,7 @@ Sidebar.Material = function ( editor ) {
 	var materialAlphaMapEnabled = new UI.Checkbox( false ).onChange( update );
 	var materialAlphaMap = new UI.Texture().onChange( update );
 
-	materialAlphaMapRow.add( new UI.Text( 'Alpha Map' ).setWidth( '90px' ) );
+	materialAlphaMapRow.add( new UI.Text( strings.getKey( 'sidebar/material/alphamap') ).setWidth( '90px' ) );
 	materialAlphaMapRow.add( materialAlphaMapEnabled );
 	materialAlphaMapRow.add( materialAlphaMap );
 
@@ -295,7 +297,7 @@ Sidebar.Material = function ( editor ) {
 	var materialBumpMap = new UI.Texture().onChange( update );
 	var materialBumpScale = new UI.Number( 1 ).setWidth( '30px' ).onChange( update );
 
-	materialBumpMapRow.add( new UI.Text( 'Bump Map' ).setWidth( '90px' ) );
+	materialBumpMapRow.add( new UI.Text( strings.getKey( 'sidebar/material/bumpmap') ).setWidth( '90px' ) );
 	materialBumpMapRow.add( materialBumpMapEnabled );
 	materialBumpMapRow.add( materialBumpMap );
 	materialBumpMapRow.add( materialBumpScale );
@@ -308,7 +310,7 @@ Sidebar.Material = function ( editor ) {
 	var materialNormalMapEnabled = new UI.Checkbox( false ).onChange( update );
 	var materialNormalMap = new UI.Texture().onChange( update );
 
-	materialNormalMapRow.add( new UI.Text( 'Normal Map' ).setWidth( '90px' ) );
+	materialNormalMapRow.add( new UI.Text( strings.getKey( 'sidebar/material/normalmap') ).setWidth( '90px' ) );
 	materialNormalMapRow.add( materialNormalMapEnabled );
 	materialNormalMapRow.add( materialNormalMap );
 
@@ -321,7 +323,7 @@ Sidebar.Material = function ( editor ) {
 	var materialDisplacementMap = new UI.Texture().onChange( update );
 	var materialDisplacementScale = new UI.Number( 1 ).setWidth( '30px' ).onChange( update );
 
-	materialDisplacementMapRow.add( new UI.Text( 'Displace Map' ).setWidth( '90px' ) );
+	materialDisplacementMapRow.add( new UI.Text( strings.getKey( 'sidebar/material/displacemap') ).setWidth( '90px' ) );
 	materialDisplacementMapRow.add( materialDisplacementMapEnabled );
 	materialDisplacementMapRow.add( materialDisplacementMap );
 	materialDisplacementMapRow.add( materialDisplacementScale );
@@ -334,7 +336,7 @@ Sidebar.Material = function ( editor ) {
 	var materialRoughnessMapEnabled = new UI.Checkbox( false ).onChange( update );
 	var materialRoughnessMap = new UI.Texture().onChange( update );
 
-	materialRoughnessMapRow.add( new UI.Text( 'Rough. Map' ).setWidth( '90px' ) );
+	materialRoughnessMapRow.add( new UI.Text( strings.getKey( 'sidebar/material/roughmap') ).setWidth( '90px' ) );
 	materialRoughnessMapRow.add( materialRoughnessMapEnabled );
 	materialRoughnessMapRow.add( materialRoughnessMap );
 
@@ -346,7 +348,7 @@ Sidebar.Material = function ( editor ) {
 	var materialMetalnessMapEnabled = new UI.Checkbox( false ).onChange( update );
 	var materialMetalnessMap = new UI.Texture().onChange( update );
 
-	materialMetalnessMapRow.add( new UI.Text( 'Metal. Map' ).setWidth( '90px' ) );
+	materialMetalnessMapRow.add( new UI.Text( strings.getKey( 'sidebar/material/metalmap') ).setWidth( '90px' ) );
 	materialMetalnessMapRow.add( materialMetalnessMapEnabled );
 	materialMetalnessMapRow.add( materialMetalnessMap );
 
@@ -358,7 +360,7 @@ Sidebar.Material = function ( editor ) {
 	var materialSpecularMapEnabled = new UI.Checkbox( false ).onChange( update );
 	var materialSpecularMap = new UI.Texture().onChange( update );
 
-	materialSpecularMapRow.add( new UI.Text( 'Specular Map' ).setWidth( '90px' ) );
+	materialSpecularMapRow.add( new UI.Text( strings.getKey( 'sidebar/material/specularmap') ).setWidth( '90px' ) );
 	materialSpecularMapRow.add( materialSpecularMapEnabled );
 	materialSpecularMapRow.add( materialSpecularMap );
 
@@ -371,7 +373,7 @@ Sidebar.Material = function ( editor ) {
 	var materialEnvMap = new UI.Texture( THREE.SphericalReflectionMapping ).onChange( update );
 	var materialReflectivity = new UI.Number( 1 ).setWidth( '30px' ).onChange( update );
 
-	materialEnvMapRow.add( new UI.Text( 'Env Map' ).setWidth( '90px' ) );
+	materialEnvMapRow.add( new UI.Text( strings.getKey( 'sidebar/material/envmap') ).setWidth( '90px' ) );
 	materialEnvMapRow.add( materialEnvMapEnabled );
 	materialEnvMapRow.add( materialEnvMap );
 	materialEnvMapRow.add( materialReflectivity );
@@ -384,7 +386,7 @@ Sidebar.Material = function ( editor ) {
 	var materialLightMapEnabled = new UI.Checkbox( false ).onChange( update );
 	var materialLightMap = new UI.Texture().onChange( update );
 
-	materialLightMapRow.add( new UI.Text( 'Light Map' ).setWidth( '90px' ) );
+	materialLightMapRow.add( new UI.Text( strings.getKey( 'sidebar/material/lightmap') ).setWidth( '90px' ) );
 	materialLightMapRow.add( materialLightMapEnabled );
 	materialLightMapRow.add( materialLightMap );
 
@@ -397,7 +399,7 @@ Sidebar.Material = function ( editor ) {
 	var materialAOMap = new UI.Texture().onChange( update );
 	var materialAOScale = new UI.Number( 1 ).setRange( 0, 1 ).setWidth( '30px' ).onChange( update );
 
-	materialAOMapRow.add( new UI.Text( 'AO Map' ).setWidth( '90px' ) );
+	materialAOMapRow.add( new UI.Text( strings.getKey( 'sidebar/material/aomap') ).setWidth( '90px' ) );
 	materialAOMapRow.add( materialAOMapEnabled );
 	materialAOMapRow.add( materialAOMap );
 	materialAOMapRow.add( materialAOScale );
@@ -410,7 +412,7 @@ Sidebar.Material = function ( editor ) {
 	var materialEmissiveMapEnabled = new UI.Checkbox( false ).onChange( update );
 	var materialEmissiveMap = new UI.Texture().onChange( update );
 
-	materialEmissiveMapRow.add( new UI.Text( 'Emissive Map' ).setWidth( '90px' ) );
+	materialEmissiveMapRow.add( new UI.Text( strings.getKey( 'sidebar/material/emissivemap') ).setWidth( '90px' ) );
 	materialEmissiveMapRow.add( materialEmissiveMapEnabled );
 	materialEmissiveMapRow.add( materialEmissiveMap );
 
@@ -421,13 +423,13 @@ Sidebar.Material = function ( editor ) {
 	var materialSideRow = new UI.Row();
 	var materialSide = new UI.Select().setOptions( {
 
-		0: 'Front',
-		1: 'Back',
-		2: 'Double'
+		0: strings.getKey( 'sidebar/material/side/front'),
+		1: strings.getKey( 'sidebar/material/side/back'),
+		2: strings.getKey( 'sidebar/material/side/double')
 
 	} ).setWidth( '150px' ).setFontSize( '12px' ).onChange( update );
 
-	materialSideRow.add( new UI.Text( 'Side' ).setWidth( '90px' ) );
+	materialSideRow.add( new UI.Text( strings.getKey( 'sidebar/material/side') ).setWidth( '90px' ) );
 	materialSideRow.add( materialSide );
 
 	container.add( materialSideRow );
@@ -437,7 +439,7 @@ Sidebar.Material = function ( editor ) {
 	var materialShadingRow = new UI.Row();
 	var materialShading = new UI.Checkbox(false).setLeft( '100px' ).onChange( update );
 
-	materialShadingRow.add( new UI.Text( 'Flat Shaded' ).setWidth( '90px' ) );
+	materialShadingRow.add( new UI.Text( strings.getKey( 'sidebar/material/flatshaded') ).setWidth( '90px' ) );
 	materialShadingRow.add( materialShading );
 
 	container.add( materialShadingRow );
@@ -447,16 +449,16 @@ Sidebar.Material = function ( editor ) {
 	var materialBlendingRow = new UI.Row();
 	var materialBlending = new UI.Select().setOptions( {
 
-		0: 'No',
-		1: 'Normal',
-		2: 'Additive',
-		3: 'Subtractive',
-		4: 'Multiply',
-		5: 'Custom'
+		0: strings.getKey( 'sidebar/material/blending/no'),
+		1: strings.getKey( 'sidebar/material/blending/normal'),
+		2: strings.getKey( 'sidebar/material/blending/additive'),
+		3: strings.getKey( 'sidebar/material/blending/subtractive'),
+		4: strings.getKey( 'sidebar/material/blending/multiply'),
+		5: strings.getKey( 'sidebar/material/blending/custom')
 
 	} ).setWidth( '150px' ).setFontSize( '12px' ).onChange( update );
 
-	materialBlendingRow.add( new UI.Text( 'Blending' ).setWidth( '90px' ) );
+	materialBlendingRow.add( new UI.Text( strings.getKey( 'sidebar/material/blending') ).setWidth( '90px' ) );
 	materialBlendingRow.add( materialBlending );
 
 	container.add( materialBlendingRow );
@@ -466,7 +468,7 @@ Sidebar.Material = function ( editor ) {
 	var materialOpacityRow = new UI.Row();
 	var materialOpacity = new UI.Number( 1 ).setWidth( '60px' ).setRange( 0, 1 ).onChange( update );
 
-	materialOpacityRow.add( new UI.Text( 'Opacity' ).setWidth( '90px' ) );
+	materialOpacityRow.add( new UI.Text( strings.getKey( 'sidebar/material/opacity') ).setWidth( '90px' ) );
 	materialOpacityRow.add( materialOpacity );
 
 	container.add( materialOpacityRow );
@@ -476,7 +478,7 @@ Sidebar.Material = function ( editor ) {
 	var materialTransparentRow = new UI.Row();
 	var materialTransparent = new UI.Checkbox().setLeft( '100px' ).onChange( update );
 
-	materialTransparentRow.add( new UI.Text( 'Transparent' ).setWidth( '90px' ) );
+	materialTransparentRow.add( new UI.Text( strings.getKey( 'sidebar/material/transparent') ).setWidth( '90px' ) );
 	materialTransparentRow.add( materialTransparent );
 
 	container.add( materialTransparentRow );
@@ -486,7 +488,7 @@ Sidebar.Material = function ( editor ) {
 	var materialAlphaTestRow = new UI.Row();
 	var materialAlphaTest = new UI.Number().setWidth( '60px' ).setRange( 0, 1 ).onChange( update );
 
-	materialAlphaTestRow.add( new UI.Text( 'Alpha Test' ).setWidth( '90px' ) );
+	materialAlphaTestRow.add( new UI.Text( strings.getKey( 'sidebar/material/alphatest') ).setWidth( '90px' ) );
 	materialAlphaTestRow.add( materialAlphaTest );
 
 	container.add( materialAlphaTestRow );
@@ -497,7 +499,7 @@ Sidebar.Material = function ( editor ) {
 	var materialWireframe = new UI.Checkbox( false ).onChange( update );
 	var materialWireframeLinewidth = new UI.Number( 1 ).setWidth( '60px' ).setRange( 0, 100 ).onChange( update );
 
-	materialWireframeRow.add( new UI.Text( 'Wireframe' ).setWidth( '90px' ) );
+	materialWireframeRow.add( new UI.Text( strings.getKey( 'sidebar/material/wireframe') ).setWidth( '90px' ) );
 	materialWireframeRow.add( materialWireframe );
 	materialWireframeRow.add( materialWireframeLinewidth );
 

+ 6 - 4
editor/js/Sidebar.Script.js

@@ -4,12 +4,14 @@
 
 Sidebar.Script = function ( editor ) {
 
+	var strings = editor.strings;
+
 	var signals = editor.signals;
 
 	var container = new UI.Panel();
 	container.setDisplay( 'none' );
 
-	container.add( new UI.Text( 'Script' ).setTextTransform( 'uppercase' ) );
+	container.add( new UI.Text( strings.getKey( 'sidebar/script' ) ).setTextTransform( 'uppercase' ) );
 	container.add( new UI.Break() );
 	container.add( new UI.Break() );
 
@@ -18,7 +20,7 @@ Sidebar.Script = function ( editor ) {
 	var scriptsContainer = new UI.Row();
 	container.add( scriptsContainer );
 
-	var newScript = new UI.Button( 'New' );
+	var newScript = new UI.Button( strings.getKey( 'sidebar/script/new' ) );
 	newScript.onClick( function () {
 
 		var script = { name: '', source: 'function update( event ) {}' };
@@ -66,7 +68,7 @@ Sidebar.Script = function ( editor ) {
 					} );
 					scriptsContainer.add( name );
 
-					var edit = new UI.Button( 'Edit' );
+					var edit = new UI.Button( strings.getKey( 'sidebar/script/edit' ) );
 					edit.setMarginLeft( '4px' );
 					edit.onClick( function () {
 
@@ -75,7 +77,7 @@ Sidebar.Script = function ( editor ) {
 					} );
 					scriptsContainer.add( edit );
 
-					var remove = new UI.Button( 'Remove' );
+					var remove = new UI.Button( strings.getKey( 'sidebar/script/remove' ) );
 					remove.setMarginLeft( '4px' );
 					remove.onClick( function () {
 

+ 150 - 24
editor/js/Strings.js

@@ -121,6 +121,43 @@ var Strings = function ( config ) {
 			'sidebar/geometry/cylinder_geometry/heightsegments': 'Height segments',
 			'sidebar/geometry/cylinder_geometry/openended': 'Open ended',
 
+			'sidebar/geometry/geometry/vertices': 'Vertices',
+			'sidebar/geometry/geometry/faces': 'Faces',
+
+			'sidebar/geometry/icosahedron_geometry/radius': 'Radius',
+			'sidebar/geometry/icosahedron_geometry/detail': 'Detail',
+
+			'sidebar/geometry/lathe_geometry/segments': 'Segments',
+			'sidebar/geometry/lathe_geometry/phistart': 'Phi start (°)',
+			'sidebar/geometry/lathe_geometry/philength': 'Phi length (°)',
+			'sidebar/geometry/lathe_geometry/points': 'Points',
+
+			'sidebar/geometry/plane_geometry/width': 'Width',
+			'sidebar/geometry/plane_geometry/height': 'Height',
+			'sidebar/geometry/plane_geometry/widthsegments': 'Width segments',
+			'sidebar/geometry/plane_geometry/heightsegments': 'Height segments',
+
+			'sidebar/geometry/sphere_geometry/radius': 'Radius',
+			'sidebar/geometry/sphere_geometry/widthsegments': 'Width segments',
+			'sidebar/geometry/sphere_geometry/heightsegments': 'Height segments',
+			'sidebar/geometry/sphere_geometry/phistart': 'Phi start',
+			'sidebar/geometry/sphere_geometry/philength': 'Phi length',
+			'sidebar/geometry/sphere_geometry/thetastart': 'Theta start',
+			'sidebar/geometry/sphere_geometry/thetalength': 'Theta length',
+			
+			'sidebar/geometry/torus_geometry/radius': 'Radius',
+			'sidebar/geometry/torus_geometry/tube': 'Tube',
+			'sidebar/geometry/torus_geometry/radialsegments': 'Radial segments',
+			'sidebar/geometry/torus_geometry/tubularsegments': 'Tubular segments',
+			'sidebar/geometry/torus_geometry/arc': 'Arc',
+
+			'sidebar/geometry/torusKnot_geometry/radius': 'Radius',
+			'sidebar/geometry/torusKnot_geometry/tube': 'Tube',
+			'sidebar/geometry/torusKnot_geometry/tubularsegments': 'Tubular segments',
+			'sidebar/geometry/torusKnot_geometry/radialsegments': 'Radial segments',
+			'sidebar/geometry/torusKnot_geometry/p': 'P',
+			'sidebar/geometry/torusKnot_geometry/q': 'Q',
+			
 			'sidebar/material/new': 'New',
 			'sidebar/material/copy': 'Copy',
 			'sidebar/material/paste': 'Paste',
@@ -140,6 +177,9 @@ var Strings = function ( config ) {
 			'sidebar/material/clearcoat': 'ClearCoat',
 			'sidebar/material/clearcoatroughness': 'ClearCoat Roughness',
 			'sidebar/material/vertexcolors': 'Vertex Colors',
+			'sidebar/material/vertexcolors/no': 'No',
+			'sidebar/material/vertexcolors/face': 'Face',
+			'sidebar/material/vertexcolors/vertex': 'Vertex',
 			'sidebar/material/skinning': 'Skinning',
 			'sidebar/material/map': 'Map',
 			'sidebar/material/alphamap': 'Alpha Map',
@@ -151,6 +191,29 @@ var Strings = function ( config ) {
 			'sidebar/material/specularmap': 'Specular. Map',
 			'sidebar/material/envmap': 'Env Map',
 			'sidebar/material/lightmap': 'Light Map',
+			'sidebar/material/aomap': 'AO Map',
+			'sidebar/material/emissivemap': 'Emissive Map',
+			'sidebar/material/side': 'Side',
+			'sidebar/material/side/front': 'Front',
+			'sidebar/material/side/back': 'Back',
+			'sidebar/material/side/double': 'Double',
+			'sidebar/material/flatshaded': 'Flat Shaded',
+			'sidebar/material/blending': 'Blending',
+			'sidebar/material/blending/no': 'No',
+			'sidebar/material/blending/normal': 'Normal',
+			'sidebar/material/blending/additive': 'Additive',
+			'sidebar/material/blending/subtractive': 'Subtractive',
+			'sidebar/material/blending/multiply': 'Multiply',
+			'sidebar/material/blending/custom': 'Custom',
+			'sidebar/material/opacity': 'Opacity',
+			'sidebar/material/transparent': 'Transparent',
+			'sidebar/material/alphatest': 'Alpha Test',
+			'sidebar/material/wireframe': 'Wireframe',
+
+			'sidebar/script': 'Script',
+			'sidebar/script/new': 'New',
+			'sidebar/script/edit': 'Edit',
+			'sidebar/script/remove': 'Remove',
 
 			'sidebar/project': 'Project',
 			'sidebar/project/title': 'Title',
@@ -294,36 +357,99 @@ var Strings = function ( config ) {
 			'sidebar/geometry/cylinder_geometry/heightsegments': '高度分段',
 			'sidebar/geometry/cylinder_geometry/openended': '开端',
 
+			'sidebar/geometry/geometry/vertices': '顶点',
+			'sidebar/geometry/geometry/faces': '面',
+
+			'sidebar/geometry/icosahedron_geometry/radius': '半径',
+			'sidebar/geometry/icosahedron_geometry/detail': '面片分段',
+
+			'sidebar/geometry/lathe_geometry/segments': '分段',
+			'sidebar/geometry/lathe_geometry/phistart': '经度起点',
+			'sidebar/geometry/lathe_geometry/philength': '经度长度',
+			'sidebar/geometry/lathe_geometry/points': '点',
+
+			'sidebar/geometry/plane_geometry/width': '宽度',
+			'sidebar/geometry/plane_geometry/height': '长度',
+			'sidebar/geometry/plane_geometry/widthsegments': '宽度分段',
+			'sidebar/geometry/plane_geometry/heightsegments': '长度分段',
+
+			'sidebar/geometry/sphere_geometry/radius': '半径',
+			'sidebar/geometry/sphere_geometry/widthsegments': '宽度分段',
+			'sidebar/geometry/sphere_geometry/heightsegments': '长度分段',
+			'sidebar/geometry/sphere_geometry/phistart': '经度起点',
+			'sidebar/geometry/sphere_geometry/philength': '经度长度',
+			'sidebar/geometry/sphere_geometry/thetastart': '纬度起点',
+			'sidebar/geometry/sphere_geometry/thetalength': '纬度长度',
+
+			'sidebar/geometry/torus_geometry/radius': '半径',
+			'sidebar/geometry/torus_geometry/tube': '管厚',
+			'sidebar/geometry/torus_geometry/radialsegments': '半径分段',
+			'sidebar/geometry/torus_geometry/tubularsegments': '管厚分段',
+			'sidebar/geometry/torus_geometry/arc': '弧度',
+
+			'sidebar/geometry/torusKnot_geometry/radius': '半径',
+			'sidebar/geometry/torusKnot_geometry/tube': '管厚',
+			'sidebar/geometry/torusKnot_geometry/tubularsegments': '管厚分段',
+			'sidebar/geometry/torusKnot_geometry/radialsegments': '半径分段',
+			'sidebar/geometry/torusKnot_geometry/p': '管长弧度',
+			'sidebar/geometry/torusKnot_geometry/q': '扭曲弧度',
+
 			'sidebar/material/new': '更新',
 			'sidebar/material/copy': '复制',
 			'sidebar/material/paste': '粘贴',
 			'sidebar/material/type': '类型',
 			'sidebar/material/uuid': '识别码',
 			'sidebar/material/name': '名称',
-			'sidebar/material/program': 'Program',
-			'sidebar/material/info': 'Info',
-			'sidebar/material/vertex': 'Vertex',
-			'sidebar/material/fragment': 'fragment',
-			'sidebar/material/color': 'Color',
-			'sidebar/material/roughness': 'Roughness',
-			'sidebar/material/metalness': 'Metalness',
-			'sidebar/material/emissive': 'Emissive',
-			'sidebar/material/specular': 'Specular',
-			'sidebar/material/shininess': 'Shininess',
-			'sidebar/material/clearcoat': 'ClearCoat',
-			'sidebar/material/clearcoatroughness': 'ClearCoat Roughness',
-			'sidebar/material/vertexcolors': 'Vertex Colors',
-			'sidebar/material/skinning': 'Skinning',
-			'sidebar/material/map': 'Map',
-			'sidebar/material/alphamap': 'Alpha Map',
-			'sidebar/material/bumpmap': 'Bump Map',
-			'sidebar/material/normalmap': 'Normal Map',
-			'sidebar/material/displacemap': 'Displace Map',
-			'sidebar/material/roughmap': 'Rough. Map',
-			'sidebar/material/metalmap': 'Metal. Map',
-			'sidebar/material/specularmap': 'Specular. Map',
-			'sidebar/material/envmap': 'Env Map',
-			'sidebar/material/lightmap': 'Light Map',
+			'sidebar/material/program': '程序',
+			'sidebar/material/info': '信息',
+			'sidebar/material/vertex': '顶点',
+			'sidebar/material/fragment': '分段',
+			'sidebar/material/color': '颜色',
+			'sidebar/material/roughness': '粗糙性',
+			'sidebar/material/metalness': '金属性',
+			'sidebar/material/emissive': '放射性',
+			'sidebar/material/specular': '高光',
+			'sidebar/material/shininess': '发光',
+			'sidebar/material/clearcoat': '透明贴图',
+			'sidebar/material/clearcoatroughness': '透明贴图粗糙度',
+			'sidebar/material/vertexcolors': '顶点颜色',
+			'sidebar/material/vertexcolors/no': '无',
+			'sidebar/material/vertexcolors/face': '面',
+			'sidebar/material/vertexcolors/vertex': '顶点',
+			'sidebar/material/skinning': '皮肤',
+			'sidebar/material/map': '贴图',
+			'sidebar/material/alphamap': '透明贴图',
+			'sidebar/material/bumpmap': '凹凸贴图',
+			'sidebar/material/normalmap': '法线贴图',
+			'sidebar/material/displacemap': '位移贴图',
+			'sidebar/material/roughmap': '粗糙贴图',
+			'sidebar/material/metalmap': '金属贴图',
+			'sidebar/material/specularmap': '高光贴图',
+			'sidebar/material/envmap': '环境贴图',
+			'sidebar/material/lightmap': '光照贴图',
+			'sidebar/material/aomap': '烘培贴图',
+			'sidebar/material/emissivemap': '烘培贴图',
+			'sidebar/material/side': '面',
+			'sidebar/material/side/front': '正面',
+			'sidebar/material/side/back': '反面',
+			'sidebar/material/side/double': '双面',
+			'sidebar/material/flatshaded': '平面着色',
+			'sidebar/material/blending': '混合',
+			'sidebar/material/blending/no': '无',
+			'sidebar/material/blending/normal': '正常混合',
+			'sidebar/material/blending/additive': '和混合',
+			'sidebar/material/blending/subtractive': '差混合',
+			'sidebar/material/blending/multiply': '积混合',
+			'sidebar/material/blending/custom': '自定义混合',
+			'sidebar/material/opacity': '透明度',
+			'sidebar/material/transparent': '透明性',
+			'sidebar/material/alphatest': 'α测试',
+			'sidebar/material/wireframe': '线框',
+			
+			'sidebar/script': '脚本',
+			'sidebar/script/new': '新建',
+			'sidebar/script/edit': '编辑',
+			'sidebar/script/remove': '删除',
 
 			'sidebar/project': '项目',
 			'sidebar/project/title': '标题',