class RDoc::Generator::POT::POEntry
PO 中的一个 PO 条目
属性
              extracted_comment[R]
            从源文件中提取的注释内容
              flags[R]
            PO 条目的标志
              msgid[R]
            msgid 内容
              msgstr[R]
            msgstr 内容
              references[R]
            提取 PO 条目的位置
              translator_comment[R]
            翻译人员(PO 编辑器)创建的注释内容
公共类方法
                              new(msgid, options = {}) 点击以切换源代码
                            为 msgid 创建一个 PO 条目。其他值可以通过 options 指定。
# File rdoc/generator/pot/po_entry.rb, line 29 def initialize msgid, options = {} @msgid = msgid @msgstr = options[:msgstr] || "" @translator_comment = options[:translator_comment] @extracted_comment = options[:extracted_comment] @references = options[:references] || [] @flags = options[:flags] || [] end
公共实例方法
                              merge(other_entry) 点击以切换源代码
                            将 PO 条目与 other_entry 合并。
# File rdoc/generator/pot/po_entry.rb, line 56 def merge other_entry options = { :extracted_comment => merge_string(@extracted_comment, other_entry.extracted_comment), :translator_comment => merge_string(@translator_comment, other_entry.translator_comment), :references => merge_array(@references, other_entry.references), :flags => merge_array(@flags, other_entry.flags), } self.class.new(@msgid, options) end
                              to_s() 点击以切换源代码
                            以 PO 格式返回 PO 条目。
# File rdoc/generator/pot/po_entry.rb, line 41 def to_s entry = '' entry += format_translator_comment entry += format_extracted_comment entry += format_references entry += format_flags entry += <<-ENTRY msgid #{format_message(@msgid)} msgstr #{format_message(@msgstr)} ENTRY end
私有实例方法
                              escape(string) 点击以切换源代码
                            # File rdoc/generator/pot/po_entry.rb, line 120 def escape string string.gsub(/["\\\t\n]/) do |special_character| case special_character when "\t" "\\t" when "\n" "\\n" else "\\#{special_character}" end end end
                              format_comment(mark, comment) 点击以切换源代码
                            # File rdoc/generator/pot/po_entry.rb, line 72 def format_comment mark, comment return '' unless comment return '' if comment.empty? formatted_comment = '' comment.each_line do |line| formatted_comment += "#{mark} #{line}" end formatted_comment += "\n" unless formatted_comment.end_with?("\n") formatted_comment end
                              format_extracted_comment() 点击以切换源代码
                            # File rdoc/generator/pot/po_entry.rb, line 88 def format_extracted_comment format_comment('#.', @extracted_comment) end
                              format_flags() 点击以切换源代码
                            # File rdoc/generator/pot/po_entry.rb, line 102 def format_flags return '' if @flags.empty? formatted_flags = flags.join(",") "\#, #{formatted_flags}\n" end
                              format_message(message) 点击以切换源代码
                            # File rdoc/generator/pot/po_entry.rb, line 109 def format_message message return "\"#{escape(message)}\"" unless message.include?("\n") formatted_message = '""' message.each_line do |line| formatted_message += "\n" formatted_message += "\"#{escape(line)}\"" end formatted_message end
                              format_references() 点击以切换源代码
                            # File rdoc/generator/pot/po_entry.rb, line 92 def format_references return '' if @references.empty? formatted_references = '' @references.sort.each do |file, line| formatted_references += "\#: #{file}:#{line}\n" end formatted_references end
                              format_translator_comment() 点击以切换源代码
                            # File rdoc/generator/pot/po_entry.rb, line 84 def format_translator_comment format_comment('#', @translator_comment) end
                              merge_array(array1, array2) 点击以切换源代码
                            # File rdoc/generator/pot/po_entry.rb, line 137 def merge_array array1, array2 (array1 + array2).uniq end
                              merge_string(string1, string2) 点击以切换源代码
                            # File rdoc/generator/pot/po_entry.rb, line 133 def merge_string string1, string2 [string1, string2].compact.join("\n") end