►
From YouTube: CDS Hammer (Day 2) - Calamari Localization
Description
http://goo.gl/U4b70r
29 October 2014
Ceph Developer Summit: Hammer
Day 2
Calamari Localization
Xian Xia Xiao, Li Wang, Gregory Meno
A
All
right
final
session
of
cds
here
we're
going
to
talk
about
calamari
localization.
I
think
this
is
something
we
talked
about
a
little
bit
before,
but
this
was
lee
and
jen
was
they
were
working
on
that?
So,
if
one
of
you
guys
want
to
talk
about
your
progress
and
your
efforts.
B
C
C
C
C
After
that
I
changed
the
default:
local
local
for
20
ctx,
looking
ngs
gs,
file,
gh
gangsian-
this
is
this-
may
be.
The
default
language
to
load
when
calenri
client
is
connected
to
primary
server
is
the
interface
interface
and
then,
after
after
this
just
changes,
I
I
I
can
see
the
dashboard
display
the
chinese.
C
C
C
C
C
C
C
But
now
I
not
implement
this.
C
D
C
Yeah?
Yes,
yes,
as
as.
C
You
had
discussed
this
this
just
better
chinese
video.
It's
a
poor
request.
C
C
I
also
seek
kind
of
category
several
meet
their
committee,
just
though
I
I
wanted
to
I,
I
wanted
to
to
know
how
to
supported
the
calories
for
multiple
localization,
such
as
english
and
serious
gangster.
I
I
can
only
support
the
latter
english
law.
Chcn
though,
though
I
don't
know
how
to
do.
Maybe
I
will
try.
E
Let
me
let
me
kind
of
jump
in
here
and
and
sort
of
summarize
where
I
think
we
are
with
this
task
so
before
before
before
you
started,
we
had
several
of
the
the
applications
that
make
up
the
calamari
clients
have
localization
directories
and
and
message
catalogs
in
them,
one
of
the
ones
that
you've
changed.
E
In
fact,
the
dashboard
that
has
a
strings
l20n
and
that's
that's
one
of
the
ones
you
have
modified
for
for
to
add
chinese
text
where
there
was
english
text,
those
those
exist
in
in
dashboard
and
in
the
dist
and
app
locations
there.
The
the
idea
behind
having
that
location
there
for
localization
is
that
there
will
be
a
separate
strings.l20n
for
every
language
we
support
and
right
now
that
that
language
is
only
english.
E
So
what
we?
The
first
thing
that
we
need
to
do
is
to
take
the
translation
work
that
you've
done
for
that
message,
catalog
and
move
it
to
a
I.
I
guess
it's
zhcn
directory,
instead
of
an
en
directory
to
to
represent
the
chinese
version
of
the
of
the
of
the
messages
file
and
then
beyond
that
in
in
the
in
the
poll
request
that
that
gregory
has
put
together.
There
are
changes
to
specific
templates
throughout
the
source
that
need
to
be
done
to
a
message
catalog,
instead
of
being
done
to
the
source
directly.
E
And
it
could
be
that
those
those
template
messages
there
may
need
to
be
some
javascript
code
changes
to
make
the
templates
obtain
messages
from
the
message
catalog,
instead
of
having
them
hard
coded
into
the
template.
I
don't
I
don't
know
for
sure
exactly
what
the
javascript
method
for
dealing
with
with
strings
and
templates
is,
but
the
the
the
basic
idea
still
holds
rather
than
being
in
the
sources.
E
You
want,
the
all
the
messages
to
be
in
the
message:
catalog
file,
so
that's
kind
of
the
the
first
thing
about
what
we've
got
so
far
for
the
dashboard
changes
is
that
they
need
to
be
separated
into
into
a
parallel
structure.
E
With
the
with
the
english
messages,
then
past
that,
as
I
think
you
mentioned,
there
are
a
couple
of
other
applications
within
the
calamari
clients
that
that
also
need
to
have
the
same
process
done
to
them,
to
isolate
their
messages
into
a
message
catalog
for
english
and
then
to
create
a
parallel
version
of
them
for
chinese.
E
Some
of
that
work
is
what
gregory
tried
to
sort
of
organize
in
the
list
of
calamari
issues
that
I
posted
to
the
chat
here
in
in
in
blue
jeans.
That's
this
this
query
that
that
gregory
created
to
to
sort
of
grab
up
all
those
bugs
related
to
localization
that
I
think
you'd
have
access
to
now.
Janja.
It
used
to
be
a
private
query,
but
now
it's
now
it's
available
to
everyone.
E
C
I
also
want
to
switch
english
and
chinese
author
automatically.
E
So
there
there
are
two
issues
in
that
in
that
list
of
issues
that
relate
to
this.
One
of
them
is
9590,
which
is
allow
the
user
to
select
locale
and
there
that
there
are.
There
are
several
things
that
need
to
happen
to
make
that
work.
One
is
obviously
to
to
to
provide
the
javascript
coding
to
to
give
a
a
text
box
or
a
drop
down
or
something
that
the
user
can
modify,
but
the
other
is
to
figure
out
where
to
store
that
data
per
user,
and
that's
something
that's
certainly
something
we
can
do.
F
Tim
here
can
I
just
make
a
comment
on
on
on
remembering
the
language
I've
worked
on
other
web
gurus
in
the
past,
where
I'd
automatically
picked
a
language
based
on
what
the
browser
accepted,
and
it
was
sometimes
helpful,
but
there
were
often
cases
where
people
found
it
annoying
that
they
couldn't
force
a
particular
language.
E
So
yeah,
hopefully
kind
of
garage
will
be
participating
in
the
defining
the
user
interface
for
selecting
that
and
and
and
he
and
and
gregory
will
probably
work
together
and
how
to
how
to
make
that
persist.
Per
user
is
my
guess.
C
H
Just
add
to
what
dan
said
so
in
the
dashboard
part,
I
think
we
need
to
extract
the.
What
is
the
current
english
text
to
extract
and
to
put
it
in
the
appropriate
resource
files?
So,
though,
so
when
the
chinese
locally
comes
in,
the
appropriate
file
comes
comes
into
that
that
and
the
chinese
directory.
H
I
I
I've
done
some
of
it
actually
yeah
so
yeah.
Another
thing
is
like
so
the
framework
you
have
to
tell
the
framework
like
what
are
all
framework,
whatever
localize
we
are
supporting.
So
there
is
some
work
required
there
to
register
your
local
during
the
bootstrap
time
that
I
also
have
done
so
currently
that's
kind
of
working
progress,
I'm
working
on
it.
E
H
Yeah,
so
you
have
to
tell
the
framework
yeah,
you
have
to
tell
the
the
l20n
framework.
These
are
all
the
frameworks
this
application
supports.
So
so
it
knows
where
the
where
the
resource
files
are
placed.
So
once
tell
the
framework
like
this:
is
the
application
user
once
it
can
go
and
look
into
the
directory,
which
it
already
knows.
So
that
is
another
thing
in
dashboard.
Actually,
so
once
these
two
are
done
so
dashboard
should
work
without
it
should
support
start
supporting
the
giants
and
is
locally
without
any
other
issues.
H
So
it
comes
to
the
another
application
part
which
is
the
manage
part.
That's
that
is
written
in
angularjs,
which
currently
doesn't
have
any
localization
support.
So
if
you
look
at
the
issue
list,
there
is
an
issue
which
talks
about
upgrading
it
to
1.3,
which
has
a
good
support
for
a
good
support
for
the
localization,
which
I
will
be
exploring
soon
once
I
I.
I
think
there
might
be
some
more
required
in
the
framework
level
to
support
multiple
locals
yeah.
H
G
C
C
Because
the
kanban
ray
gun
customer
reconnects
only
on
the
dashboard
module
supported
for
2020
and
framework,
so
the
importance
in
other
information.
We,
I
think
I
I
need
to
learn
more
loyalty
of
20
and
framework
and
code.
C
D
C
So
so,
as
this
time
I
I
don't
know
how
to
I
don't
know
how
to
change
the
code,
because
the
something
awful
because
the
many
because
some
foreign
grammarly
I
I
can't
understand
so,
though
battles.
E
G
C
E
I
understand
I,
I
think
I
think
that
that
modifying
the
the
work
that
has
been
done
so
far
for
dashboard
to
make
it
clean
will
be
something
that
that
you
can.
You
can
start
on
immediately
and
there,
because
there
is.
There
is
a
pattern
to
follow
for,
for
where
to
put
the
the
parallel
chinese
language
message.
Catalog
and
there's
also
a
pattern
for
the
existing
strings
that
are
already
in
the
message
catalog,
so
that
you
can.
You
can
modify
the
rather
than
modifying
the
templates
directly
you
can.
E
E
H
And
then
that
sounds
good,
so
another
thing
I
would
suggest
is
like
the
the
commit
the
commit
currently
includes,
both
the
manage
part
as
well
as
the
dashboard
part.
The
first
thing
what
she
can
do
is
like
split
the
commit
to
two
parts
where
the
first
commit
will
involve
only
the
dashboard
changes.
The
second
commit
yeah,
don't
have
the
manage
changes
so
anyway.
H
E
C
One
more
question
I
wanted
to
to
discuss
here
I
want
to
ask
here
about:
I
noticed
the
sound.
C
Such
as
the
awesome
awesome,
awesome,
authentication,
failure,
information
and
there's
error
messages
from
servers
from
customer
server.
Such
this
information
is
not
related
to
customer
class,
but
also
related
to
server.
So
this
through
this
information-
maybe
we
maybe
we
can-
we
cannot
do.
Maybe
we
cannot
use
a
20
and
framework
how
how
how
to.
E
I
I
I
I
so
yeah
kind
of
garage,
maybe
maybe
or
someone
else.
Maybe
you
know
how
this
is
supposed
to
work
for
a
request
that
goes
to
the
to
the
rest
api.
Can
it
include
a
requested
language,
basically
in
the
hdb
headers?
Is
that
how
it's?
How
getting
localized
messages
back
from
the
server
should
work.
H
The
browser
send
a
request
it
will
set.
There
is
an
accept
language
header,
which
normally
sits
the
browser
sets
so
to
which
the
current
logon
is.
It
will
be
enus
or
in
chinese
whichever
the
browser
local
is,
it
will
set
and
it
will
send
the
header
the
server.
The
server
can
read
the
header
and
responded
with
that.
Yeah.
E
Right
in
the
case,
where
we've
selected
a
language
through
some
ui
element,
we
would
have
to
manage
that
in
the
javascript
code
that
that
calls
the
rest
api.
But
it's
still
the
accept
language
header
that
needs
to
be
correct,
yeah
and
then,
but
but
but
of
course
that
implies
that
the
server
needs
to
also
be
localized
and
respect
the
accept
language
header.
So
yes,
there
is.
There
is
another
chunk
of
work
to
make
the
to
make
the
server.
H
D
B
Okay,
then
yeah,
so
one
question
is
about:
how
do
you
set
the
accept
name?
Well,
you
check
the
local
nokia.
E
And
what
I
was
just
discussing
with
counter
garage
was
how
the
front
end
would
tell
the
server
which
language
to
use-
and
I
think
it's
the
same
mechanism
there-
that
from
the
front
end
to
the
rest
back
end.
It
will
send
an
http
header
of
accept
language,
but
it
will
get
that
from
either
the
original
browser.
G
B
Okay,
so
actually
the
language
will
be
dependent
on
grants.
B
B
E
Yes,
it's
possible,
it's
possible
that
that
would
flow
through
from
the
environment.
When
the
browser
is
started,
I
mean
I,
I
would
assume
that
some
browsers
set
accept
language
based
on
the
lc
settings
in
the
environment,
but
but
there
will
always
be
an
override
to
select
that
differently
or
if
that
process
doesn't
work.
H
Another
thing
to
add
here
is
like
so
once
we
have
the
user
management
in
place,
so
so,
with
the
accept
language,
there
is
an
issue.
So
if,
when
you
change
your
browser,
let's
say
from
login
from
different
mission,
you
will
see
it
in
a
different
language
based
on
that
machine
settings.
So
once
we
have
the
user
management
in
place,
so
we
can
map
a
particular
local
to
end
user,
so
user
will
be
able
to
set
permanently
set
a
local
to
a
particular
user
yeah
that
should
be
possible
in
future.
E
E
I
I
think
what
you
said
was:
if
we
translate
all
of
the
user
interface
to
a
different
language,
then
how
do
we
handle
what
happens
when
people
file
bug
reports,
and
I
I
I
think
the
only
answer
is-
we
have
to
be
manual
about
it
and
and
either
ask
the
bug
submitter
to
translate
those
messages
back
to
english
most
likely
or
perhaps
we
can
search
the
message
catalog
in
the
in
those
cases
and
find
out
what
the
original,
what
the
english
version
of
the
translation
was,
or
you
know
who
knows
what
the
french
version
of
the
message
was
at
some
point.
I
Said
I'm
not,
I
don't
know,
I'm
not
completely
sure.
Maybe
it
would
help
to
have
something
like
a
button
to
say,
yeah
print,
a
message
in
english
for
bug
report
or
something.
I
I'm
mostly
concerned
about
our
messages
not
about
not
about
the
rest
of
the
translations.
If
you
have
an
error
or
cures
when
you
translate
error,
messages
at
least
include
some
codes
to
be
able
to
create.
I.
H
I
think
we
know
so
whatever
the
the
server
message
is
done.
They
should
have
an
appropriate
error
code,
so
we
will
have
an
error
cat
lock
like
so
what
are
the
known
error?
So
whenever
we
define
an
errors
in
the
server
side,
we
should
have
an
error.
Catalog
like
this.
I
this
error,
this
error
maps
to
this
id,
so
that
will
be
easy
to
find
out.
Actually,
instead,
you
don't
need
to
refer
the
exact
text
message.
You
can
simply
refer
to
the
error
codes,
your
ids
yeah.
E
E
It
seems
like
we've
got
a
a
good
sort
of
view
of
where
we
are
and
and
there's
a
lot
of
work
ahead
of
us,
but
I
think
we've
we've
of
course,
would
have
planned
to
get
there.
John
john
is
everything,
makes
sense
to
you.