---------------------------------------------------------------------------------
--
-- Prat - A framework for World of Warcraft chat mods
--
-- Copyright (C) 2006-2018 Prat Development Team
--
-- 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 the Free Software Foundation; either version 2
-- of the License, or (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to:
--
-- Free Software Foundation, Inc.,
-- 51 Franklin Street, Fifth Floor,
-- Boston, MA 02110-1301, USA.
--
--
-------------------------------------------------------------------------------
Prat : AddModuleToLoad ( function ( )
local PRAT_MODULE = Prat : RequestModuleName ( " CopyChat " )
if PRAT_MODULE == nil then
return
end
local MAX_SCRAPE_TIME = 5 -- seconds
local module = Prat : NewModule ( PRAT_MODULE , " AceHook-3.0 " , " AceTimer-3.0 " )
local PL = module.PL
--[==[@debug@
PL : AddLocale ( PRAT_MODULE , " enUS " , {
[ " CopyChat " ] = true ,
[ " Copy text from the active chat window. " ] = true ,
[ " Copy Text " ] = true ,
[ " Copy To Editbox " ] = true ,
[ " Copy all of the text in the selected chat frame into an edit box " ] = true ,
[ " showbutton_name " ] = " Copy Button " ,
[ " showbutton_desc " ] = " Show a button on the chatframe " ,
buttonpos_name = " Button Location " ,
buttonpos_desc = " Where on the chatframe to show the copy button " ,
[ " ChatFrame " ] = true ,
[ " Text " ] = true ,
[ " Message From : %s " ] = true ,
[ " Copy Text Format " ] = true ,
[ " Should the copied text be plain, or formatted so you can see the colors. " ] = true ,
[ " Plain " ] = true ,
[ " HTML " ] = true ,
[ " BBCode " ] = true ,
[ " Wowace.com Forums " ] = true ,
copytimestamps_name = " Timestamps Copy " ,
copytimestamps_desc = " Copy the chat line when you click on the timestamp " ,
TOPLEFT = " Top, Left " ,
TOPRIGHT = " Top, Right " ,
BOTTOMRIGHT = " Bottom, Right " ,
BOTTOMLEFT = " Bottom, Left " ,
activealpha = " Alpha when mouseover " ,
inactivealpha = " Alpha when mouseout " ,
} )
--@end-debug@]==]
-- These Localizations are auto-generated. To help with localization
-- please go to http://www.wowace.com/projects/prat-3-0/localization/
--@non-debug@
do
local L
L = {
[ " CopyChat " ] = {
[ " Text " ] = true ,
[ " activealpha " ] = " Alpha when mouseover " ,
[ " BBCode " ] = true ,
[ " BOTTOMLEFT " ] = " Bottom, Left " ,
[ " BOTTOMRIGHT " ] = " Bottom, Right " ,
[ " buttonpos_desc " ] = " Where on the chatframe to show the copy button " ,
[ " buttonpos_name " ] = " Button Location " ,
[ " ChatFrame " ] = true ,
[ " Copy all of the text in the selected chat frame into an edit box " ] = true ,
[ " Copy Text " ] = true ,
[ " Copy Text Format " ] = true ,
[ " Copy text from the active chat window. " ] = true ,
[ " Copy To Editbox " ] = true ,
[ " CopyChat " ] = true ,
[ " copytimestamps_desc " ] = " Copy the chat line when you click on the timestamp " ,
[ " copytimestamps_name " ] = " Timestamps Copy " ,
[ " HTML " ] = true ,
[ " inactivealpha " ] = " Alpha when mouseout " ,
[ " Message From : %s " ] = true ,
[ " Plain " ] = true ,
[ " Should the copied text be plain, or formatted so you can see the colors. " ] = true ,
[ " showbutton_desc " ] = " Show a button on the chatframe " ,
[ " showbutton_name " ] = " Copy Button " ,
[ " TOPLEFT " ] = " Top, Left " ,
[ " TOPRIGHT " ] = " Top, Right " ,
[ " Wowace.com Forums " ] = true ,
}
}
PL : AddLocale ( PRAT_MODULE , " enUS " , L )
L = {
[ " CopyChat " ] = {
[ " Text " ] = " Testo " ,
--[[Translation missing --]]
[ " activealpha " ] = " Alpha when mouseover " ,
--[[Translation missing --]]
[ " BBCode " ] = " BBCode " ,
--[[Translation missing --]]
[ " BOTTOMLEFT " ] = " Bottom, Left " ,
--[[Translation missing --]]
[ " BOTTOMRIGHT " ] = " Bottom, Right " ,
--[[Translation missing --]]
[ " buttonpos_desc " ] = " Where on the chatframe to show the copy button " ,
--[[Translation missing --]]
[ " buttonpos_name " ] = " Button Location " ,
--[[Translation missing --]]
[ " ChatFrame " ] = " ChatFrame " ,
--[[Translation missing --]]
[ " Copy all of the text in the selected chat frame into an edit box " ] = " Copy all of the text in the selected chat frame into an edit box " ,
--[[Translation missing --]]
[ " Copy Text " ] = " Copy Text " ,
--[[Translation missing --]]
[ " Copy Text Format " ] = " Copy Text Format " ,
--[[Translation missing --]]
[ " Copy text from the active chat window. " ] = " Copy text from the active chat window. " ,
--[[Translation missing --]]
[ " Copy To Editbox " ] = " Copy To Editbox " ,
--[[Translation missing --]]
[ " CopyChat " ] = " CopyChat " ,
--[[Translation missing --]]
[ " copytimestamps_desc " ] = " Copy the chat line when you click on the timestamp " ,
--[[Translation missing --]]
[ " copytimestamps_name " ] = " Timestamps Copy " ,
--[[Translation missing --]]
[ " HTML " ] = " HTML " ,
--[[Translation missing --]]
[ " inactivealpha " ] = " Alpha when mouseout " ,
--[[Translation missing --]]
[ " Message From : %s " ] = " Message From : %s " ,
--[[Translation missing --]]
[ " Plain " ] = " Plain " ,
--[[Translation missing --]]
[ " Should the copied text be plain, or formatted so you can see the colors. " ] = " Should the copied text be plain, or formatted so you can see the colors. " ,
--[[Translation missing --]]
[ " showbutton_desc " ] = " Show a button on the chatframe " ,
--[[Translation missing --]]
[ " showbutton_name " ] = " Copy Button " ,
--[[Translation missing --]]
[ " TOPLEFT " ] = " Top, Left " ,
--[[Translation missing --]]
[ " TOPRIGHT " ] = " Top, Right " ,
--[[Translation missing --]]
[ " Wowace.com Forums " ] = " Wowace.com Forums " ,
}
}
PL : AddLocale ( PRAT_MODULE , " itIT " , L )
L = {
[ " CopyChat " ] = {
[ " Text " ] = " Texto " ,
--[[Translation missing --]]
[ " activealpha " ] = " Alpha when mouseover " ,
--[[Translation missing --]]
[ " BBCode " ] = " BBCode " ,
--[[Translation missing --]]
[ " BOTTOMLEFT " ] = " Bottom, Left " ,
--[[Translation missing --]]
[ " BOTTOMRIGHT " ] = " Bottom, Right " ,
--[[Translation missing --]]
[ " buttonpos_desc " ] = " Where on the chatframe to show the copy button " ,
--[[Translation missing --]]
[ " buttonpos_name " ] = " Button Location " ,
--[[Translation missing --]]
[ " ChatFrame " ] = " ChatFrame " ,
--[[Translation missing --]]
[ " Copy all of the text in the selected chat frame into an edit box " ] = " Copy all of the text in the selected chat frame into an edit box " ,
--[[Translation missing --]]
[ " Copy Text " ] = " Copy Text " ,
--[[Translation missing --]]
[ " Copy Text Format " ] = " Copy Text Format " ,
--[[Translation missing --]]
[ " Copy text from the active chat window. " ] = " Copy text from the active chat window. " ,
--[[Translation missing --]]
[ " Copy To Editbox " ] = " Copy To Editbox " ,
--[[Translation missing --]]
[ " CopyChat " ] = " CopyChat " ,
--[[Translation missing --]]
[ " copytimestamps_desc " ] = " Copy the chat line when you click on the timestamp " ,
--[[Translation missing --]]
[ " copytimestamps_name " ] = " Timestamps Copy " ,
--[[Translation missing --]]
[ " HTML " ] = " HTML " ,
--[[Translation missing --]]
[ " inactivealpha " ] = " Alpha when mouseout " ,
--[[Translation missing --]]
[ " Message From : %s " ] = " Message From : %s " ,
--[[Translation missing --]]
[ " Plain " ] = " Plain " ,
--[[Translation missing --]]
[ " Should the copied text be plain, or formatted so you can see the colors. " ] = " Should the copied text be plain, or formatted so you can see the colors. " ,
--[[Translation missing --]]
[ " showbutton_desc " ] = " Show a button on the chatframe " ,
--[[Translation missing --]]
[ " showbutton_name " ] = " Copy Button " ,
--[[Translation missing --]]
[ " TOPLEFT " ] = " Top, Left " ,
--[[Translation missing --]]
[ " TOPRIGHT " ] = " Top, Right " ,
[ " Wowace.com Forums " ] = " Wowace.com Fóruns " ,
}
}
PL : AddLocale ( PRAT_MODULE , " ptBR " , L )
L = {
[ " CopyChat " ] = {
[ " Text " ] = " Texte " ,
--[[Translation missing --]]
[ " activealpha " ] = " Alpha when mouseover " ,
[ " BBCode " ] = true ,
--[[Translation missing --]]
[ " BOTTOMLEFT " ] = " Bottom, Left " ,
--[[Translation missing --]]
[ " BOTTOMRIGHT " ] = " Bottom, Right " ,
--[[Translation missing --]]
[ " buttonpos_desc " ] = " Where on the chatframe to show the copy button " ,
--[[Translation missing --]]
[ " buttonpos_name " ] = " Button Location " ,
--[[Translation missing --]]
[ " ChatFrame " ] = " ChatFrame " ,
[ " Copy all of the text in the selected chat frame into an edit box " ] = " Copier tout le texte de la fenêtre de discussion sélectionnée dans une boîte d'édition. " ,
[ " Copy Text " ] = " Copier le texte " ,
[ " Copy Text Format " ] = " Format du texte copié " ,
[ " Copy text from the active chat window. " ] = " Copier le texte à partir de la fenêtre de discussion active. " ,
[ " Copy To Editbox " ] = " Copier vers la fenêtre d'édition " ,
[ " CopyChat " ] = " Copier " ,
--[[Translation missing --]]
[ " copytimestamps_desc " ] = " Copy the chat line when you click on the timestamp " ,
--[[Translation missing --]]
[ " copytimestamps_name " ] = " Timestamps Copy " ,
[ " HTML " ] = true ,
--[[Translation missing --]]
[ " inactivealpha " ] = " Alpha when mouseout " ,
[ " Message From : %s " ] = " Message de : %s " ,
[ " Plain " ] = " Texte seul " ,
[ " Should the copied text be plain, or formatted so you can see the colors. " ] = " Le texte copié doit-il être seul, ou formaté de tel manière à voir les couleurs. " ,
[ " showbutton_desc " ] = " Montrer un bouton sur la fenêtre de discussion. " ,
[ " showbutton_name " ] = " Bouton de copie " ,
--[[Translation missing --]]
[ " TOPLEFT " ] = " Top, Left " ,
--[[Translation missing --]]
[ " TOPRIGHT " ] = " Top, Right " ,
[ " Wowace.com Forums " ] = " Forums wowace.com " ,
}
}
PL : AddLocale ( PRAT_MODULE , " frFR " , L )
L = {
[ " CopyChat " ] = {
[ " Text " ] = " Text " ,
[ " activealpha " ] = " Transparenz, wenn mit der Maus darüber gefahren wird " ,
[ " BBCode " ] = true ,
[ " BOTTOMLEFT " ] = " Unten, links " ,
[ " BOTTOMRIGHT " ] = " Unten, rechts " ,
[ " buttonpos_desc " ] = " Wo im Chatfenster die Kopier-Schaltfläche angezeigt werden soll. " ,
[ " buttonpos_name " ] = " Schaltflächenposition " ,
[ " ChatFrame " ] = " Chatfenster " ,
[ " Copy all of the text in the selected chat frame into an edit box " ] = " Den gesamten Text des ausgewählten Chatfensters in ein Eingabefeld kopieren " ,
[ " Copy Text " ] = " Text kopieren " ,
[ " Copy Text Format " ] = " Textformat kopieren " ,
[ " Copy text from the active chat window. " ] = " Text im aktiven Chatfenster kopieren. " ,
[ " Copy To Editbox " ] = " In das Eingabefeld kopieren " ,
[ " CopyChat " ] = " Chat kopieren " ,
[ " copytimestamps_desc " ] = " Kopiert die Chat-Zeile, wenn du auf den Zeitstempel klickst " ,
[ " copytimestamps_name " ] = " Zeitstempel kopieren " ,
[ " HTML " ] = true ,
[ " inactivealpha " ] = " Transparenz, wenn mit der Maus nicht darüber gefahren wird " ,
[ " Message From : %s " ] = " Nachricht von : %s " ,
[ " Plain " ] = " Einfach " ,
[ " Should the copied text be plain, or formatted so you can see the colors. " ] = " Soll der kopierte Text einfach oder formattiert mit farbiger Darstellung kopiert werden? " ,
[ " showbutton_desc " ] = " Schaltfläche im Chat-Rahmen anzeigen " ,
[ " showbutton_name " ] = " Schaltfläche Kopieren " ,
[ " TOPLEFT " ] = " Oben, links " ,
[ " TOPRIGHT " ] = " Oben, rechts " ,
[ " Wowace.com Forums " ] = " Wowace.com Foren " ,
}
}
PL : AddLocale ( PRAT_MODULE , " deDE " , L )
L = {
[ " CopyChat " ] = {
[ " Text " ] = " 텍스트 " ,
--[[Translation missing --]]
[ " activealpha " ] = " Alpha when mouseover " ,
[ " BBCode " ] = true ,
[ " BOTTOMLEFT " ] = " 하단, 좌측 " ,
[ " BOTTOMRIGHT " ] = " 하단, 우측 " ,
[ " buttonpos_desc " ] = " 복사 버튼을 표시할 대화창의 위치 " ,
[ " buttonpos_name " ] = " 버튼 위치 " ,
[ " ChatFrame " ] = " 대화창 [Frames] " ,
[ " Copy all of the text in the selected chat frame into an edit box " ] = " 선택된 대화창의 모든 내용을 대화 입력창으로 복사합니다 " ,
[ " Copy Text " ] = " 텍스트 복사 " ,
[ " Copy Text Format " ] = " 복사 내용 서식 " ,
[ " Copy text from the active chat window. " ] = " 활성 대화창에서 내용을 복사합니다. " ,
[ " Copy To Editbox " ] = " 대화 입력창에 복사 " ,
[ " CopyChat " ] = " 대화 복사 [CopyChat] " ,
[ " copytimestamps_desc " ] = " 대화 시각을 클릭하면 그 대화줄을 복사합니다. " ,
[ " copytimestamps_name " ] = " 대화 시각 복사 " ,
[ " HTML " ] = true ,
--[[Translation missing --]]
[ " inactivealpha " ] = " Alpha when mouseout " ,
[ " Message From : %s " ] = " %s|1으로;로;부터 메시지 " ,
[ " Plain " ] = " 보통 " ,
[ " Should the copied text be plain, or formatted so you can see the colors. " ] = " 복사된 내용을 보통으로 표시하거나, 또는 색상을 보기 위해 형식화 합니다. " ,
[ " showbutton_desc " ] = " 대화창에 버튼 표시 " ,
[ " showbutton_name " ] = " 복사 버튼 " ,
[ " TOPLEFT " ] = " 상단, 좌측 " ,
[ " TOPRIGHT " ] = " 상단, 우측 " ,
[ " Wowace.com Forums " ] = " Wowace.com 포럼 " ,
}
}
PL : AddLocale ( PRAT_MODULE , " koKR " , L )
L = {
[ " CopyChat " ] = {
--[[Translation missing --]]
[ " Text " ] = " Text " ,
--[[Translation missing --]]
[ " activealpha " ] = " Alpha when mouseover " ,
--[[Translation missing --]]
[ " BBCode " ] = " BBCode " ,
--[[Translation missing --]]
[ " BOTTOMLEFT " ] = " Bottom, Left " ,
--[[Translation missing --]]
[ " BOTTOMRIGHT " ] = " Bottom, Right " ,
--[[Translation missing --]]
[ " buttonpos_desc " ] = " Where on the chatframe to show the copy button " ,
--[[Translation missing --]]
[ " buttonpos_name " ] = " Button Location " ,
--[[Translation missing --]]
[ " ChatFrame " ] = " ChatFrame " ,
--[[Translation missing --]]
[ " Copy all of the text in the selected chat frame into an edit box " ] = " Copy all of the text in the selected chat frame into an edit box " ,
--[[Translation missing --]]
[ " Copy Text " ] = " Copy Text " ,
--[[Translation missing --]]
[ " Copy Text Format " ] = " Copy Text Format " ,
--[[Translation missing --]]
[ " Copy text from the active chat window. " ] = " Copy text from the active chat window. " ,
--[[Translation missing --]]
[ " Copy To Editbox " ] = " Copy To Editbox " ,
--[[Translation missing --]]
[ " CopyChat " ] = " CopyChat " ,
--[[Translation missing --]]
[ " copytimestamps_desc " ] = " Copy the chat line when you click on the timestamp " ,
--[[Translation missing --]]
[ " copytimestamps_name " ] = " Timestamps Copy " ,
--[[Translation missing --]]
[ " HTML " ] = " HTML " ,
--[[Translation missing --]]
[ " inactivealpha " ] = " Alpha when mouseout " ,
--[[Translation missing --]]
[ " Message From : %s " ] = " Message From : %s " ,
--[[Translation missing --]]
[ " Plain " ] = " Plain " ,
--[[Translation missing --]]
[ " Should the copied text be plain, or formatted so you can see the colors. " ] = " Should the copied text be plain, or formatted so you can see the colors. " ,
--[[Translation missing --]]
[ " showbutton_desc " ] = " Show a button on the chatframe " ,
--[[Translation missing --]]
[ " showbutton_name " ] = " Copy Button " ,
--[[Translation missing --]]
[ " TOPLEFT " ] = " Top, Left " ,
--[[Translation missing --]]
[ " TOPRIGHT " ] = " Top, Right " ,
--[[Translation missing --]]
[ " Wowace.com Forums " ] = " Wowace.com Forums " ,
}
}
PL : AddLocale ( PRAT_MODULE , " esMX " , L )
L = {
[ " CopyChat " ] = {
[ " Text " ] = " Текст " ,
--[[Translation missing --]]
[ " activealpha " ] = " Alpha when mouseover " ,
[ " BBCode " ] = true ,
[ " BOTTOMLEFT " ] = " Снизу, Слева " ,
[ " BOTTOMRIGHT " ] = " Снизу, Справа " ,
[ " buttonpos_desc " ] = " Где в окне чата показывать кнопку копирования " ,
[ " buttonpos_name " ] = " Положение кнопки " ,
[ " ChatFrame " ] = " Окно чата " ,
[ " Copy all of the text in the selected chat frame into an edit box " ] = " Копировать весь текст из выбранного окна чата в поле ввода. " ,
[ " Copy Text " ] = " Копировать текст " ,
[ " Copy Text Format " ] = " Формат копирования текста " ,
[ " Copy text from the active chat window. " ] = " Копировать текст из активного окна чата. " ,
[ " Copy To Editbox " ] = " Копировать чат " ,
[ " CopyChat " ] = " Копия Чата " ,
[ " copytimestamps_desc " ] = " Скопируйте строку чата при нажатии на метку времени " ,
[ " copytimestamps_name " ] = " Копирование временны́х меток " ,
[ " HTML " ] = true ,
--[[Translation missing --]]
[ " inactivealpha " ] = " Alpha when mouseout " ,
[ " Message From : %s " ] = " Сообщение от : %s " ,
[ " Plain " ] = " Обычный текст " ,
[ " Should the copied text be plain, or formatted so you can see the colors. " ] = " Копировать информацию как обычный текст или же форматированный, с сохранением цветов и т.п. " ,
[ " showbutton_desc " ] = " Показывать кнопку копирования в окне чата " ,
[ " showbutton_name " ] = " Кнопка копирования " ,
[ " TOPLEFT " ] = " Сверху, Слева " ,
[ " TOPRIGHT " ] = " Сверху, Справа " ,
[ " Wowace.com Forums " ] = " Форумы Wowace.com " ,
}
}
PL : AddLocale ( PRAT_MODULE , " ruRU " , L )
L = {
[ " CopyChat " ] = {
[ " Text " ] = " 文本 " ,
--[[Translation missing --]]
[ " activealpha " ] = " Alpha when mouseover " ,
[ " BBCode " ] = " BB代码 " ,
[ " BOTTOMLEFT " ] = " 左下 " ,
[ " BOTTOMRIGHT " ] = " 右下 " ,
[ " buttonpos_desc " ] = " 复制按钮在聊天框的位置 " ,
[ " buttonpos_name " ] = " 按钮位置 " ,
[ " ChatFrame " ] = " 聊天框 " ,
[ " Copy all of the text in the selected chat frame into an edit box " ] = " 在选定的聊天框复制全部文本到输入框 " ,
[ " Copy Text " ] = " 复制文本 " ,
[ " Copy Text Format " ] = " 复制文本格式 " ,
[ " Copy text from the active chat window. " ] = " 从活跃的聊天窗口复制文本 " ,
[ " Copy To Editbox " ] = " 复制到编辑框 " ,
[ " CopyChat " ] = " 聊天复制 " ,
--[[Translation missing --]]
[ " copytimestamps_desc " ] = " Copy the chat line when you click on the timestamp " ,
--[[Translation missing --]]
[ " copytimestamps_name " ] = " Timestamps Copy " ,
[ " HTML " ] = " 超文本标记语言 " ,
--[[Translation missing --]]
[ " inactivealpha " ] = " Alpha when mouseout " ,
[ " Message From : %s " ] = " 信息来自: %s " ,
[ " Plain " ] = " 简洁 " ,
[ " Should the copied text be plain, or formatted so you can see the colors. " ] = " 如果用简洁或排版复制的文本,你可以看到颜色 " ,
[ " showbutton_desc " ] = " 在聊天框显示按钮 " ,
[ " showbutton_name " ] = " 复制按钮 " ,
[ " TOPLEFT " ] = " 左上 " ,
[ " TOPRIGHT " ] = " 右上 " ,
[ " Wowace.com Forums " ] = " Wowace.com论坛 " ,
}
}
PL : AddLocale ( PRAT_MODULE , " zhCN " , L )
L = {
[ " CopyChat " ] = {
[ " Text " ] = " Texto " ,
--[[Translation missing --]]
[ " activealpha " ] = " Alpha when mouseover " ,
[ " BBCode " ] = true ,
--[[Translation missing --]]
[ " BOTTOMLEFT " ] = " Bottom, Left " ,
--[[Translation missing --]]
[ " BOTTOMRIGHT " ] = " Bottom, Right " ,
--[[Translation missing --]]
[ " buttonpos_desc " ] = " Where on the chatframe to show the copy button " ,
--[[Translation missing --]]
[ " buttonpos_name " ] = " Button Location " ,
[ " ChatFrame " ] = " MarcoChat " ,
[ " Copy all of the text in the selected chat frame into an edit box " ] = " Copiar todo el texto seleccionado en el marco del chat a una caja de edición " ,
[ " Copy Text " ] = " Copiar Texto " ,
[ " Copy Text Format " ] = " Copiar Texto con fomato " ,
[ " Copy text from the active chat window. " ] = " Copiar texto desde la ventana de chat activa. " ,
--[[Translation missing --]]
[ " Copy To Editbox " ] = " Copy To Editbox " ,
[ " CopyChat " ] = " ChatCopiar " ,
--[[Translation missing --]]
[ " copytimestamps_desc " ] = " Copy the chat line when you click on the timestamp " ,
--[[Translation missing --]]
[ " copytimestamps_name " ] = " Timestamps Copy " ,
[ " HTML " ] = true ,
--[[Translation missing --]]
[ " inactivealpha " ] = " Alpha when mouseout " ,
[ " Message From : %s " ] = " Mensaje de : %s " ,
[ " Plain " ] = " Liso " ,
[ " Should the copied text be plain, or formatted so you can see the colors. " ] = " El texto copiado debería ser llano, o con formato para que pueda ver los colores. " ,
[ " showbutton_desc " ] = " Muestra un botón en el marco del chat " ,
[ " showbutton_name " ] = " Botón Copiar " ,
--[[Translation missing --]]
[ " TOPLEFT " ] = " Top, Left " ,
--[[Translation missing --]]
[ " TOPRIGHT " ] = " Top, Right " ,
[ " Wowace.com Forums " ] = " Foros Wowace.com " ,
}
}
PL : AddLocale ( PRAT_MODULE , " esES " , L )
L = {
[ " CopyChat " ] = {
[ " Text " ] = " 文字 " ,
--[[Translation missing --]]
[ " activealpha " ] = " Alpha when mouseover " ,
[ " BBCode " ] = true ,
[ " BOTTOMLEFT " ] = " 下, 左 " ,
[ " BOTTOMRIGHT " ] = " 下, 右 " ,
--[[Translation missing --]]
[ " buttonpos_desc " ] = " Where on the chatframe to show the copy button " ,
[ " buttonpos_name " ] = " 按鈕位置 " ,
[ " ChatFrame " ] = " 聊天視窗 " ,
--[[Translation missing --]]
[ " Copy all of the text in the selected chat frame into an edit box " ] = " Copy all of the text in the selected chat frame into an edit box " ,
[ " Copy Text " ] = " 複製文字 " ,
[ " Copy Text Format " ] = " 複製文字格式 " ,
[ " Copy text from the active chat window. " ] = " 複製使用中聊天視窗文字 " ,
[ " Copy To Editbox " ] = " 複製至編輯盒 " ,
[ " CopyChat " ] = true ,
--[[Translation missing --]]
[ " copytimestamps_desc " ] = " Copy the chat line when you click on the timestamp " ,
--[[Translation missing --]]
[ " copytimestamps_name " ] = " Timestamps Copy " ,
[ " HTML " ] = true ,
--[[Translation missing --]]
[ " inactivealpha " ] = " Alpha when mouseout " ,
[ " Message From : %s " ] = " 來自 %s 的訊息 " ,
--[[Translation missing --]]
[ " Plain " ] = " Plain " ,
--[[Translation missing --]]
[ " Should the copied text be plain, or formatted so you can see the colors. " ] = " Should the copied text be plain, or formatted so you can see the colors. " ,
[ " showbutton_desc " ] = " 於聊天視窗中顯示按鈕 " ,
[ " showbutton_name " ] = " 複製按鈕 " ,
[ " TOPLEFT " ] = " 上, 左 " ,
[ " TOPRIGHT " ] = " 上, 右 " ,
[ " Wowace.com Forums " ] = " Wowace.com 論壇 " ,
}
}
PL : AddLocale ( PRAT_MODULE , " zhTW " , L )
end
--@end-non-debug@
Prat : SetModuleDefaults ( module.name , {
profile = {
on = true ,
showbutton = { [ " * " ] = true } ,
buttonpos = " TOPLEFT " ,
copyformat = " plain " ,
copytimestamps = true ,
activealpha = 0.9 ,
inactivealpha = 0.2 ,
}
} )
Prat : SetModuleOptions ( module.name , {
name = PL [ " CopyChat " ] ,
desc = PL [ " Copy text from the active chat window. " ] ,
type = " group " ,
args = {
showbutton = {
name = PL [ " showbutton_name " ] ,
desc = PL [ " showbutton_desc " ] ,
type = " multiselect " ,
values = Prat.FrameList ,
get = " GetSubValue " ,
set = " SetSubValue "
} ,
buttonpos = {
name = PL.buttonpos_name ,
desc = PL.buttonpos_desc ,
type = " select " ,
order = 195 ,
get = " GetValue " ,
set = " SetValue " ,
values = {
[ " TOPLEFT " ] = PL.TOPLEFT ,
[ " TOPRIGHT " ] = PL.TOPRIGHT ,
[ " BOTTOMLEFT " ] = PL.BOTTOMLEFT ,
[ " BOTTOMRIGHT " ] = PL.BOTTOMRIGHT
} ,
} ,
copy = {
name = PL [ " Copy Text " ] ,
desc = PL [ " Copy all of the text in the selected chat frame into an edit box " ] ,
type = " execute " ,
order = 190 ,
func = " MenuScrape "
} ,
copyformat = {
name = PL [ " Copy Text Format " ] ,
desc = PL [ " Should the copied text be plain, or formatted so you can see the colors. " ] ,
type = " select " ,
order = 195 ,
get = " GetValue " ,
set = " SetValue " ,
values = { [ " plain " ] = PL [ " Plain " ] , [ " bbcode " ] = PL [ " BBCode " ] , [ " html " ] = PL [ " HTML " ] , [ " wowace " ] = PL [ " Wowace.com Forums " ] } ,
} ,
copytimestamps = {
name = PL.copytimestamps_name ,
desc = PL.copytimestamps_desc ,
type = " toggle " ,
order = 200 ,
} ,
activealpha = {
name = PL [ " activealpha " ] ,
type = " range " ,
order = 210 ,
min = 0 ,
max = 1.0 ,
step = 0.1 ,
} ,
inactivealpha = {
name = PL [ " inactivealpha " ] ,
type = " range " ,
order = 220 ,
min = 0 ,
max = 1.0 ,
step = 0.1 ,
} ,
}
} )
Prat : SetModuleInit ( module.name ,
function ( module )
PratCCFrameScrollText : SetScript ( " OnTextChanged " , function ( this ) module : OnTextChanged ( this ) end )
PratCCFrameScrollText : SetScript ( " OnEscapePressed " , function ( this ) PratCCFrame : Hide ( ) module.str = nil end )
Prat.RegisterChatCommand ( " copychat " ,
function ( name )
local frame = SELECTED_CHAT_FRAME
if frame then
module : ScrapeChatFrame ( frame )
end
end )
Prat.RegisterChatCommand ( " copychatfull " ,
function ( name )
local frame = SELECTED_CHAT_FRAME
if frame then
module : ScrapeFullChatFrame ( frame )
end
end )
Prat.RegisterLinkType ( { linkid = " pratcopy " , linkfunc = module.CopyLink , handler = module } , module.name )
module.timestamps = Prat.Addon : GetModule ( " Timestamps " , true )
if module.timestamps then
module : RawHook ( module.timestamps , " GetTime " )
end
end )
function module : OnModuleEnable ( )
self.buttons = { }
for k , v in pairs ( Prat.Frames ) do
self.buttons [ k ] = self : MakeReminder ( v : GetID ( ) )
self : showbutton ( k , self.db . profile.showbutton [ k ] )
end
Prat.RegisterChatEvent ( self , Prat.Events . FRAMES_UPDATED )
end
function module : GetDescription ( )
return PL [ " Copy text from the active chat window. " ]
end
function module : Prat_FramesUpdated ( info , name , chatFrame , ... )
local id = chatFrame : GetID ( )
self.buttons [ id ] = self : MakeReminder ( id )
self : showbutton ( id , self.db . profile.showbutton [ 1 ] )
end
function module : OnModuleDisable ( )
Prat.UnregisterAllChatEvents ( self )
self : hidebuttons ( )
PratCCFrame : Hide ( )
end
function module : EnterSelectMode ( frame )
frame = frame or SELECTED_CHAT_FRAME
frame : SetTextCopyable ( true )
frame : EnableMouse ( true )
frame : SetOnTextCopiedCallback ( function ( frame , text , num_copied )
frame : SetTextCopyable ( false )
frame : EnableMouse ( false )
frame : SetOnTextCopiedCallback ( nil )
end )
end
local function CleanText ( text )
text = text : gsub ( " |K.-|k " , " <BNET REMOVED> " )
return StripHyperlinks ( text , false , true )
end
--[[------------------------------------------------
Core Functions
------------------------------------------------]] --
function module : CopyLink ( link , frame )
if frame and self.db . profile.on and self.db . profile.copytimestamps then
for lineIndex , visibleLine in ipairs ( frame.visibleLines ) do
if visibleLine : IsMouseOver ( ) then
local info = visibleLine.messageInfo
if info and info.message then
local text = CleanText ( info.message )
local editBox = ChatEdit_ChooseBoxForSend ( frame ) ;
--DEBUG FIXME - for now, we're not going to remove spaces from names. We need to make sure X-server still works.
-- Remove spaces from the server name for slash command parsing
--name = gsub(name, " ", "");
if ( editBox ~= ChatEdit_GetActiveWindow ( ) ) then
ChatFrame_OpenChat ( text , frame ) ;
else
editBox : SetText ( text ) ;
end
end
return false
end
end
end
return false
end
function module : GetTime ( ... )
local stamp = self.hooks [ self.timestamps ] . GetTime ( ... )
if module.db . profile.on and module.db . profile.copytimestamps then
return " |Hpratcopy|h " .. stamp .. " |h "
end
return stamp
end
module.lines = { }
module.str = nil
function module : GetFormattedLine ( line , r , g , b )
local fmt = self.copyformat or self.db . profile.copyformat
local CLR = Prat.CLR
line = line : gsub ( " |c00000000|r " , " " )
if fmt == " plain " then
return line
end
if fmt == " bbcode " or fmt == " wowace " then
local fline = line : gsub ( " |c[fF][fF](%w%w%w%w%w%w) " , " [color=#%1] " ) : gsub ( " |r " , " [/color] " )
return " [color=# " .. CLR : GetHexColor ( r , g , b ) .. " ] " .. fline .. " [/color] "
end
if fmt == " html " then
local fline = line : gsub ( " |c[fF][fF](%w%w%w%w%w%w) " , " <font color='#%1'> " ) : gsub ( " |r " , " </font> " )
return " <p><font color='# " .. CLR : GetHexColor ( r , g , b ) .. " ' face='monospace'> " .. fline .. " </font></p> "
end
end
function module : ScrapeChatFrame ( frame , noshow )
self : DoCopyChat ( frame , noshow )
end
function module : ScrapeFullChatFrame ( frame , no )
self : DoCopyChatScroll ( frame )
end
function module : MenuScrape ( )
self : ScrapeChatFrame ( SELECTED_CHAT_FRAME )
end
function module : DoCopyChatScroll ( frame )
local scrapelines = { }
local str
if frame : GetNumMessages ( ) == 0 then return end
for i = frame : GetNumMessages ( ) , 1 , - 1 do
local msg = frame.historyBuffer : GetEntryAtIndex ( i )
msg = msg and msg.message
if msg then
scrapelines [ # scrapelines + 1 ] = CleanText ( msg )
end
end
str = table.concat ( scrapelines , " \n " )
PratCCFrameScrollText : SetText ( str or " " )
PratCCText : SetText ( PL [ " ChatFrame " ] .. frame : GetName ( ) : gsub ( " ChatFrame " , " " ) .. PL [ " Text " ] )
PratCCFrame : Show ( )
end
function module : DoCopyChatArg ( arg )
self : DoCopyChat ( unpack ( arg ) )
end
function module : DoCopyChat ( frame , noshow )
local lines = { }
local str
for i = 1 , frame : GetNumMessages ( ) do
local msg = frame : GetMessageInfo ( i )
if msg then
lines [ # lines + 1 ] = CleanText ( msg )
end
end
str = table.concat ( lines , " \n " )
if not noshow then
if ( self.copyformat and self.copyformat == " wowace " ) or self.db . profile.copyformat == " wowace " then
str = " [bgcolor=black] " .. str .. " [/bgcolor] "
end
PratCCFrameScrollText : SetText ( str or " " )
PratCCText : SetText ( PL [ " ChatFrame " ] .. frame : GetName ( ) : gsub ( " ChatFrame " , " " ) .. PL [ " Text " ] )
PratCCFrame : Show ( )
end
end
function module : CopyChat ( )
module : ScrapeChatFrame ( SELECTED_CHAT_FRAME )
end
function module : OnTextChanged ( this )
if self.str and this : GetText ( ) ~= self.str then
this : SetText ( self.str )
self.str = nil
end
local s = PratCCFrameScrollScrollBar
this : GetParent ( ) : UpdateScrollChildRect ( )
local _ , m = s : GetMinMaxValues ( )
if m > 0 and this.max ~= m then
this.max = m
s : SetValue ( m )
end
end
function module : hidebuttons ( )
for k , v in pairs ( self.buttons ) do
v : Hide ( )
end
end
function module : showbutton ( id , show )
local b = self.buttons [ id ]
if show then b : Show ( ) else b : Hide ( ) end
end
do
local function reminderOnClick ( self , button , down )
PlaySound ( SOUNDKIT.IG_CHAT_BOTTOM ) ;
if button == " RightButton " then
module : EnterSelectMode ( self : GetParent ( ) )
else
if ( IsShiftKeyDown ( ) ) then
module : EnterSelectMode ( self : GetParent ( ) )
elseif ( IsControlKeyDown ( ) ) then
module : ScrapeFullChatFrame ( self : GetParent ( ) )
else
module : ScrapeChatFrame ( self : GetParent ( ) )
end
end
module.copyformat = nil
end
local function reminderOnEnter ( self , motion ) self : SetAlpha ( module.db . profile.activealpha ) end
local function reminderOnLeave ( self , motion ) self : SetAlpha ( module.db . profile.inactivealpha ) end
function module : MakeReminder ( id )
local cf = _G [ " ChatFrame " .. id ]
local name = " ChatFrame " .. id .. " PratCCReminder "
local b = _G [ name ]
if not b then
b = CreateFrame ( " Button " , name , cf )
b : SetFrameStrata ( " MEDIUM " )
b : SetWidth ( 24 )
b : SetHeight ( 24 )
b : SetNormalTexture ( " Interface \\ Addons \\ Prat-3.0 \\ textures \\ prat-chatcopy2 " )
b : SetPushedTexture ( " Interface \\ Addons \\ Prat-3.0 \\ textures \\ prat-chatcopy " )
b : SetHighlightTexture ( " Interface \\ Buttons \\ UI-Common-MouseHilight " )
b : SetPoint ( self.db . profile.buttonpos , cf , self.db . profile.buttonpos , 0 , 0 )
b : SetScript ( " OnClick " , reminderOnClick )
b : SetScript ( " OnEnter " , reminderOnEnter )
b : SetScript ( " OnLeave " , reminderOnLeave )
b : SetAlpha ( module.db . profile.inactivealpha )
b : RegisterForClicks ( " AnyUp " )
b : Hide ( )
end
return b
end
end
return
end ) -- Prat:AddModuleToLoad