diff --git a/services/wspr/internal/app/app.go b/services/wspr/internal/app/app.go
index baa5bda..1496e41 100644
--- a/services/wspr/internal/app/app.go
+++ b/services/wspr/internal/app/app.go
@@ -17,6 +17,7 @@
 
 	"v.io/v23"
 	"v.io/v23/context"
+	"v.io/v23/i18n"
 	"v.io/v23/naming"
 	"v.io/v23/options"
 	"v.io/v23/rpc"
@@ -510,6 +511,7 @@
 	vlog.VI(2).Infof("Rpc: %s.%s(..., streaming=%v)", msg.Name, msg.Method, msg.IsStreaming)
 	spanName := fmt.Sprintf("<wspr>%q.%s", msg.Name, msg.Method)
 	ctx, span := vtrace.WithContinuedTrace(ctx, spanName, msg.TraceRequest)
+	ctx = i18n.WithLangID(ctx, i18n.LangID(msg.Context.Language))
 
 	var cctx *context.T
 	var cancel context.CancelFunc
diff --git a/services/wspr/internal/app/app.vdl b/services/wspr/internal/app/app.vdl
index 46d7689..f29c6be 100644
--- a/services/wspr/internal/app/app.vdl
+++ b/services/wspr/internal/app/app.vdl
@@ -23,6 +23,7 @@
 	IsStreaming  bool
 	Deadline     time.WireDeadline
 	TraceRequest vtrace.Request
+        Context      server.Context
 	CallOptions  []RpcCallOption
 }
 
diff --git a/services/wspr/internal/app/app.vdl.go b/services/wspr/internal/app/app.vdl.go
index 76358f7..8c12344 100644
--- a/services/wspr/internal/app/app.vdl.go
+++ b/services/wspr/internal/app/app.vdl.go
@@ -30,6 +30,7 @@
 	IsStreaming  bool
 	Deadline     time_2.Deadline
 	TraceRequest vtrace.Request
+	Context      server.Context
 	CallOptions  []RpcCallOption
 }
 
diff --git a/services/wspr/internal/rpc/server/server.go b/services/wspr/internal/rpc/server/server.go
index 2069d8c..ac7d2b5 100644
--- a/services/wspr/internal/rpc/server/server.go
+++ b/services/wspr/internal/rpc/server/server.go
@@ -14,6 +14,7 @@
 
 	"v.io/v23"
 	"v.io/v23/context"
+	"v.io/v23/i18n"
 	"v.io/v23/naming"
 	"v.io/v23/rpc"
 	"v.io/v23/security"
@@ -63,6 +64,7 @@
 	ServerId uint32       `json:"serverId"`
 	Handle   int32        `json:"handle"`
 	Call     SecurityCall `json:"call"`
+	Context  Context
 }
 
 type Server struct {
@@ -152,9 +154,12 @@
 		}
 
 		rpcCall := ServerRpcRequestCall{
-			SecurityCall:     securityCall,
-			Deadline:         timeout,
-			TraceRequest:     vtrace.GetRequest(ctx),
+			SecurityCall: securityCall,
+			Deadline:     timeout,
+			TraceRequest: vtrace.GetRequest(ctx),
+			Context: Context{
+				Language: string(i18n.GetLangID(ctx)),
+			},
 			GrantedBlessings: grantedBlessings,
 		}
 
@@ -270,6 +275,9 @@
 			SecurityCall:     securityCall,
 			Deadline:         timeout,
 			GrantedBlessings: grantedBlessings,
+			Context: Context{
+				Language: string(i18n.GetLangID(ctx)),
+			},
 		}
 
 		// Send a invocation request to JavaScript
@@ -366,6 +374,9 @@
 	flow := s.helper.CreateNewFlow(s, nil)
 	req := CaveatValidationRequest{
 		Call: ConvertSecurityCall(s.helper, ctx, call, false),
+		Context: Context{
+			Language: string(i18n.GetLangID(ctx)),
+		},
 		Cavs: cavs,
 	}
 
@@ -546,6 +557,9 @@
 		ServerId: s.id,
 		Handle:   handle,
 		Call:     securityCall,
+		Context: Context{
+			Language: string(i18n.GetLangID(ctx)),
+		},
 	}
 	vlog.VI(0).Infof("Sending out auth request for %v, %v", flow.ID, message)
 
diff --git a/services/wspr/internal/rpc/server/server.vdl b/services/wspr/internal/rpc/server/server.vdl
index 06eda35..f069c39 100644
--- a/services/wspr/internal/rpc/server/server.vdl
+++ b/services/wspr/internal/rpc/server/server.vdl
@@ -12,6 +12,10 @@
   "v.io/x/ref/services/wspr/internal/principal"
 )
 
+type Context struct {
+    Language string
+}
+
 type SecurityCall struct {
     Method                string
     Suffix                string
@@ -26,6 +30,7 @@
 
 type CaveatValidationRequest struct {
     Call SecurityCall
+    Context Context
     Cavs [][]security.Caveat
 }
 
@@ -42,6 +47,7 @@
 type ServerRpcRequestCall struct {
 	SecurityCall SecurityCall
 	Deadline     time.WireDeadline
+        Context      Context
 	TraceRequest vtrace.Request
   GrantedBlessings ?principal.JsBlessings
 }
diff --git a/services/wspr/internal/rpc/server/server.vdl.go b/services/wspr/internal/rpc/server/server.vdl.go
index 1f3aafe..3df8ccf 100644
--- a/services/wspr/internal/rpc/server/server.vdl.go
+++ b/services/wspr/internal/rpc/server/server.vdl.go
@@ -21,6 +21,15 @@
 	"v.io/x/ref/services/wspr/internal/principal"
 )
 
+type Context struct {
+	Language string
+}
+
+func (Context) __VDLReflect(struct {
+	Name string "v.io/x/ref/services/wspr/internal/rpc/server.Context"
+}) {
+}
+
 type SecurityCall struct {
 	Method                string
 	Suffix                string
@@ -39,8 +48,9 @@
 }
 
 type CaveatValidationRequest struct {
-	Call SecurityCall
-	Cavs [][]security.Caveat
+	Call    SecurityCall
+	Context Context
+	Cavs    [][]security.Caveat
 }
 
 func (CaveatValidationRequest) __VDLReflect(struct {
@@ -60,6 +70,7 @@
 type ServerRpcRequestCall struct {
 	SecurityCall     SecurityCall
 	Deadline         time.Deadline
+	Context          Context
 	TraceRequest     vtrace.Request
 	GrantedBlessings *principal.JsBlessings
 }
@@ -84,6 +95,7 @@
 }
 
 func init() {
+	vdl.Register((*Context)(nil))
 	vdl.Register((*SecurityCall)(nil))
 	vdl.Register((*CaveatValidationRequest)(nil))
 	vdl.Register((*CaveatValidationResponse)(nil))
