OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [insight/] [intl/] [linux-msg.sed] - Diff between revs 578 and 1765

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 578 Rev 1765
# po2msg.sed - Convert Uniforum style .po file to Linux style .msg file
# po2msg.sed - Convert Uniforum style .po file to Linux style .msg file
# Copyright (C) 1995 Free Software Foundation, Inc.
# Copyright (C) 1995 Free Software Foundation, Inc.
# Ulrich Drepper , 1995.
# Ulrich Drepper , 1995.
#
#
# This program is free software; you can redistribute it and/or modify
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
#
#
#
# The first directive in the .msg should be the definition of the
# The first directive in the .msg should be the definition of the
# message set number.  We use always set number 1.
# message set number.  We use always set number 1.
#
#
1 {
1 {
  i\
  i\
$set 1 # Automatically created by po2msg.sed
$set 1 # Automatically created by po2msg.sed
  h
  h
  s/.*/0/
  s/.*/0/
  x
  x
}
}
#
#
# Mitch's old catalog format does not allow comments.
# Mitch's old catalog format does not allow comments.
#
#
# We copy the original message as a comment into the .msg file.
# We copy the original message as a comment into the .msg file.
#
#
/^msgid/ {
/^msgid/ {
  s/msgid[      ]*"//
  s/msgid[      ]*"//
#
#
# This does not work now with the new format.
# This does not work now with the new format.
# /"$/! {
# /"$/! {
#   s/\\$//
#   s/\\$//
#   s/$/ ... (more lines following)"/
#   s/$/ ... (more lines following)"/
# }
# }
  x
  x
# The following nice solution is by
# The following nice solution is by
# Bruno 
# Bruno 
  td
  td
# Increment a decimal number in pattern space.
# Increment a decimal number in pattern space.
# First hide trailing `9' digits.
# First hide trailing `9' digits.
  :d
  :d
  s/9\(_*\)$/_\1/
  s/9\(_*\)$/_\1/
  td
  td
# Assure at least one digit is available.
# Assure at least one digit is available.
  s/^\(_*\)$/0\1/
  s/^\(_*\)$/0\1/
# Increment the last digit.
# Increment the last digit.
  s/8\(_*\)$/9\1/
  s/8\(_*\)$/9\1/
  s/7\(_*\)$/8\1/
  s/7\(_*\)$/8\1/
  s/6\(_*\)$/7\1/
  s/6\(_*\)$/7\1/
  s/5\(_*\)$/6\1/
  s/5\(_*\)$/6\1/
  s/4\(_*\)$/5\1/
  s/4\(_*\)$/5\1/
  s/3\(_*\)$/4\1/
  s/3\(_*\)$/4\1/
  s/2\(_*\)$/3\1/
  s/2\(_*\)$/3\1/
  s/1\(_*\)$/2\1/
  s/1\(_*\)$/2\1/
  s/0\(_*\)$/1\1/
  s/0\(_*\)$/1\1/
# Convert the hidden `9' digits to `0's.
# Convert the hidden `9' digits to `0's.
  s/_/0/g
  s/_/0/g
  x
  x
  G
  G
  s/\(.*\)"\n\([0-9]*\)/$ #\2 Original Message:(\1)/p
  s/\(.*\)"\n\([0-9]*\)/$ #\2 Original Message:(\1)/p
}
}
#
#
# The .msg file contains, other then the .po file, only the translations
# The .msg file contains, other then the .po file, only the translations
# but each given a unique ID.  Starting from 1 and incrementing by 1 for
# but each given a unique ID.  Starting from 1 and incrementing by 1 for
# each message we assign them to the messages.
# each message we assign them to the messages.
# It is important that the .po file used to generate the cat-id-tbl.c file
# It is important that the .po file used to generate the cat-id-tbl.c file
# (with po-to-tbl) is the same as the one used here.  (At least the order
# (with po-to-tbl) is the same as the one used here.  (At least the order
# of declarations must not be changed.)
# of declarations must not be changed.)
#
#
/^msgstr/ {
/^msgstr/ {
  s/msgstr[     ]*"\(.*\)"/# \1/
  s/msgstr[     ]*"\(.*\)"/# \1/
# Clear substitution flag.
# Clear substitution flag.
  tb
  tb
# Append the next line.
# Append the next line.
  :b
  :b
  N
  N
# Look whether second part is continuation line.
# Look whether second part is continuation line.
  s/\(.*\n\)"\(.*\)"/\1\2/
  s/\(.*\n\)"\(.*\)"/\1\2/
# Yes, then branch.
# Yes, then branch.
  ta
  ta
  P
  P
  D
  D
# Note that D includes a jump to the start!!
# Note that D includes a jump to the start!!
# We found a continuation line.  But before printing insert '\'.
# We found a continuation line.  But before printing insert '\'.
  :a
  :a
  s/\(.*\)\(\n.*\)/\1\\\2/
  s/\(.*\)\(\n.*\)/\1\\\2/
  P
  P
# We cannot use D here.
# We cannot use D here.
  s/.*\n\(.*\)/\1/
  s/.*\n\(.*\)/\1/
  tb
  tb
}
}
d
d
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.