This repository was archived by the owner on Dec 31, 2024. It is now read-only.
File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -324,15 +324,15 @@ export default class VueI18n {
324324 }
325325
326326 getLocaleMessage ( locale : Locale ) : LocaleMessageObject {
327- return looseClone ( this . _vm . messages [ locale ] )
327+ return looseClone ( this . _vm . messages [ locale ] || { } )
328328 }
329329
330330 setLocaleMessage ( locale : Locale , message : LocaleMessageObject ) : void {
331331 this. _vm . messages [ locale ] = message
332332 }
333333
334334 mergeLocaleMessage ( locale : Locale , message : LocaleMessageObject ) : void {
335- this. _vm . messages [ locale ] = Vue . util . extend ( this . getLocaleMessage ( locale ) , message )
335+ this. _vm . messages [ locale ] = Vue . util . extend ( this . _vm . messages [ locale ] || { } , message )
336336 }
337337
338338 getDateTimeFormat ( locale : Locale ) : DateTimeFormat {
Original file line number Diff line number Diff line change @@ -19,7 +19,7 @@ export default {
1919 } )
2020 } catch ( e ) {
2121 if ( process . env . NODE_ENV !== 'production' ) {
22- warn ( `Cannot parse locale messages via custom blocks.` )
22+ warn ( `Cannot parse locale messages via custom blocks.` , e )
2323 }
2424 }
2525 }
@@ -38,7 +38,7 @@ export default {
3838 options . i18n . messages = JSON . parse ( options . __i18n )
3939 } catch ( e ) {
4040 if ( process . env . NODE_ENV !== 'production' ) {
41- warn ( `Cannot parse locale messages via custom blocks.` )
41+ warn ( `Cannot parse locale messages via custom blocks.` , e )
4242 }
4343 }
4444 }
Original file line number Diff line number Diff line change @@ -113,4 +113,23 @@ describe('issues', () => {
113113 } ) . then ( done )
114114 } )
115115 } )
116+
117+ describe ( '#173' , ( ) => {
118+ it ( 'should be translated' , done => {
119+ const Component = Vue . extend ( {
120+ __i18n : JSON . stringify ( {
121+ en : { custom : 'custom block!' }
122+ } ) ,
123+ render ( h ) {
124+ return h ( 'p' , { ref : 'custom' } , [ this . $t ( 'custom' ) ] )
125+ }
126+ } )
127+ const vm = new Component ( {
128+ i18n : new VueI18n ( { locale : 'en' } )
129+ } ) . $mount ( )
130+ nextTick ( ( ) => {
131+ assert . equal ( vm . $refs . custom . textContent , 'custom block!' )
132+ } ) . then ( done )
133+ } )
134+ } )
116135} )
You can’t perform that action at this time.
0 commit comments