diff --git a/SMBSync2/src/main/java/com/sentaroh/android/SMBSync2/ActivityMain.java b/SMBSync2/src/main/java/com/sentaroh/android/SMBSync2/ActivityMain.java index 46919e81..e7eea1d8 100644 --- a/SMBSync2/src/main/java/com/sentaroh/android/SMBSync2/ActivityMain.java +++ b/SMBSync2/src/main/java/com/sentaroh/android/SMBSync2/ActivityMain.java @@ -67,6 +67,7 @@ this software and associated documentation files (the "Software"), to deal import android.view.Window; import android.view.WindowManager; import android.webkit.WebView; +import android.widget.AbsListView; import android.widget.AdapterView; import android.widget.Button; import android.widget.EditText; @@ -3800,12 +3801,16 @@ public void run() { private final static int HISTORY_SCROLL_AMOUNT=1; private void setHistoryContextButtonListener() { setHistoryScrollButtonVisibility(); - mGp.syncHistoryListView.setOnScrollChangeListener(new View.OnScrollChangeListener() { + mGp.syncHistoryListView.setOnScrollListener(new AbsListView.OnScrollListener() { @Override - public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { + public void onScrollStateChanged(AbsListView view, int scrollState) {} + + @Override + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { setHistoryScrollButtonVisibility(); } }); + mContextHistoryButtonSendTo.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { @@ -4916,14 +4921,17 @@ public void run() { private final static int MESSAGE_SCROLL_AMOUNT=1; private void setMessageContextButtonListener() { setMessageScrollButtonVisibility(); - mGp.syncMessageListView.setOnScrollChangeListener(new View.OnScrollChangeListener() { + mGp.syncMessageListView.setOnScrollListener(new AbsListView.OnScrollListener() { + @Override + public void onScrollStateChanged(AbsListView view, int scrollState) {} + @Override - public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { setMessageScrollButtonVisibility(); } }); - mContextMessageButtonScrollUp.setOnTouchListener(new RepeatListener(ANDROID_LONG_PRESS_TIMEOUT, 50, false, new OnClickListener() { + mContextMessageButtonScrollUp.setOnTouchListener(new RepeatListener(ANDROID_LONG_PRESS_TIMEOUT, DEFAULT_LONG_PRESS_REPEAT_INTERVAL, false, new OnClickListener() { @Override public void onClick(View v) { int sel = mGp.syncMessageListView.getFirstVisiblePosition() - MESSAGE_SCROLL_AMOUNT; @@ -4935,7 +4943,7 @@ public void onClick(View v) { } })); - mContextMessageButtonScrollDown.setOnTouchListener(new RepeatListener(ANDROID_LONG_PRESS_TIMEOUT, 50, false, new OnClickListener() { + mContextMessageButtonScrollDown.setOnTouchListener(new RepeatListener(ANDROID_LONG_PRESS_TIMEOUT, DEFAULT_LONG_PRESS_REPEAT_INTERVAL, false, new OnClickListener() { @Override public void onClick(View v) { int sel = mGp.syncMessageListView.getFirstVisiblePosition() + MESSAGE_SCROLL_AMOUNT; @@ -4948,7 +4956,7 @@ public void onClick(View v) { } })); - mContextMessageButtonPageUp.setOnTouchListener(new RepeatListener(ANDROID_LONG_PRESS_TIMEOUT, 50, false, new OnClickListener() { + mContextMessageButtonPageUp.setOnTouchListener(new RepeatListener(ANDROID_LONG_PRESS_TIMEOUT, DEFAULT_LONG_PRESS_REPEAT_INTERVAL, false, new OnClickListener() { @Override public void onClick(View v) { int lv_height = mGp.syncMessageListView.getHeight(); @@ -4974,7 +4982,7 @@ public void onClick(View v) { } })); - mContextMessageButtonPageDown.setOnTouchListener(new RepeatListener(ANDROID_LONG_PRESS_TIMEOUT, 50, false, new OnClickListener() { + mContextMessageButtonPageDown.setOnTouchListener(new RepeatListener(ANDROID_LONG_PRESS_TIMEOUT, DEFAULT_LONG_PRESS_REPEAT_INTERVAL, false, new OnClickListener() { @Override public void onClick(View v) { int last_item_pos = mGp.syncMessageListView.getLastVisiblePosition() - mGp.syncMessageListView.getFirstVisiblePosition(); diff --git a/SMBSync2/src/main/java/com/sentaroh/android/SMBSync2/CommonUtilities.java b/SMBSync2/src/main/java/com/sentaroh/android/SMBSync2/CommonUtilities.java index 7d723daa..8071da48 100644 --- a/SMBSync2/src/main/java/com/sentaroh/android/SMBSync2/CommonUtilities.java +++ b/SMBSync2/src/main/java/com/sentaroh/android/SMBSync2/CommonUtilities.java @@ -920,7 +920,7 @@ final public String createSyncResultFilePath(String syncProfName) { fn = fn.replaceAll(Pattern.quote(invalid_str), "_"); } for(String invalid_str:SMBSYNC2_PROF_SYNC_LOG_FILE_INVALID_CHARS_TAIL) { - if (fn.startsWith(invalid_str)) + if (fn.endsWith(invalid_str)) fn = fn.replaceFirst(Pattern.quote(invalid_str), "_"); } diff --git a/SMBSync2/src/main/res/drawable/ic_128_execute_schedule.png b/SMBSync2/src/main/res/drawable/ic_128_execute_schedule.png index 203c25e0..7c41dd88 100644 Binary files a/SMBSync2/src/main/res/drawable/ic_128_execute_schedule.png and b/SMBSync2/src/main/res/drawable/ic_128_execute_schedule.png differ diff --git a/SMBSync2/src/main/res/drawable/ic_32_execute_schedule.png b/SMBSync2/src/main/res/drawable/ic_32_execute_schedule.png index f4f07354..a6557ff9 100644 Binary files a/SMBSync2/src/main/res/drawable/ic_32_execute_schedule.png and b/SMBSync2/src/main/res/drawable/ic_32_execute_schedule.png differ diff --git a/SMBSync2/src/main/res/values-zh/zh_string_resource.xml b/SMBSync2/src/main/res/values-zh/zh_string_resource.xml index d1da981f..b72f2bee 100644 --- a/SMBSync2/src/main/res/values-zh/zh_string_resource.xml +++ b/SMBSync2/src/main/res/values-zh/zh_string_resource.xml @@ -70,8 +70,8 @@ 创建ZIP文件 ZIP文件创建已取消 日志文件已切换。 - 如果继续,则会在日志文件中记录以下数据:\ nAndroid版本,设备名称,目录名称,文件名,SMB帐户名称,IP地址,网络接口名称,系统设置,应用程序信息 - 通过电子邮件将日志文件发送给开发人员。日志文件包含Android版本,设备名称,目录名称,文件名称,SMB帐户名称,IP地址,网络接口名称,系统设置和应用程序信息。\ n1。按"预览"按钮检查temp_log.txt文件的内容\ n2。在读取完要发送的文件后,在"电子邮件选择"对话框中选择"电子邮件"。结束后,将发送该文件(如果显示了应用程序的选择屏幕,则选择FAVORIT应用程序以显示文本文件。) \ n3。请在电子邮件正文中输入问题/问题并发送电子邮件(日志文件以zip格式附加) + 如果继续,则会在日志文件中记录以下数据:\nAndroid版本,设备名称,目录名称,文件名,SMB帐户名称,IP地址,网络接口名称,系统设置,应用程序信息 + 通过电子邮件将日志文件发送给开发人员。日志文件包含Android版本,设备名称,目录名称,文件名称,SMB帐户名称,IP地址,网络接口名称,系统设置和应用程序信息。\n1。按"预览"按钮检查temp_log.txt文件的内容\n2。在读取完要发送的文件后,在"电子邮件选择"对话框中选择"电子邮件"。结束后,将发送该文件(如果显示了应用程序的选择屏幕,则选择FAVORIT应用程序以显示文本文件。) \n3。请在电子邮件正文中输入问题/问题并发送电子邮件(日志文件以zip格式附加) 找不到自动同步任务。 添加同步任务 @@ -156,8 +156,8 @@ SD卡 无法启动活动以允许SDCARD写入权限。 在允许写入SDCARD之前,您无法同步。任务=%s - 要访问SDCARD:点击\" SDCARD \"(1),然后点击\"选择\"(2)。\ n \ n如果未显示"打开自"面板,请点击左上角的菜单按钮。 - 要访问SDCARD:点击\" SDCARD \"(1),然后点击\"选择\"(2)。\ n \ n如果未显示"打开自"面板,请点击左上角的菜单按钮。 + 要访问SDCARD:点击\" SDCARD \"(1),然后点击\"选择\"(2)。\n \n如果未显示"打开自"面板,请点击左上角的菜单按钮。 + 要访问SDCARD:点击\" SDCARD \"(1),然后点击\"选择\"(2)。\n \n如果未显示"打开自"面板,请点击左上角的菜单按钮。 SMBSync_SD_CARD_5.0_EN.png SMBSync_SD_CARD_6.0_EN.png 允许写入SDCARD @@ -167,22 +167,22 @@ USB媒体 无法启动活动以允许USB媒体写入权限。 未安装USB介质。关闭屏幕,然后安装USB介质以执行操作。 - 找不到安装点/ storage /%s。 SMBSync2无法使用此USB介质。 + 找不到安装点/storage/%s。 SMBSync2无法使用此USB介质。 您无法同步%s,直到您允许写入USB介质。 - 要访问USB介质:点击\" USB \"(1),然后点击\"选择\"(2)。\ n \ n如果未显示"打开自"面板,请点击左上角的菜单按钮。 + 要访问USB介质:点击\" USB \"(1),然后点击\"选择\"(2)。\n \n如果未显示"打开自"面板,请点击左上角的菜单按钮。 SMBSync_USB_MEDIA_8.0_EN.png SMBSync_USB_MEDIA_8.0_EN.png 允许写入USB介质 未选择USB介质的根目录。您要重新选择吗? 选择了SDCARD。您要重新选择USB存储器吗? If you specify \"Access point list\" in the task settings, the synchronisation will fail if you don\'t grant permission to Location service. Please allow \"Location Permission\" from the menu. - SMBSync2需要位置权限才能读取WiFi的SSID。 \ n如果指定\"访问点列表\",则除非授予该权限,否则同步任务将失败。\ n是否要立即请求"位置"权限? - SMBSync2需要位置权限才能读取WiFi的SSID。 \ n如果指定\"访问点列表\",则除非授予权限,否则同步任务将失败。请在下一个屏幕上选择\"仅在使用该应用程序时允许\"。 - SMBSync2需要位置权限才能读取WiFi的SSID。 \ n如果指定\"访问点列表\",则除非授予权限,否则同步任务将失败。请在下一个屏幕上选择\"使用应用程序时\"。 + SMBSync2需要位置权限才能读取WiFi的SSID。 \n如果指定\"访问点列表\",则除非授予该权限,否则同步任务将失败。\n是否要立即请求"位置"权限? + SMBSync2需要位置权限才能读取WiFi的SSID。 \n如果指定\"访问点列表\",则除非授予权限,否则同步任务将失败。请在下一个屏幕上选择\"仅在使用该应用程序时允许\"。 + SMBSync2需要位置权限才能读取WiFi的SSID。 \n如果指定\"访问点列表\",则除非授予权限,否则同步任务将失败。请在下一个屏幕上选择\"使用应用程序时\"。 后台位置权限 If you specify \"Access point list\" in the task settings, the synchronisation will fail if you don\'t grant permission to Location service. Please allow \"Location Permission\" from the menu. - 要读取SMBSync2中的WiFi SSID,必须具有此权限。\ n在授予该权限之前,如果在"同步"任务中指定了\" Access Point List \",则SMBSync2将退出并显示错误。\ n在"位置权限"下,选择" \"允许所有时间\"。 - 要读取SMBSync2中的WiFi SSID,必须具有此权限。\ n在授予该权限之前,如果在"同步"任务中指定了\" Access Point List \",则SMBSync2将退出并显示错误。\ n在"位置权限"下,选择" \"允许所有时间\"。 + 要读取SMBSync2中的WiFi SSID,必须具有此权限。\n在授予该权限之前,如果在"同步"任务中指定了\" Access Point List \",则SMBSync2将退出并显示错误。\n在"位置权限"下,选择" \"允许所有时间\"。 + 要读取SMBSync2中的WiFi SSID,必须具有此权限。\n在授予该权限之前,如果在"同步"任务中指定了\" Access Point List \",则SMBSync2将退出并显示错误。\n在"位置权限"下,选择" \"允许所有时间\"。 位置权限 无法启动该应用程序,因为尚未授予您访问内部存储器的权限。 授予访问内部存储的权限,以便能够读取和写入同步的数据以及管理应用程序设置。 @@ -307,7 +307,7 @@ 端口号 服务器主机名/ IP地址 共用名 - 列出股份 + 共享列表 指定端口号 用户名 搜索SMB服务器 @@ -356,11 +356,11 @@ 自动同步 交换源和目标 交换源和目标 - 反转同步方向可能会导致文件和目录的意外删除。\ n强烈建议您启用"测试"模式,并确保没有意外删除或替换任何文件或目录。 + 反转同步方向可能会导致文件和目录的意外删除。\n强烈建议您启用"测试"模式,并确保没有意外删除或替换任何文件或目录。 未指定目录过滤器 - 从指定的目录名称(\",:,\\,*,&lt;,&gt; \ |)中删除了无效字符 + 从指定的目录名称(\",:,\\,*,<,> \ |)中删除了无效字符 未指定文件过滤器 - 从指定的文件名中删除了无效字符(/,\",:,\\,*,&lt;,&gt; \ |) + 从指定的文件名中删除了无效字符(/,\",:,\\,*,<,> \ |) 您必须指定相对路径。起始\" / \"字符已从路径名中删除。 将同步时间/日期追加到目录名称(关键字将由执行同步的日期和时间替换) 将同步时间/日期追加到文件名(关键字将被执行同步的日期和时间代替) @@ -402,8 +402,8 @@ 删除 目录清单 排除 - -包括exp:缓存/温度; / my * / foder \ n-排除所有缓存/温度文件夹:\\ cache / temp \ n-可以在同一行中输入过滤器,并以\"; \" \ n分隔-排除过滤器获胜 - -过滤所有具有特定名称的文件:file1; *。txt; *。jpg; file * \ n-过滤器也可以在同一行中输入,并以\"; \" \ n分隔-排除过滤器胜出 + -包括exp:缓存/温度; /my * /foder \n-排除所有缓存/温度文件夹:\\cache/temp \n-可以在同一行中输入过滤器,并以\"; \" \n分隔-排除过滤器获胜 + -过滤所有具有特定名称的文件:file1; *。txt; *。jpg; file * \n-过滤器也可以在同一行中输入,并以\"; \" \n分隔-排除过滤器胜出 启用了选项"删除过滤器排除的目录和文件":过滤器不包括的所有文件和目录以及源目录中不存在的所有文件和目录将从目标目录中删除。 文件过滤器 过滤 @@ -425,7 +425,7 @@ 允许与所有IP地址同步(包括公用) 覆盖/删除之前确认 删除过滤器排除的目录和文件 - 警告:"源"目录中不存在的所有文件和文件夹以及定义的过滤器未包含的所有文件和文件夹都将从目标目录中删除!\ n强烈建议您启用"测试"模式,并确保没有意外的文件或目录被删除或替换。 + 警告:"源"目录中不存在的所有文件和文件夹以及定义的过滤器未包含的所有文件和文件夹都将从目标目录中删除!\n强烈建议您启用"测试"模式,并确保没有意外的文件或目录被删除或替换。 删除过滤器排除的目录和文件 同步之前删除文件(仅镜像模式) 仅大小比较(仅当源大小大于目标大小时,文件才被视为不同) @@ -435,10 +435,10 @@ 包括隐藏目录 包括隐藏文件 跳过了文件同步,因为启用了"如果目标文件比源文件新,请不要覆盖目标文件"选项。 - 跳过包含无效字符(\",:,\\,*,&lt;,&gt; \ |)的目录和文件名 + 跳过包含无效字符(\",:,\\,*,<,> \ |)的目录和文件名 从SMBSync2应用程序自定义列表中获取文件的最后修改时间 同步主目录根目录中的文件(如果未选中,则仅同步文件夹及其文件/子文件夹)。 - 警告:可能出现意外结果!\ n如果您居住在具有DST的区域中,或者切换了TimeZones,则如果在DST / TimeZone间隔更改内对其进行了修改,则目标文件可能会显示比源时间更早的时间。强烈建议启用\"覆盖/删除前确认\"选项。请先核实文件的内容,然后再忽略它。 + 警告:可能出现意外结果!\n如果您居住在具有DST的区域中,或者切换了TimeZones,则如果在DST/TimeZone间隔更改内对其进行了修改,则目标文件可能会显示比源时间更早的时间。强烈建议启用\"覆盖/删除前确认\"选项。请先核实文件的内容,然后再忽略它。 目标文件覆盖警告 警告:均未选择"使用文件大小确定文件是否不同"和"使用上次修改时间确定文件是否不同"选项。这将强制在每次同步时复制源文件并覆盖目标文件。 如果目标文件比源文件新,请不要覆盖 @@ -446,7 +446,7 @@ 夏令时与标准时间之间的时差(分钟) 选择夏令时偏移量(分钟) 不要将目标文件的最后修改时间设置为与源文件匹配 - 启用后,无法将目标文件的上次修改时间设置为与源文件相同。目标文件将始终显示为比源文件新。当目标无法设置上次修改时间时,此选项很有用。\ n如果启用此选项,则可以通过禁用\"使用上次修改时间来确定文件是否不同\"或通过启用来防止每次复制文件\"如果目标文件比源文件新,请勿覆盖目标文件\"。 + 启用后,无法将目标文件的上次修改时间设置为与源文件相同。目标文件将始终显示为比源文件新。当目标无法设置上次修改时间时,此选项很有用。\n如果启用此选项,则可以通过禁用\"使用上次修改时间来确定文件是否不同\"或通过启用来防止每次复制文件\"如果目标文件比源文件新,请勿覆盖目标文件\"。 覆盖目标文件 网络高级选项: 重试网络错误 @@ -457,17 +457,17 @@ 使用增强的目录选择过滤器 使用新的过滤器版本2 更改目录过滤器版本可能会导致意外的文件删除或覆盖,这可能会更改同步的文件。强烈建议您在测试模式下运行它以进行检查,或创建一个测试文件夹以检查同步结果。 - 包含目录过滤器必须以" Master"作为根路径。将过滤器更改为\"排除\",或从以下过滤器中删除所有前导\"%s \"字符:\ n%s。 + 包含目录过滤器必须以" Master"作为根路径。将过滤器更改为\"排除\",或从以下过滤器中删除所有前导\"%s \"字符:\n%s。 包含目录过滤器%s必须以" Master"作为根路径。将过滤器更改为\"排除\"或删除前导\"%s \"。 - 整个目录前缀\"%s \"不再有效。在以下过滤器中将其替换为\"%s \":\ n%s + 整个目录前缀\"%s \"不再有效。在以下过滤器中将其替换为\"%s \":\n%s 筛选器%s具有旧的整个目录前缀\"%s \"。将其替换为\"%s \"字符(例如%s)。 - 存在无效字符(%s),必须将其从以下过滤器中删除:\ n%s + 存在无效字符(%s),必须将其从以下过滤器中删除:\n%s 筛选器%s包含无效字符(%s),必须将其删除 - 无效的\"%s \"仅路径必须从以下过滤器中删除:\ n%s + 无效的\"%s \"仅路径必须从以下过滤器中删除:\n%s 筛选器%s包含仅通用路径部分。请删除无效的\"%s \"字符。 请删除以下重复的过滤器条目:%s 请删除以下重复的过滤器条目:%s - 在文件名之外,不支持在文件过滤器中使用星号字符。请从以下过滤器的路径中删除所有" *"字符:\ n%s + 在文件名之外,不支持在文件过滤器中使用星号字符。请从以下过滤器的路径中删除所有" *"字符:\n%s 仅在文件名中允许在文件过滤器中使用* char。从以下过滤器的路径中删除*字符:%s 筛选器%s包含隐藏文件,但是选项"包括隐藏文件"已禁用。除非您在"高级选项"中启用了隐藏文件并保存了"同步任务",否则不会处理任何隐藏文件。 筛选器%s包含隐藏目录,但是选项"包括隐藏目录"已禁用。除非您在"高级选项"中启用了隐藏目录并保存了"同步任务",否则不会处理任何隐藏目录。 @@ -477,7 +477,7 @@ 未指定目录过滤器。 空的主目录(仅当"同步"选项为"移动"时)删除 选择子目录 - 将SMB I / O写缓冲区限制为16 KB + 将SMB I/O写缓冲区限制为16 KB 取消 在双向同步中,如果发生冲突,请保留覆盖文件的副本 文件冲突时的双向同步规则 @@ -497,9 +497,9 @@ 选择USB媒体目录 选择SMB目录 选择SMB共享 - 无法获取SMB共享列表。请检查:\ n- SMB服务器端的共享配置\ n-提供了服务器所需的正确用户名/密码 + 无法获取SMB共享列表。请检查:\n- SMB服务器端的共享配置\n-提供了服务器所需的正确用户名/密码 内部加密密钥错误 - 由于内部加密密钥无效,因此无法保存同步设置。\ n重新创建内部加密密钥吗? + 由于内部加密密钥无效,因此无法保存同步设置。\n重新创建内部加密密钥吗? 未安装外部存储。某些功能将不可用。 应用程序被杀死后重新启动。要禁用重新启动,请在"设置">"开发人员选项"中启用"不保留活动"。 重新启动了应用程序,因为它在移到后台时被杀死了。 @@ -507,8 +507,8 @@ 建议更改主题或语言后重新启动应用程序。单击\"重新启动\"立即重新启动。如果要稍后重新启动,请单击"以后" 后来 重新开始 - 应用程序已启动。 - 取消申请? + 程序已启动。 + 退出程序? 请指定任务名称 历史 计划 @@ -519,7 +519,7 @@ 执行应用程序数据文件的维护 取消维护 确认取消维护应用程序数据文件? - 维护应用程序数据文件。\ n运行维护应用程序数据文件时无法执行同步任务。运行维护操作? + 维护应用程序数据文件。\n运行维护应用程序数据文件时无法执行同步任务。运行维护操作? 同步任务运行时,无法执行应用程序数据文件的维护。 应用数据文件的维护已取消。 从上次修改的文件列表中删除了%s个项目。 @@ -546,14 +546,14 @@ [已取消存档] 无法从EXIF数据获得图像拍摄时间和日期。改用文件更新时间和日期? (为此同步任务禁用\" Confirm \"存档选项,以避免将来出现此消息) [复制已取消] - 确认文件\ n%s \ n的覆盖(为此同步任务禁用\"覆盖/删除之前确认"选项,以避免将来再次出现此消息) + 确认文件\n%s \n的覆盖(为此同步任务禁用\"覆盖/删除之前确认"选项,以避免将来再次出现此消息) [删除已取消] - 确认删除目录\ n%s \ n(为此同步任务禁用\"覆盖/删除之前确认"选项,以避免将来出现此消息) - 确认删除文件\ n%s \ n(为此同步任务禁用\"覆盖/删除之前确认\"选项,以避免将来再次出现此消息) + 确认删除目录\n%s \n(为此同步任务禁用\"覆盖/删除之前确认"选项,以避免将来出现此消息) + 确认删除文件\n%s \n(为此同步任务禁用\"覆盖/删除之前确认\"选项,以避免将来再次出现此消息) [取消移动] - 确认文件\ n%s \ n的移动(为此同步任务禁用\"覆盖/删除之前确认"选项,以避免将来再次出现此消息) - 没有 - 不全是 + 确认文件\n%s \n的移动(为此同步任务禁用\"覆盖/删除之前确认"选项,以避免将来再次出现此消息) + + 全否 点按此处以确认文件存档。 点击此处以确认文件覆盖。 点击此处确认目录删除。 @@ -673,9 +673,9 @@ 完成预定任务后,请关闭Wifi。 更改同步任务选项 同步仅在充电时开始。 - 不要换 - 已启用 - 残障人士 + 不变 + 启用 + 禁用 第一次同步将在下一分钟开始。 将间隔启动时间重置为上一次同步事件。 计划时间:%s @@ -752,7 +752,7 @@ 预览LogCat 预览AppLog 发送Logcat和AppLog - 通过电子邮件将LogCat和AppLog发送给开发人员\ n1。请通过按LogCat显示按钮和AppLog显示按钮检查内容(显示应用程序选择屏幕时选择一个应用程序)。\ n2。确认要发送的内容后,按发送按钮,然后在电子邮件选择对话框中选择电子邮件。\ n3。如有必要,请在电子邮件正文中输入一条消息,然后发送电子邮件(日志被压缩为zip格式并附加到电子邮件中)。 + 通过电子邮件将LogCat和AppLog发送给开发人员\n1。请通过按LogCat显示按钮和AppLog显示按钮检查内容(显示应用程序选择屏幕时选择一个应用程序)。\n2。确认要发送的内容后,按发送按钮,然后在电子邮件选择对话框中选择电子邮件。\n3。如有必要,请在电子邮件正文中输入一条消息,然后发送电子邮件(日志被压缩为zip格式并附加到电子邮件中)。 由于同步任务已禁用,因此无法启动它。 从SMBSync2调度程序收到的同步请求。 diff --git a/message_translation.xlsm b/message_translation.xlsm index 4bb2a09c..dfb61d66 100644 Binary files a/message_translation.xlsm and b/message_translation.xlsm differ